.site-body.auth-page{
 --ink:#151b43;--muted:#687298;--line:#dce3f4;--surface:#fff;--field:#fcfdff;
 --brand:#008845;--brand-hover:#00743b;--brand-ink:#007d3c;--on-brand:#fff;
 display:grid;place-items:center;min-height:100svh;padding:56px 28px;color-scheme:light;
 background:#f6fbff url('/assets/brand/tagtap-auth-background.png') center/cover no-repeat;
}
.auth-page .site-shell{width:100%}
.auth-page .site-shell>.toast{max-width:1100px;margin:0 auto 20px}
.auth-page .auth-tagtap{
 display:grid;grid-template-columns:46.5% 53.5%;max-width:1100px;min-height:744px;
 margin:0 auto;background:linear-gradient(145deg,#fff 65%,#f4f8ff);border-radius:46px;
 overflow:hidden;box-shadow:0 24px 70px #356bc119;
}
.auth-tagtap .auth-artwork{position:relative;overflow:hidden;background:#0756f9;min-width:0}
.auth-tagtap .auth-artwork>img{
 position:absolute;width:129.26%;max-width:none;height:auto;left:-14.63%;
 top:50%;transform:translateY(-50%);object-fit:contain;
}
.auth-tagtap .auth-form-wrap{padding:64px 65px 64px 84px;display:grid;place-items:center}
.auth-tagtap .auth-form{width:100%;max-width:460px}
.auth-tagtap .auth-wordmark{
 display:block;position:relative;overflow:hidden;width:230px;height:82px;
 margin:0 auto 30px;outline-offset:6px;
}
.auth-wordmark>img{position:absolute;display:block;width:140%;max-width:none;height:auto;left:-21.5%;top:-22.5%;object-fit:contain}
.auth-tagtap .auth-form>h1{text-align:center;font-size:37px;font-weight:740;line-height:1.25;letter-spacing:-.025em;margin-bottom:10px}
.auth-tagtap .auth-form>p:not(.auth-switch){text-align:center;font-size:17px;line-height:1.6;color:var(--muted);margin-bottom:34px}
.auth-tagtap .auth-form form{display:grid;gap:22px}
.auth-tagtap label{font-size:15px;font-weight:560;gap:8px}
.auth-tagtap input:not([type=checkbox]){min-height:56px;border-radius:14px;font-size:15px}
.auth-tagtap .auth-input{display:flex;align-items:center;position:relative;min-width:0}
.auth-input>svg{position:absolute;left:18px;width:21px;height:21px;color:var(--muted);pointer-events:none}
.auth-tagtap .auth-input>input{padding:15px 46px}
.auth-tagtap .auth-input>input::placeholder{color:var(--muted);opacity:1}
.auth-input .password-toggle{position:absolute;right:6px;top:6px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted)}
.password-toggle:hover{color:#0646fa;background:#f0f4ff}
.password-toggle svg{width:21px;height:21px}
.password-toggle[aria-pressed=true]::after{content:'';position:absolute;width:25px;height:1.6px;background:currentColor;transform:rotate(-45deg)}
.auth-tagtap .auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-tagtap .auth-options .checkbox-line{font-size:13px;color:var(--muted);font-weight:450;align-items:center;gap:8px;white-space:nowrap}
.auth-tagtap input[type=checkbox]{width:20px;height:20px;border-radius:5px}
.auth-tagtap .auth-options .text-link{font-size:13px;font-weight:590;text-align:right}
.auth-tagtap .auth-form form>.button{
 display:flex;width:100%;min-height:56px;border-radius:13px;font-size:18px;font-weight:650;
 margin-top:5px;background:linear-gradient(110deg,#00833f,#008849);color:#fff;
 box-shadow:0 10px 22px #00884924;
}
.auth-tagtap .auth-form form>.button:hover{background:#00763b}
.auth-tagtap .auth-form form>.button svg{width:21px;height:21px;margin-left:5px}
.auth-tagtap .auth-switch{display:flex;align-items:center;justify-content:center;gap:17px;text-align:center;margin:32px 0 0!important;font-size:13px!important;color:#545f8a}
.auth-tagtap .auth-switch::before,.auth-tagtap .auth-switch::after{content:'';height:1px;background:#cedaf5;flex:1}
.auth-tagtap .auth-switch a{color:var(--brand-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.auth-tagtap .auth-form .hint{text-align:left;font-size:12px;margin:0;color:var(--muted)}
.auth-tagtap .checkbox-line{font-size:13px;font-weight:400;line-height:1.6}
@media(max-width:1150px){
 .auth-tagtap .auth-form-wrap{padding:48px 42px}
 .auth-tagtap .auth-form>h1{font-size:31px}
}
@media(max-width:900px){
 .site-body.auth-page{padding:36px 24px}
 .auth-page .auth-tagtap{grid-template-columns:1fr;max-width:560px;min-height:0;border-radius:36px}
 .auth-tagtap .auth-artwork{display:none}
 .auth-tagtap .auth-form-wrap{padding:45px 50px}
 .auth-tagtap .auth-wordmark{margin-bottom:28px}
}
@media(max-width:520px){
 .site-body.auth-page{padding:24px 15px}
 .auth-page .auth-tagtap{border-radius:28px}
 .auth-tagtap .auth-form-wrap{padding:35px 24px}
 .auth-tagtap .auth-wordmark{width:210px;height:75px;margin-bottom:25px}
 .auth-tagtap .auth-form>h1{font-size:27px}
 .auth-tagtap .auth-form>p:not(.auth-switch){font-size:14px;margin-bottom:28px}
 .auth-tagtap .auth-options{align-items:flex-start;gap:18px}
 .auth-tagtap .auth-options .checkbox-line,.auth-tagtap .auth-options .text-link{font-size:12px}
 .auth-tagtap .auth-options .text-link{max-width:155px}
 .auth-tagtap .auth-switch{gap:8px;font-size:12px!important}
 .auth-tagtap .auth-form form>.button{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.auth-page *{scroll-behavior:auto}}

/* Single-column login and registration, sharing the dashboard's palette. */
.site-body.auth-page.auth-neon-page{
 --ink:#fff;--muted:#A8B0A8;--line:#293129;--surface:#101411;--field:#0D110E;
 --brand:#C6FF00;--brand-hover:#D8FF53;--brand-ink:#C6FF00;--on-brand:#101600;
 --bg:#080B09;--soft:rgba(198,255,0,.10);
 color-scheme:dark;background:#080B09;padding:32px 24px;min-height:100svh;isolation:isolate;
}
.auth-neon-page::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,11,9,.20),rgba(8,11,9,.38)),url('/assets/brand/tagtap-login-reviews.jpg') center/cover no-repeat}
.auth-neon-page .site-shell{position:relative;z-index:1}
.auth-neon-page ::selection{background:#C6FF00;color:#101600}
.auth-neon-page :focus-visible{outline:3px solid #C6FF00;outline-offset:4px}
.auth-neon-page .auth-tagtap{display:block;max-width:500px;min-height:0;background:#101411;border:1px solid #293129;border-radius:18px;box-shadow:0 22px 60px #0005;margin:0 auto}
.auth-neon-page .auth-form-wrap{padding:38px 40px 40px}
.auth-neon-page .auth-form{max-width:none}
.auth-neon-page .auth-wordmark{width:230px;height:77px;margin:0 auto 23px;overflow:visible}
.auth-neon-page .workspace-brand{position:relative;display:block;width:230px;height:77px}
.auth-neon-page .brand-wordmark{position:absolute;inset:0;background:#fff;mask:url('/assets/brand/tagtap-blue-logo.png') center/contain no-repeat;-webkit-mask:url('/assets/brand/tagtap-blue-logo.png') center/contain no-repeat}
.auth-neon-page .brand-highlight{background:#C6FF00;clip-path:inset(0 0 0 58%)}
.auth-neon-page .auth-form>h1{color:#fff;font-size:29px;font-weight:750;margin-bottom:10px;line-height:1.25}
.auth-neon-page .auth-form>p:not(.auth-switch){color:#A8B0A8;font-size:15px;margin-bottom:28px}
.auth-neon-page .auth-form form{gap:22px}
.auth-register-page .auth-form form{gap:18px}
.auth-register-page .auth-form .hint{margin-top:-8px}
.auth-register-page .checkbox-line{align-items:flex-start;color:#A8B0A8;line-height:1.6}
.auth-neon-page label{color:#fff;font-size:14px;font-weight:550}
.auth-neon-page input:not([type=checkbox]){background:#0D110E;color:#fff;border:1px solid #293129;border-radius:12px;font-size:16px;caret-color:#C6FF00}
.auth-neon-page input:not([type=checkbox]):focus{border-color:#C6FF00}
.auth-neon-page .auth-input>input::placeholder{color:#8E998F}
.auth-neon-page .auth-input>svg,.auth-neon-page .password-toggle{color:#A8B0A8}
.auth-neon-page .password-toggle:hover{background:rgba(198,255,0,.10);color:#C6FF00}
.auth-neon-page .auth-options{align-items:flex-start;gap:14px}
.auth-neon-page .auth-options .checkbox-line{color:#A8B0A8;white-space:normal;line-height:1.5}
.auth-neon-page .auth-options .text-link{color:#C6FF00;font-size:12px;line-height:1.6;max-width:165px}
.auth-neon-page input[type=checkbox]{accent-color:#C6FF00;flex-shrink:0}
.auth-neon-page .auth-form form>.button{background:#C6FF00;color:#101600;border:1px solid #C6FF00;border-radius:12px;font-size:16px;font-weight:700;box-shadow:none;min-height:54px;transition:background .18s,border-color .18s}
.auth-neon-page .auth-form form>.button:hover{background:#D8FF53;border-color:#D8FF53}
.auth-neon-page .auth-form form>.button:disabled{opacity:.65}
.auth-neon-page .auth-switch{color:#A8B0A8;margin-top:28px!important;font-size:13px!important}
.auth-neon-page .auth-switch::before,.auth-neon-page .auth-switch::after{background:#293129}
.auth-neon-page .site-shell>.toast{max-width:500px;background:#172916;border:1px solid #526B34;color:#fff;border-radius:12px}
.auth-neon-page .site-shell>.toast-error{background:#33191E;border-color:#66343C;color:#FF9EAA}
.auth-admin-page .auth-form>.auth-access-note{border-top:1px solid #293129;padding-top:22px;margin:26px 0 0;font-size:13px;line-height:1.7}
.auth-admin-page .auth-access-note a{color:#C6FF00;text-underline-offset:3px}
.auth-admin-page .platform-login-form>.button svg{flex-shrink:0}
@media(min-width:1280px){
 .site-body.auth-page.auth-neon-page{padding-inline:4vw}
 .auth-neon-page .auth-tagtap{margin:0 0 0 auto}
 .auth-neon-page .site-shell>.toast{margin:0 0 20px auto}
}
@media(min-width:1280px) and (max-width:1439px){
 .auth-neon-page .auth-tagtap,.auth-neon-page .site-shell>.toast{max-width:460px}
 .auth-neon-page .auth-form-wrap{padding-inline:30px}
}
@media(max-width:520px){
 .site-body.auth-page.auth-neon-page{padding:24px 14px}
 .auth-neon-page .auth-form-wrap{padding:28px 23px 30px}
 .auth-neon-page .auth-form>h1{font-size:25px}
 .auth-neon-page .auth-wordmark,.auth-neon-page .workspace-brand{width:210px;height:70px}
 .auth-neon-page .auth-options{gap:12px}
 .auth-neon-page .auth-options .checkbox-line{font-size:12px}
 .auth-neon-page .auth-options .text-link{max-width:135px;font-size:12px}
 .auth-neon-page .auth-switch{gap:8px;font-size:12px!important}
}
