:root {
    --vq-bg: #07090c;
    --vq-panel: #080b11;
    --vq-field: #11151f;
    --vq-field-hover: #161b27;
    --vq-text: #e9edf7;
    --vq-muted: #98a2bd;
    --vq-label: #b8c2db;
    --vq-blue: #3b82f6;
    --vq-purple: #a855f7;
    --vq-green: #22c55e;
    --vq-border: rgba(139, 155, 198, .34);
    --vq-focus: rgba(59, 130, 246, .22);
    --vq-danger: #ff5f6d;
    --vq-card: rgba(20, 28, 55, .78);
}

@keyframes vq-grid-pan { to { background-position: 46px 46px; } }
@keyframes vq-scan { from { transform: translateY(-100%); } to { transform: translateY(720%); } }
@keyframes vq-move-up { to { transform: translateY(-50%); } }
@keyframes vq-move-down { from { transform: translateY(-50%); } to { transform: translateY(0); } }
@keyframes vq-float { 50% { transform: translateY(-7px); } }
@keyframes vq-glow { 50% { opacity: .95; transform: scale(1.07); } }
@keyframes vq-box { 50% { opacity: .95; transform: scale(1); } }
@keyframes vq-fade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes vq-blip { from { transform: scale(.4); opacity: .9; } to { transform: scale(3); opacity: 0; } }
@keyframes vq-sheen { from { transform: translateX(-160%); } to { transform: translateX(380%); } }
@keyframes vq-loader-spin { to { transform: rotate(360deg); } }
@keyframes vq-loader-spin-rev { to { transform: rotate(-360deg); } }
@keyframes vq-loader-pulse { 50% { opacity: 1; transform: scale(1.08); } }
@keyframes vq-loader-ring { from { opacity: .8; transform: scale(.55); } to { opacity: 0; transform: scale(1.8); } }
@keyframes vq-loader-grid { to { background-position: 44px 44px; } }

body.vq-auth-page {
    min-height: 100%;
    margin: 0;
    background: var(--vq-bg);
    color-scheme: dark;
}

