/* INFIVO AUTH V3 · dark identity and dual onboarding */
:root{--auth-bg:#020916;--auth-panel:rgba(7,20,42,.88);--auth-panel-2:rgba(11,29,58,.76);--auth-line:rgba(123,221,241,.18);--auth-text:#f4fbff;--auth-muted:#9cb1c9;--auth-blue:#0678e8;--auth-cyan:#11c8df;--auth-mint:#55edcf;--auth-danger:#ff8d9d}
body.login.infivo-auth,body.saas-body.infivo-auth{min-height:100vh;margin:0;color:var(--auth-text);background:
radial-gradient(circle at 12% 8%,rgba(6,120,232,.23),transparent 32rem),
radial-gradient(circle at 88% 18%,rgba(17,200,223,.13),transparent 30rem),
radial-gradient(circle at 50% 105%,rgba(85,237,207,.08),transparent 34rem),
linear-gradient(145deg,#010611 0%,#031126 50%,#020916 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body.login.infivo-auth{overflow-x:hidden;overflow-y:auto}
body.login.infivo-auth:before,body.saas-body.infivo-auth:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.34;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 86%)}
.auth-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(390px,.75fr);min-height:100vh;max-width:1480px;margin:auto;padding:clamp(22px,4vw,70px);gap:clamp(26px,5vw,88px);align-items:center;box-sizing:border-box}
.auth-visual{padding:clamp(10px,3vw,46px);max-width:720px}
.auth-logo img,.saas-brand.auth-brand img{display:block;width:min(280px,72vw);height:auto}
.auth-kicker{display:inline-flex;align-items:center;gap:9px;margin:52px 0 18px;color:#8deee2;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.auth-kicker:before{content:"";width:30px;height:1px;background:linear-gradient(90deg,var(--auth-blue),var(--auth-mint))}
.auth-visual h2{max-width:680px;margin:0;color:#fff;font-size:clamp(40px,5.4vw,76px);line-height:.98;letter-spacing:-.055em}
.auth-visual h2 strong{display:block;font-weight:800;background:linear-gradient(90deg,#62aaff,var(--auth-cyan),var(--auth-mint));-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-visual>p{max-width:610px;margin:24px 0 0;color:var(--auth-muted);font-size:clamp(16px,1.5vw,20px);line-height:1.65}
.auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.auth-points span{min-height:86px;padding:16px;border:1px solid var(--auth-line);border-radius:18px;background:rgba(255,255,255,.035);color:#dcecff;font-size:13px;line-height:1.45;box-sizing:border-box}
.auth-points b{display:block;margin-bottom:7px;color:var(--auth-mint);font-size:18px}
.login .auth-card,.infivo-auth .saas-form,.infivo-auth .saas-notice{position:relative;border:1px solid var(--auth-line);background:linear-gradient(160deg,rgba(12,31,62,.94),rgba(4,13,30,.92));box-shadow:0 34px 90px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(18px)}
.login .auth-card{width:100%;max-width:520px;margin-left:auto;padding:clamp(26px,4vw,46px);border-radius:28px;box-sizing:border-box}
.login .login-brand img{width:190px}.login .auth-card .eyebrow{display:block;margin-top:24px;color:#7ee9df;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.login .auth-card h1{margin:9px 0 12px;color:#fff;font-size:clamp(30px,4vw,44px);letter-spacing:-.04em}
.login .auth-card .muted{color:var(--auth-muted);line-height:1.65}
.infivo-auth label{color:#cfe0f2;font-weight:700}.infivo-auth input,.infivo-auth select,.infivo-auth textarea{width:100%;margin-top:8px;border:1px solid rgba(144,192,225,.22)!important;background:#07152c!important;color:#f6fbff!important;box-shadow:inset 0 1px 8px rgba(0,0,0,.18);box-sizing:border-box}
.infivo-auth input:focus,.infivo-auth select:focus,.infivo-auth textarea:focus{outline:none;border-color:var(--auth-cyan)!important;box-shadow:0 0 0 3px rgba(17,200,223,.12)}
.infivo-auth button,.infivo-auth .saas-btn,.auth-primary{border:0;border-radius:14px;background:linear-gradient(100deg,var(--auth-blue),var(--auth-cyan) 58%,var(--auth-mint));color:#00111f!important;font-weight:900;box-shadow:0 14px 34px rgba(6,120,232,.24);text-decoration:none}
.infivo-auth button:hover,.infivo-auth .saas-btn:hover,.auth-primary:hover{transform:translateY(-1px);filter:brightness(1.06)}
.auth-links{display:flex;flex-wrap:wrap;gap:9px 16px;margin:18px 0 0;font-size:13px}.auth-links a{color:#a9c8e8}
.auth-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.auth-entry-actions a{display:flex;min-height:48px;align-items:center;justify-content:center;padding:10px 14px;border-radius:14px;text-align:center;text-decoration:none;font-weight:800}
.auth-entry-actions .trial{color:#eafffb;background:rgba(85,237,207,.09);border:1px solid rgba(85,237,207,.28)}
.auth-entry-actions .register{color:#e7f3ff;background:rgba(6,120,232,.13);border:1px solid rgba(71,164,255,.3)}
.auth-admin-link{display:block;margin-top:18px;color:#7f9bb9!important;text-align:center;font-size:12px}
.infivo-auth-shell{position:relative;z-index:1;width:min(1160px,calc(100% - 30px));max-width:1160px!important;margin:0 auto;padding:38px 0 70px!important}
.saas-brand.auth-brand{display:inline-block;margin:0 0 30px}.saas-brand.auth-brand img{width:220px}
.infivo-auth-shell .saas-eyebrow{color:#7ee9df}.infivo-auth-shell>h1{max-width:760px;color:#fff;font-size:clamp(36px,5vw,64px);letter-spacing:-.05em}.infivo-auth-shell>.saas-lead{max-width:840px;color:var(--auth-muted);font-size:17px;line-height:1.65}
.infivo-auth .saas-form{border-radius:26px;padding:clamp(22px,4vw,42px)}.infivo-auth .saas-notice{color:#d6e8f8;border-radius:16px}.infivo-auth .saas-notice.good{border-color:rgba(85,237,207,.35);color:#baf9e9}.infivo-auth .saas-notice.bad{border-color:rgba(255,141,157,.35);color:#ffc2cb}
.auth-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 28px}
.auth-choice{position:relative;display:block!important;cursor:pointer}
.auth-choice>input{position:absolute;opacity:0;pointer-events:none}
.auth-choice>span{display:block;min-height:170px;padding:22px;border:1px solid rgba(140,196,230,.2);border-radius:20px;background:rgba(255,255,255,.035);transition:.18s ease;box-sizing:border-box}
.auth-choice strong{display:block;margin:7px 0 10px;color:#fff;font-size:20px}.auth-choice small{display:block;color:var(--auth-muted);font-weight:500;line-height:1.55}.auth-choice em{display:inline-flex;margin-top:13px;padding:5px 9px;border-radius:999px;background:rgba(17,200,223,.11);color:#81e9df;font-size:11px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.auth-choice>input:checked+span{border-color:rgba(85,237,207,.58);background:linear-gradient(145deg,rgba(6,120,232,.19),rgba(85,237,207,.08));box-shadow:0 0 0 3px rgba(85,237,207,.08),0 18px 42px rgba(0,0,0,.2)}
.auth-choice>input:focus-visible+span{outline:2px solid var(--auth-cyan);outline-offset:3px}
.auth-section-title{grid-column:1/-1;margin:4px 0 0;color:#fff;font-size:14px;letter-spacing:.04em}
.auth-intent-note{margin-top:16px;padding:14px 16px;border-left:3px solid var(--auth-mint);border-radius:0 12px 12px 0;background:rgba(85,237,207,.07);color:#bcd3e7;font-size:13px;line-height:1.55}
.purchase-gate{max-width:880px;margin:28px auto}.purchase-gate .saas-card{border:1px solid var(--auth-line);border-radius:26px;background:linear-gradient(155deg,rgba(12,31,62,.95),rgba(4,13,30,.94));box-shadow:0 28px 74px rgba(0,0,0,.4)}.purchase-gate h2{color:#fff}.purchase-gate p{color:var(--auth-muted)}.purchase-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.purchase-options form{margin:0}.purchase-options button{width:100%;min-height:58px}.purchase-options small{display:block;margin-top:5px;font-weight:600;opacity:.72}
.bundle-status{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid rgba(85,237,207,.24);border-radius:16px;background:rgba(85,237,207,.06);color:#cdebe7}.bundle-status b{color:var(--auth-mint)}
@media(max-width:900px){.auth-layout{grid-template-columns:1fr;padding:24px}.auth-visual{padding:8px 4px}.auth-visual h2{font-size:48px}.auth-kicker{margin-top:30px}.login .auth-card{margin:auto}.auth-points{grid-template-columns:1fr 1fr}.auth-choice-grid{grid-template-columns:1fr}}
@media(max-width:560px){.auth-layout{padding:16px}.auth-visual h2{font-size:39px}.auth-points{grid-template-columns:1fr}.auth-entry-actions,.purchase-options{grid-template-columns:1fr}.login .auth-card{padding:24px 20px;border-radius:22px}.infivo-auth-shell{width:min(100% - 20px,1160px);padding-top:22px!important}.infivo-auth .saas-form{padding:19px}.auth-choice>span{min-height:0}}
@media(prefers-reduced-motion:reduce){.infivo-auth *{scroll-behavior:auto!important;transition:none!important}}
