:root{--vnm-ink:#173737;--vnm-dark:#004d4d;--vnm-accent:#00A192;--vnm-dark-2:#006666;--vnm-line:#d9e5e4;--vnm-soft:#f4f8f8;--vnm-muted:#617878;--vnm-danger:#9b2c2c;--vnm-danger-bg:#fff0f0;--vnm-success:#155e45;--vnm-success-bg:#ecfdf5}*{box-sizing:border-box}.vnm-auth-standalone{margin:0;background:radial-gradient(circle at 20% 0,#eef9f8 0,transparent 32%),#f7f9f9;color:var(--vnm-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.vnm-auth-page-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 18px}.vnm-auth-shell{width:100%;display:flex;justify-content:center}.vnm-auth-card{width:min(100%,520px);padding:36px;border:1px solid var(--vnm-line);border-radius:22px;background:#fff;box-shadow:0 22px 70px rgba(16,59,59,.09)}.vnm-auth-card--wide{width:min(100%,700px)}.vnm-auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--vnm-dark);font-size:16px;font-weight:800}.vnm-auth-mark{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:var(--vnm-dark);color:#fff;font-weight:900}.vnm-auth-card h1{margin:0 0 10px;color:var(--vnm-dark);font-size:clamp(28px,4vw,38px);line-height:1.08;letter-spacing:-.025em}.vnm-auth-lead{margin:0 0 24px;color:var(--vnm-muted);font-size:15px;line-height:1.65}.vnm-auth-form{display:grid;gap:16px}.vnm-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vnm-auth-form label{display:grid;gap:7px;color:var(--vnm-ink);font-size:14px;font-weight:700}.vnm-auth-form input[type=text],.vnm-auth-form input[type=email],.vnm-auth-form input[type=password]{width:100%;min-height:48px;padding:11px 13px;border:1px solid #bfd0cf;border-radius:11px;background:#fff;color:var(--vnm-ink);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.vnm-auth-form input:focus{border-color:var(--vnm-accent);box-shadow:0 0 0 3px rgba(0,143,132,.13)}.vnm-auth-form input[readonly]{background:var(--vnm-soft);color:var(--vnm-muted)}.vnm-auth-form small{color:var(--vnm-muted);font-size:12px;font-weight:500}.vnm-auth-check{grid-template-columns:auto 1fr!important;align-items:start!important;gap:10px!important;font-weight:500!important;line-height:1.45}.vnm-auth-check input{margin-top:3px}.vnm-auth-card a{color:var(--vnm-dark);font-weight:750}.vnm-auth-primary,.vnm-auth-secondary{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 20px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.vnm-auth-primary{background:var(--vnm-dark);color:#fff!important}.vnm-auth-primary:hover{filter:brightness(1.08)}.vnm-auth-secondary{border:1px solid var(--vnm-line);background:#fff;color:var(--vnm-dark)}.vnm-auth-links{display:flex;justify-content:space-between;gap:14px;margin-top:22px;color:var(--vnm-muted);font-size:13px;flex-wrap:wrap}.vnm-auth-links--center{justify-content:center;text-align:center}.vnm-auth-context{display:grid;gap:4px;margin:0 0 20px;padding:13px 15px;border-radius:13px;background:var(--vnm-soft);color:var(--vnm-muted);font-size:13px}.vnm-auth-context strong{color:var(--vnm-dark);font-size:15px}.vnm-auth-context.is-warning{background:#fff8e8}.vnm-auth-alert,.vnm-auth-success{margin:0 0 18px;padding:12px 14px;border-radius:11px;font-size:14px;line-height:1.5}.vnm-auth-alert{background:var(--vnm-danger-bg);color:var(--vnm-danger)}.vnm-auth-success{background:var(--vnm-success-bg);color:var(--vnm-success)}.vnm-auth-inline-form{margin:18px 0}.vnm-auth-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.vnm-auth-signup-button{width:auto}.vnm-auth-card button:disabled{opacity:.6;cursor:wait}@media(max-width:620px){.vnm-auth-page-main{padding:18px 12px;align-items:flex-start}.vnm-auth-card{padding:26px 20px;border-radius:17px}.vnm-auth-grid{grid-template-columns:1fr}.vnm-auth-links{display:grid;justify-content:center;text-align:center}.vnm-auth-primary{width:100%}}


/* Viewnamic brand + form refinements (0.3.0). */
.vnm-auth-card .vnm-auth-primary,
.vnm-auth-card button.vnm-auth-primary {
    background: var(--vnm-dark-2) !important;
    border-color: var(--vnm-dark-2) !important;
    color: #fff !important;
    box-shadow: none !important;
}
.vnm-auth-card .vnm-auth-primary:hover,
.vnm-auth-card .vnm-auth-primary:focus-visible,
.vnm-auth-card button.vnm-auth-primary:hover,
.vnm-auth-card button.vnm-auth-primary:focus-visible {
    background: var(--vnm-accent) !important;
    border-color: var(--vnm-accent) !important;
    color: #fff !important;
    filter: none;
}
.vnm-auth-form input:focus {
    border-color: var(--vnm-accent) !important;
    box-shadow: 0 0 0 3px rgba(0, 161, 146, .14) !important;
}
.vnm-auth-optional {
    margin-left: 5px;
    color: var(--vnm-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
}
.vnm-auth-grid-note {
    grid-column: 1 / -1;
    margin-top: -5px;
}
.vnm-auth-password-wrap {
    position: relative;
    display: block;
    width: 100%;
}
.vnm-auth-password-wrap input {
    padding-right: 50px !important;
}
.vnm-auth-password-toggle {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 36px;
    height: 36px;
    min-height: 36px !important;
    padding: 0 !important;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: var(--vnm-muted) !important;
    box-shadow: none !important;
    cursor: pointer;
}
.vnm-auth-password-toggle:hover,
.vnm-auth-password-toggle:focus-visible {
    background: var(--vnm-soft) !important;
    color: var(--vnm-dark) !important;
}
.vnm-auth-password-toggle:focus-visible {
    outline: 2px solid var(--vnm-accent);
    outline-offset: 1px;
}
.vnm-auth-password-toggle svg {
    width: 20px;
    height: 20px;
    display: block;
}


/* Auth branding refinement 0.4.1: use the shared Viewnamic SVG, never the letter-V placeholder. */
.vnm-auth-brand{display:flex;align-items:center;margin-bottom:24px;}
.vnm-auth-logo-surface{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:8px 14px;border-radius:12px;background:var(--vnm-dark);}
.vnm-auth-logo{display:block;width:auto;height:28px;max-width:min(220px,70vw);object-fit:contain;}
.vnm-auth-mark{display:none!important;}
@media(max-width:620px){.vnm-auth-logo-surface{min-height:42px;padding:7px 12px}.vnm-auth-logo{height:25px;max-width:min(190px,68vw)}}

/* Security + social authentication (0.6.0). */
.vnm-auth-social{margin:0 0 20px}.vnm-auth-social-buttons{display:grid;gap:10px}.vnm-auth-social-button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:10px;border:1px solid #bfd0cf;border-radius:999px;background:#fff!important;color:var(--vnm-dark)!important;text-decoration:none!important;font-weight:800!important;transition:border-color .15s,background .15s,box-shadow .15s}.vnm-auth-social-button:hover,.vnm-auth-social-button:focus-visible{border-color:var(--vnm-accent);background:var(--vnm-soft)!important;box-shadow:0 0 0 3px rgba(0,161,146,.10)}.vnm-auth-social-mark{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--vnm-soft);font-size:13px;font-weight:900}.vnm-auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--vnm-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.vnm-auth-divider:before,.vnm-auth-divider:after{content:"";height:1px;flex:1;background:var(--vnm-line)}.vnm-auth-turnstile{display:flex;justify-content:center;min-height:65px;margin:2px 0}.login .vnm-auth-turnstile{justify-content:flex-start;margin:12px 0}.vnm-auth-inline-form .vnm-auth-turnstile{justify-content:flex-start;margin:12px 0}

/* Registration plan selection + cross-device email verification (0.6.5). */
.vnm-auth-plan-selector{margin:0 0 24px;padding:18px;border:1px solid var(--vnm-line);border-radius:16px;background:var(--vnm-soft)}
.vnm-auth-plan-selector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.vnm-auth-plan-selector-head h2{margin:2px 0 0!important;color:var(--vnm-dark);font-size:20px!important;line-height:1.2!important;letter-spacing:-.01em!important}
.vnm-auth-plan-selector-head p{max-width:330px;margin:0;color:var(--vnm-muted);font-size:12px;line-height:1.5;text-align:right}
.vnm-auth-plan-kicker{color:var(--vnm-accent);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.vnm-auth-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vnm-auth-plan-card{display:grid;gap:4px;min-width:0;padding:14px;text-align:left;border:1px solid #bfd0cf;border-radius:13px;background:#fff;color:var(--vnm-ink);font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.vnm-auth-plan-card:hover,.vnm-auth-plan-card:focus-visible{border-color:var(--vnm-accent);box-shadow:0 0 0 3px rgba(0,161,146,.10);outline:0}
.vnm-auth-plan-card.is-selected{border-color:var(--vnm-accent);box-shadow:inset 0 0 0 1px var(--vnm-accent),0 6px 18px rgba(0,77,77,.07);background:#fff}
.vnm-auth-plan-name{overflow:hidden;text-overflow:ellipsis;color:var(--vnm-dark);font-size:13px;font-weight:800;white-space:nowrap}
.vnm-auth-plan-card strong{color:var(--vnm-dark);font-size:19px;line-height:1.2}
.vnm-auth-plan-card small,.vnm-auth-plan-empty{color:var(--vnm-muted);font-size:11px;line-height:1.4}
.vnm-auth-plan-empty{margin:12px 0 0}
.vnm-auth-verification-watch{display:flex;align-items:center;gap:10px;margin:16px 0;padding:13px 14px;border:1px solid var(--vnm-line);border-radius:12px;background:var(--vnm-soft);color:var(--vnm-dark);font-size:13px;font-weight:700}
.vnm-auth-verification-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--vnm-accent);box-shadow:0 0 0 0 rgba(0,161,146,.35);animation:vnmAuthVerifyPulse 1.8s infinite}
.vnm-auth-verification-watch.is-verified{border-color:#b7e4d3;background:var(--vnm-success-bg);color:var(--vnm-success)}
.vnm-auth-verification-watch.is-verified .vnm-auth-verification-dot{background:var(--vnm-success);animation:none}
.vnm-auth-verification-watch.is-expired{border-color:#f0d1d1;background:var(--vnm-danger-bg);color:var(--vnm-danger)}
.vnm-auth-verification-watch.is-expired .vnm-auth-verification-dot{background:var(--vnm-danger);animation:none}
@keyframes vnmAuthVerifyPulse{0%{box-shadow:0 0 0 0 rgba(0,161,146,.32)}70%{box-shadow:0 0 0 8px rgba(0,161,146,0)}100%{box-shadow:0 0 0 0 rgba(0,161,146,0)}}
@media(max-width:700px){.vnm-auth-plan-selector-head{display:grid}.vnm-auth-plan-selector-head p{text-align:left}.vnm-auth-plan-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.vnm-auth-plan-grid{grid-template-columns:1fr}}

/* Plan-family selector aligned with Access & Billing Core 0.9.2 (0.6.6). */
.vnm-auth-plan-family{margin-top:18px}.vnm-auth-plan-family:first-of-type{margin-top:0}.vnm-auth-plan-family-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 9px}.vnm-auth-plan-family-head h3{margin:0!important;color:var(--vnm-dark);font-size:15px!important;line-height:1.2!important}.vnm-auth-plan-family-head p{margin:0;color:var(--vnm-muted);font-size:11px;text-align:right}.vnm-auth-product-card{display:flex;min-width:0;flex-direction:column;gap:6px;padding:14px;border:1px solid #bfd0cf;border-radius:13px;background:#fff}.vnm-auth-product-card>p{margin:0 0 4px;color:var(--vnm-muted);font-size:11px;line-height:1.4}.vnm-auth-product-card.is-recommended{border:2px solid #d4ad3c;padding:13px;box-shadow:0 6px 18px rgba(114,83,24,.07)}.vnm-auth-recommended-chip{display:inline-flex;width:max-content;border-radius:999px;padding:4px 7px;background:#fff4cf;color:#725318;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.vnm-auth-product-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:7px;margin-top:auto}.vnm-auth-price-choice{min-height:68px;padding:10px}.vnm-auth-price-choice strong{font-size:17px}.vnm-auth-trial-card{align-content:center}.vnm-auth-plan-grid-publisher{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.vnm-auth-plan-family-head{align-items:flex-start;flex-direction:column}.vnm-auth-plan-family-head p{text-align:left}.vnm-auth-plan-grid-publisher{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.vnm-auth-plan-grid-publisher{grid-template-columns:1fr}}