body.vq-auth-page {
    color: var(--vq-text);
    font-family: "IBM Plex Sans", sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.vq-auth-page *,
body.vq-auth-page *::before,
body.vq-auth-page *::after { box-sizing: border-box; }

.vq-auth-shell {
    display: flex;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    background:
        radial-gradient(1200px 620px at 84% -14%, rgba(168, 85, 247, .13), transparent 60%),
        radial-gradient(1000px 560px at -6% 114%, rgba(59, 130, 246, .13), transparent 55%),
        var(--vq-bg);
}

.vq-auth-hero {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 100vh;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 46px 50px;
}

.vq-camera-montage {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 10px;
    opacity: .34;
    filter: saturate(1.05);
}

.vq-camera-column { overflow: hidden; }
.vq-camera-track { display: flex; flex-direction: column; gap: 12px; }
.vq-camera-track-1 { animation: vq-move-up 34s linear infinite; }
.vq-camera-track-2 { transform: translateY(-50%); animation: vq-move-down 40s linear infinite; }
.vq-camera-track-3 { animation: vq-move-up 46s linear infinite; }

.vq-camera-tile {
    position: relative;
    flex: 0 0 auto;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 1px solid rgba(120, 160, 230, .16);
    border-radius: 11px;
}

.vq-camera-tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vq-camera-tile span {
    position: absolute;
    top: 7px;
    left: 8px;
    padding: 1px 6px;
    border-radius: 4px;
    color: #dbe6fb;
    background: rgba(6, 9, 14, .65);
    font: 8.5px "JetBrains Mono", monospace;
}
.vq-camera-tile i {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--vq-green);
    box-shadow: 0 0 7px var(--vq-green);
}
.vq-camera-track-1 .vq-camera-tile i { background: #ff4d4d; box-shadow: 0 0 7px #ff4d4d; }

.vq-hero-scrim,
.vq-hero-grid,
.vq-hero-scan { position: absolute; inset: 0; pointer-events: none; }
.vq-hero-scrim { background: linear-gradient(115deg, rgba(7, 9, 13, .93) 30%, rgba(7, 9, 13, .55) 62%, rgba(7, 9, 13, .86)); }
.vq-hero-grid {
    background-image: linear-gradient(rgba(120, 150, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(120, 150, 255, .05) 1px, transparent 1px);
    background-size: 46px 46px;
    animation: vq-grid-pan 7s linear infinite;
}
.vq-hero-scan {
    inset: 0 0 auto;
    height: 160px;
    background: linear-gradient(180deg, rgba(59, 130, 246, .16), transparent);
    animation: vq-scan 6.5s ease-in-out infinite;
}

.vq-detection {
    position: absolute;
    z-index: 2;
    opacity: .25;
    border: 1.6px solid;
    border-radius: 4px;
    transform: scale(.96);
    animation: vq-box 3.4s ease-in-out infinite;
}
.vq-detection span {
    position: absolute;
    top: -17px;
    left: -1px;
    padding: 1px 5px;
    border-radius: 3px;
    font: 8.5px "JetBrains Mono", monospace;
}
.vq-detection-person { top: 34%; left: 20%; width: 120px; height: 92px; border-color: rgba(34, 197, 94, .85); box-shadow: 0 0 18px rgba(34, 197, 94, .25); }
.vq-detection-person span { color: #0a1410; background: var(--vq-green); }
.vq-detection-vehicle { top: 54%; left: 58%; width: 96px; height: 74px; border-color: rgba(59, 130, 246, .85); box-shadow: 0 0 18px rgba(59, 130, 246, .25); animation-delay: .9s; }
.vq-detection-vehicle span { color: #06101e; background: var(--vq-blue); }

.vq-brand,
.vq-hero-copy,
.vq-hero-footer { position: relative; z-index: 3; animation: vq-fade .8s ease both; }
.vq-brand img { display: block; width: auto; height: 34px; }
.vq-hero-copy { max-width: 520px; animation-delay: .12s; }
.vq-engine-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
    padding: 6px 13px;
    border: 1px solid rgba(120, 160, 230, .22);
    border-radius: 999px;
    background: rgba(12, 16, 26, .5);
    backdrop-filter: blur(6px);
    color: #aeb9d4;
    font: 10.5px "JetBrains Mono", monospace;
    letter-spacing: .12em;
}
.vq-engine-status i { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--vq-green); }
.vq-engine-status i::after { content: ""; position: absolute; inset: 0; border: 1.5px solid var(--vq-green); border-radius: 50%; animation: vq-blip 2.4s ease-out infinite; }
.vq-hero-copy h1 { margin: 0; color: #f4f8ff; font: 700 46px/1.06 "Space Grotesk", sans-serif; letter-spacing: -.02em; }
.vq-hero-copy p { max-width: 430px; margin: 18px 0 0; color: #aab4cf; font-size: 15.5px; line-height: 1.6; }
.vq-hero-footer { animation-delay: .24s; }
.vq-stats { display: flex; gap: 30px; margin-bottom: 20px; }
.vq-stats > div { display: flex; flex-direction: column; }
.vq-stats > div + div { position: relative; padding-left: 30px; }
.vq-stats > div + div::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: rgba(255,255,255,.09); }
.vq-stats strong { color: #f4f8ff; font: 700 25px "Space Grotesk", sans-serif; }
.vq-stats .vq-stat-live { color: var(--vq-green); }
.vq-stats span { margin-top: 1px; color: #8e99b6; font-size: 11.5px; }
.vq-features { display: flex; flex-wrap: wrap; gap: 8px; }
.vq-features span { padding: 5px 10px; border: 1px solid rgba(120, 160, 230, .18); border-radius: 7px; background: rgba(12, 16, 26, .45); color: #9fa9c6; font: 10px "JetBrains Mono", monospace; letter-spacing: .04em; }

.vq-auth-panel {
    position: relative;
    display: flex;
    flex: 0 0 524px;
    width: 524px;
    min-height: 100vh;
    align-items: flex-start;
    justify-content: center;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 38px;
    border-left: 1px solid rgba(255,255,255,.07);
    background: rgba(8, 11, 17, .6);
    backdrop-filter: blur(8px);
}
.am-page-login .vq-auth-panel { align-items: center; }
.vq-auth-glow { position: absolute; top: -90px; right: -60px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(168, 85, 247, .16), transparent 70%); pointer-events: none; }
.vq-auth-card { position: relative; width: 100%; max-width: 392px; margin: auto 0; animation: vq-fade .7s ease both .1s; }
.am-page-signup .vq-auth-card { margin: 0; }
.vq-auth-heading { display: flex; flex-direction: column; align-items: center; margin-bottom: 26px; text-align: center; }
.vq-mark { position: relative; display: flex; width: 66px; height: 66px; align-items: center; justify-content: center; margin-bottom: 16px; }
.vq-mark span { position: absolute; inset: -7px; border-radius: 50%; background: radial-gradient(circle, rgba(99, 102, 241, .5), transparent 72%); animation: vq-glow 2.4s ease-in-out infinite; }
.vq-mark img { position: relative; width: 66px; height: 66px; object-fit: contain; animation: vq-float 3.4s ease-in-out infinite; }
.vq-auth-heading h2 { margin: 0; color: #f4f8ff; font: 600 23px "Space Grotesk", sans-serif; letter-spacing: -.01em; }
.vq-auth-heading p { margin: 6px 0 0; color: var(--vq-muted); font-size: 13px; }

.vq-auth-tabs { display: flex; gap: 4px; margin-bottom: 22px; padding: 4px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: var(--vq-field); }
.vq-auth-tabs a { flex: 1; padding: 9px 0; border-radius: 9px; color: #8e99b6; font: 600 13.5px "Space Grotesk", sans-serif; text-align: center; text-decoration: none; transition: color .18s, background .18s, box-shadow .18s; }
.vq-auth-tabs a:hover { color: #d6ddef; }
.vq-auth-tabs a.is-active { color: #fff; background: linear-gradient(135deg, rgba(59, 130, 246, .9), rgba(168, 85, 247, .9)); box-shadow: 0 6px 16px rgba(74, 108, 247, .3); }

.vq-native-content,
.vq-native-content .am-form,
.vq-native-content form,
.vq-native-content fieldset { width: 100%; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.vq-native-content .am-auth-form legend,
.vq-native-content .am-signup-link,
.vq-native-content .am-login-form-wrapper + .am-sendpass-form-wrapper:not([style*="display:block"]),
.vq-native-content .am-signup-login-form { display: none; }
.vq-native-content .am-form div.am-row { position: relative; display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; padding: 0; border: 0; background: transparent; }
.vq-native-content .am-form div.am-row:hover { background: transparent; }
.vq-native-content .am-form div.am-row div.am-element-title { float: none; width: auto; margin: 0; padding: 0; color: var(--vq-label); font-size: 12px; font-weight: 500; text-align: left; }
.vq-native-content .am-form div.am-row div.am-element { position: relative; width: 100%; margin: 0; padding: 0; }
.vq-native-content .am-form div.am-row div.am-element.vq-name-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}
.vq-native-content .am-form [id^="row-name"] div.am-element {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}
.vq-native-content .am-form div.am-row div.am-element.vq-name-fields input,
.vq-native-content .am-form [id^="row-name"] div.am-element input { min-width: 0; }
.vq-native-content .am-form [id^="row-name"] div.am-element > .am-error:not(input):not(select):not(textarea),
.vq-native-content .am-form [id^="row-name"] div.am-element > label.error,
.vq-native-content .am-form [id^="row-name"] div.am-element > span.error { grid-column: 1 / -1; }
.vq-native-content .am-form [id^="row-name"] #name_f { grid-column: 1; grid-row: 1; }
.vq-native-content .am-form [id^="row-name"] #name_l { grid-column: 2; grid-row: 1; }
.vq-native-content .am-form [id^="row-name"] #name_f-error { grid-column: 1; grid-row: 2; }
.vq-native-content .am-form [id^="row-name"] #name_l-error { grid-column: 2; grid-row: 2; }
.vq-native-content .comment,
.vq-native-content .am-form .comment { margin: 5px 0 0; color: #76829e; font-size: 11px; line-height: 1.45; }
.vq-native-content .am-form div.am-element-title .comment,
.vq-native-content .am-form div.am-element .comment {
    color: #7f8ba8;
    font-size: 11.5px;
    line-height: 1.45;
}
.vq-native-content input[type="text"],
.vq-native-content input[type="email"],
.vq-native-content input[type="password"],
.vq-native-content input[type="number"],
.vq-native-content input[type="tel"],
.vq-native-content input[type="url"],
.vq-native-content select,
.vq-native-content textarea {
    width: 100%;
    min-width: 0;
    height: 46px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--vq-border);
    border-radius: 11px;
    outline: 0;
    background: var(--vq-field);
    color: var(--vq-text);
    box-shadow: none;
    font: 14px "IBM Plex Sans", sans-serif;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.vq-native-content textarea { height: auto; min-height: 100px; padding-top: 12px; padding-bottom: 12px; resize: vertical; }
.vq-native-content select { padding-right: 36px; }
.vq-native-content input::placeholder,
.vq-native-content textarea::placeholder { color: #54607c; opacity: 1; }
.vq-native-content input:-webkit-autofill { -webkit-text-fill-color: var(--vq-text); -webkit-box-shadow: 0 0 0 50px var(--vq-field) inset; }
.vq-native-content input:focus,
.vq-native-content select:focus,
.vq-native-content textarea:focus { border-color: var(--vq-blue); box-shadow: 0 0 0 3px var(--vq-focus); }
.vq-native-content input[aria-invalid="true"],
.vq-native-content .error input { border-color: #ef5d68; }
.vq-native-content input[type="checkbox"],
.vq-native-content input[type="radio"] { width: 17px; height: 17px; accent-color: #6f72f4; }
.vq-native-content label:has(input[type="checkbox"]),
.vq-native-content label:has(input[type="radio"]) { color: #aab4cf; font-size: 12.5px; }

.vq-native-content .am-row-buttons { margin-top: 6px; }
.vq-native-content input[type="submit"],
.vq-native-content button[type="submit"],
.vq-native-content .am-button {
    position: relative;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 18px;
    overflow: hidden;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--vq-blue), #7c5cff 55%, var(--vq-purple));
    color: #fff;
    box-shadow: 0 10px 26px rgba(74, 108, 247, .34);
    cursor: pointer;
    font: 600 14.5px "Space Grotesk", sans-serif;
    transition: box-shadow .18s, transform .18s;
}
.vq-native-content input[type="submit"]:hover,
.vq-native-content button[type="submit"]:hover { box-shadow: 0 12px 32px rgba(124, 92, 255, .5); transform: translateY(-1px); }
.vq-native-content .am-form-login-switch-wrapper { display: block; margin-top: 12px; text-align: center; }
.vq-native-content a,
.vq-auth-switch a { color: #6ea0ff; text-decoration: none; }
.vq-native-content a:hover,
.vq-auth-switch a:hover { text-decoration: underline; }
.vq-auth-switch { margin: 24px 0 0; color: var(--vq-muted); font-size: 13px; text-align: center; }
.vq-auth-switch a { font-weight: 600; }

.vq-native-content button.vq-password-toggle {
    position: absolute;
    z-index: 4;
    top: 8px;
    right: 8px;
    display: flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #7a86a4;
    cursor: pointer;
    transform: none;
}
.vq-native-content button.vq-password-toggle:hover { background: rgba(255,255,255,.06); color: #c7d0e6; }
.vq-native-content button.vq-password-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.vq-native-content input[type="password"],
.vq-native-content input:has(+ .vq-password-toggle) { padding-right: 46px; }

.vq-native-content .am-errors,
.vq-native-content .errors { margin: 0 0 16px; padding: 11px 13px; border: 1px solid rgba(239, 93, 104, .4); border-radius: 10px; background: rgba(239, 93, 104, .1); color: #ffabb2; font-size: 12px; line-height: 1.45; list-style-position: inside; }
.vq-native-content label.error,
.vq-native-content span.error,
.vq-native-content .am-row .am-error:not(input):not(select):not(textarea),
.vq-native-content .am-error-message {
    display: block;
    width: 100%;
    margin: 4px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--vq-danger);
    box-shadow: none;
    font-size: 11.5px;
    line-height: 1.4;
}
.vq-native-content input.error,
.vq-native-content input.am-error,
.vq-native-content select.error,
.vq-native-content select.am-error,
.vq-native-content textarea.error,
.vq-native-content textarea.am-error,
.vq-native-content [aria-invalid="true"] { border-color: var(--vq-danger); }
.vq-native-content .am-row:has(.am-error) input:not([type="submit"]),
.vq-native-content .am-row:has(label.error) input:not([type="submit"]),
.vq-native-content .am-row:has(span.error) input:not([type="submit"]) { border-color: rgba(255, 95, 109, .84); }
.vq-native-content .required,
.vq-native-content .am-required,
.vq-native-content .am-element-title .star { color: var(--vq-danger); }
.vq-native-content .am-info { margin: 0 0 16px; padding: 11px 13px; border: 1px solid rgba(59, 130, 246, .35); border-radius: 10px; background: rgba(59, 130, 246, .1); color: #b9d5ff; }
.vq-native-content .am-signup-login-form { color: var(--vq-muted); }
.vq-native-content .am-form-group-title,
.vq-native-content .am-row-head { margin: 22px 0 14px; color: #f4f8ff; font: 600 15px "Space Grotesk", sans-serif; }
.vq-native-content .am-product-desc,
.vq-native-content .am-product-title { color: var(--vq-text); }
.vq-native-content ul,
.vq-native-content ol { color: var(--vq-muted); }

/* Dynamic signup: product and membership choices */
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element > br { display: none; }
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element > label {
    position: relative;
    display: flex;
    min-height: 112px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    padding: 17px 16px 15px;
    overflow: hidden;
    border: 1px solid rgba(138, 160, 215, .34);
    border-radius: 13px;
    background: var(--vq-card);
    color: var(--vq-text);
    cursor: pointer;
    transition: border-color .16s, box-shadow .16s, transform .16s, background .16s;
}
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element > label:hover {
    border-color: rgba(110, 160, 255, .72);
    transform: translateY(-1px);
}
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element > label:only-of-type { grid-column: 1 / -1; }
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element > label.is-selected,
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element > label:has(input:checked) {
    border-color: #659bff;
    background: linear-gradient(145deg, rgba(48, 79, 157, .76), rgba(35, 31, 83, .82));
    box-shadow: 0 0 0 2px rgba(59, 130, 246, .18), 0 12px 30px rgba(21, 48, 112, .24);
}
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) input[type="radio"],
.vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) input[type="checkbox"] {
    position: absolute;
    top: 13px;
    right: 13px;
    margin: 0;
}
.vq-native-content .am-product-title { display: block; padding-right: 20px; font: 600 14px/1.35 "Space Grotesk", sans-serif; }
.vq-native-content .am-product-terms { display: block; color: #f4f7ff; font-size: 13px; line-height: 1.4; }
.vq-native-content .am-product-desc { display: block; color: #a9b5d1; font-size: 11.5px; font-style: italic; line-height: 1.4; }

/* Dynamic signup: payment choices */
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) > .am-element { display: grid; gap: 9px; }
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) > .am-element > br { display: none; }
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) > .am-element > label {
    position: relative;
    display: grid;
    min-height: 54px;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    column-gap: 9px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: rgba(17, 21, 31, .72);
    cursor: pointer;
}
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) > .am-element > label.is-selected,
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) > .am-element > label:has(input:checked) { border-color: rgba(101, 155, 255, .62); background: rgba(42, 62, 112, .38); }
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) input[type="radio"],
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) input[type="checkbox"] { grid-row: 1 / span 2; margin: 0; }
.vq-native-content .am-paysystem-title { color: #f0f4ff; font: 600 13px "Space Grotesk", sans-serif; }
.vq-native-content .am-paysystem-desc { grid-column: 2; color: #a9b5d1; font-size: 11.5px; font-style: italic; }
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) input[type="hidden"] + .am-paysystem-title { grid-column: 1 / -1; }
.vq-native-content :is(.vq-payment-picker, #row-paysys_id, [id^="row-paysys_id-"]) input[type="hidden"] ~ .am-paysystem-desc { grid-column: 1 / -1; }

/* Dynamic signup: order/payment summary tables */
.vq-native-content .vq-summary-table {
    width: 100%;
    margin: 4px 0 18px;
    overflow: hidden;
    border: 1px solid rgba(151, 174, 228, .42);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 11px;
    background: rgba(15, 24, 51, .58);
    color: var(--vq-text);
    font-size: 12.5px;
}
.vq-native-content .vq-summary-table th,
.vq-native-content .vq-summary-table td { padding: 12px 10px; border-bottom: 1px solid rgba(151, 174, 228, .3); text-align: left; }
.vq-native-content .vq-summary-table th { background: rgba(55, 83, 157, .58); color: #f2f6ff; font-size: 11.5px; font-weight: 500; }
.vq-native-content .vq-summary-table tr:last-child > * { border-bottom: 0; }
.vq-native-content .vq-summary-table th:last-child,
.vq-native-content .vq-summary-table td:last-child { text-align: right; }
.vq-native-content .vq-summary-table tr:last-child td { font-weight: 600; }

.vq-native-content .am-checkboxes,
.vq-native-content .am-radios { display: grid; gap: 9px; }
.vq-native-content .am-checkboxes label,
.vq-native-content .am-radios label { display: flex; min-height: 28px; align-items: center; gap: 8px; }

.vq-native-content .am-row-login-pass .am-element > .am-pass-reveal { padding-right: 44px; }
.vq-native-content .am-pass-indicator-wrap {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.vq-native-content .am-pass-indicator-wrap input[type="password"],
.vq-native-content .am-pass-indicator-wrap input[type="text"] {
    display: block;
    width: 100%;
    height: 46px;
    margin: 0;
    padding-right: 46px;
    border: 1px solid var(--vq-border);
    border-radius: 11px;
    background: var(--vq-field);
    color: var(--vq-text);
    box-shadow: none;
}
.vq-native-content .am-row:has(.am-error) .am-pass-indicator-wrap input { border-color: rgba(255, 95, 109, .84); }
.vq-native-content .am-pass-indicator-wrap .am-pass-indicator-bar {
    top: auto;
    right: 10px;
    bottom: -5px;
    left: 10px;
    width: auto;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(127, 139, 168, .18);
}
.vq-native-content .am-pass-reveal-button,
.vq-native-content .am-switch-reveal { display: none !important; }
.vq-native-content #am-form-login-remember { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.vq-native-content .am-recaptcha-element { overflow: hidden; }

body.vq-auth-page :focus-visible { outline: 2px solid #82adff; outline-offset: 2px; }

/* Login request loader */
.vq-submit-loader {
    position: absolute;
    z-index: 30;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: rgba(8, 11, 17, .88);
    backdrop-filter: blur(7px);
    animation: vq-fade .22s ease both;
}
.vq-submit-spinner { position: relative; width: 62px; height: 62px; margin-bottom: 4px; }
.vq-submit-spinner::before,
.vq-submit-spinner i { position: absolute; inset: 0; content: ""; border-radius: 50%; border: 3px solid rgba(255,255,255,.10); }
.vq-submit-spinner i { border-color: transparent; border-top-color: #a855f7; border-right-color: #3b82f6; animation: vq-loader-spin .8s linear infinite; }
.vq-submit-spinner span { position: absolute; inset: 7px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.4), 0 0 18px rgba(59,130,246,.25); }
.vq-submit-spinner img { width: 31px; height: 31px; object-fit: contain; filter: grayscale(1); }
.vq-submit-loader strong { color: #cbd4ea; font: 500 14px "Space Grotesk", sans-serif; letter-spacing: .02em; }
.vq-submit-loader small { color: #74809d; font: 10.5px "JetBrains Mono", monospace; }

/* Successful authentication / dashboard handoff loader */
.vq-verify-loader {
    --vq-loader-track: rgba(255,255,255,.09);
    position: fixed;
    z-index: 100000;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: radial-gradient(780px 560px at 50% 42%, rgba(59,130,246,.15), transparent 62%), radial-gradient(680px 500px at 50% 72%, rgba(168,85,247,.14), transparent 62%), #06070d;
    opacity: 1;
    transition: opacity .55s ease, visibility .55s ease;
}
.vq-verify-loader.is-complete { opacity: 0; visibility: hidden; }
.vq-verify-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(120,150,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(120,150,255,.05) 1px, transparent 1px); background-size: 44px 44px; animation: vq-loader-grid 3s linear infinite; mask-image: radial-gradient(circle at 50% 44%, #000, transparent 74%); }
.vq-verify-glow { position: absolute; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(168,85,247,.10), transparent 67%); animation: vq-loader-pulse 4s ease-in-out infinite; }
.vq-verify-radar { position: relative; display: flex; width: 300px; height: 300px; align-items: center; justify-content: center; margin-bottom: 34px; }
.vq-corner { position: absolute; width: 30px; height: 30px; border: 2px solid; opacity: .8; }
.vq-corner-tl { top: 0; left: 0; border-color: #3b82f6 transparent transparent #3b82f6; }
.vq-corner-tr { top: 0; right: 0; border-color: #a855f7 #a855f7 transparent transparent; }
.vq-corner-br { right: 0; bottom: 0; border-color: transparent #d946ef #d946ef transparent; }
.vq-corner-bl { bottom: 0; left: 0; border-color: transparent transparent #3b82f6 #3b82f6; }
.vq-ring,
.vq-sweep { position: absolute; border-radius: 50%; }
.vq-ring-one { width: 268px; height: 268px; border: 1px dashed rgba(59,130,246,.5); animation: vq-loader-spin 9s linear infinite; }
.vq-ring-two { width: 205px; height: 205px; border: 1px dashed rgba(168,85,247,.5); animation: vq-loader-spin-rev 7s linear infinite; }
.vq-ring-three { width: 150px; height: 150px; border: 1px solid rgba(59,130,246,.5); animation: vq-loader-ring 2.8s ease-out infinite; }
.vq-sweep { width: 268px; height: 268px; background: conic-gradient(transparent 60%, rgba(59,130,246,.1), rgba(168,85,247,.5), transparent); mask-image: radial-gradient(circle, transparent 31%, #000 32%); animation: vq-loader-spin 2.2s linear infinite; }
.vq-verify-core { position: relative; z-index: 2; display: flex; width: 122px; height: 122px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; box-shadow: 0 0 30px rgba(99,102,241,.48); animation: vq-loader-pulse 2s ease-in-out infinite; }
.vq-verify-core img { width: 78px; height: 78px; object-fit: contain; filter: grayscale(1); }
.vq-verify-wordmark { position: relative; width: 200px; height: auto; margin-bottom: 22px; }
.vq-verify-progress { position: relative; width: 280px; }
.vq-verify-track { height: 4px; overflow: hidden; border-radius: 4px; background: var(--vq-loader-track); }
.vq-verify-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3b82f6, #a855f7, #d946ef); box-shadow: 0 0 12px rgba(99,102,241,.85); transition: width .1s linear; }
.vq-verify-label { display: flex; align-items: center; justify-content: space-between; margin-top: 9px; color: #8492b2; font: 10px "JetBrains Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.vq-verify-label span { display: flex; align-items: center; gap: 8px; }
.vq-verify-label b { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 8px #22c55e; }
.vq-verify-label em { overflow: hidden; max-width: 215px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.vq-verify-label strong { color: #3b82f6; font-weight: 600; }

@media (max-width: 480px) {
    .vq-verify-radar { width: 250px; height: 250px; transform: scale(.86); margin-bottom: 20px; }
    .vq-verify-progress { width: min(280px, calc(100vw - 48px)); }
}

@media (max-width: 1120px) {
    .vq-auth-hero { padding: 38px 34px; }
    .vq-hero-copy h1 { font-size: 40px; }
    .vq-stats { gap: 18px; }
    .vq-stats > div + div { padding-left: 18px; }
}

@media (max-width: 900px) {
    .vq-auth-shell { min-height: 100vh; overflow: visible; }
    .vq-auth-hero { display: none; }
    .vq-auth-panel { flex: 1 1 100%; width: 100%; min-height: 100vh; padding: 32px 22px; border-left: 0; background: radial-gradient(600px 360px at 80% -10%, rgba(168,85,247,.17), transparent 65%), radial-gradient(600px 420px at -10% 110%, rgba(59,130,246,.15), transparent 65%), var(--vq-panel); }
    .vq-auth-card { max-width: 420px; }
}

@media (max-width: 480px) {
    .vq-auth-panel { padding: 26px 18px; }
    .vq-mark { width: 58px; height: 58px; margin-bottom: 13px; }
    .vq-mark img { width: 58px; height: 58px; }
    .vq-auth-heading { margin-bottom: 20px; }
    .vq-auth-heading h2 { font-size: 21px; }
    .vq-auth-tabs { margin-bottom: 18px; }
    .vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element { grid-template-columns: 1fr; }
    .vq-native-content :is(.vq-product-picker, [id^="row-product_id"]) > .am-element > label { min-height: 96px; }
}

@media (prefers-reduced-motion: reduce) {
    .vq-auth-page *,
    .vq-auth-page *::before,
    .vq-auth-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
