/* Public Sans Variable 5.2.7 - OFL-1.1 */
@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../fonts/public-sans/public-sans-vietnamese-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../fonts/public-sans/public-sans-latin-ext-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../fonts/public-sans/public-sans-latin-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-display: swap;
    font-weight: 100 900;
    src: url("../fonts/public-sans/public-sans-vietnamese-wght-italic.woff2") format("woff2-variations");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-display: swap;
    font-weight: 100 900;
    src: url("../fonts/public-sans/public-sans-latin-ext-wght-italic.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-display: swap;
    font-weight: 100 900;
    src: url("../fonts/public-sans/public-sans-latin-wght-italic.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
    --pvf-color-primary: #E81919;
    --pvf-color-primary-rgb: 232, 25, 25;
    --pvf-color-primary-hover: #CC1515;
    --pvf-color-primary-active: #B51212;
    --pvf-color-primary-soft: #FDE8E8;
    --pvf-color-secondary: #5E61E6;
    --pvf-color-secondary-rgb: 94, 97, 230;
    --pvf-color-secondary-hover: #4E51C9;
    --pvf-color-secondary-active: #4144AF;
    --pvf-color-secondary-soft: #EEEEFF;
    --pvf-color-warning: #E69A00;
    --pvf-color-warning-rgb: 230, 154, 0;
    --pvf-color-warning-hover: #C98500;
    --pvf-color-warning-active: #BC7C00;
    --pvf-color-warning-soft: #FFF3D6;
    --pvf-color-white: #FFFFFF;
    --pvf-color-black: #1E1E1E;
    --pvf-color-bg: #F5F5F9;
    --pvf-color-surface: #FFFFFF;
    --pvf-color-surface-subtle: #F3F3F7;
    --pvf-color-text: #1E1E1E;
    --pvf-color-text-ui: #394552;
    --pvf-color-text-muted: #6B7280;
    --pvf-color-disabled: #9CA3AF;
    --pvf-color-border: #CED2D5;
    --pvf-color-border-strong: #B5B9BE;
    --pvf-color-success: #237804;
    --pvf-color-success-rgb: 35, 120, 4;
    --pvf-color-success-soft: #E8F9DF;
    --pvf-color-success-border: #B7EB8F;
    --pvf-color-info: #3158C9;
    --pvf-color-info-rgb: 49, 88, 201;
    --pvf-color-info-soft: #EEEEFF;
    --pvf-color-info-border: #C7CBFF;
    --pvf-color-danger: #E81919;
    --pvf-color-danger-rgb: 232, 25, 25;
    --pvf-color-danger-text: #B51212;
    --pvf-color-danger-soft: #FDE8E8;
    --pvf-color-danger-border: #F3A6A6;
    --pvf-font-family: "Public Sans", Arial, sans-serif;
    --pvf-font-size-caption: 0.75rem;
    --pvf-font-size-small: 0.8125rem;
    --pvf-font-size-body: 0.875rem;
    --pvf-font-size-card-title: 1rem;
    --pvf-font-size-section-title: 1.125rem;
    --pvf-font-size-page-title: 1.25rem;
    --pvf-font-size-display: 1.5rem;
    --pvf-line-height-caption: 1rem;
    --pvf-line-height-small: 1.125rem;
    --pvf-line-height-body: 1.25rem;
    --pvf-line-height-title: 1.5rem;
    --pvf-space-1: 0.25rem;
    --pvf-space-2: 0.5rem;
    --pvf-space-3: 0.75rem;
    --pvf-space-4: 1rem;
    --pvf-space-5: 1.25rem;
    --pvf-space-6: 1.5rem;
    --pvf-space-8: 2rem;
    --pvf-space-10: 2.5rem;
    --pvf-space-12: 3rem;
    --pvf-radius-sm: 0.25rem;
    --pvf-radius-md: 0.375rem;
    --pvf-radius-lg: 0.5rem;
    --pvf-shadow-sm: 0 1px 3px rgba(30, 30, 30, 0.08);
    --pvf-shadow-md: 0 2px 8px rgba(30, 30, 30, 0.10);
    --pvf-shadow-lg: 0 4px 16px rgba(30, 30, 30, 0.12);
    --pvf-control-height: 2.5rem;
    --pvf-sidebar-width: 16.25rem;
    --pvf-sidebar-width-collapsed: 4.5rem;
    --pvf-topbar-height: 4rem;
    --pvf-content-padding: 1.5rem;
    --pvf-transition: 150ms ease;
    --pvf-focus-ring: 0 0 0 0.2rem rgba(94, 97, 230, 0.25);
    --pvf-z-dropdown: 1000;
    --pvf-z-overlay: 1050;
    --pvf-z-modal: 1060;
    --pvf-z-toast: 1080;
}

html:not([data-bs-theme="dark"]),
html[data-bs-theme="light"] {
    --vz-font-family-primary: var(--pvf-font-family);
    --vz-font-family-secondary: var(--pvf-font-family);
    --vz-font-sans-serif: var(--pvf-font-family);
    --vz-headings-font-family: var(--pvf-font-family);
    --vz-primary: var(--pvf-color-primary);
    --vz-primary-rgb: var(--pvf-color-primary-rgb);
    --vz-primary-bg-subtle: var(--pvf-color-primary-soft);
    --vz-primary-border-subtle: var(--pvf-color-danger-border);
    --vz-primary-text-emphasis: var(--pvf-color-primary-active);
    --vz-secondary: var(--pvf-color-secondary);
    --vz-secondary-rgb: var(--pvf-color-secondary-rgb);
    --vz-secondary-bg-subtle: var(--pvf-color-secondary-soft);
    --vz-secondary-border-subtle: var(--pvf-color-info-border);
    --vz-secondary-text-emphasis: var(--pvf-color-secondary-active);
    --vz-warning: var(--pvf-color-warning);
    --vz-warning-rgb: var(--pvf-color-warning-rgb);
    --vz-warning-bg-subtle: var(--pvf-color-warning-soft);
    --vz-warning-border-subtle: #F2C96D;
    --vz-warning-text-emphasis: #8A5C00;
    --vz-danger: var(--pvf-color-danger);
    --vz-danger-rgb: var(--pvf-color-danger-rgb);
    --vz-danger-bg-subtle: var(--pvf-color-danger-soft);
    --vz-danger-border-subtle: var(--pvf-color-danger-border);
    --vz-danger-text-emphasis: var(--pvf-color-danger-text);
    --vz-success: var(--pvf-color-success);
    --vz-success-rgb: var(--pvf-color-success-rgb);
    --vz-success-bg-subtle: var(--pvf-color-success-soft);
    --vz-success-border-subtle: var(--pvf-color-success-border);
    --vz-success-text-emphasis: var(--pvf-color-success);
    --vz-info: var(--pvf-color-info);
    --vz-info-rgb: var(--pvf-color-info-rgb);
    --vz-info-bg-subtle: var(--pvf-color-info-soft);
    --vz-info-border-subtle: var(--pvf-color-info-border);
    --vz-info-text-emphasis: var(--pvf-color-info);
    --vz-body-bg: var(--pvf-color-bg);
    --vz-body-color: var(--pvf-color-text-ui);
    --vz-heading-color: var(--pvf-color-text);
    --vz-border-color: var(--pvf-color-border);
    --vz-card-bg: var(--pvf-color-surface);
    --vz-card-bg-fill: var(--pvf-color-surface);
    --vz-card-shadow: var(--pvf-shadow-md);
    --vz-header-bg: var(--pvf-color-surface);
    --vz-header-border: var(--pvf-color-border);
    --vz-footer-bg: var(--pvf-color-surface);
    --vz-footer-color: var(--pvf-color-text-muted);
    --vz-vertical-menu-bg: var(--pvf-color-surface);
    --vz-vertical-menu-border: var(--pvf-color-border);
    --vz-vertical-menu-item-color: var(--pvf-color-text-ui);
    --vz-vertical-menu-item-hover-color: var(--pvf-color-primary);
    --vz-vertical-menu-item-active-color: var(--pvf-color-primary);
    --vz-vertical-menu-item-active-bg: var(--pvf-color-primary-soft);
    --vz-vertical-menu-title-color: var(--pvf-color-disabled);
    --vz-vertical-menu-width: var(--pvf-sidebar-width);
    --vz-grid-gutter-width: var(--pvf-content-padding);
    --vz-link-color: var(--pvf-color-secondary);
    --vz-link-color-rgb: var(--pvf-color-secondary-rgb);
    --vz-link-hover-color: var(--pvf-color-secondary-hover);
    --vz-input-border-custom: var(--pvf-color-border);
    --bs-body-font-family: var(--pvf-font-family);
    --bs-body-bg: var(--pvf-color-bg);
    --bs-body-color: var(--pvf-color-text-ui);
    --bs-primary: var(--pvf-color-primary);
    --bs-primary-rgb: var(--pvf-color-primary-rgb);
    --bs-secondary: var(--pvf-color-secondary);
    --bs-secondary-rgb: var(--pvf-color-secondary-rgb);
    --bs-warning: var(--pvf-color-warning);
    --bs-warning-rgb: var(--pvf-color-warning-rgb);
    --bs-danger: var(--pvf-color-danger);
    --bs-danger-rgb: var(--pvf-color-danger-rgb);
    --bs-success: var(--pvf-color-success);
    --bs-success-rgb: var(--pvf-color-success-rgb);
    --bs-info: var(--pvf-color-info);
    --bs-info-rgb: var(--pvf-color-info-rgb);
    --bs-border-color: var(--pvf-color-border);
    --bs-link-color: var(--pvf-color-secondary);
    --bs-link-color-rgb: var(--pvf-color-secondary-rgb);
    --bs-link-hover-color: var(--pvf-color-secondary-hover);
}

html,
body,
button,
input,
select,
textarea {
    font-family: var(--pvf-font-family);
    letter-spacing: 0;
}

html,
body {
    font-family: var(--pvf-font-family) !important;
}

body {
    font-size: var(--pvf-font-size-body);
    line-height: var(--pvf-line-height-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.menu-title,
.navbar-nav .nav-link,
.btn,
.form-control,
.form-select {
    letter-spacing: 0;
}

.card {
    border-radius: var(--pvf-radius-md);
    box-shadow: var(--pvf-shadow-md);
}

.form-control,
.form-select {
    min-height: var(--pvf-control-height);
    border-color: var(--pvf-color-border);
    border-radius: var(--pvf-radius-sm);
    transition: border-color var(--pvf-transition), box-shadow var(--pvf-transition);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--pvf-color-secondary);
    box-shadow: var(--pvf-focus-ring);
}

.btn {
    min-height: var(--pvf-control-height);
    border-radius: var(--pvf-radius-md);
    transition: color var(--pvf-transition), background-color var(--pvf-transition), border-color var(--pvf-transition), box-shadow var(--pvf-transition);
}

.btn.pvf-icon-action {
    display: inline-grid;
    width: 2rem;
    min-width: 2rem;
    min-height: 2rem;
    height: 2rem;
    padding: 0;
    place-items: center;
}

.btn.pvf-icon-action i {
    font-size: 1rem;
    line-height: 1;
}

.btn-primary {
    --bs-btn-color: var(--pvf-color-white);
    --bs-btn-bg: var(--pvf-color-primary);
    --bs-btn-border-color: var(--pvf-color-primary);
    --bs-btn-hover-color: var(--pvf-color-white);
    --bs-btn-hover-bg: var(--pvf-color-primary-hover);
    --bs-btn-hover-border-color: var(--pvf-color-primary-hover);
    --bs-btn-active-color: var(--pvf-color-white);
    --bs-btn-active-bg: var(--pvf-color-primary-active);
    --bs-btn-active-border-color: var(--pvf-color-primary-active);
    --vz-btn-color: var(--pvf-color-white);
    --vz-btn-bg: var(--pvf-color-primary);
    --vz-btn-border-color: var(--pvf-color-primary);
    --vz-btn-hover-color: var(--pvf-color-white);
    --vz-btn-hover-bg: var(--pvf-color-primary-hover);
    --vz-btn-hover-border-color: var(--pvf-color-primary-hover);
    --vz-btn-active-color: var(--pvf-color-white);
    --vz-btn-active-bg: var(--pvf-color-primary-active);
    --vz-btn-active-border-color: var(--pvf-color-primary-active);
}

.btn-secondary {
    --bs-btn-color: var(--pvf-color-white);
    --bs-btn-bg: var(--pvf-color-secondary);
    --bs-btn-border-color: var(--pvf-color-secondary);
    --bs-btn-hover-color: var(--pvf-color-white);
    --bs-btn-hover-bg: var(--pvf-color-secondary-hover);
    --bs-btn-hover-border-color: var(--pvf-color-secondary-hover);
    --bs-btn-active-color: var(--pvf-color-white);
    --bs-btn-active-bg: var(--pvf-color-secondary-active);
    --bs-btn-active-border-color: var(--pvf-color-secondary-active);
    --vz-btn-color: var(--pvf-color-white);
    --vz-btn-bg: var(--pvf-color-secondary);
    --vz-btn-border-color: var(--pvf-color-secondary);
    --vz-btn-hover-color: var(--pvf-color-white);
    --vz-btn-hover-bg: var(--pvf-color-secondary-hover);
    --vz-btn-hover-border-color: var(--pvf-color-secondary-hover);
    --vz-btn-active-color: var(--pvf-color-white);
    --vz-btn-active-bg: var(--pvf-color-secondary-active);
    --vz-btn-active-border-color: var(--pvf-color-secondary-active);
}

.btn-warning {
    --bs-btn-color: var(--pvf-color-black);
    --bs-btn-bg: var(--pvf-color-warning);
    --bs-btn-border-color: var(--pvf-color-warning);
    --bs-btn-hover-color: var(--pvf-color-black);
    --bs-btn-hover-bg: var(--pvf-color-warning-hover);
    --bs-btn-hover-border-color: var(--pvf-color-warning-hover);
    --bs-btn-active-color: var(--pvf-color-black);
    --bs-btn-active-bg: var(--pvf-color-warning-active);
    --bs-btn-active-border-color: var(--pvf-color-warning-active);
    --vz-btn-color: var(--pvf-color-black);
    --vz-btn-bg: var(--pvf-color-warning);
    --vz-btn-border-color: var(--pvf-color-warning);
    --vz-btn-hover-color: var(--pvf-color-black);
    --vz-btn-hover-bg: var(--pvf-color-warning-hover);
    --vz-btn-hover-border-color: var(--pvf-color-warning-hover);
    --vz-btn-active-color: var(--pvf-color-black);
    --vz-btn-active-bg: var(--pvf-color-warning-active);
    --vz-btn-active-border-color: var(--pvf-color-warning-active);
}

.btn-danger {
    --bs-btn-bg: var(--pvf-color-danger);
    --bs-btn-border-color: var(--pvf-color-danger);
    --bs-btn-hover-bg: var(--pvf-color-primary-hover);
    --bs-btn-hover-border-color: var(--pvf-color-primary-hover);
    --bs-btn-active-bg: var(--pvf-color-primary-active);
    --bs-btn-active-border-color: var(--pvf-color-primary-active);
    --vz-btn-bg: var(--pvf-color-danger);
    --vz-btn-border-color: var(--pvf-color-danger);
    --vz-btn-hover-bg: var(--pvf-color-primary-hover);
    --vz-btn-hover-border-color: var(--pvf-color-primary-hover);
    --vz-btn-active-bg: var(--pvf-color-primary-active);
    --vz-btn-active-border-color: var(--pvf-color-primary-active);
}

.badge {
    border-radius: var(--pvf-radius-sm);
    letter-spacing: 0;
}

@media (max-width: 767.98px) {
    :root {
        --pvf-control-height: 2.75rem;
        --pvf-content-padding: 1rem;
        --pvf-topbar-height: 3.5rem;
    }

    .btn.pvf-icon-action {
        width: 2.75rem;
        min-width: 2.75rem;
        min-height: 2.75rem;
        height: 2.75rem;
    }
}

@media (max-width: 991.98px) {
    .navbar-menu {
        margin-left: calc(-1 * var(--pvf-sidebar-width)) !important;
    }

    .main-content {
        margin-left: 0 !important;
    }

    #page-topbar,
    .footer {
        left: 0 !important;
    }

    .vertical-sidebar-enable .navbar-menu {
        margin-left: 0 !important;
    }
}

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