/* Repify authentication UI — consolidated paid-product entry experience. */
html:has(body.access-body),body.access-body{min-height:100%}
body.access-body.auth-body{display:block;min-height:100vh;margin:0;padding:0;overflow-x:hidden;background:var(--repify-page);color:var(--repify-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.access-body *{box-sizing:border-box}
body.access-body .access-shell{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;background:var(--repify-page)}
body.access-body .access-intro{position:relative;isolation:isolate;min-width:0;min-height:100vh;display:flex;flex-direction:column;padding:clamp(36px,4vw,64px);border-right:1px solid var(--repify-line);background:var(--repify-page)}
body.access-body .access-intro::after{content:"";position:absolute;z-index:-1;inset:auto 7% 7% auto;width:clamp(170px,24vw,360px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,116,23,.09),rgba(255,116,23,0) 69%);pointer-events:none}
body.access-body .access-brand,body.access-body .access-mobile-brand{display:inline-flex;width:fit-content;color:var(--repify-ink);text-decoration:none}
body.access-body .access-brand .repify-logo-image,body.access-body .access-mobile-brand .repify-logo-image{display:block;width:clamp(132px,10vw,164px);height:auto}
body.access-body .access-mobile-brand{display:none;margin-bottom:48px}
body.access-body .access-intro-content{width:min(560px,100%);margin:auto 0;padding:clamp(62px,9vh,106px) 0}
body.access-body .access-kicker{display:block;margin:0 0 12px;color:var(--repify-orange-dark);font-size:11.5px;font-weight:800;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}
body.access-body .access-intro h1{max-width:620px;margin:0;color:var(--repify-ink);font-size:clamp(42px,4.25vw,66px);font-weight:760;letter-spacing:-.058em;line-height:1.01}
body.access-body .access-intro-content>p{max-width:550px;margin:22px 0 0;color:var(--repify-muted);font-size:15px;line-height:1.7}
body.access-body .access-summary{width:min(530px,100%);margin:36px 0 0;overflow:hidden;border:1px solid var(--repify-line);border-radius:var(--repify-radius-lg);background:rgba(255,255,255,.82);box-shadow:var(--repify-shadow-card);backdrop-filter:blur(12px)}
body.access-body .access-summary-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--repify-line)}
body.access-body .access-summary-header div>span,body.access-body .access-summary-header div>strong{display:block}
body.access-body .access-summary-header div>span{margin-bottom:3px;color:var(--repify-muted);font-size:11.5px;font-weight:650}
body.access-body .access-summary-header div>strong{color:var(--repify-ink);font-size:14px;font-weight:750}
body.access-body .access-summary-header small{padding:5px 8px;border-radius:999px;background:var(--repify-orange-softer);color:var(--repify-orange-dark);font-size:11.5px;font-weight:750;white-space:nowrap}
body.access-body .access-summary-row{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid var(--repify-line);color:var(--repify-muted);font-size:12px}
body.access-body .access-summary-row:last-child{border-bottom:0}
body.access-body .access-summary-row strong{color:var(--repify-ink);font-size:13px;font-weight:750}
body.access-body .access-steps{width:min(520px,100%);margin:36px 0 0;padding:0;border-top:1px solid var(--repify-line);list-style:none}
body.access-body .access-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:15px;align-items:start;padding:18px 0;border-bottom:1px solid var(--repify-line)}
body.access-body .access-steps li>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--repify-line-strong);border-radius:8px;background:#fff;color:var(--repify-orange-dark);font-size:12px;font-weight:750}
body.access-body .access-steps strong,body.access-body .access-steps small{display:block}
body.access-body .access-steps strong{color:var(--repify-ink);font-size:14px;font-weight:720;line-height:1.45}
body.access-body .access-steps small{margin-top:4px;color:var(--repify-muted);font-size:12px;line-height:1.55}
body.access-body .access-assurance{display:flex;align-items:flex-start;gap:9px;max-width:540px;color:var(--repify-muted);font-size:12px;line-height:1.55}
body.access-body .access-assurance i{flex:0 0 auto;margin-top:1px;color:var(--repify-orange-dark);font-size:15px}
body.access-body .access-form-panel{position:relative;min-width:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(78px,7vw,116px) clamp(36px,7vw,112px) clamp(48px,5vw,76px);background:#fff}
body.access-body .access-register-panel{align-items:flex-start}
body.access-body .access-form-container,body.access-body .access-register-container{width:min(470px,100%);margin:auto;padding:0;border:0;background:transparent;box-shadow:none}
body.access-body .access-register-container{width:min(650px,100%)}
body.access-body .access-form-header{margin:0 0 32px}
body.access-body .access-form-header .access-kicker{margin-bottom:9px}
body.access-body .access-form-header h2{margin:0;color:var(--repify-ink);font-size:clamp(34px,3.3vw,46px);font-weight:760;letter-spacing:-.052em;line-height:1.04}
body.access-body .access-form-header p{max-width:520px;margin:12px 0 0;color:var(--repify-muted);font-size:14px;line-height:1.65}
body.access-body .access-alert,body.access-body .access-alert-success{display:flex;align-items:flex-start;gap:10px;margin:0 0 22px;padding:13px 14px;border:1px solid #e9c1c3;border-radius:var(--repify-radius-sm);background:var(--repify-danger-soft);color:#842b30;font-size:13px;line-height:1.55}
body.access-body .access-alert-success{border-color:#b9ddca;background:var(--repify-success-soft);color:var(--repify-success)}
body.access-body .access-alert-success i{margin-top:1px;font-size:15px}
body.access-body .access-form{display:grid;gap:21px}
body.access-body .access-register-form{gap:24px}
body.access-body .access-field{min-width:0}
body.access-body .access-field .form-label,body.access-body .access-label-row .form-label{margin:0 0 8px;color:var(--repify-ink-soft);font-size:12px;font-weight:720;line-height:1.4}
body.access-body .access-label-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
body.access-body .access-label-row>a,body.access-body .access-label-row>span{margin-bottom:8px;color:var(--repify-muted);font-size:12px;line-height:1.4}
body.access-body .access-label-row>a{text-decoration:none}
body.access-body .access-label-row>a:hover,body.access-body .access-label-row>a:focus-visible{color:var(--repify-ink);text-decoration:underline;text-underline-offset:3px}
body.access-body .access-form .form-control,body.access-body .access-form .form-select{width:100%;min-height:50px;padding:11px 14px;border:1px solid var(--repify-line-strong);border-radius:var(--repify-radius-sm);background:#fff;color:var(--repify-ink);font-size:14px;line-height:1.4;box-shadow:none;outline:none}
body.access-body .access-form .form-control::placeholder{color:#9a9ca0}
body.access-body .access-form .form-control:hover,body.access-body .access-form .form-select:hover{border-color:#9fa1a4}
body.access-body .access-form .form-control:focus,body.access-body .access-form .form-select:focus{border-color:var(--repify-orange);outline:0;box-shadow:var(--repify-focus)}
body.access-body .access-field>small{display:block;margin-top:7px;color:var(--repify-muted);font-size:11.5px;line-height:1.5}
body.access-body .access-password-field{position:relative}
body.access-body .access-password-field .form-control{padding-right:52px}
body.access-body .access-password-field button{position:absolute;top:50%;right:5px;width:44px;min-width:44px;height:40px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:7px;background:transparent;color:var(--repify-muted);cursor:pointer}
body.access-body .access-password-field button:hover,body.access-body .access-password-field button:focus-visible{background:var(--repify-soft);color:var(--repify-ink);outline:0}
body.access-body .access-submit{width:100%;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:2px 0 0;padding:12px 18px;border:1px solid var(--repify-ink);border-radius:var(--repify-radius-sm);background:var(--repify-ink);color:#fff;font-size:13px;font-weight:720;box-shadow:none}
body.access-body .access-submit:hover,body.access-body .access-submit:focus-visible{border-color:#303030;background:#303030;color:#fff;transform:translateY(-1px)}
body.access-body .access-submit i{font-size:14px}
body.access-body .access-switch{margin:28px 0 0;padding-top:24px;border-top:1px solid var(--repify-line);color:var(--repify-muted);font-size:12px;text-align:center}
body.access-body .access-switch a{color:var(--repify-ink);font-weight:700;text-decoration:none}
body.access-body .access-switch a:hover,body.access-body .access-switch a:focus-visible{text-decoration:underline;text-underline-offset:3px}
body.access-body .access-fieldset{min-width:0;margin:0;padding:0;border:0}
body.access-body .access-fieldset+.access-fieldset{padding-top:24px;border-top:1px solid var(--repify-line)}
body.access-body .access-fieldset legend{width:100%;margin:0 0 15px;padding:0;color:var(--repify-ink-soft);font-size:13px;font-weight:750}
body.access-body .access-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}
body.access-body .access-field-wide{grid-column:1/-1}
body.access-body .access-consent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;color:var(--repify-muted);font-size:12px;line-height:1.6;cursor:pointer}
body.access-body .access-consent input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--repify-orange)}
body.access-body .access-consent a{color:var(--repify-ink);font-weight:650}
body.access-body .access-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
body.access-body .access-unavailable{display:grid;grid-template-columns:32px minmax(0,1fr);gap:13px;margin-bottom:24px;padding:15px;border:1px solid #ead7a2;border-radius:var(--repify-radius-sm);background:var(--repify-warning-soft)}
body.access-body .access-unavailable i{color:var(--repify-warning);font-size:20px}
body.access-body .access-unavailable strong,body.access-body .access-unavailable p{display:block}
body.access-body .access-unavailable strong{color:#725100;font-size:12px}
body.access-body .access-unavailable p{margin:4px 0 0;color:#725100;font-size:12px;line-height:1.55}
body.access-body .access-language-switch{position:fixed;z-index:20;top:24px;right:24px;width:122px;margin:0}
body.access-body .access-language-switch .form-select{min-height:42px;border-color:var(--repify-line);border-radius:var(--repify-radius-sm);background-color:rgba(255,255,255,.96);color:var(--repify-ink);box-shadow:var(--repify-shadow-subtle)}
@media (max-width:1080px){body.access-body .access-intro{padding:40px}body.access-body .access-form-panel{padding-inline:clamp(32px,5vw,64px)}}
@media (max-width:860px){body.access-body .access-shell{display:block;min-height:100vh;background:#fff}body.access-body .access-intro{display:none}body.access-body .access-form-panel,body.access-body .access-register-panel{min-height:100dvh;align-items:flex-start;justify-content:center;padding:max(30px,env(safe-area-inset-top)) 24px max(42px,env(safe-area-inset-bottom));background:#fff}body.access-body .access-mobile-brand{display:inline-flex;margin-bottom:clamp(48px,10vh,76px)}body.access-body .access-form-container,body.access-body .access-register-container{width:min(600px,100%)}body.access-body .access-language-switch{top:max(18px,env(safe-area-inset-top));right:18px}}
@media (max-width:560px){body.access-body .access-form-panel,body.access-body .access-register-panel{padding-inline:18px}body.access-body .access-mobile-brand{margin-bottom:52px}body.access-body .access-form-header{margin-bottom:25px}body.access-body .access-form-header h2{font-size:34px}body.access-body .access-register-grid{grid-template-columns:1fr}body.access-body .access-field-wide{grid-column:auto}body.access-body .access-language-switch{width:106px}}
@media (prefers-reduced-motion:reduce){body.access-body *,body.access-body *::before,body.access-body *::after{scroll-behavior:auto;transition:none;animation:none}}


@media(max-width:860px){
  body.access-body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]),
  body.access-body select,
  body.access-body textarea,
  body.access-body .form-control,
  body.access-body .form-select{font-size:16px}
}
