/* VaslHub overrides: load after the retained Material/Fuse styles. */
:root, body.theme-default {
    --vh-green: #0b3d0b;
    --vh-green-hover: #082e08;
    --vh-ink: #18181b;
    --vh-muted: #606560;
    --vh-canvas: #f7f7f7;
    --vh-surface: #ffffff;
    --vh-border: #d5d9d5;
    --vh-focus: #487a48;
    --fuse-primary: var(--vh-green);
    --fuse-primary-rgb: 11,61,11;
    --fuse-on-primary: #ffffff;
    --fuse-on-primary-rgb: 255,255,255;
}
body.light, body.light.theme-default {
    --fuse-text-default-rgb: 24,24,27;
    --fuse-text-secondary-rgb: 96,101,96;
    --fuse-text-hint-rgb: 96,101,96;
    --fuse-border-rgb: 213,217,213;
    --fuse-bg-default-rgb: 247,247,247;
    --fuse-bg-card-rgb: 255,255,255;
    --fuse-bg-default: var(--vh-canvas);
    --fuse-bg-card: var(--vh-surface);
}
.brand-lockup { display:flex; align-items:center; gap:12px; width:fit-content; max-width:100%; }
.brand-mark { width:80px; height:80px; object-fit:contain; border-radius:16px; flex-shrink:0; }
.brand-wordmark { color:var(--vh-green); font-size:28px; font-weight:800; letter-spacing:-1px; }
.brand-wordmark span { color:var(--vh-ink); }
.brand-community { background:var(--vh-green); color:white; min-height:100vh; }
.brand-community::before { content:""; position:absolute; width:420px; height:420px; border:48px solid rgba(255,255,255,.06); border-radius:50%; right:-180px; bottom:-120px; }
.brand-eyebrow { color:#c5d8c5; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:24px; }
.brand-welcome { font-size:clamp(40px,5vw,72px); font-weight:800; line-height:1.08; letter-spacing:-.04em; }
.brand-intro { color:#dce8dc; font-size:18px; line-height:1.6; margin-top:24px; max-width:440px; }
body .mat-flat-button.mat-primary:not(:disabled):not(.mat-button-disabled) { background-color:var(--vh-green); color:white; }
body .mat-flat-button.mat-primary:not(:disabled):not(.mat-button-disabled):hover { background-color:var(--vh-green-hover); }
body .mat-flat-button.mat-primary:disabled { background-color:#e6e9e6; color:var(--vh-muted); }
body .mat-form-field.mat-focused .mat-form-field-label { color:var(--vh-green); }
body .mat-form-field.mat-focused .mat-form-field-flex { box-shadow:0 0 0 2px var(--vh-focus); }
body .mat-form-field.mat-form-field-invalid .mat-form-field-label { color:#b91c1c; }
body .mat-form-field.mat-form-field-invalid .mat-form-field-flex { box-shadow:0 0 0 2px #b91c1c; }
/*body a:focus-visible, body button:focus-visible, body input:focus-visible { outline:3px solid var(--vh-focus) !important; outline-offset:4px; }*/
body .toast-success { background-color:var(--vh-green); }
body .toast-info { background-color:#374137; }
@media (max-width:599px) { .brand-mark { width:64px; height:64px; } .brand-wordmark { font-size:26px; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition-duration:0s !important; } .auth-spinner, .auth-small-spinner { animation-duration:2s; } }

body.theme-default {
    --fuse-primary-50: #edf4ed;
    --fuse-primary-50-rgb: 237,244,237;
    --fuse-primary-100: #dce8dc;
    --fuse-primary-100-rgb: 220,232,220;
    --fuse-primary-200: #c5d8c5;
    --fuse-primary-200-rgb: 197,216,197;
    --fuse-primary-300: #9abb9a;
    --fuse-primary-300-rgb: 154,187,154;
    --fuse-primary-400: #709870;
    --fuse-primary-400-rgb: 112,152,112;
    --fuse-primary-500: #487a48;
    --fuse-primary-500-rgb: 72,122,72;
    --fuse-primary-600: #0b3d0b;
    --fuse-primary-600-rgb: 11,61,11;
    --fuse-primary-700: #082e08;
    --fuse-primary-700-rgb: 8,46,8;
    --fuse-primary-800: #062506;
    --fuse-primary-800-rgb: 6,37,6;
    --fuse-primary-900: #041c04;
    --fuse-primary-900-rgb: 4,28,4;
}


body.theme-default {
    --fuse-on-primary-50: #0b3d0b;
    --fuse-on-primary-50-rgb: 11,61,11;
    --fuse-on-primary-100: #0b3d0b;
    --fuse-on-primary-100-rgb: 11,61,11;
    --fuse-on-primary-200: #0b3d0b;
    --fuse-on-primary-200-rgb: 11,61,11;
    --fuse-on-primary-300: #0b3d0b;
    --fuse-on-primary-300-rgb: 11,61,11;
    --fuse-on-primary-400: #0b3d0b;
    --fuse-on-primary-400-rgb: 11,61,11;
}
