/* ==========================================
   PROPERTY STOP LANDLORD PORTAL - MAIN STYLESHEET
   Centralized styling for the entire application
   ========================================== */

/* ==========================================
   CSS VARIABLES - SINGLE SOURCE OF TRUTH
   ========================================== */
:root {
    /* PS Brand Colors - Primary */
    --ps-navy: #270d46;        /* Navy (Primary) */
    --ps-red: #e30613;         /* Pillar Box Red (Primary) */
    --ps-turquoise: #87c1c9;   /* Turquoise (Support) */
    --ps-lime: #cdd500;        /* Lime (Support) */
    --ps-grey: #6f6f6e;        /* Medium Grey (Support) */
    --ps-white: #ffffff;
    
    /* Neutral Colors */
    --ps-light-grey: #f5f5f5;
    --ps-medium-grey: #9ca3af;
    --ps-dark-grey: #777777;
    --ps-light: #fafafa;
    --ps-lighter: #f8f9fa;
    --ps-border: #e5e7eb;
    --ps-border-light: #f3f4f6;
    
    /* Semantic Mappings */
    --ps-primary: var(--ps-red);
    --ps-secondary: var(--ps-navy);
    --ps-accent: var(--ps-turquoise);
    --ps-warning: var(--ps-lime);
    --ps-success: #10b981;
    
    /* Text Colors */
    --ps-text-primary: var(--ps-navy);
    --ps-text-secondary: var(--ps-grey);
    --ps-text-light: #9ca3af;
    
    /* Font Family */
    --ps-font-family: 'Montserrat', sans-serif;
}


/* ==========================================
   LOGIN & AUTHENTICATION STYLES
   ========================================== */

/* Login Page Body */
body.login-page {
    font-family: 'Montserrat', sans-serif;
    background: var(--ps-white);
    min-height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-container {
    width: 100%;
    max-width: 420px;
    padding: 2rem;
}

.login-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.login-logo {
    margin-bottom: 1.5rem;
}

.login-logo img {
    height: 100px;
    width: auto;
}

.login-title {
    color: var(--ps-navy);
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    letter-spacing: -0.02em;
}

.login-subtitle {
    color: var(--ps-grey);
    font-size: 1rem;
    font-weight: 400;
    margin: 0;
}

.login-form-container {
    background: var(--ps-white);
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.login-form {
    margin: 0;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-label {
    display: block;
    color: var(--ps-navy);
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.form-input {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.form-input:focus {
    outline: none;
    border-color: var(--ps-turquoise);
    box-shadow: 0 0 0 3px rgba(135, 193, 201, 0.1);
}

.form-input::placeholder {
    color: #9ca3af;
}

.checkbox-group {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.form-checkbox {
    width: 18px;
    height: 18px;
    accent-color: var(--ps-turquoise);
}

.checkbox-label {
    color: var(--ps-navy);
    font-size: 0.875rem;
    font-weight: 500;
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
}

.login-button {
    width: 100%;
    background: var(--ps-navy);
    color: var(--ps-white);
    border: none;
    padding: 1rem 2rem;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.login-button:hover {
    background: var(--ps-turquoise);
    transform: translateY(-1px);
}

.login-button:active {
    transform: translateY(0);
}

.login-footer {
    text-align: center;
    margin-top: 1.5rem;
}

.forgot-password-link {
    color: var(--ps-navy);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.forgot-password-link:hover {
    color: var(--ps-turquoise);
}

.login-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: var(--ps-red);
    padding: 0.75rem 1rem;
    border-radius: 8px;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
}

.form-error {
    color: var(--ps-red);
    font-size: 0.75rem;
    margin-top: 0.25rem;
    display: block;
}

/* Magic Link Styles */
.login-options {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}

.magic-link-btn {
    background: none;
    border: none;
    color: var(--ps-turquoise);
    font-size: 0.9rem;
    text-decoration: underline;
    cursor: pointer;
    padding: 0.5rem;
    transition: all 0.2s ease;
}

.magic-link-btn:hover {
    color: var(--ps-navy);
    text-decoration: none;
}

.magic-link-btn i {
    margin-right: 0.5rem;
}

.magic-link-container {
    background: var(--ps-white);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    margin-top: 2rem;
}

.magic-link-header {
    text-align: center;
    margin-bottom: 2rem;
}

.magic-link-header h3 {
    color: var(--ps-navy);
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.magic-link-header p {
    color: var(--ps-grey);
    margin: 0;
}

.magic-link-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.magic-link-submit-btn,
.magic-link-cancel-btn {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.magic-link-submit-btn {
    background: var(--ps-navy);
    color: var(--ps-white);
}

.magic-link-submit-btn:hover {
    background: var(--ps-turquoise);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.magic-link-cancel-btn {
    background: var(--ps-light-grey);
    color: var(--ps-navy);
}

.magic-link-cancel-btn:hover {
    background: #e9ecef;
    transform: translateY(-1px);
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Design for Login */
@media (max-width: 480px) {
    .login-container {
        padding: 1rem;
    }

    .login-form-container {
        padding: 1.5rem;
    }

    .login-title {
        font-size: 1.75rem;
    }

    .login-logo img {
        height: 80px;
    }
}


/* PS Brand Colors - Updated to match official brand guidelines */
:root {
    --ps-navy: #270d46;        /* Navy (Primary) */
    --ps-red: #e30613;         /* Pillar Box Red (Primary) */
    --ps-turquoise: #87c1c9;   /* Turquoise (Support) */
    --ps-lime: #cdd500;        /* Lime (Support) */
    --ps-grey: #6f6f6e;        /* Medium Grey (Support) */
    --ps-white: #ffffff;
    --ps-light-grey: #f5f5f5;
    --ps-medium-grey: #9ca3af;
    --ps-dark-grey: #777777;
    
    /* Apple.com Inspired Neutrals */
    --ps-light: #fafafa;
    --ps-lighter: #f8f9fa;
    --ps-border: #e5e7eb;
    --ps-border-light: #f3f4f6;
    
    /* Semantic mappings */
    --ps-primary: var(--ps-red);
    --ps-secondary: var(--ps-navy);
    --ps-accent: var(--ps-turquoise);
    --ps-warning: var(--ps-lime);
    --ps-success: #10b981;
    
    /* Text colors */
    --ps-text-primary: var(--ps-navy);
    --ps-text-secondary: var(--ps-grey);
    --ps-text-light: #9ca3af;
    
    /* Font family */
    --ps-font-family: 'Montserrat', sans-serif;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: var(--ps-navy);
}

h2 {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
    font-weight: 700;
}

h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

h4 {
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
}

h5 {
    font-size: 1.1rem;
    margin-bottom: 0.6rem;
}

h6 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

p, div, span, li {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 0.95rem;
    line-height: 1.6;
    color: rgba(0, 0, 0, 0.8);
}

/* Property Tile */
.property-tile {
    background-color: var(--ps-white);
    border: 1px solid #e1e1e1;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 15px;
}

.property-tile:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-color: var(--ps-turquoise);
}

.property-tile-active {
    border-color: var(--ps-turquoise);
    border-width: 2px;
}

.property-tile-active:before {
    content: "";
    position: absolute;
    top: -8px;
    right: 15px;
    width: 20px;
    height: 20px;
    background-color: var(--ps-lime);
    border-radius: 50%;
    border: 2px solid var(--ps-white);
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}

.property-link {
    text-decoration: none;
    color: inherit;
    display: block;
    margin-bottom: 1rem;
}

.property-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.property-header {
    margin-bottom: 10px;
}

.property-name {
    color: var(--ps-navy);
    margin-bottom: 5px;
    font-weight: 700;
}

.property-address {
    color: var(--ps-dark-grey);
    font-size: 0.85rem;
    line-height: 1.4;
}

/* Terms Layout */
.terms-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.terms-header {
    background-color: var(--ps-navy);
    color: var(--ps-white);
    padding: 20px;
    border-radius: 10px;
}

.terms-sidebar {
    position: sticky;
    top: 20px;
    width: 280px;
    height: calc(100vh - 40px);
    overflow-y: auto;
    background-color: var(--ps-white) !important;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.sidebar-title {
    color: var(--ps-navy);
    font-size: 1.2rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.sidebar-sections {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar-link {
    display: block;
    padding: 10px;
    color: var(--ps-navy);
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.2s ease;
    font-size: 0.9rem;
}

.sidebar-link:hover {
    background-color: rgba(39, 178, 196, 0.1);
}

.sidebar-link.active {
    background-color: var(--ps-turquoise);
    color: var(--ps-white);
    font-weight: 500;
}

.terms-content {
    flex-grow: 1;
    background-color: var(--ps-white);
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* Badges */
.ps-badge {
    display: inline-block;
    padding: 5px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 5px;
    margin-right: 5px;
    background-color: #f8f9fa;
    color: var(--ps-navy);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ps-badge.service-level {
    background-color: rgba(39, 178, 196, 0.15);
    color: var(--ps-navy);
}

.ps-badge.terms-signed {
    background-color: rgba(205, 213, 0, 0.15);
    color: var(--ps-navy);
    position: relative;
    padding-left: 25px;
}

.ps-badge.terms-signed:before {
    content: "\f633"; /* Bootstrap icon for check-circle */
    font-family: bootstrap-icons !important;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ps-lime);
}

.ps-badge.terms-pending {
    background-color: rgba(230, 42, 118, 0.15);
    color: var(--ps-navy);
    position: relative;
    padding-left: 25px;
}

.ps-badge.terms-pending:before {
    content: "\f4d6"; /* Bootstrap icon for exclamation-circle */
    font-family: bootstrap-icons !important;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ps-red);
}

.service-level-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
    background-color: rgba(39, 178, 196, 0.1);
    color: var(--ps-navy);
    border: 1px solid var(--ps-turquoise);
    margin: 0 5px 5px 0;
}

.badge-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Buttons */
.btn-primary {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
}

.btn-primary:hover, .btn-primary:focus {
    background-color: #1a0833;
    border-color: #1a0833;
}

.btn-outline-primary {
    color: var(--ps-navy);
    border-color: var(--ps-navy);
}

.btn-outline-primary:hover, .btn-outline-primary:focus {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
}

.btn-success {
    background-color: var(--ps-lime);
    border-color: var(--ps-lime);
    color: var(--ps-navy);
    font-weight: 500;
}

.btn-success:hover, .btn-success:focus {
    background-color: #b8bf00;
    border-color: #b8bf00;
    color: var(--ps-navy);
}

.view-terms-btn {
    width: 100%;
    text-align: center;
    font-size: 0.85rem;
    padding: 6px 12px;
    border-radius: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.view-terms-btn:hover {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
    color: var(--ps-white);
}

/* Cards */
.card {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.card:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.card-header {
    background-color: rgba(39, 13, 70, 0.03);
    padding: 15px 20px;
    border-bottom: 1px solid rgba(39, 13, 70, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-header h4, .card-header h5 {
    margin-bottom: 0;
    color: var(--ps-navy);
    font-weight: 700;
}

.card-body {
    padding: 20px;
    background-color: var(--ps-white);
}

/* Alerts */
.alert {
    border-radius: 8px;
    padding: 15px 20px;
}

.alert-info {
    background-color: rgba(39, 178, 196, 0.1);
    border-color: var(--ps-turquoise);
}

.alert-success {
    background-color: rgba(205, 213, 0, 0.1);
    border-color: var(--ps-lime);
    color: var(--ps-navy);
}

.alert-danger {
    background-color: rgba(230, 42, 118, 0.1);
    border-color: var(--ps-red);
}

.alert-warning {
    background-color: rgba(255, 193, 7, 0.1);
    border-color: #ffc107;
}

.bg-success {
    background-color: var(--ps-lime) !important;
    color: var(--ps-navy) !important;
}

/* Accordion */
.accordion-button:not(.collapsed) {
    background-color: rgba(39, 178, 196, 0.05);
    color: var(--ps-navy);
    box-shadow: none;
}

.accordion-button:focus {
    box-shadow: 0 0 0 0.2rem rgba(39, 178, 196, 0.25);
    border-color: var(--ps-turquoise);
}

.accordion-button * {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--ps-navy);
}

.accordion-button {
    padding: 15px 20px;
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--ps-navy);
}

.accordion-item {
    margin-bottom: 10px;
}

.accordion-collapse.show {
    border-top: 1px solid rgba(39, 13, 70, 0.1);
}

.accordion-collapse.show .accordion-header {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: var(--ps-white);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.accordion-button.sticky {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: var(--ps-white);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    padding-top: 10px;
    padding-bottom: 10px;
}

.accordion-button.sticky::after {
    color: var(--ps-navy);
}

.accordion-button.sticky + .accordion-collapse.show {
    margin-top: 10px;
}

.sticky-title-container {
    position: sticky;
    top: 0;
    background-color: var(--ps-white);
    z-index: 10;
    padding: 10px 0;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--ps-grey);
}

.sticky-title {
    margin-bottom: 0;
    color: var(--ps-navy);
    font-weight: 700;
}

.content-container {
    max-width: 900px;
    margin: 0 auto;
}

.form-check-input:checked {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
}

.form-check-input:focus {
    border-color: var(--ps-turquoise);
    box-shadow: 0 0 0 0.25rem rgba(39, 178, 196, 0.25);
}

.form-check {
    margin-bottom: 1rem;
    display: flex;
    align-items: flex-start;
}

.form-check-input {
    width: 1.2em;
    height: 1.2em;
    margin-top: 0;
    vertical-align: top;
}

.form-check-label {
    margin-left: 0.5rem;
    flex: 1;
    line-height: 1.2em;
}

.text-navy {
    color: var(--ps-navy) !important;
}

.text-red {
    color: var(--ps-red) !important;
}

/* Terms Section */
.terms-section {
    padding: 20px;
    margin-bottom: 20px;
    background-color: var(--ps-white);
    border-radius: 8px;
}

.terms-section:last-child {
    margin-bottom: 0;
}

.ps-section-title {
    border-bottom: 2px solid rgba(39, 13, 70, 0.1);
    padding-bottom: 10px;
}

.signed-info {
    font-size: 0.85rem;
    color: var(--ps-dark-grey);
}

.signed-info small {
    margin-bottom: 3px;
}

.signed-info i {
    margin-right: 5px;
    color: var(--ps-navy);
}

.terms-layout {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.sidebar-toggle {
    display: none;
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 1000;
    background-color: var(--ps-navy);
    color: var(--ps-white);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

.terms-main-content {
    flex-grow: 1;
    padding-bottom: 50px;
}




body {
    background-color: var(--ps-light-grey);
}

@media (max-width: 992px) {
    .terms-sidebar {
        position: fixed;
        left: -300px;
        top: 0;
        bottom: 0;
        z-index: 1000;
        transition: all 0.3s ease;
        box-shadow: none;
        border-radius: 0;
        height: 100vh;
    }
    
    .terms-sidebar.active {
        left: 0;
        box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    }
    
    .terms-main-content {
        width: 100%;
    }
    
    .accordion-button {
        font-size: 1rem;
    }
}

@media print {
    .d-print-none {
        display: none !important;
    }
    
    body {
        background-color: white;
    }
    
    .container {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }
    
    .card {
        border: none;
        box-shadow: none;
    }
    
    .card-body {
        padding: 0;
    }
    
    h1, h2, h3, h4 {
        page-break-after: avoid;
    }
    
    .print-section {
        page-break-inside: avoid;
    }
} 

/* ========================================
   NAVBAR STYLES - Clean & Minimal
   ======================================== */

.navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #ffffff;
    border-bottom: 1px solid rgba(39, 13, 70, 0.1);
    padding: 0.75rem 1.5rem;
    margin-bottom: 0;
}

/* Navbar brand/logo */
.navbar .navbar-brand {
    padding: 0;
    margin-right: 2rem;
}

.navbar .navbar-brand img {
    height: 50px;
    width: auto;
}

/* Nav links styling */
.navbar .nav-link {
    color: var(--ps-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.5rem 1rem !important;
    transition: color 0.2s ease;
}

.navbar .nav-link:hover {
    color: var(--ps-turquoise) !important;
}

.navbar .nav-link i {
    margin-right: 0.4rem;
}

/* Dropdown toggle with arrow */
.navbar .dropdown-toggle::after {
    margin-left: 0.4rem;
    vertical-align: middle;
}

/* Dropdown menu styling - WHITE BACKGROUND */
.navbar .dropdown-menu {
    display: none;
    background-color: #ffffff;
    border: 1px solid rgba(39, 13, 70, 0.15);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(39, 13, 70, 0.12);
    padding: 0.5rem 0;
    min-width: 220px;
    margin-top: 0.5rem;
}

.navbar .dropdown-menu.show,
.navbar .dropdown.show .dropdown-menu {
    display: block;
}

/* Dropdown items */
.navbar .dropdown-item {
    color: var(--ps-navy);
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    padding: 0.6rem 1.25rem;
    transition: all 0.15s ease;
}

.navbar .dropdown-item:hover {
    background-color: rgba(135, 193, 201, 0.15);
    color: var(--ps-navy);
}

.navbar .dropdown-item.active,
.navbar .dropdown-item:active {
    background-color: var(--ps-navy);
    color: #ffffff;
}

.navbar .dropdown-item i {
    margin-right: 0.6rem;
    width: 1rem;
    text-align: center;
}

/* Dropdown dividers */
.navbar .dropdown-divider {
    border-color: rgba(39, 13, 70, 0.1);
    margin: 0.4rem 1rem;
}

/* User badge in navbar */
.navbar .badge-managed {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
    margin-left: 0.5rem;
    background-color: rgba(135, 193, 201, 0.2);
    color: var(--ps-navy);
    border: 1px solid var(--ps-turquoise);
    border-radius: 4px;
}

/* Remove list styling */
.navbar ul,
.navbar .navbar-nav,
.navbar .navbar-nav li {
    list-style: none !important;
    margin: 0;
    padding-left: 0;
}

/* Desktop navbar layout */
@media (min-width: 992px) {
    .navbar > .container-fluid,
    .navbar > .container {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    
    .navbar .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
        align-items: center;
        justify-content: space-between;
    }
    
    .navbar .navbar-nav {
        flex-direction: row !important;
        align-items: center;
    }
    
    .navbar .navbar-nav .nav-item {
        padding: 0 0.25rem;
    }
    
    .navbar .navbar-toggler {
        display: none !important;
    }
    
    .navbar .dropdown-menu {
        position: absolute;
    }
}

/* Mobile navbar toggle */
.navbar .navbar-toggler {
    border: 1px solid var(--ps-navy);
    padding: 0.4rem 0.6rem;
}

.navbar .navbar-toggler-icon {
    width: 1.25rem;
    height: 1.25rem;
}

/* Property Stop Brand Colors */
:root {
    --ps-red: #e30613;
    --ps-navy: #270d46;
    --ps-turquoise: #87c1c9;
    --ps-lime: #cdd500;
    --ps-grey: #6f6f6e;
    --ps-white: #ffffff;
}

/* Property Card */
.property-card {
    background: var(--ps-white);
    border: 1px solid var(--ps-turquoise);
    border-radius: 12px;
    padding: 16px;
    transition: all 0.2s ease;
    position: relative;
    cursor: pointer;
}

.property-card:hover {
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.1);
}

.property-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--ps-navy);
    margin: 0 0 4px 0;
}

.property-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: var(--ps-grey);
    margin: 0 0 16px 0;
}

.property-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.badge-managed {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
    background: var(--ps-white);
    color: var(--ps-navy);
    padding: 6px 12px;
    border-radius: 100px;
    border: 1px solid var(--ps-turquoise);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.badge-pending {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
    background: var(--ps-white);
    color: var(--ps-red);
    padding: 6px 12px;
    border-radius: 100px;
    border: 1px solid var(--ps-red);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.badge-pending::before {
    content: "•";
    font-size: 24px;
    line-height: 0;
    position: relative;
    top: 1px;
}

.property-link {
    text-decoration: none;
    color: inherit;
}

.property-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Terms Layout */
.terms-layout {
    display: flex;
    gap: 20px;
    position: relative;
}

.terms-sidebar {
    width: 240px;
    position: sticky;
    top: 20px;
    height: calc(100vh - 40px);
    overflow-y: auto;
    background-color: var(--ps-white) !important;
    border: none;
    border-radius: 12px;
    padding: 20px;
    box-shadow: none;
    align-self: flex-start;
}

.terms-main-content {
    flex: 1;
    max-width: calc(100% - 260px);
}

.sidebar-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--ps-navy);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--ps-turquoise);
}

.sidebar-sections {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sidebar-link {
    padding: 8px 12px;
    border-radius: 8px;
    color: var(--ps-navy);
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 14px;
}

.sidebar-link:hover {
    background-color: rgba(135, 193, 201, 0.1);
    color: var(--ps-navy);
}

.sidebar-link.active {
    background-color: var(--ps-navy);
    color: var(--ps-white);
}

/* Bootstrap Overrides */
.btn-primary {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
    color: var(--ps-white);
}

.btn-primary:hover {
    background-color: var(--ps-red);
    border-color: var(--ps-red);
}

.btn-success {
    background-color: var(--ps-lime);
    border-color: var(--ps-lime);
    color: var(--ps-navy);
}

.btn-success:hover {
    background-color: var(--ps-turquoise);
    border-color: var(--ps-turquoise);
}

.btn-outline-primary {
    color: var(--ps-navy);
    border-color: var(--ps-navy);
}

.btn-outline-primary:hover {
    background-color: var(--ps-navy);
    color: var(--ps-white);
}

.alert-success {
    background-color: rgba(205, 213, 0, 0.1);
    border-color: var(--ps-lime);
    color: var(--ps-navy);
}

.alert-info {
    background-color: rgba(135, 193, 201, 0.1);
    border-color: var(--ps-turquoise);
    color: var(--ps-navy);
}

.alert-warning {
    background-color: rgba(205, 213, 0, 0.2);
    border-color: var(--ps-lime);
    color: var(--ps-navy);
}

.alert-danger {
    background-color: rgba(227, 6, 19, 0.1);
    border-color: var(--ps-red);
    color: var(--ps-red);
}

.card-header {
    background-color: var(--ps-navy);
    color: var(--ps-white);
    border-bottom: none;
}

.card {
    border-color: var(--ps-turquoise);
}

.bg-success {
    background-color: var(--ps-lime) !important;
    color: var(--ps-navy) !important;
}

/* Form Elements */
.form-check-input:checked {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
}

.form-check-input:focus {
    border-color: var(--ps-turquoise);
    box-shadow: 0 0 0 0.25rem rgba(135, 193, 201, 0.25);
}

/* Section Titles */
.ps-section-title {
    color: var(--ps-navy);
    border-bottom: 2px solid var(--ps-turquoise);
}

/* Utility Classes */
.text-navy {
    color: var(--ps-navy);
}

.text-white {
    color: var(--ps-white);
}

/* Scrollbar Styling */
.terms-sidebar::-webkit-scrollbar {
    width: 6px;
}

.terms-sidebar::-webkit-scrollbar-track {
    background: var(--ps-white);
}

.terms-sidebar::-webkit-scrollbar-thumb {
    background: var(--ps-navy);
}

.terms-sidebar::-webkit-scrollbar-thumb:hover {
    background: var(--ps-turquoise);
}

/* Responsive Design */
@media (max-width: 992px) {
    .terms-layout {
        flex-direction: column;
    }

    .terms-sidebar {
        width: 100%;
        position: relative;
        top: 0;
        height: auto;
        margin-bottom: 20px;
    }

    .terms-main-content {
        max-width: 100%;
    }
}

/* Print Styles */
@media print {
    .terms-sidebar {
        display: none;
    }

    .terms-main-content {
        max-width: 100%;
    }
}

/* Global button styling for consistent vertical alignment */
.btn,
button,
[class*="btn-"],
[style*="background-color: rgba(135, 193, 201, 0.2)"],
[style*="border: 1px solid var(--ps-lime)"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: normal !important;
    padding-top: 0.375rem !important;
    padding-bottom: 0.375rem !important;
    text-align: center !important;
}

/* Ensure text remains properly sized and doesn't overflow */
.btn span,
button span,
[class*="btn-"] span,
[style*="background-color: rgba(135, 193, 201, 0.2)"] span,
[style*="border: 1px solid var(--ps-turquoise)"] span {
    display: inline-block;
    vertical-align: middle;
}

/* Fix for badges that might be inside buttons */
.badge-managed,
.terms-pending-badge,
.badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* User Management Styles */
.user-management-container {
    background-color: var(--ps-white);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.08);
    padding: 24px;
    margin-bottom: 30px;
}

.user-card {
    background-color: var(--ps-white);
    border: 1px solid rgba(135, 193, 201, 0.3);
    border-radius: 10px;
    padding: 16px;
    transition: all 0.3s ease;
    margin-bottom: 16px;
    position: relative;
}

.user-card:hover {
    box-shadow: 0 5px 15px rgba(39, 13, 70, 0.08);
    transform: translateY(-2px);
    border-color: var(--ps-turquoise);
}

.user-card .user-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(135, 193, 201, 0.2);
}

.user-card .user-name {
    font-weight: 600;
    color: var(--ps-navy);
    font-size: 1.1rem;
    margin: 0;
}

.user-card .user-email {
    color: var(--ps-grey);
    font-size: 0.9rem;
    margin-bottom: 8px;
}

.user-card .user-type {
    font-size: 0.85rem;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
}

.user-card .user-type.admin {
    background-color: rgba(227, 6, 19, 0.1);
    color: var(--ps-red);
    border: 1px solid var(--ps-red);
}

.user-card .user-type.landlord {
    background-color: rgba(135, 193, 201, 0.1);
    color: var(--ps-navy);
    border: 1px solid var(--ps-turquoise);
}

.user-card .user-type.tenant {
    background-color: rgba(205, 213, 0, 0.1);
    color: var(--ps-navy);
    border: 1px solid var(--ps-lime);
}

.user-card .user-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.user-card .user-actions .btn {
    padding: 6px 12px;
    font-size: 0.85rem;
}

.user-management-heading {
    color: var(--ps-navy);
    font-weight: 700;
    margin-bottom: 24px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--ps-turquoise);
}

.user-filters {
    background-color: rgba(135, 193, 201, 0.05);
    border: 1px solid rgba(135, 193, 201, 0.2);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 24px;
}

.user-search {
    position: relative;
    margin-bottom: 16px;
}

.user-search input {
    padding-left: 40px;
    border-color: rgba(135, 193, 201, 0.3);
    border-radius: 8px;
}

.user-search i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ps-navy);
}

.user-filters .filter-title {
    font-weight: 600;
    color: var(--ps-navy);
    margin-bottom: 12px;
    font-size: 1rem;
}

.user-filters .form-check {
    margin-bottom: 8px;
}

.user-stats {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.user-stat-card {
    flex: 1;
    background-color: var(--ps-white);
    border-radius: 10px;
    padding: 16px;
    border: 1px solid rgba(135, 193, 201, 0.2);
    text-align: center;
    transition: all 0.3s ease;
}

.user-stat-card:hover {
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.08);
    transform: translateY(-2px);
}

.user-stat-card .stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: var(--ps-navy);
    margin-bottom: 4px;
}

.user-stat-card .stat-label {
    color: var(--ps-grey);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.user-stat-card.admin-stat .stat-number {
    color: var(--ps-red);
}

.user-stat-card.landlord-stat .stat-number {
    color: var(--ps-turquoise);
}

.user-stat-card.tenant-stat .stat-number {
    color: var(--ps-lime);
}

.add-user-btn {
    margin-bottom: 24px;
    padding: 10px 20px;
    font-weight: 600;
}

.pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.pagination .page-item .page-link {
    color: var(--ps-navy);
    border-color: rgba(135, 193, 201, 0.2);
}

.pagination .page-item.active .page-link {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
    color: var(--ps-white);
}

.pagination .page-item .page-link:hover {
    background-color: rgba(135, 193, 201, 0.1);
}

.empty-state {
    text-align: center;
    padding: 40px;
    background-color: rgba(135, 193, 201, 0.05);
    border-radius: 10px;
    margin: 30px 0;
}

.empty-state .empty-icon {
    font-size: 3rem;
    color: var(--ps-turquoise);
    margin-bottom: 20px;
}

.empty-state .empty-title {
    font-weight: 600;
    color: var(--ps-navy);
    margin-bottom: 10px;
}

.empty-state .empty-text {
    color: var(--ps-grey);
    margin-bottom: 20px;
}

/* Form styling for modals */
.modal-content {
    border-radius: 12px;
    border: none;
    box-shadow: 0 10px 30px rgba(39, 13, 70, 0.15);
}

.modal-header {
    background-color: var(--ps-navy);
    color: var(--ps-white);
    border-radius: 12px 12px 0 0;
    padding: 16px 24px;
}

.modal-title {
    font-weight: 600;
}

.modal-body {
    padding: 24px;
}

.modal-footer {
    border-top: 1px solid rgba(135, 193, 201, 0.2);
    padding: 16px 24px;
}

.form-label {
    font-weight: 500;
    color: var(--ps-navy);
    margin-bottom: 8px;
}

.form-control {
    border-color: rgba(135, 193, 201, 0.3);
    border-radius: 8px;
    padding: 10px 16px;
}

.form-control:focus {
    border-color: var(--ps-turquoise);
    box-shadow: 0 0 0 0.25rem rgba(135, 193, 201, 0.25);
}

.form-select {
    border-color: rgba(135, 193, 201, 0.3);
    border-radius: 8px;
    padding: 10px 16px;
}

.form-select:focus {
    border-color: var(--ps-turquoise);
    box-shadow: 0 0 0 0.25rem rgba(135, 193, 201, 0.25);
}

/* User Management Styles based on PS Brand Guidelines */
.user-management-container {
    background-color: var(--ps-white);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(39, 13, 70, 0.08);
    padding: 24px;
    margin-bottom: 30px;
}

.user-card {
    background-color: var(--ps-white);
    border: 1px solid rgba(135, 193, 201, 0.3);
    border-radius: 8px;
    padding: 16px;
    transition: all 0.3s ease;
    margin-bottom: 16px;
}

.user-card:hover {
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.1);
    transform: translateY(-3px);
    border-color: var(--ps-turquoise);
}

.user-card .card-header {
    background-color: var(--ps-white);
    border-bottom: 2px solid var(--ps-navy);
    padding: 12px 0;
    margin-bottom: 12px;
}

.user-card .card-title {
    color: var(--ps-navy);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    margin: 0;
}

.user-card .user-email {
    color: var(--ps-grey);
    font-size: 0.9rem;
}

.user-type-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 50px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-right: 8px;
}

.user-type-badge.admin {
    background-color: rgba(227, 6, 19, 0.1);
    color: #e30613;
    border: 1px solid #e30613;
}

.user-type-badge.landlord {
    background-color: rgba(135, 193, 201, 0.1);
    color: #270d46;
    border: 1px solid #87c1c9;
}

.user-type-badge.tenant {
    background-color: rgba(205, 213, 0, 0.1);
    color: #270d46;
    border: 1px solid #cdd500;
}

.user-action-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.user-action-buttons .btn {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
}

.user-action-buttons .btn-edit {
    background-color: #270d46;
    color: white;
}

.user-action-buttons .btn-edit:hover {
    background-color: #1a0630;
}

.user-action-buttons .btn-delete {
    background-color: #e30613;
    color: white;
}

.user-action-buttons .btn-delete:hover {
    background-color: #c30511;
}

.user-filters {
    background-color: rgba(135, 193, 201, 0.05);
    border: 1px solid rgba(135, 193, 201, 0.2);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.user-management-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    border-bottom: 2px solid #87c1c9;
    padding-bottom: 12px;
}

.user-management-title {
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    margin: 0;
}

.add-user-button {
    background-color: #cdd500;
    color: #270d46;
    border: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.add-user-button:hover {
    background-color: #b8c000;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.add-user-button i {
    margin-right: 6px;
}

.user-search-box {
    position: relative;
    margin-bottom: 20px;
}

.user-search-box input {
    width: 100%;
    padding: 10px 16px 10px 40px;
    border-radius: 6px;
    border: 1px solid rgba(135, 193, 201, 0.3);
    font-family: 'Montserrat', sans-serif;
}

.user-search-box input:focus {
    outline: none;
    border-color: #87c1c9;
    box-shadow: 0 0 0 3px rgba(135, 193, 201, 0.25);
}

.user-search-box i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #6f6f6e;
}

.filter-section {
    background-color: rgba(135, 193, 201, 0.05);
    border: 1px solid rgba(135, 193, 201, 0.2);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.filter-title {
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 12px;
}

.filter-option {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.filter-option label {
    font-family: 'Montserrat', sans-serif;
    color: #270d46;
    margin-left: 8px;
    cursor: pointer;
}

.filter-option input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #270d46;
    cursor: pointer;
}

.user-stats-row {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.stat-card {
    flex: 1;
    background-color: var(--ps-white);
    border-radius: 8px;
    padding: 16px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(39, 13, 70, 0.08);
    transition: all 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(39, 13, 70, 0.12);
}

.stat-card.admin-stat {
    border-top: 4px solid #e30613;
}

.stat-card.landlord-stat {
    border-top: 4px solid #87c1c9;
}

.stat-card.tenant-stat {
    border-top: 4px solid #cdd500;
}

.stat-count {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 4px;
}

.stat-card.admin-stat .stat-count {
    color: #e30613;
}

.stat-card.landlord-stat .stat-count {
    color: #87c1c9;
}

.stat-card.tenant-stat .stat-count {
    color: #cdd500;
}

.stat-label {
    font-family: 'Montserrat', sans-serif;
    color: #6f6f6e;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.pagination .page-link {
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
}

.pagination .page-item.active .page-link {
    background-color: #270d46;
    border-color: #270d46;
    color: white;
}

.pagination .page-item .page-link:hover {
    background-color: rgba(135, 193, 201, 0.1);
}

.empty-state {
    text-align: center;
    padding: 40px 20px;
    background-color: rgba(135, 193, 201, 0.05);
    border-radius: 8px;
    border: 1px dashed rgba(135, 193, 201, 0.3);
    margin: 30px 0;
}

.empty-state-icon {
    font-size: 3rem;
    color: #87c1c9;
    margin-bottom: 16px;
}

.empty-state-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #270d46;
    margin-bottom: 8px;
}

.empty-state-text {
    font-family: 'Montserrat', sans-serif;
    color: #6f6f6e;
    margin-bottom: 20px;
}

/* Modal styling for user management */
.modal-content {
    border-radius: 8px;
    border: none;
    overflow: hidden;
}

.modal-header {
    background-color: #270d46;
    color: white;
    font-family: 'Montserrat', sans-serif;
}

.modal-title {
    font-weight: 700;
}

.modal-body {
    padding: 20px;
}

.modal-footer {
    border-top: 1px solid rgba(135, 193, 201, 0.2);
}

.form-label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #270d46;
    margin-bottom: 8px;
}

.form-control, .form-select {
    font-family: 'Montserrat', sans-serif;
    border-color: rgba(135, 193, 201, 0.3);
    border-radius: 6px;
    padding: 10px 12px;
}

.form-control:focus, .form-select:focus {
    border-color: #87c1c9;
    box-shadow: 0 0 0 0.25rem rgba(135, 193, 201, 0.25);
}

/* User Management Styles - Using only PSBrand.md colors */
.user-management-container {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(39, 13, 70, 0.1);
    padding: 24px;
    margin-bottom: 30px;
}

.user-card {
    background-color: #ffffff;
    border: 1px solid #87c1c9;
    border-radius: 8px;
    padding: 16px;
    transition: all 0.3s ease;
    margin-bottom: 16px;
}

.user-card:hover {
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.15);
    transform: translateY(-3px);
}

.user-card .card-header {
    background-color: #ffffff;
    border-bottom: 2px solid #270d46;
    padding: 12px;
    margin-bottom: 12px;
}

.user-card .card-title {
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    margin: 0;
}

.user-card .user-email {
    color: #6f6f6e;
    font-size: 0.9rem;
}

.user-type-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 50px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-right: 8px;
}

.user-type-badge.admin {
    background-color: #e30613;
    color: #ffffff;
}

.user-type-badge.landlord {
    background-color: #87c1c9;
    color: #270d46;
}

.user-type-badge.tenant {
    background-color: #cdd500;
    color: #270d46;
}

.user-action-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

.user-action-buttons .btn-edit {
    background-color: #270d46;
    color: #ffffff;
    border: none;
}

.user-action-buttons .btn-delete {
    background-color: #e30613;
    color: #ffffff;
    border: none;
}

/* User management header section */
.user-management-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 3px solid #87c1c9;
}

.user-management-title {
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    margin: 0;
}

.add-user-button {
    background-color: #cdd500;
    color: #270d46;
    border: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 6px;
}

.add-user-button:hover {
    background-color: #270d46;
    color: #ffffff;
}

/* User filters and search */
.filter-section {
    background-color: #ffffff;
    border: 1px solid #87c1c9;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.filter-title {
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 12px;
}

.user-search-box {
    position: relative;
    margin-bottom: 20px;
}

.user-search-box input {
    width: 100%;
    padding: 10px 16px 10px 40px;
    border-radius: 6px;
    border: 1px solid #87c1c9;
    font-family: 'Montserrat', sans-serif;
}

.user-search-box i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #6f6f6e;
}

/* User statistics section */
.user-stats-row {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.stat-card {
    flex: 1;
    background-color: #ffffff;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(39, 13, 70, 0.1);
}

.stat-card.admin-stat {
    border-left: 4px solid #e30613;
}

.stat-card.landlord-stat {
    border-left: 4px solid #87c1c9;
}

.stat-card.tenant-stat {
    border-left: 4px solid #cdd500;
}

.stat-count {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 2.5rem;
    margin-bottom: 8px;
}

.stat-card.admin-stat .stat-count {
    color: #e30613;
}

.stat-card.landlord-stat .stat-count {
    color: #270d46;
}

.stat-card.tenant-stat .stat-count {
    color: #270d46;
}

.stat-label {
    font-family: 'Montserrat', sans-serif;
    color: #6f6f6e;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Pagination */
.pagination .page-link {
    color: #270d46;
}

.pagination .page-item.active .page-link {
    background-color: #270d46;
    border-color: #270d46;
    color: #ffffff;
}

/* Empty state */
.empty-state {
    text-align: center;
    padding: 40px 20px;
    background-color: #ffffff;
    border: 2px dashed #87c1c9;
    border-radius: 8px;
    margin: 30px 0;
}

.empty-state-icon {
    font-size: 3rem;
    color: #87c1c9;
    margin-bottom: 16px;
}

.empty-state-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #270d46;
    margin-bottom: 12px;
    font-size: 1.3rem;
}

.empty-state-text {
    font-family: 'Montserrat', sans-serif;
    color: #6f6f6e;
    margin-bottom: 20px;
}

/* User management modal */
.modal-header {
    background-color: #270d46;
    color: #ffffff;
}

.modal-footer {
    border-top: 1px solid #87c1c9;
}

.btn-primary {
    background-color: #270d46;
    border-color: #270d46;
    color: #ffffff;
}

.btn-success {
    background-color: #cdd500;
    border-color: #cdd500;
    color: #270d46;
}

.btn-danger {
    background-color: #e30613;
    border-color: #e30613;
    color: #ffffff;
}

/* Admin page dashboard */
.dashboard-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
    margin-bottom: 32px;
}

.dashboard-tile {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(39, 13, 70, 0.1);
    transition: all 0.3s ease;
}

.dashboard-tile:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(39, 13, 70, 0.15);
}

.dashboard-tile-header {
    background-color: #270d46;
    color: #ffffff;
    padding: 16px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
}

.dashboard-tile-body {
    padding: 20px;
}

.dashboard-tile-footer {
    background-color: #f7f7f7;
    border-top: 1px solid #e0e0e0;
    padding: 12px 16px;
    text-align: right;
}

.user-management-tile {
    border-top: 5px solid #e30613;
}

.properties-tile {
    border-top: 5px solid #87c1c9;
}

.tenants-tile {
    border-top: 5px solid #cdd500;
}

.dashboard-icon {
    font-size: 2.5rem;
    color: #270d46;
    margin-bottom: 16px;
}

.dashboard-count {
    font-size: 2rem;
    font-weight: 700;
    color: #270d46;
    margin-bottom: 8px;
}

.dashboard-label {
    color: #6f6f6e;
    margin-bottom: 16px;
}

.dashboard-action {
    background-color: #270d46;
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    transition: all 0.2s ease;
}

.dashboard-action:hover {
    background-color: #e30613;
    color: #ffffff;
}

/* Table styles using PS Brand colors */
.table-responsive {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(39, 13, 70, 0.1);
    margin-bottom: 24px;
    border: 1px solid #87c1c9;
}

.table {
    margin-bottom: 0;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

.table thead {
    background-color: #270d46;
    color: #ffffff;
}

.table thead th {
    padding: 14px 16px;
    font-weight: 600;
    border-bottom: none;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.table tbody tr:nth-of-type(odd) {
    background-color: rgba(135, 193, 201, 0.05);
}

.table tbody tr:hover {
    background-color: rgba(135, 193, 201, 0.1);
}

.table tbody td {
    padding: 12px 16px;
    vertical-align: middle;
    border-top: 1px solid rgba(135, 193, 201, 0.2);
    color: #270d46;
}

.table .user-name {
    font-weight: 600;
    color: #270d46;
}

.table .user-email {
    color: #6f6f6e;
    font-size: 0.9rem;
}

.table .user-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.table .btn-sm {
    padding: 4px 10px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ps-lime);
}
.table .btn-info {
    padding: 4px 10px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--ps-lime);
}

.table .btn-edit {
    background-color: #270d46;
    color: #ffffff;
    border: none;
}

.table .btn-edit:hover {
    background-color: #1a0630;
}

.table .btn-delete {
    background-color: #e30613;
    color: #ffffff;
    border: none;
}

.table .btn-delete:hover {
    background-color: #c30511;
}

.table .status-active {
    color: #cdd500;
    font-weight: 600;
}

.table .status-inactive {
    color: #6f6f6e;
}

.table .user-type {
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-align: center;
    display: inline-block;
}

.table .user-type.admin {
    background-color: #e30613;
    color: #ffffff;
}

.table .user-type.landlord {
    background-color: #87c1c9;
    color: #270d46;
}

.table .user-type.tenant {
    background-color: #cdd500;
    color: #270d46;
}

/* Data table specifics */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 16px;
    font-family: 'Montserrat', sans-serif;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #87c1c9;
    border-radius: 4px;
    padding: 6px 10px;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    margin-top: 16px;
    font-family: 'Montserrat', sans-serif;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 6px 12px;
    margin: 0 2px;
    border-radius: 4px;
    border: 1px solid #87c1c9;
    color: #270d46 !important;
    background-color: #ffffff;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: #270d46 !important;
    color: #ffffff !important;
    border-color: #270d46;
}

/* Compact table for smaller screens */
@media (max-width: 768px) {
    .table-responsive {
        border: none;
        box-shadow: none;
    }
    
    .table-responsive table {
        border: 1px solid #87c1c9;
        border-radius: 8px;
    }
    
    .table thead th,
    .table tbody td {
        padding: 10px 12px;
        font-size: 0.9rem;
    }
    
    .table .user-type {
        padding: 3px 8px;
        font-size: 0.75rem;
    }
}

/* Table empty state */
.table-empty-state {
    padding: 40px 20px;
    text-align: center;
    background-color: rgba(135, 193, 201, 0.05);
}

.table-empty-state i {
    font-size: 2.5rem;
    color: #87c1c9;
    margin-bottom: 16px;
}

.table-empty-state h5 {
    color: #270d46;
    font-weight: 600;
    margin-bottom: 8px;
}

.table-empty-state p {
    color: #6f6f6e;
    margin-bottom: 16px;
}

/* User Table - PS Brand specific styling */
.user-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 0;
}

/* Table Header */
.user-table thead {
    background-color: #270d46;
}

.user-table th {
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    padding: 16px;
    text-align: left;
    border: none;
}

.user-table th:first-child {
    border-top-left-radius: 8px;
}

.user-table th:last-child {
    border-top-right-radius: 8px;
}

/* Table Body */
.user-table tbody tr {
    transition: all 0.2s ease;
}

.user-table tbody tr:nth-child(even) {
    background-color: rgba(135, 193, 201, 0.05);
}

.user-table tbody tr:hover {
    background-color: rgba(135, 193, 201, 0.1);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(39, 13, 70, 0.08);
    position: relative;
    z-index: 1;
}

.user-table td {
    padding: 14px 16px;
    vertical-align: middle;
    border-top: 1px solid rgba(135, 193, 201, 0.2);
    color: #270d46;
}

.user-table tr:first-child td {
    border-top: none;
}

/* Table Footer */
.user-table tfoot {
    background-color: rgba(135, 193, 201, 0.1);
}

.user-table tfoot td {
    padding: 12px 16px;
    font-weight: 600;
    color: #270d46;
}

/* User Information Styling */
.user-table .user-name {
    font-weight: 700;
    color: #270d46;
    font-size: 1rem;
    display: block;
    margin-bottom: 4px;
}

.user-table .user-email {
    color: #6f6f6e;
    font-size: 0.85rem;
    display: block;
}

.user-table .user-id {
    color: #6f6f6e;
    font-size: 0.8rem;
    font-family: monospace;
    background-color: rgba(111, 111, 110, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

/* User Role/Type Badge */
.user-table .user-role {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.8rem;
    text-align: center;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.user-table .role-admin {
    background-color: #e30613;
    color: #ffffff;
}

.user-table .role-landlord {
    background-color: #87c1c9;
    color: #270d46;
}

.user-table .role-tenant {
    background-color: #cdd500;
    color: #270d46;
}

/* Status Indicators */
.user-table .status {
    display: flex;
    align-items: center;
    font-weight: 600;
}

.user-table .status::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
}

.user-table .status-active {
    color: #270d46;
}

.user-table .status-active::before {
    background-color: #cdd500;
    box-shadow: 0 0 0 2px rgba(205, 213, 0, 0.3);
}

.user-table .status-inactive {
    color: #6f6f6e;
}

.user-table .status-inactive::before {
    background-color: #6f6f6e;
    box-shadow: 0 0 0 2px rgba(111, 111, 110, 0.3);
}

/* Action Buttons */
.user-table .action-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.user-table .btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    border: none;
}

.user-table .btn-action i {
    margin-right: 6px;
}

.user-table .btn-edit {
    background-color: #270d46;
    color: #ffffff;
}

.user-table .btn-edit:hover {
    background-color: #3a1366;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(39, 13, 70, 0.2);
}

.user-table .btn-delete {
    background-color: #e30613;
    color: #ffffff;
}

.user-table .btn-delete:hover {
    background-color: #ff0716;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(227, 6, 19, 0.2);
}

.user-table .btn-view {
    background-color: #87c1c9;
    color: #270d46;
}

.user-table .btn-view:hover {
    background-color: #9cd6de;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(135, 193, 201, 0.3);
}

/* Responsive Table */
@media (max-width: 992px) {
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .user-table th,
    .user-table td {
        white-space: nowrap;
    }
}

/* More Compact View for Mobile */
@media (max-width: 768px) {
    .user-table th,
    .user-table td {
        padding: 10px 12px;
        font-size: 0.85rem;
    }
    
    .user-table .user-role {
        padding: 4px 8px;
        font-size: 0.7rem;
    }
    
    .user-table .btn-action {
        padding: 4px 8px;
        font-size: 0.75rem;
    }
    
    .user-table .user-name {
        font-size: 0.9rem;
    }
    
    .user-table .user-email {
        font-size: 0.8rem;
    }
}

/* Empty Table State */
.user-table-empty {
    padding: 40px;
    text-align: center;
    background-color: rgba(135, 193, 201, 0.05);
    border-radius: 8px;
    border: 1px dashed #87c1c9;
}

.user-table-empty i {
    font-size: 3rem;
    color: #87c1c9;
    margin-bottom: 16px;
}

.user-table-empty h5 {
    color: #270d46;
    font-weight: 600;
    font-size: 1.2rem;
    margin-bottom: 8px;
}

.user-table-empty p {
    color: #6f6f6e;
    margin-bottom: 16px;
}

/* Table Container Styling */
.user-table-container {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(39, 13, 70, 0.08);
    margin-bottom: 24px;
}

.user-table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    background-color: rgba(135, 193, 201, 0.1);
    border-bottom: 2px solid #87c1c9;
}

.user-table-title {
    font-weight: 700;
    color: #270d46;
    font-size: 1.1rem;
    margin: 0;
}

.user-table-actions {
    display: flex;
    gap: 8px;
}

.user-table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background-color: rgba(135, 193, 201, 0.05);
    border-top: 1px solid rgba(135, 193, 201, 0.2);
}

.user-table-pagination {
    display: flex;
    gap: 4px;
}

.user-table-page-btn {
    padding: 6px 12px;
    border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #87c1c9;
    color: #270d46;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.user-table-page-btn:hover {
    background-color: rgba(135, 193, 201, 0.1);
}

.user-table-page-btn.active {
    background-color: #270d46;
    color: #ffffff;
    border-color: #270d46;
}

.user-table-page-info {
    color: #6f6f6e;
    font-size: 0.9rem;
}

/* Row Highlight for New or Modified Users */
.user-table tr.highlight-row {
    animation: highlight-pulse 2s ease-in-out;
}

@keyframes highlight-pulse {
    0% { background-color: rgba(205, 213, 0, 0.1); }
    50% { background-color: rgba(205, 213, 0, 0.3); }
    100% { background-color: rgba(205, 213, 0, 0.1); }
}

/* PS Brand Lime Button with Confirmation Dialog */
.btn-ps-lime,
button[onclick*="confirm"] {
    background-color: #cdd500;
    color: #270d46;
    border: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.btn-ps-lime:hover,
button[onclick*="confirm"]:hover {
    background-color: #b8c000;
    box-shadow: 0 4px 8px rgba(205, 213, 0, 0.25);
    transform: translateY(-2px);
}

.btn-ps-lime:active,
button[onclick*="confirm"]:active {
    background-color: #a9b000;
    transform: translateY(0);
}

.btn-ps-lime i,
button[onclick*="confirm"] i {
    margin-right: 6px;
}

/* Size variations */
.btn-ps-lime.btn-sm,
button[onclick*="confirm"].btn-sm {
    padding: 6px 12px;
    font-size: 0.85rem;
}

.btn-ps-lime.btn-lg,
button[onclick*="confirm"].btn-lg {
    padding: 10px 20px;
    font-size: 1.1rem;
}

/* Reset button styling that might be inside tables */
.user-table .btn-ps-lime,
.user-table button[onclick*="confirm"] {
    background-color: #cdd500;
    color: #270d46;
    border: none;
}

.user-table .btn-ps-lime:hover,
.user-table button[onclick*="confirm"]:hover {
    background-color: #b8c000;
}

/* Password reset specific styling with icon */
button[onclick*="password reset"] {
    background-color: #cdd500;
    color: #270d46;
    display: inline-flex;
    align-items: center;
}

button[onclick*="password reset"]::before {
    content: "\F47B";
    font-family: bootstrap-icons !important;
    margin-right: 6px;
}

/* Enhanced User Management Table - PS Brand Clean Design */
.user-management-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.08);
}

/* Branding Bar - adds a distinct PS Brand identity */
.user-management-table::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(to right, #e30613, #270d46, #87c1c9, #cdd500);
}

/* Clean Header with PS Navy */
.user-management-table thead {
    background-color: #270d46;
}

.user-management-table th {
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    padding: 16px 18px;
    text-align: left;
    border: none;
    white-space: nowrap;
}

/* Cell Styling with ample whitespace */
.user-management-table td {
    padding: 16px 18px;
    vertical-align: middle;
    border-top: 1px solid rgba(135, 193, 201, 0.15);
    color: #270d46;
    background-color: #ffffff;
}

/* Row Styling */
.user-management-table tbody tr {
    transition: all 0.2s ease;
}

.user-management-table tbody tr:hover {
    background-color: rgba(135, 193, 201, 0.05);
}

.user-management-table tbody tr:hover td {
    background-color: rgba(135, 193, 201, 0.05);
}

/* Alternating Row Colors for readability */
.user-management-table tbody tr:nth-child(even) td {
    background-color: rgba(135, 193, 201, 0.03);
}

/* Make sure there's no border on the first row */
.user-management-table tbody tr:first-child td {
    border-top: none;
}

/* User Information Styling */
.user-management-table .user-info-cell {
    min-width: 200px;
}

.user-management-table .user-name {
    font-weight: 700;
    color: #270d46;
    font-size: 1rem;
    display: block;
    margin-bottom: 4px;
}

.user-management-table .user-email {
    color: #6f6f6e;
    font-size: 0.85rem;
    display: block;
}

/* Refined Role/Type Badge */
.user-management-table .role-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-width: 100px;
    text-align: center;
}

.user-management-table .role-badge.admin {
    background-color: rgba(227, 6, 19, 0.1);
    color: #e30613;
    border: 1px solid #e30613;
}

.user-management-table .role-badge.landlord {
    background-color: rgba(135, 193, 201, 0.1);
    color: #270d46;
    border: 1px solid #87c1c9;
}

.user-management-table .role-badge.tenant {
    background-color: rgba(205, 213, 0, 0.1);
    color: #270d46;
    border: 1px solid #cdd500;
}

/* Icon in Role Badge */
.user-management-table .role-badge::before {
    font-family: bootstrap-icons !important;
    margin-right: 6px;
    font-size: 0.9rem;
}

.user-management-table .role-badge.admin::before {
    content: "\F4E1";  /* person icon */
}

.user-management-table .role-badge.landlord::before {
    content: "\F3DD";  /* building icon */
}

.user-management-table .role-badge.tenant::before {
    content: "\F2E2";  /* key icon */
}

/* Status Styling with dot indicator */
.user-management-table .status-indicator {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 0.9rem;
}

.user-management-table .status-indicator::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
}

.user-management-table .status-active {
    color: #270d46;
}

.user-management-table .status-active::before {
    background-color: #cdd500;
    box-shadow: 0 0 0 2px rgba(205, 213, 0, 0.2);
}

.user-management-table .status-inactive {
    color: #6f6f6e;
}

.user-management-table .status-inactive::before {
    background-color: #6f6f6e;
    box-shadow: 0 0 0 2px rgba(111, 111, 110, 0.2);
}

/* Clean Action Button Group */
.user-management-table .action-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* Button Styling */
.user-management-table .btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    border: none;
    min-width: 80px;
}

.user-management-table .btn-action i {
    margin-right: 6px;
}

.user-management-table .btn-edit {
    background-color: #270d46;
    color: #ffffff;
}

.user-management-table .btn-edit:hover {
    background-color: #3a1366;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(39, 13, 70, 0.2);
}

.user-management-table .btn-delete {
    background-color: #e30613;
    color: #ffffff;
}

.user-management-table .btn-delete:hover {
    background-color: #ff0716;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(227, 6, 19, 0.2);
}

.user-management-table .btn-reset {
    background-color: #cdd500;
    color: #270d46;
}

.user-management-table .btn-reset:hover {
    background-color: #dae300;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(205, 213, 0, 0.3);
}

/* Table Container with Header and Footer */
.user-management-container {
    background-color: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(39, 13, 70, 0.1);
    margin-bottom: 30px;
}

.user-management-header {
    padding: 20px 24px;
    background-color: rgba(135, 193, 201, 0.05);
    border-bottom: 2px solid #87c1c9;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.user-management-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #270d46;
    margin: 0;
    display: flex;
    align-items: center;
}

.user-management-title i {
    margin-right: 10px;
    color: #87c1c9;
}

.user-management-actions {
    display: flex;
    gap: 10px;
}

.user-management-footer {
    padding: 16px 24px;
    background-color: rgba(135, 193, 201, 0.05);
    border-top: 1px solid rgba(135, 193, 201, 0.2);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.user-count {
    color: #6f6f6e;
    font-size: 0.9rem;
}

.user-count strong {
    color: #270d46;
    font-weight: 600;
}

/* Refined Pagination */
.user-pagination {
    display: flex;
    gap: 4px;
}

.page-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    background-color: #ffffff;
    color: #270d46;
    border: 1px solid rgba(135, 193, 201, 0.3);
}

.page-btn:hover {
    background-color: rgba(135, 193, 201, 0.1);
    border-color: #87c1c9;
}

.page-btn.active {
    background-color: #270d46;
    color: #ffffff;
    border-color: #270d46;
}

/* Empty State */
.user-table-empty {
    padding: 60px 40px;
    text-align: center;
    background-color: #ffffff;
}

.user-table-empty i {
    font-size: 3.5rem;
    color: #87c1c9;
    margin-bottom: 20px;
    opacity: 0.7;
}

.user-table-empty h4 {
    color: #270d46;
    font-weight: 700;
    margin-bottom: 10px;
}

.user-table-empty p {
    color: #6f6f6e;
    margin-bottom: 20px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

/* Search Box with PS Brand styling */
.user-search-container {
    margin-bottom: 20px;
    position: relative;
}

.user-search-input {
    width: 100%;
    padding: 12px 16px 12px 45px;
    border-radius: 8px;
    border: 1px solid rgba(135, 193, 201, 0.3);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
    color: #270d46;
    transition: all 0.2s ease;
    background-color: rgba(135, 193, 201, 0.02);
}

.user-search-input:focus {
    outline: none;
    border-color: #87c1c9;
    box-shadow: 0 0 0 3px rgba(135, 193, 201, 0.15);
    background-color: #ffffff;
}

.user-search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #6f6f6e;
    font-size: 1.1rem;
}

/* Responsive Adjustments */
@media (max-width: 992px) {
    .user-management-container {
        border-radius: 8px;
    }
    
    .user-management-header,
    .user-management-footer {
        padding: 16px;
    }
    
    .user-management-title {
        font-size: 1.2rem;
    }
    
    .user-management-table th,
    .user-management-table td {
        padding: 14px 16px;
    }
}

@media (max-width: 768px) {
    .user-management-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .user-management-actions {
        width: 100%;
    }
    
    .user-management-actions .btn {
        flex-grow: 1;
    }
    
    .user-management-table th,
    .user-management-table td {
        padding: 12px;
        font-size: 0.85rem;
    }
    
    .user-management-table .role-badge {
        padding: 5px 10px;
        font-size: 0.75rem;
        min-width: 90px;
    }
    
    .user-management-table .btn-action {
        padding: 6px 10px;
        font-size: 0.8rem;
        min-width: 70px;
    }
    
    .user-management-footer {
        flex-direction: column;
        gap: 15px;
    }
    
    .user-pagination {
        width: 100%;
        justify-content: center;
    }
}

/* Table Loading State with PS Brand Colors */
.table-loading {
    position: relative;
    min-height: 300px;
}

.table-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    border: 4px solid rgba(135, 193, 201, 0.3);
    border-radius: 50%;
    border-top-color: #270d46;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* PS Brand Styled User Management Table */
.table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-family: 'Montserrat', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.1);
    margin-bottom: 24px;
}

/* Table Header */
.table thead {
    background-color: #270d46; /* PS Navy instead of the very dark purple */
}

.table thead th {
    padding: 14px 16px;
    color: #ffffff;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
}

/* Remove blue color from header links */
.table thead th a {
    color: #ffffff !important;
    text-decoration: none;
}

.table thead th a:hover {
    color: #cdd500 !important; /* PS Lime on hover */
    text-decoration: none;
}

/* Sort indicator color */
.table thead th .bi {
    color: #87c1c9; /* PS Turquoise */
}

/* Table Body */
.table tbody tr {
    transition: all 0.2s ease;
    border-bottom: 1px solid rgba(135, 193, 201, 0.15);
}

.table tbody tr:hover {
    background-color: rgba(135, 193, 201, 0.05);
}

.table tbody tr:last-child {
    border-bottom: none;
}

/* Table Cells */
.table tbody td {
    padding: 14px 16px;
    vertical-align: middle;
    color: #270d46;
}

/* ID column */
.table tbody td:first-child {
    font-weight: 600;
    color: #6f6f6e;
}

/* Role Styling */
.table td:nth-child(5) {
    font-weight: 600;
}

/* Role-specific styling */
.table td:nth-child(5):contains("Admin") {
    color: #e30613; /* PS Red for Admin */
}

.table td:nth-child(5):contains("Landlord") {
    color: #270d46; /* PS Navy for Landlord */
}

.table td:nth-child(5):contains("Tenant") {
    color: #87c1c9; /* PS Turquoise for Tenant */
}

/* Better role badges */
td:nth-child(5) {
    position: relative;
    padding-left: 30px !important;
}

td:nth-child(5)::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

td:nth-child(5):contains("Admin")::before {
    background-color: #e30613; /* PS Red for Admin */
}

td:nth-child(5):contains("Landlord")::before {
    background-color: #270d46; /* PS Navy for Landlord */
}

td:nth-child(5):contains("Tenant")::before {
    background-color: #87c1c9; /* PS Turquoise for Tenant */
}

/* Last Login Column */
.table td:nth-child(6) {
    color: #6f6f6e;
    font-size: 0.9rem;
}

/* Status Column */
.table td:nth-child(7) {
    font-weight: 600;
}

/* Actions Column Buttons */
.table td:last-child {
    padding: 8px;
    text-align: right;
}

/* Edit Button */
.table .btn-primary,
.table td:last-child a:nth-child(1) {
    background-color: #270d46; /* PS Navy */
    color: #ffffff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 6px;
    transition: all 0.2s ease;
    width: 100%;
    text-align: center;
}

.table .btn-primary:hover,
.table td:last-child a:nth-child(1):hover {
    background-color: #3a1366;
    transform: translateY(-2px);
    box-shadow: 0 2px 5px rgba(39, 13, 70, 0.2);
}

/* Reset Link Button */
.table td:last-child a:nth-child(2) {
    background-color: #87c1c9; /* PS Turquoise */
    color: #270d46;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 6px;
    transition: all 0.2s ease;
    width: 100%;
    text-align: center;
}

.table td:last-child a:nth-child(2):hover {
    background-color: #99d5de;
    transform: translateY(-2px);
    box-shadow: 0 2px 5px rgba(135, 193, 201, 0.3);
}

/* Deactivate Button */
.table td:last-child a:nth-child(3),
.table .btn-danger {
    background-color: #e30613; /* PS Red */
    color: #ffffff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
    width: 100%;
    text-align: center;
}

.table td:last-child a:nth-child(3):hover,
.table .btn-danger:hover {
    background-color: #ff0716;
    transform: translateY(-2px);
    box-shadow: 0 2px 5px rgba(227, 6, 19, 0.2);
}

/* Reset button key icon styling */
.table td:last-child a:nth-child(2) {
    position: relative;
    padding-left: 36px;
}

.table td:last-child a:nth-child(2)::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23270d46' class='bi bi-key' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z'/%3E%3Cpath d='M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

/* Container Around Table */
.user-management-container {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 4px 15px rgba(39, 13, 70, 0.08);
    margin-bottom: 30px;
    border-top: 4px solid #270d46;
}

.user-management-header {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 2px solid #87c1c9;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.user-management-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #270d46;
    margin: 0;
}

.user-management-actions {
    display: flex;
    gap: 10px;
}

.add-user-btn {
    background-color: #cdd500; /* PS Lime */
    color: #270d46;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.add-user-btn:hover {
    background-color: #dae300;
    transform: translateY(-2px);
    box-shadow: 0 2px 5px rgba(205, 213, 0, 0.2);
}

/* Alternating Row Colors for better readability */
.table tbody tr:nth-child(odd) {
    background-color: rgba(135, 193, 201, 0.03);
}

/* Add visual indicator for row hover */
.table tbody tr:hover {
    box-shadow: 0 2px 5px rgba(39, 13, 70, 0.1);
    position: relative;
    z-index: 1;
}

/* Enhanced User Management Title and Header */
.user-management-container {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 0; /* Remove padding to make the header more impactful */
    box-shadow: 0 4px 15px rgba(39, 13, 70, 0.08);
    margin-bottom: 30px;
    overflow: hidden; /* Keep rounded corners clean */
    border: 1px solid rgba(135, 193, 201, 0.2);
}

.user-management-header {
    margin-bottom: 0;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: rgba(135, 193, 201, 0.05);
    border-bottom: 1px solid rgba(135, 193, 201, 0.2);
}

/* Reset styles for UserManagement page */
.user-management-container {
    background-color: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(39, 13, 70, 0.1);
    margin-bottom: 30px;
    border: 1px solid #87c1c9;
}

.user-management-header {
    background: linear-gradient(to right, #270d46, #3a1366);
    color: #ffffff;
    padding: 20px 24px;
    border-bottom: 3px solid #87c1c9;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.user-management-title {
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    margin: 0;
    display: flex;
    align-items: center;
}

.user-management-title i {
    margin-right: 10px;
    color: #87c1c9;
}

.add-user-btn {
    background-color: #cdd500;
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: all 0.2s ease;
}

.add-user-btn i {
    margin-right: 8px;
}

.add-user-btn:hover {
    background-color: #e30613;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(227, 6, 19, 0.2);
}

.table-container {
    padding: 24px;
}

/* Table Styling */
.user-management-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 0;
}

.user-management-table thead {
    background-color: #270d46;
}

.user-management-table th {
    color: #ffffff;
    padding: 14px 16px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    border: none;
}

.user-management-table th a {
    color: #ffffff !important;
    text-decoration: none;
}

.user-management-table th a:hover {
    color: #cdd500 !important;
}

.user-management-table tbody tr {
    transition: all 0.2s ease;
    border-bottom: 1px solid rgba(135, 193, 201, 0.2);
}

.user-management-table tbody tr:hover {
    background-color: rgba(135, 193, 201, 0.05);
}

.user-management-table tbody tr:nth-child(even) {
    background-color: rgba(135, 193, 201, 0.02);
}

.user-management-table td {
    padding: 12px 16px;
    vertical-align: middle;
    color: #270d46;
}

/* Role Styling */
.role-admin, td:contains("Admin") {
    color: #e30613;
    font-weight: 600;
}
.role-landlord, td:contains("Landlord") {
    color: #270d46;
    font-weight: 600;
}

/* PS User Management Dashboard Styling */
.user-management-dashboard {
    font-family: 'Montserrat', sans-serif;
    color: #270d46;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Dashboard Header */
.ps-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #87c1c9;
}

.ps-dashboard-title {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ps-dashboard-title i {
    font-size: 2.2rem;
    color: #87c1c9;
}

.ps-dashboard-title h1 {
    font-size: 2rem;
    font-weight: 700;
    color: #270d46;
    margin: 0;
}

.ps-dashboard-actions {
    display: flex;
    gap: 12px;
}

/* Button Styles */
.ps-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
}

.ps-button i {
    font-size: 1.1rem;
}

.ps-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    text-decoration: none;
}

.ps-button-navy {
    background-color: #270d46;
    color: #ffffff;
}

.ps-button-navy:hover {
    background-color: #351561;
}

/* ==========================================
   ADDITIONAL PS BRAND COMPONENT SYSTEM FOR DASHBOARD & FORMS
   ========================================== */

/* Ensure PS Brand buttons work properly */
.ps-btn {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.9rem;
    text-decoration: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.ps-btn-primary { background-color: var(--ps-red); color: var(--ps-white); }
.ps-btn-primary:hover { background-color: #c1050f; transform: translateY(-2px); }

.ps-btn-secondary { background-color: var(--ps-navy); color: var(--ps-white); }
.ps-btn-secondary:hover { background-color: #1a0a36; transform: translateY(-2px); }

.ps-btn-outline { background: transparent; color: var(--ps-red); border: 2px solid var(--ps-red); }
.ps-btn-outline:hover { background-color: var(--ps-red); color: var(--ps-white); }

.ps-btn-small { padding: 0.5rem 1rem; font-size: 0.75rem; }
.ps-btn-large { padding: 1rem 2rem; font-size: 1rem; font-weight: 700; }

/* PS Brand Cards */
.ps-card { background: var(--ps-white); border: 1px solid var(--ps-border); border-radius: 12px; padding: 1.5rem; margin-bottom: 1.5rem; }
.ps-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--ps-border); }
.ps-card-title { font-size: 1.25rem; font-weight: 700; color: var(--ps-navy); margin: 0; }
.ps-card-body { color: var(--ps-text-primary); }

/* PS Brand Forms */
.ps-form-group { margin-bottom: 1.5rem; }
.ps-form-label { display: flex; align-items: center; margin-bottom: 0.5rem; font-weight: 600; color: var(--ps-navy); }
.ps-form-input { width: 100%; padding: 0.75rem 1rem; border: 2px solid var(--ps-border); border-radius: 8px; font-family: 'Montserrat', sans-serif; }
.ps-form-input:focus { outline: none; border-color: var(--ps-red); box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.1); }
.ps-form-error { margin-top: 0.25rem; color: var(--ps-red); font-size: 0.875rem; }
.ps-form-help { margin-top: 0.25rem; color: var(--ps-grey); font-size: 0.85rem; font-style: italic; }

/* PS Brand Alerts */
.ps-alert { padding: 1rem; border-radius: 8px; margin-bottom: 1.5rem; display: flex; align-items: center; }
.ps-alert-success { background-color: rgba(205, 213, 0, 0.1); color: var(--ps-navy); border-left: 4px solid var(--ps-lime); }
.ps-alert-error { background-color: rgba(227, 6, 19, 0.1); color: var(--ps-red); border-left: 4px solid var(--ps-red); }
.ps-alert-info { background-color: rgba(135, 193, 201, 0.1); color: var(--ps-navy); border-left: 4px solid var(--ps-turquoise); }

/* PS Brand Badges */
.ps-badge { display: inline-block; padding: 0.25rem 0.75rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; border-radius: 6px; }
.ps-badge-success { background-color: var(--ps-turquoise); color: var(--ps-navy); }
.ps-badge-warning { background-color: var(--ps-lime); color: var(--ps-navy); }
.ps-badge-danger { background-color: var(--ps-red); color: var(--ps-white); }
.ps-badge-neutral { background-color: var(--ps-grey); color: var(--ps-white); }

/* PS Brand Grid */
.ps-grid { display: grid; gap: 1.5rem; }
.ps-grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.ps-grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }

/* Utility Classes */
.text-navy { color: var(--ps-navy); }
.text-red { color: var(--ps-red); }
.text-grey { color: var(--ps-grey); }
.text-white { color: var(--ps-white); }
.fade-in { animation: fadeIn 0.3s ease-out; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* ==========================================
   TENANCY PROPOSAL TILES - WHITE BACKGROUND
   ========================================== */
.tenancy-proposal-tile .card {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
  border-color: var(--ps-navy) !important;
  border-width: 2px !important;
}

.tenancy-proposal-tile .card-header {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
  border-bottom-color: var(--ps-navy) !important;
}

.tenancy-proposal-tile .card-header h6,
.tenancy-proposal-tile .card-header small,
.tenancy-proposal-tile .card-header .text-muted {
  color: var(--ps-navy) !important;
}

.tenancy-proposal-tile .card-body {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
}

.tenancy-proposal-tile .card-footer {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
  border-top-color: var(--ps-navy) !important;
}

.tenancy-proposal-tile h6,
.tenancy-proposal-tile h5,
.tenancy-proposal-tile h4,
.tenancy-proposal-tile h3,
.tenancy-proposal-tile h2,
.tenancy-proposal-tile h1,
.tenancy-proposal-tile .card-title,
.tenancy-proposal-tile .card-header h6,
.tenancy-proposal-tile .card-header h5,
.tenancy-proposal-tile .card-header h4 {
  color: var(--ps-navy) !important;
}

.tenancy-proposal-tile p,
.tenancy-proposal-tile small,
.tenancy-proposal-tile .text-muted,
.tenancy-proposal-tile strong {
  color: var(--ps-navy) !important;
}

.tenancy-proposal-tile .text-white {
  color: var(--ps-white) !important;
}

.tenancy-proposal-tile .alert {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--ps-white);
}

.tenancy-proposal-tile .alert-light {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--ps-white);
}

.tenancy-proposal-tile .alert-danger {
  background-color: rgba(227, 6, 19, 0.2);
  border-color: var(--ps-red);
  color: var(--ps-white);
}

.tenancy-proposal-tile .alert-info {
  background-color: rgba(0, 123, 255, 0.2);
  border-color: #007bff;
  color: var(--ps-white);
}

/* Override any Bootstrap text color classes */
.tenancy-proposal-tile .text-primary,
.tenancy-proposal-tile .text-secondary,
.tenancy-proposal-tile .text-success,
.tenancy-proposal-tile .text-danger,
.tenancy-proposal-tile .text-warning,
.tenancy-proposal-tile .text-info,
.tenancy-proposal-tile .text-light,
.tenancy-proposal-tile .text-dark {
  color: var(--ps-navy) !important;
}

/* Ensure card titles are navy and visible */
.tenancy-proposal-tile .card-header h5,
.tenancy-proposal-tile .card-header .card-title,
.tenancy-proposal-tile .card-header h4,
.tenancy-proposal-tile .card-header h3,
.tenancy-proposal-tile .card-header h2,
.tenancy-proposal-tile .card-header h1 {
  color: var(--ps-navy) !important;
  font-weight: 700 !important;
}

/* ==========================================
   TENANCY PROPOSAL DETAIL PAGE CARDS - WHITE BACKGROUND
   ========================================== */
.card {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
  border-color: var(--ps-navy) !important;
}

.card-header {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
  border-bottom-color: var(--ps-navy) !important;
}

.card-body {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
}

.card-footer {
  background-color: var(--ps-white) !important;
  color: var(--ps-navy) !important;
  border-top-color: var(--ps-navy) !important;
}

.card h1,
.card h2,
.card h3,
.card h4,
.card h5,
.card h6,
.card .card-title {
  color: var(--ps-navy) !important;
}

.card p,
.card small,
.card .text-muted,
.card strong {
  color: var(--ps-navy) !important;
}

/* Override Bootstrap text color classes for cards */
.card .text-primary,
.card .text-secondary,
.card .text-success,
.card .text-danger,
.card .text-warning,
.card .text-info,
.card .text-light,
.card .text-dark {
  color: var(--ps-navy) !important;
}

/* ==========================================
   DASHBOARD TILES - SIMPLE & CLEAN
   ========================================== */
.dashboard-tiles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.dashboard-tile {
  background: var(--ps-white);
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.dashboard-tile:hover {
  border-color: var(--ps-navy);
}

.dashboard-tile.properties-tile:hover {
  border-color: var(--ps-lime);
}

.dashboard-tile.tenancy-tile:hover {
  border-color: var(--ps-red);
}

.dashboard-tile.certification-tile:hover {
  border-color: var(--ps-turquoise);
}

.dashboard-tile.urgent-tile:hover {
  border-color: var(--ps-grey);
}

.tile-icon {
  font-size: 2rem;
  margin-bottom: 0.75rem;
  display: block;
}

.dashboard-tile.properties-tile .tile-icon {
  color: var(--ps-lime);
}

.dashboard-tile.tenancy-tile .tile-icon {
  color: var(--ps-red);
}

.dashboard-tile.certification-tile .tile-icon {
  color: var(--ps-turquoise);
}

.dashboard-tile.urgent-tile .tile-icon {
  color: var(--ps-grey);
}

.tile-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--ps-navy);
  line-height: 1;
  margin-bottom: 0.5rem;
  display: block;
}

.tile-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ps-grey);
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
}

/* Event tile specific styles */
.tile-subtitle {
  font-size: 0.75rem;
  color: var(--ps-navy);
  margin: 0.375rem 0;
  font-weight: 500;
  line-height: 1.3;
}

.tile-date {
  font-size: 0.75rem;
  color: var(--ps-grey);
  margin: 0.25rem 0 0 0;
  font-weight: 400;
}

/* Event tile hover colors */
.dashboard-tile.warning-tile:hover {
  border-color: var(--ps-orange);
}

.dashboard-tile.normal-tile:hover {
  border-color: var(--ps-green);
}

/* Event tile icon colors */
.dashboard-tile.warning-tile .tile-icon {
  color: var(--ps-orange);
}

.dashboard-tile.normal-tile .tile-icon {
  color: var(--ps-green);
}

/* Event tile number colors based on urgency */
.dashboard-tile.urgent-tile .tile-number {
  color: var(--ps-red);
}

.dashboard-tile.warning-tile .tile-number {
  color: var(--ps-orange);
}

.dashboard-tile.normal-tile .tile-number {
  color: var(--ps-green);
}

/* Property tile indicators */
.tile-urgent-indicator {
  font-size: 0.75rem;
  color: var(--ps-red);
  margin-top: 0.5rem;
  font-weight: 500;
}

.tile-warning-indicator {
  font-size: 0.75rem;
  color: var(--ps-orange);
  margin-top: 0.5rem;
  font-weight: 500;
}

/* Rent information in property tiles */
.tile-rent-info {
  font-size: 0.75rem;
  color: #ffffff;
  margin-top: 0.5rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.375rem;
  background: #270d46;
  border-radius: 4px;
  border: 1px solid #270d46;
}

.tile-rent-period {
  font-size: 0.625rem;
  color: #ffffff;
  font-weight: 400;
}

/* Management status in property tiles */
.tile-management-status {
  font-size: 0.625rem;
  font-weight: 600;
  margin-top: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.tile-management-status.managed {
  background: #270d46;
  color: #ffffff;
  border: 1px solid #270d46;
}

.tile-management-status.unmanaged {
  background: rgba(227, 6, 19, 0.1);
  color: #e30613;
  border: 1px solid rgba(227, 6, 19, 0.2);
}

/* Certificate status in property tiles */
.tile-certificate-status {
  margin-top: 0.5rem;
}

.certificate-details {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cert-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.625rem;
  color: var(--ps-navy);
}

.cert-item i {
  font-size: 0.75rem;
  color: var(--ps-turquoise);
  width: 12px;
  text-align: center;
}

/* Dashboard Main Layout - Two Columns */
.dashboard-main-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 2rem;
}

.properties-column {
  display: flex;
  flex-direction: column;
}

.events-column {
  display: flex;
  flex-direction: column;
}

/* Events Two-Column Layout */
.events-layout {
  display: flex;
  gap: 2rem;
  padding: 1rem 0;
  min-height: 400px;
}

/* Fixed Timeline Column */
.timeline-column {
  position: relative;
  width: 120px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.timeline-line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--ps-turquoise);
  transform: translateX(-50%);
  z-index: 1;
}

.timeline-marker {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
  cursor: pointer;
  transition: all 0.3s ease;
  left: 50%;
  transform: translateX(-50%);
}

.timeline-marker:hover {
  transform: translateX(-50%) scale(1.1);
}

.timeline-marker.active {
  transform: translateX(-50%) scale(1.2);
}

.timeline-marker.active .timeline-dot {
  box-shadow: 0 0 0 4px rgba(135, 193, 201, 0.3);
}

.timeline-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 3px solid var(--ps-white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  margin-bottom: 0.5rem;
  transition: all 0.3s ease;
}

.timeline-marker.urgent .timeline-dot {
  background: var(--ps-red);
}

.timeline-marker.warning .timeline-dot {
  background: var(--ps-lime);
}

.timeline-marker.normal .timeline-dot {
  background: var(--ps-turquoise);
}

.timeline-date {
  text-align: center;
  background: var(--ps-white);
  border-radius: 8px;
  padding: 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  min-width: 60px;
}

.timeline-day {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ps-navy);
  line-height: 1;
}

.timeline-month {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ps-grey);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 0.25rem;
}

.timeline-year {
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--ps-grey);
  opacity: 0.8;
  margin-top: 0.125rem;
}

/* Events Column */
.events-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Event Tile Design */
.event-tile {
  background: var(--ps-white);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(39, 13, 70, 0.1);
  overflow: hidden;
  transition: all 0.3s ease;
  opacity: 0.7;
  transform: scale(0.95);
}

.event-tile:hover {
  transform: scale(1);
  opacity: 1;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.event-tile.urgent-tile {
  border-left: 4px solid var(--ps-red);
  opacity: 1;
  transform: scale(1);
}

.event-tile.warning-tile {
  border-left: 4px solid var(--ps-lime);
  opacity: 0.9;
  transform: scale(0.98);
}

.event-tile.normal-tile {
  border-left: 4px solid var(--ps-turquoise);
}

.event-tile.active {
  opacity: 1 !important;
  transform: scale(1.02) !important;
  box-shadow: 0 8px 32px rgba(135, 193, 201, 0.2) !important;
  border-left-width: 6px !important;
}

/* Event Content Section */
.event-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Three-column layout for event tiles */
.event-content.three-col {
  flex-direction: row;
  align-items: flex-start;
}
.event-left {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  min-width: 220px;
}
.event-middle {
  flex: 1;
  color: var(--ps-navy);
}
.event-explanation {
  font-size: 0.95rem;
  line-height: 1.4;
}
.event-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 220px;
}

/* Booking Page Styles */
.booking-page {
  max-width: 1400px;
  margin: 0 auto;
}

.booking-header {
  margin-bottom: 2rem;
}

.booking-content {
  margin-bottom: 2rem;
}

.booking-layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  align-items: start;
}

.booking-left,
.booking-middle,
.booking-right {
  display: flex;
  flex-direction: column;
}

.event-detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--ps-light-grey);
}

.event-detail-item:last-child {
  border-bottom: none;
}

.event-detail-label {
  font-weight: 600;
  color: var(--ps-navy);
  margin: 0;
}

.event-detail-value {
  color: var(--ps-dark-grey);
  text-align: right;
}

.contractor-card {
  background: var(--ps-white);
  border: 2px solid var(--ps-light-grey);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.contractor-card.selected {
  border-color: var(--ps-turquoise);
  background: rgba(39, 178, 196, 0.05);
}

.contractor-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.contractor-name {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ps-navy);
  margin: 0;
}

.contractor-rating {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--ps-orange);
  font-weight: 600;
}

.contractor-details {
  margin-bottom: 1rem;
}

.contractor-contact {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  color: var(--ps-dark-grey);
}

.contractor-contact i {
  color: var(--ps-turquoise);
  width: 16px;
}

.contractor-status {
  text-align: center;
}

.contractor-notes {
  background: var(--ps-light-grey);
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

.contractor-notes h5 {
  color: var(--ps-navy);
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.contractor-notes p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--ps-dark-grey);
}

.cost-breakdown {
  background: var(--ps-white);
  border: 1px solid var(--ps-light-grey);
  border-radius: 6px;
  padding: 1rem;
}

.cost-breakdown h5 {
  color: var(--ps-navy);
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.cost-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--ps-light-grey);
}

.cost-item:last-child {
  border-bottom: none;
}

.cost-item.total {
  font-weight: 600;
  color: var(--ps-navy);
  border-top: 2px solid var(--ps-turquoise);
  margin-top: 0.5rem;
  padding-top: 0.75rem;
}

.booking-status {
  margin-bottom: 2rem;
}

.status-indicator {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: var(--ps-light-grey);
  border-radius: 6px;
  font-weight: 600;
  color: var(--ps-navy);
}

.status-indicator i {
  font-size: 1.25rem;
  color: var(--ps-turquoise);
}

.booking-actions {
  margin-bottom: 2rem;
}

.booking-info {
  background: var(--ps-light-grey);
  padding: 1.5rem;
  border-radius: 6px;
}

.booking-info h6 {
  color: var(--ps-navy);
  margin-bottom: 1rem;
  font-weight: 600;
}

.booking-steps {
  margin: 0;
  padding-left: 1.25rem;
}

.booking-steps li {
  margin-bottom: 0.5rem;
  color: var(--ps-dark-grey);
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .booking-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

@media (max-width: 768px) {
  .booking-header h1 {
    font-size: 1.5rem;
  }
  
  .event-detail-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  
  .event-detail-value {
    text-align: left;
  }
  
  .contractor-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

.event-icon {
  font-size: 1.5rem;
  color: var(--ps-turquoise);
}

.event-details {
  flex: 1;
}

.event-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ps-navy);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.event-property {
  font-size: 0.875rem;
  color: var(--ps-grey);
  margin-bottom: 0.75rem;
  font-weight: 500;
}

.event-time-remaining {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.event-time-remaining .overdue {
  color: var(--ps-red);
}

.event-time-remaining .today {
  color: var(--ps-red);
  background: rgba(227, 6, 19, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

.event-time-remaining .tomorrow {
  color: var(--ps-lime);
  background: rgba(205, 213, 0, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

.event-time-remaining .this-week {
  color: var(--ps-lime);
}

.event-time-remaining .this-month {
  color: var(--ps-turquoise);
}

.event-time-remaining .this-year {
  color: var(--ps-grey);
}

.event-time-remaining .future {
  color: var(--ps-grey);
  opacity: 0.8;
}

.event-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.event-actions .ps-btn {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .dashboard-main-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

@media (max-width: 768px) {
  .dashboard-main-layout {
    gap: 1rem;
    margin-top: 1rem;
  }
  
  .events-layout {
    flex-direction: column;
    gap: 1rem;
  }
  
  .timeline-column {
    width: 100%;
    flex-direction: row;
    overflow-x: auto;
    padding: 1rem 0;
    justify-content: flex-start;
  }
  
  .timeline-line {
    display: none;
  }
  
  .timeline-marker {
    margin-bottom: 0;
    margin-right: 1rem;
    flex-shrink: 0;
  }
  
  .timeline-date {
    min-width: 50px;
  }
  
  .timeline-day {
    font-size: 1rem;
  }
  
  .timeline-month {
    font-size: 0.7rem;
  }
  
  .timeline-year {
    font-size: 0.6rem;
  }
  
  .events-column {
    gap: 1rem;
  }
  
  .event-content {
    padding: 1rem;
  }
  
  .event-actions {
    flex-direction: column;
  }
  
  .event-actions .ps-btn {
    width: 100%;
    justify-content: center;
  }
}

/* Timeline year and month indicators */
.timeline-year {
  font-size: 0.75rem;
  color: var(--ps-navy);
  font-weight: 600;
  margin-top: 0.25rem;
  font-style: italic;
}

.timeline-month {
  font-size: 0.75rem;
  color: var(--ps-grey);
  font-weight: 500;
  margin-top: 0.25rem;
  font-style: italic;
}

/* Timeline action buttons */
.timeline-action {
  margin-top: 0.75rem;
  display: flex;
  justify-content: flex-end;
}

.timeline-gsi-btn {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: all 0.2s ease;
}

.timeline-gsi-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.timeline-rent-btn {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: all 0.2s ease;
}

.timeline-rent-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.timeline-eicr-btn {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: all 0.2s ease;
}

.timeline-eicr-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.timeline-epc-btn {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: all 0.2s ease;
}

.timeline-epc-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ==========================================
   TIMELINE STYLES
   ========================================== */
.timeline-container {
  position: relative;
  padding: 1rem 0;
}

.timeline-item {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}

.timeline-item:last-child {
  margin-bottom: 0;
}

/* Timeline connector line */
.timeline-connector {
  position: absolute;
  left: 1.5rem;
  top: 3rem;
  width: 2px;
  background: #e5e7eb;
  z-index: 1;
}

.timeline-item:last-child .timeline-connector {
  display: none;
}

/* Timeline event card */
.timeline-event {
  background: var(--ps-white);
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 1rem;
  margin-left: 3rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 2;
  transition: all 0.2s ease;
  min-height: 80px;
}

.timeline-event:hover {
  border-color: var(--ps-navy);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Timeline icon */
.timeline-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--ps-white);
  position: relative;
  z-index: 3;
}

/* Timeline content */
.timeline-content {
  flex: 1;
  min-width: 0;
}

.timeline-days {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.25rem;
}

.timeline-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ps-navy);
  margin-bottom: 0.25rem;
}

.timeline-property {
  font-size: 0.875rem;
  color: var(--ps-grey);
  margin-bottom: 0.125rem;
}

.timeline-date {
  font-size: 0.75rem;
  color: var(--ps-grey);
}

/* Timeline spacing based on time differences */
.timeline-spacing-close {
  margin-bottom: 1rem;
}

.timeline-spacing-normal {
  margin-bottom: 2rem;
}

.timeline-spacing-far {
  margin-bottom: 3rem;
}

.timeline-spacing-very-far {
  margin-bottom: 4rem;
}

/* Timeline connector length based on spacing */
.timeline-spacing-close .timeline-connector {
  height: 1rem;
}

.timeline-spacing-normal .timeline-connector {
  height: 2rem;
}

.timeline-spacing-far .timeline-connector {
  height: 3rem;
}

.timeline-spacing-very-far .timeline-connector {
  height: 4rem;
}

/* Color coding for timeline events */
.timeline-event.urgent-tile {
  border-color: var(--ps-red);
}

.timeline-event.urgent-tile:hover {
  border-color: var(--ps-red);
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.2);
}

.timeline-event.urgent-tile .timeline-icon {
  background-color: var(--ps-red);
}

.timeline-event.urgent-tile .timeline-days {
  color: var(--ps-red);
}

.timeline-event.warning-tile {
  border-color: var(--ps-orange);
}

.timeline-event.warning-tile:hover {
  border-color: var(--ps-orange);
  box-shadow: 0 4px 12px rgba(251, 146, 60, 0.2);
}

.timeline-event.warning-tile .timeline-icon {
  background-color: var(--ps-orange);
}

.timeline-event.warning-tile .timeline-days {
  color: var(--ps-orange);
}

.timeline-event.normal-tile {
  border-color: var(--ps-green);
}

.timeline-event.normal-tile:hover {
  border-color: var(--ps-green);
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2);
}

.timeline-event.normal-tile .timeline-icon {
  background-color: var(--ps-green);
}

.timeline-event.normal-tile .timeline-days {
  color: var(--ps-green);
}

/* Responsive timeline */
@media (max-width: 768px) {
  .timeline-event {
    margin-left: 2.5rem;
    padding: 0.75rem;
    min-height: 70px;
  }
  
  .timeline-connector {
    left: 1.25rem;
  }
  
  .timeline-icon {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1rem;
  }
  
  .timeline-days {
    font-size: 1.25rem;
  }
  
  .timeline-title {
    font-size: 0.875rem;
  }
  
  .timeline-property,
  .timeline-date {
    font-size: 0.75rem;
  }
}

@media (max-width: 768px) {
  .dashboard-tiles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  
  .dashboard-tile {
    padding: 1.25rem;
    min-height: 140px;
  }
  
  .tile-icon {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
  }
  
  .tile-number {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .dashboard-tiles-grid {
    grid-template-columns: 1fr;
  }
}

/* Media Gallery Styles */
.media-gallery {
  margin-top: 1rem;
}

.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}

.media-item {
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.media-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.media-thumbnail {
  position: relative;
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f9fa;
  overflow: hidden;
}

.media-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.media-thumbnail i {
  font-size: 2rem;
  color: #6c757d;
}

.media-info {
  padding: 0.75rem;
}

.media-type {
  font-weight: 600;
  font-size: 0.875rem;
  color: #495057;
  margin-bottom: 0.25rem;
}

.media-caption {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.media-url a {
  color: #007bff;
  text-decoration: none;
  font-size: 0.75rem;
}

.media-url a:hover {
  text-decoration: underline;
}

.media-item.more-items {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f8f9fa;
  border: 2px dashed #dee2e6;
}

.more-count {
  font-size: 1.5rem;
  font-weight: bold;
  color: #6c757d;
}

/* Layout Styles - Moved from _Layout.cshtml inline styles to fix CSP blocking */
/* Badge styles */
.badge-managed {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    background-color: rgba(135, 193, 201, 0.2);
    color: var(--ps-navy);
    border: 1px solid var(--ps-turquoise);
    border-radius: 4px;
    margin-left: 0.5rem;
    text-transform: capitalize;
}

/* Toggle button colors */
.navbar-toggler {
    border-color: var(--ps-navy) !important;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(39, 13, 70, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Style for primary buttons (like logout) */
.navbar .btn-primary {
    background-color: var(--ps-navy);
    border-color: var(--ps-navy);
    color: var(--ps-white) !important;
}

.navbar .btn-primary:hover {
    background-color: var(--ps-turquoise);
    border-color: var(--ps-turquoise);
}

/* Admin navigation section - using PSPortal styling */
.admin-section {
    background-color: rgba(227, 6, 19, 0.05);
    border-radius: 8px;
    padding: 10px;
    margin-top: 10px;
}

.admin-section-title {
    color: #270d46;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    margin-bottom: 10px;
    padding-left: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.admin-nav-link {
    color: #270d46 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 8px 15px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
    text-decoration: none;
}

.admin-nav-link:hover {
    background-color: rgba(227, 6, 19, 0.1);
    color: #e30613 !important;
}

.admin-nav-link.active {
    background-color: #e30613;
    color: #ffffff !important;
}

.admin-nav-link i {
    margin-right: 10px;
    font-size: 1.1rem;
}

/* Admin Dropdown Styles */
.admin-dropdown-toggle {
    color: var(--ps-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
}

.admin-dropdown-toggle:hover,
.admin-dropdown-toggle.active,
.admin-dropdown-toggle.show {
    color: var(--ps-turquoise) !important;
}

.admin-dropdown-toggle i {
    margin-right: 0.4rem;
    font-size: 1rem;
}

.admin-dropdown-menu {
    background-color: #ffffff;
    border: 1px solid rgba(39, 13, 70, 0.15);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(39, 13, 70, 0.12);
    padding: 0.5rem 0;
    min-width: 240px;
}

.admin-dropdown-item {
    color: var(--ps-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    padding: 0.6rem 1.25rem;
    display: flex;
    align-items: center;
    transition: all 0.15s ease;
    background-color: transparent;
}

.admin-dropdown-item:hover {
    background-color: rgba(135, 193, 201, 0.15);
    color: var(--ps-navy) !important;
}

.admin-dropdown-item.active {
    background-color: var(--ps-navy);
    color: #ffffff !important;
}

.admin-dropdown-item i {
    margin-right: 0.6rem;
    font-size: 0.9rem;
    width: 1rem;
    text-align: center;
    color: var(--ps-turquoise);
}

.admin-dropdown-item:hover i,
.admin-dropdown-item.active i {
    color: inherit;
}

.admin-dropdown-divider {
    border-color: rgba(39, 13, 70, 0.1);
    margin: 0.4rem 1rem;
}

/* User Dropdown Styles */
.user-dropdown-toggle {
    color: var(--ps-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.user-dropdown-toggle:hover {
    background-color: rgba(39, 13, 70, 0.1);
    color: var(--ps-navy) !important;
}

.user-dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(39, 13, 70, 0.25);
}

.user-dropdown-menu {
    background-color: white;
    border: 1px solid rgba(39, 13, 70, 0.15);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(39, 13, 70, 0.15);
    padding: 8px 0;
    min-width: 200px;
}

.user-dropdown-item {
    color: var(--ps-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.9rem;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: all 0.2s ease;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
}

.user-dropdown-item:hover {
    background-color: rgba(39, 13, 70, 0.1);
    color: var(--ps-navy) !important;
}

.user-dropdown-item i {
    margin-right: 12px;
    font-size: 1rem;
    width: 16px;
    text-align: center;
}

.dropdown-item-form {
    margin: 0;
    padding: 0;
}

.logout-btn {
    color: #e30613 !important;
}

.logout-btn:hover {
    background-color: rgba(227, 6, 19, 0.1) !important;
    color: #e30613 !important;
}

.dropdown-divider {
    border-color: rgba(39, 13, 70, 0.2);
    margin: 8px 16px;
}

/* Footer styling */
.ps-footer {
    background-color: var(--ps-navy);
    color: var(--ps-white);
    padding: 2rem 0;
    margin-top: 3rem;
    text-align: center;
}

.ps-footer-content p {
    margin: 0.25rem 0;
    color: var(--ps-white);
}

.ps-footer .text-small {
    font-size: 0.9rem;
}

.more-label {
  font-size: 0.8rem;
  color: #6c757d;
  margin-top: 0.25rem;
}

/* ==========================================
   UTILITY CLASSES FOR LAYOUT
   ========================================== */

/* Logo Image Styles */
.logo-img {
    height: 60px;
    object-fit: contain;
}

/* Navbar Brand Text (fallback when logo fails) */
.navbar-brand-text {
    display: none;
    color: var(--ps-navy);
    font-weight: 700;
}

/* Version Text in Footer */
.version-text {
    font-size: 0.85rem;
    margin-top: 0.5rem;
}

/* ==========================================
   PRINT STYLES
   ========================================== */

body.print-page {
    font-family: 'Montserrat', sans-serif;
    color: var(--ps-grey);
    background: white;
}

.print-header {
    text-align: center;
    margin-bottom: 2rem;
}

.print-header img {
    max-height: 80px;
}

.print-section {
    margin-bottom: 2rem;
}

.print-section h4 {
    color: var(--ps-navy);
    border-left: 4px solid var(--ps-lime);
    padding-left: 10px;
    margin-bottom: 1rem;
}

.print-view h1, .print-view h2, .print-view h3, 
.print-view h4, .print-view h5, .print-view h6,
.signature-info h4 {
    text-transform: capitalize !important;
}

@media print {
    .no-print {
        display: none !important;
    }

    body {
        margin: 0;
        padding: 15mm;
        font-size: 12pt;
    }

    .page-break {
        page-break-before: always;
    }

    .print-section {
        page-break-inside: avoid;
    }

    .container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    h1, h2, h3, h4, h5, h6 {
        text-transform: none !important;
    }
}


/* ==========================================
   BOOTSTRAP ICONS
   ========================================== */

/* Terms Pages Stylesheet
   Contains all styles for the Landlord and Tenant Terms pages
   ------------------------------------------------ */
  
  .bi::before,
  [class^="bi-"]::before,
  [class*=" bi-"]::before {
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  .bi-123::before { content: "\f67f"; }
  .bi-alarm-fill::before { content: "\f101"; }
  .bi-alarm::before { content: "\f102"; }
  .bi-align-bottom::before { content: "\f103"; }
  .bi-align-center::before { content: "\f104"; }
  .bi-align-end::before { content: "\f105"; }
  .bi-align-middle::before { content: "\f106"; }
  .bi-align-start::before { content: "\f107"; }
  .bi-align-top::before { content: "\f108"; }
  .bi-alt::before { content: "\f109"; }
  .bi-app-indicator::before { content: "\f10a"; }
  .bi-app::before { content: "\f10b"; }
  .bi-archive-fill::before { content: "\f10c"; }
  .bi-archive::before { content: "\f10d"; }
  .bi-arrow-90deg-down::before { content: "\f10e"; }
  .bi-arrow-90deg-left::before { content: "\f10f"; }
  .bi-arrow-90deg-right::before { content: "\f110"; }
  .bi-arrow-90deg-up::before { content: "\f111"; }
  .bi-arrow-bar-down::before { content: "\f112"; }
  .bi-arrow-bar-left::before { content: "\f113"; }
  .bi-arrow-bar-right::before { content: "\f114"; }
  .bi-arrow-bar-up::before { content: "\f115"; }
  .bi-arrow-clockwise::before { content: "\f116"; }
  .bi-arrow-counterclockwise::before { content: "\f117"; }
  .bi-arrow-down-circle-fill::before { content: "\f118"; }
  .bi-arrow-down-circle::before { content: "\f119"; }
  .bi-arrow-down-left-circle-fill::before { content: "\f11a"; }
  .bi-arrow-down-left-circle::before { content: "\f11b"; }
  .bi-arrow-down-left-square-fill::before { content: "\f11c"; }
  .bi-arrow-down-left-square::before { content: "\f11d"; }
  .bi-arrow-down-left::before { content: "\f11e"; }
  .bi-arrow-down-right-circle-fill::before { content: "\f11f"; }
  .bi-arrow-down-right-circle::before { content: "\f120"; }
  .bi-arrow-down-right-square-fill::before { content: "\f121"; }
  .bi-arrow-down-right-square::before { content: "\f122"; }
  .bi-arrow-down-right::before { content: "\f123"; }
  .bi-arrow-down-short::before { content: "\f124"; }
  .bi-arrow-down-square-fill::before { content: "\f125"; }
  .bi-arrow-down-square::before { content: "\f126"; }
  .bi-arrow-down-up::before { content: "\f127"; }
  .bi-arrow-down::before { content: "\f128"; }
  .bi-arrow-left-circle-fill::before { content: "\f129"; }
  .bi-arrow-left-circle::before { content: "\f12a"; }
  .bi-arrow-left-right::before { content: "\f12b"; }
  .bi-arrow-left-short::before { content: "\f12c"; }
  .bi-arrow-left-square-fill::before { content: "\f12d"; }
  .bi-arrow-left-square::before { content: "\f12e"; }
  .bi-arrow-left::before { content: "\f12f"; }
  .bi-arrow-repeat::before { content: "\f130"; }
  .bi-arrow-return-left::before { content: "\f131"; }
  .bi-arrow-return-right::before { content: "\f132"; }
  .bi-arrow-right-circle-fill::before { content: "\f133"; }
  .bi-arrow-right-circle::before { content: "\f134"; }
  .bi-arrow-right-short::before { content: "\f135"; }
  .bi-arrow-right-square-fill::before { content: "\f136"; }
  .bi-arrow-right-square::before { content: "\f137"; }
  .bi-arrow-right::before { content: "\f138"; }
  .bi-arrow-up-circle-fill::before { content: "\f139"; }
  .bi-arrow-up-circle::before { content: "\f13a"; }
  .bi-arrow-up-left-circle-fill::before { content: "\f13b"; }
  .bi-arrow-up-left-circle::before { content: "\f13c"; }
  .bi-arrow-up-left-square-fill::before { content: "\f13d"; }
  .bi-arrow-up-left-square::before { content: "\f13e"; }
  .bi-arrow-up-left::before { content: "\f13f"; }
  .bi-arrow-up-right-circle-fill::before { content: "\f140"; }
  .bi-arrow-up-right-circle::before { content: "\f141"; }
  .bi-arrow-up-right-square-fill::before { content: "\f142"; }
  .bi-arrow-up-right-square::before { content: "\f143"; }
  .bi-arrow-up-right::before { content: "\f144"; }
  .bi-arrow-up-short::before { content: "\f145"; }
  .bi-arrow-up-square-fill::before { content: "\f146"; }
  .bi-arrow-up-square::before { content: "\f147"; }
  .bi-arrow-up::before { content: "\f148"; }
  .bi-arrows-angle-contract::before { content: "\f149"; }
  .bi-arrows-angle-expand::before { content: "\f14a"; }
  .bi-arrows-collapse::before { content: "\f14b"; }
  .bi-arrows-expand::before { content: "\f14c"; }
  .bi-arrows-fullscreen::before { content: "\f14d"; }
  .bi-arrows-move::before { content: "\f14e"; }
  .bi-aspect-ratio-fill::before { content: "\f14f"; }
  .bi-aspect-ratio::before { content: "\f150"; }
  .bi-asterisk::before { content: "\f151"; }
  .bi-at::before { content: "\f152"; }
  .bi-award-fill::before { content: "\f153"; }
  .bi-award::before { content: "\f154"; }
  .bi-back::before { content: "\f155"; }
  .bi-backspace-fill::before { content: "\f156"; }
  .bi-backspace-reverse-fill::before { content: "\f157"; }
  .bi-backspace-reverse::before { content: "\f158"; }
  .bi-backspace::before { content: "\f159"; }
  .bi-badge-3d-fill::before { content: "\f15a"; }
  .bi-badge-3d::before { content: "\f15b"; }
  .bi-badge-4k-fill::before { content: "\f15c"; }
  .bi-badge-4k::before { content: "\f15d"; }
  .bi-badge-8k-fill::before { content: "\f15e"; }
  .bi-badge-8k::before { content: "\f15f"; }
  .bi-badge-ad-fill::before { content: "\f160"; }
  .bi-badge-ad::before { content: "\f161"; }
  .bi-badge-ar-fill::before { content: "\f162"; }
  .bi-badge-ar::before { content: "\f163"; }
  .bi-badge-cc-fill::before { content: "\f164"; }
  .bi-badge-cc::before { content: "\f165"; }
  .bi-badge-hd-fill::before { content: "\f166"; }
  .bi-badge-hd::before { content: "\f167"; }
  .bi-badge-tm-fill::before { content: "\f168"; }
  .bi-badge-tm::before { content: "\f169"; }
  .bi-badge-vo-fill::before { content: "\f16a"; }
  .bi-badge-vo::before { content: "\f16b"; }
  .bi-badge-vr-fill::before { content: "\f16c"; }
  .bi-badge-vr::before { content: "\f16d"; }
  .bi-badge-wc-fill::before { content: "\f16e"; }
  .bi-badge-wc::before { content: "\f16f"; }
  .bi-bag-check-fill::before { content: "\f170"; }
  .bi-bag-check::before { content: "\f171"; }
  .bi-bag-dash-fill::before { content: "\f172"; }
  .bi-bag-dash::before { content: "\f173"; }
  .bi-bag-fill::before { content: "\f174"; }
  .bi-bag-plus-fill::before { content: "\f175"; }
  .bi-bag-plus::before { content: "\f176"; }
  .bi-bag-x-fill::before { content: "\f177"; }
  .bi-bag-x::before { content: "\f178"; }
  .bi-bag::before { content: "\f179"; }
  .bi-bar-chart-fill::before { content: "\f17a"; }
  .bi-bar-chart-line-fill::before { content: "\f17b"; }
  .bi-bar-chart-line::before { content: "\f17c"; }
  .bi-bar-chart-steps::before { content: "\f17d"; }
  .bi-bar-chart::before { content: "\f17e"; }
  .bi-basket-fill::before { content: "\f17f"; }
  .bi-basket::before { content: "\f180"; }
  .bi-basket2-fill::before { content: "\f181"; }
  .bi-basket2::before { content: "\f182"; }
  .bi-basket3-fill::before { content: "\f183"; }
  .bi-basket3::before { content: "\f184"; }
  .bi-battery-charging::before { content: "\f185"; }
  .bi-battery-full::before { content: "\f186"; }
  .bi-battery-half::before { content: "\f187"; }
  .bi-battery::before { content: "\f188"; }
  .bi-bell-fill::before { content: "\f189"; }
  .bi-bell::before { content: "\f18a"; }
  .bi-bezier::before { content: "\f18b"; }
  .bi-bezier2::before { content: "\f18c"; }
  .bi-bicycle::before { content: "\f18d"; }
  .bi-binoculars-fill::before { content: "\f18e"; }
  .bi-binoculars::before { content: "\f18f"; }
  .bi-blockquote-left::before { content: "\f190"; }
  .bi-blockquote-right::before { content: "\f191"; }
  .bi-book-fill::before { content: "\f192"; }
  .bi-book-half::before { content: "\f193"; }
  .bi-book::before { content: "\f194"; }
  .bi-bookmark-check-fill::before { content: "\f195"; }
  .bi-bookmark-check::before { content: "\f196"; }
  .bi-bookmark-dash-fill::before { content: "\f197"; }
  .bi-bookmark-dash::before { content: "\f198"; }
  .bi-bookmark-fill::before { content: "\f199"; }
  .bi-bookmark-heart-fill::before { content: "\f19a"; }
  .bi-bookmark-heart::before { content: "\f19b"; }
  .bi-bookmark-plus-fill::before { content: "\f19c"; }
  .bi-bookmark-plus::before { content: "\f19d"; }
  .bi-bookmark-star-fill::before { content: "\f19e"; }
  .bi-bookmark-star::before { content: "\f19f"; }
  .bi-bookmark-x-fill::before { content: "\f1a0"; }
  .bi-bookmark-x::before { content: "\f1a1"; }
  .bi-bookmark::before { content: "\f1a2"; }
  .bi-bookmarks-fill::before { content: "\f1a3"; }
  .bi-bookmarks::before { content: "\f1a4"; }
  .bi-bookshelf::before { content: "\f1a5"; }
  .bi-bootstrap-fill::before { content: "\f1a6"; }
  .bi-bootstrap-reboot::before { content: "\f1a7"; }
  .bi-bootstrap::before { content: "\f1a8"; }
  .bi-border-all::before { content: "\f1a9"; }
  .bi-border-bottom::before { content: "\f1aa"; }
  .bi-border-center::before { content: "\f1ab"; }
  .bi-border-inner::before { content: "\f1ac"; }
  .bi-border-left::before { content: "\f1ad"; }
  .bi-border-middle::before { content: "\f1ae"; }
  .bi-border-outer::before { content: "\f1af"; }
  .bi-border-right::before { content: "\f1b0"; }
  .bi-border-style::before { content: "\f1b1"; }
  .bi-border-top::before { content: "\f1b2"; }
  .bi-border-width::before { content: "\f1b3"; }
  .bi-border::before { content: "\f1b4"; }
  .bi-bounding-box-circles::before { content: "\f1b5"; }
  .bi-bounding-box::before { content: "\f1b6"; }
  .bi-box-arrow-down-left::before { content: "\f1b7"; }
  .bi-box-arrow-down-right::before { content: "\f1b8"; }
  .bi-box-arrow-down::before { content: "\f1b9"; }
  .bi-box-arrow-in-down-left::before { content: "\f1ba"; }
  .bi-box-arrow-in-down-right::before { content: "\f1bb"; }
  .bi-box-arrow-in-down::before { content: "\f1bc"; }
  .bi-box-arrow-in-left::before { content: "\f1bd"; }
  .bi-box-arrow-in-right::before { content: "\f1be"; }
  .bi-box-arrow-in-up-left::before { content: "\f1bf"; }
  .bi-box-arrow-in-up-right::before { content: "\f1c0"; }
  .bi-box-arrow-in-up::before { content: "\f1c1"; }
  .bi-box-arrow-left::before { content: "\f1c2"; }
  .bi-box-arrow-right::before { content: "\f1c3"; }
  .bi-box-arrow-up-left::before { content: "\f1c4"; }
  .bi-box-arrow-up-right::before { content: "\f1c5"; }
  .bi-box-arrow-up::before { content: "\f1c6"; }
  .bi-box-seam::before { content: "\f1c7"; }
  .bi-box::before { content: "\f1c8"; }
  .bi-braces::before { content: "\f1c9"; }
  .bi-bricks::before { content: "\f1ca"; }
  .bi-briefcase-fill::before { content: "\f1cb"; }
  .bi-briefcase::before { content: "\f1cc"; }
  .bi-brightness-alt-high-fill::before { content: "\f1cd"; }
  .bi-brightness-alt-high::before { content: "\f1ce"; }
  .bi-brightness-alt-low-fill::before { content: "\f1cf"; }
  .bi-brightness-alt-low::before { content: "\f1d0"; }
  .bi-brightness-high-fill::before { content: "\f1d1"; }
  .bi-brightness-high::before { content: "\f1d2"; }
  .bi-brightness-low-fill::before { content: "\f1d3"; }
  .bi-brightness-low::before { content: "\f1d4"; }
  .bi-broadcast-pin::before { content: "\f1d5"; }
  .bi-broadcast::before { content: "\f1d6"; }
  .bi-brush-fill::before { content: "\f1d7"; }
  .bi-brush::before { content: "\f1d8"; }
  .bi-bucket-fill::before { content: "\f1d9"; }
  .bi-bucket::before { content: "\f1da"; }
  .bi-bug-fill::before { content: "\f1db"; }
  .bi-bug::before { content: "\f1dc"; }
  .bi-building::before { content: "\f1dd"; }
  .bi-bullseye::before { content: "\f1de"; }
  .bi-calculator-fill::before { content: "\f1df"; }
  .bi-calculator::before { content: "\f1e0"; }
  .bi-calendar-check-fill::before { content: "\f1e1"; }
  .bi-calendar-check::before { content: "\f1e2"; }
  .bi-calendar-date-fill::before { content: "\f1e3"; }
  .bi-calendar-date::before { content: "\f1e4"; }
  .bi-calendar-day-fill::before { content: "\f1e5"; }
  .bi-calendar-day::before { content: "\f1e6"; }
  .bi-calendar-event-fill::before { content: "\f1e7"; }
  .bi-calendar-event::before { content: "\f1e8"; }
  .bi-calendar-fill::before { content: "\f1e9"; }
  .bi-calendar-minus-fill::before { content: "\f1ea"; }
  .bi-calendar-minus::before { content: "\f1eb"; }
  .bi-calendar-month-fill::before { content: "\f1ec"; }
  .bi-calendar-month::before { content: "\f1ed"; }
  .bi-calendar-plus-fill::before { content: "\f1ee"; }
  .bi-calendar-plus::before { content: "\f1ef"; }
  .bi-calendar-range-fill::before { content: "\f1f0"; }
  .bi-calendar-range::before { content: "\f1f1"; }
  .bi-calendar-week-fill::before { content: "\f1f2"; }
  .bi-calendar-week::before { content: "\f1f3"; }
  .bi-calendar-x-fill::before { content: "\f1f4"; }
  .bi-calendar-x::before { content: "\f1f5"; }
  .bi-calendar::before { content: "\f1f6"; }
  .bi-calendar2-check-fill::before { content: "\f1f7"; }
  .bi-calendar2-check::before { content: "\f1f8"; }
  .bi-calendar2-date-fill::before { content: "\f1f9"; }
  .bi-calendar2-date::before { content: "\f1fa"; }
  .bi-calendar2-day-fill::before { content: "\f1fb"; }
  .bi-calendar2-day::before { content: "\f1fc"; }
  .bi-calendar2-event-fill::before { content: "\f1fd"; }
  .bi-calendar2-event::before { content: "\f1fe"; }
  .bi-calendar2-fill::before { content: "\f1ff"; }
  .bi-calendar2-minus-fill::before { content: "\f200"; }
  .bi-calendar2-minus::before { content: "\f201"; }
  .bi-calendar2-month-fill::before { content: "\f202"; }
  .bi-calendar2-month::before { content: "\f203"; }
  .bi-calendar2-plus-fill::before { content: "\f204"; }
  .bi-calendar2-plus::before { content: "\f205"; }
  .bi-calendar2-range-fill::before { content: "\f206"; }
  .bi-calendar2-range::before { content: "\f207"; }
  .bi-calendar2-week-fill::before { content: "\f208"; }
  .bi-calendar2-week::before { content: "\f209"; }
  .bi-calendar2-x-fill::before { content: "\f20a"; }
  .bi-calendar2-x::before { content: "\f20b"; }
  .bi-calendar2::before { content: "\f20c"; }
  .bi-calendar3-event-fill::before { content: "\f20d"; }
  .bi-calendar3-event::before { content: "\f20e"; }
  .bi-calendar3-fill::before { content: "\f20f"; }
  .bi-calendar3-range-fill::before { content: "\f210"; }
  .bi-calendar3-range::before { content: "\f211"; }
  .bi-calendar3-week-fill::before { content: "\f212"; }
  .bi-calendar3-week::before { content: "\f213"; }
  .bi-calendar3::before { content: "\f214"; }
  .bi-calendar4-event::before { content: "\f215"; }
  .bi-calendar4-range::before { content: "\f216"; }
  .bi-calendar4-week::before { content: "\f217"; }
  .bi-calendar4::before { content: "\f218"; }
  .bi-camera-fill::before { content: "\f219"; }
  .bi-camera-reels-fill::before { content: "\f21a"; }
  .bi-camera-reels::before { content: "\f21b"; }
  .bi-camera-video-fill::before { content: "\f21c"; }
  .bi-camera-video-off-fill::before { content: "\f21d"; }
  .bi-camera-video-off::before { content: "\f21e"; }
  .bi-camera-video::before { content: "\f21f"; }
  .bi-camera::before { content: "\f220"; }
  .bi-camera2::before { content: "\f221"; }
  .bi-capslock-fill::before { content: "\f222"; }
  .bi-capslock::before { content: "\f223"; }
  .bi-card-checklist::before { content: "\f224"; }
  .bi-card-heading::before { content: "\f225"; }
  .bi-card-image::before { content: "\f226"; }
  .bi-card-list::before { content: "\f227"; }
  .bi-card-text::before { content: "\f228"; }
  .bi-caret-down-fill::before { content: "\f229"; }
  .bi-caret-down-square-fill::before { content: "\f22a"; }
  .bi-caret-down-square::before { content: "\f22b"; }
  .bi-caret-down::before { content: "\f22c"; }
  .bi-caret-left-fill::before { content: "\f22d"; }
  .bi-caret-left-square-fill::before { content: "\f22e"; }
  .bi-caret-left-square::before { content: "\f22f"; }
  .bi-caret-left::before { content: "\f230"; }
  .bi-caret-right-fill::before { content: "\f231"; }
  .bi-caret-right-square-fill::before { content: "\f232"; }
  .bi-caret-right-square::before { content: "\f233"; }
  .bi-caret-right::before { content: "\f234"; }
  .bi-caret-up-fill::before { content: "\f235"; }
  .bi-caret-up-square-fill::before { content: "\f236"; }
  .bi-caret-up-square::before { content: "\f237"; }
  .bi-caret-up::before { content: "\f238"; }
  .bi-cart-check-fill::before { content: "\f239"; }
  .bi-cart-check::before { content: "\f23a"; }
  .bi-cart-dash-fill::before { content: "\f23b"; }
  .bi-cart-dash::before { content: "\f23c"; }
  .bi-cart-fill::before { content: "\f23d"; }
  .bi-cart-plus-fill::before { content: "\f23e"; }
  .bi-cart-plus::before { content: "\f23f"; }
  .bi-cart-x-fill::before { content: "\f240"; }
  .bi-cart-x::before { content: "\f241"; }
  .bi-cart::before { content: "\f242"; }
  .bi-cart2::before { content: "\f243"; }
  .bi-cart3::before { content: "\f244"; }
  .bi-cart4::before { content: "\f245"; }
  .bi-cash-stack::before { content: "\f246"; }
  .bi-cash::before { content: "\f247"; }
  .bi-cast::before { content: "\f248"; }
  .bi-chat-dots-fill::before { content: "\f249"; }
  .bi-chat-dots::before { content: "\f24a"; }
  .bi-chat-fill::before { content: "\f24b"; }
  .bi-chat-left-dots-fill::before { content: "\f24c"; }
  .bi-chat-left-dots::before { content: "\f24d"; }
  .bi-chat-left-fill::before { content: "\f24e"; }
  .bi-chat-left-quote-fill::before { content: "\f24f"; }
  .bi-chat-left-quote::before { content: "\f250"; }
  .bi-chat-left-text-fill::before { content: "\f251"; }
  .bi-chat-left-text::before { content: "\f252"; }
  .bi-chat-left::before { content: "\f253"; }
  .bi-chat-quote-fill::before { content: "\f254"; }
  .bi-chat-quote::before { content: "\f255"; }
  .bi-chat-right-dots-fill::before { content: "\f256"; }
  .bi-chat-right-dots::before { content: "\f257"; }
  .bi-chat-right-fill::before { content: "\f258"; }
  .bi-chat-right-quote-fill::before { content: "\f259"; }
  .bi-chat-right-quote::before { content: "\f25a"; }
  .bi-chat-right-text-fill::before { content: "\f25b"; }
  .bi-chat-right-text::before { content: "\f25c"; }
  .bi-chat-right::before { content: "\f25d"; }
  .bi-chat-square-dots-fill::before { content: "\f25e"; }
  .bi-chat-square-dots::before { content: "\f25f"; }
  .bi-chat-square-fill::before { content: "\f260"; }
  .bi-chat-square-quote-fill::before { content: "\f261"; }
  .bi-chat-square-quote::before { content: "\f262"; }
  .bi-chat-square-text-fill::before { content: "\f263"; }
  .bi-chat-square-text::before { content: "\f264"; }
  .bi-chat-square::before { content: "\f265"; }
  .bi-chat-text-fill::before { content: "\f266"; }
  .bi-chat-text::before { content: "\f267"; }
  .bi-chat::before { content: "\f268"; }
  .bi-check-all::before { content: "\f269"; }
  .bi-check-circle-fill::before { content: "\f26a"; }
  .bi-check-circle::before { content: "\f26b"; }
  .bi-check-square-fill::before { content: "\f26c"; }
  .bi-check-square::before { content: "\f26d"; }
  .bi-check::before { content: "\f26e"; }
  .bi-check2-all::before { content: "\f26f"; }
  .bi-check2-circle::before { content: "\f270"; }
  .bi-check2-square::before { content: "\f271"; }
  .bi-check2::before { content: "\f272"; }
  .bi-chevron-bar-contract::before { content: "\f273"; }
  .bi-chevron-bar-down::before { content: "\f274"; }
  .bi-chevron-bar-expand::before { content: "\f275"; }
  .bi-chevron-bar-left::before { content: "\f276"; }
  .bi-chevron-bar-right::before { content: "\f277"; }
  .bi-chevron-bar-up::before { content: "\f278"; }
  .bi-chevron-compact-down::before { content: "\f279"; }
  .bi-chevron-compact-left::before { content: "\f27a"; }
  .bi-chevron-compact-right::before { content: "\f27b"; }
  .bi-chevron-compact-up::before { content: "\f27c"; }
  .bi-chevron-contract::before { content: "\f27d"; }
  .bi-chevron-double-down::before { content: "\f27e"; }
  .bi-chevron-double-left::before { content: "\f27f"; }
  .bi-chevron-double-right::before { content: "\f280"; }
  .bi-chevron-double-up::before { content: "\f281"; }
  .bi-chevron-down::before { content: "\f282"; }
  .bi-chevron-expand::before { content: "\f283"; }
  .bi-chevron-left::before { content: "\f284"; }
  .bi-chevron-right::before { content: "\f285"; }
  .bi-chevron-up::before { content: "\f286"; }
  .bi-circle-fill::before { content: "\f287"; }
  .bi-circle-half::before { content: "\f288"; }
  .bi-circle-square::before { content: "\f289"; }
  .bi-circle::before { content: "\f28a"; }
  .bi-clipboard-check::before { content: "\f28b"; }
  .bi-clipboard-data::before { content: "\f28c"; }
  .bi-clipboard-minus::before { content: "\f28d"; }
  .bi-clipboard-plus::before { content: "\f28e"; }
  .bi-clipboard-x::before { content: "\f28f"; }
  .bi-clipboard::before { content: "\f290"; }
  .bi-clock-fill::before { content: "\f291"; }
  .bi-clock-history::before { content: "\f292"; }
  .bi-clock::before { content: "\f293"; }
  .bi-cloud-arrow-down-fill::before { content: "\f294"; }
  .bi-cloud-arrow-down::before { content: "\f295"; }
  .bi-cloud-arrow-up-fill::before { content: "\f296"; }
  .bi-cloud-arrow-up::before { content: "\f297"; }
  .bi-cloud-check-fill::before { content: "\f298"; }
  .bi-cloud-check::before { content: "\f299"; }
  .bi-cloud-download-fill::before { content: "\f29a"; }
  .bi-cloud-download::before { content: "\f29b"; }
  .bi-cloud-drizzle-fill::before { content: "\f29c"; }
  .bi-cloud-drizzle::before { content: "\f29d"; }
  .bi-cloud-fill::before { content: "\f29e"; }
  .bi-cloud-fog-fill::before { content: "\f29f"; }
  .bi-cloud-fog::before { content: "\f2a0"; }
  .bi-cloud-fog2-fill::before { content: "\f2a1"; }
  .bi-cloud-fog2::before { content: "\f2a2"; }
  .bi-cloud-hail-fill::before { content: "\f2a3"; }
  .bi-cloud-hail::before { content: "\f2a4"; }
  .bi-cloud-haze-1::before { content: "\f2a5"; }
  .bi-cloud-haze-fill::before { content: "\f2a6"; }
  .bi-cloud-haze::before { content: "\f2a7"; }
  .bi-cloud-haze2-fill::before { content: "\f2a8"; }
  .bi-cloud-lightning-fill::before { content: "\f2a9"; }
  .bi-cloud-lightning-rain-fill::before { content: "\f2aa"; }
  .bi-cloud-lightning-rain::before { content: "\f2ab"; }
  .bi-cloud-lightning::before { content: "\f2ac"; }
  .bi-cloud-minus-fill::before { content: "\f2ad"; }
  .bi-cloud-minus::before { content: "\f2ae"; }
  .bi-cloud-moon-fill::before { content: "\f2af"; }
  .bi-cloud-moon::before { content: "\f2b0"; }
  .bi-cloud-plus-fill::before { content: "\f2b1"; }
  .bi-cloud-plus::before { content: "\f2b2"; }
  .bi-cloud-rain-fill::before { content: "\f2b3"; }
  .bi-cloud-rain-heavy-fill::before { content: "\f2b4"; }
  .bi-cloud-rain-heavy::before { content: "\f2b5"; }
  .bi-cloud-rain::before { content: "\f2b6"; }
  .bi-cloud-slash-fill::before { content: "\f2b7"; }
  .bi-cloud-slash::before { content: "\f2b8"; }
  .bi-cloud-sleet-fill::before { content: "\f2b9"; }
  .bi-cloud-sleet::before { content: "\f2ba"; }
  .bi-cloud-snow-fill::before { content: "\f2bb"; }
  .bi-cloud-snow::before { content: "\f2bc"; }
  .bi-cloud-sun-fill::before { content: "\f2bd"; }
  .bi-cloud-sun::before { content: "\f2be"; }
  .bi-cloud-upload-fill::before { content: "\f2bf"; }
  .bi-cloud-upload::before { content: "\f2c0"; }
  .bi-cloud::before { content: "\f2c1"; }
  .bi-clouds-fill::before { content: "\f2c2"; }
  .bi-clouds::before { content: "\f2c3"; }
  .bi-cloudy-fill::before { content: "\f2c4"; }
  .bi-cloudy::before { content: "\f2c5"; }
  .bi-code-slash::before { content: "\f2c6"; }
  .bi-code-square::before { content: "\f2c7"; }
  .bi-code::before { content: "\f2c8"; }
  .bi-collection-fill::before { content: "\f2c9"; }
  .bi-collection-play-fill::before { content: "\f2ca"; }
  .bi-collection-play::before { content: "\f2cb"; }
  .bi-collection::before { content: "\f2cc"; }
  .bi-columns-gap::before { content: "\f2cd"; }
  .bi-columns::before { content: "\f2ce"; }
  .bi-command::before { content: "\f2cf"; }
  .bi-compass-fill::before { content: "\f2d0"; }
  .bi-compass::before { content: "\f2d1"; }
  .bi-cone-striped::before { content: "\f2d2"; }
  .bi-cone::before { content: "\f2d3"; }
  .bi-controller::before { content: "\f2d4"; }
  .bi-cpu-fill::before { content: "\f2d5"; }
  .bi-cpu::before { content: "\f2d6"; }
  .bi-credit-card-2-back-fill::before { content: "\f2d7"; }
  .bi-credit-card-2-back::before { content: "\f2d8"; }
  .bi-credit-card-2-front-fill::before { content: "\f2d9"; }
  .bi-credit-card-2-front::before { content: "\f2da"; }
  .bi-credit-card-fill::before { content: "\f2db"; }
  .bi-credit-card::before { content: "\f2dc"; }
  .bi-crop::before { content: "\f2dd"; }
  .bi-cup-fill::before { content: "\f2de"; }
  .bi-cup-straw::before { content: "\f2df"; }
  .bi-cup::before { content: "\f2e0"; }
  .bi-cursor-fill::before { content: "\f2e1"; }
  .bi-cursor-text::before { content: "\f2e2"; }
  .bi-cursor::before { content: "\f2e3"; }
  .bi-dash-circle-dotted::before { content: "\f2e4"; }
  .bi-dash-circle-fill::before { content: "\f2e5"; }
  .bi-dash-circle::before { content: "\f2e6"; }
  .bi-dash-square-dotted::before { content: "\f2e7"; }
  .bi-dash-square-fill::before { content: "\f2e8"; }
  .bi-dash-square::before { content: "\f2e9"; }
  .bi-dash::before { content: "\f2ea"; }
  .bi-diagram-2-fill::before { content: "\f2eb"; }
  .bi-diagram-2::before { content: "\f2ec"; }
  .bi-diagram-3-fill::before { content: "\f2ed"; }
  .bi-diagram-3::before { content: "\f2ee"; }
  .bi-diamond-fill::before { content: "\f2ef"; }
  .bi-diamond-half::before { content: "\f2f0"; }
  .bi-diamond::before { content: "\f2f1"; }
  .bi-dice-1-fill::before { content: "\f2f2"; }
  .bi-dice-1::before { content: "\f2f3"; }
  .bi-dice-2-fill::before { content: "\f2f4"; }
  .bi-dice-2::before { content: "\f2f5"; }
  .bi-dice-3-fill::before { content: "\f2f6"; }
  .bi-dice-3::before { content: "\f2f7"; }
  .bi-dice-4-fill::before { content: "\f2f8"; }
  .bi-dice-4::before { content: "\f2f9"; }
  .bi-dice-5-fill::before { content: "\f2fa"; }
  .bi-dice-5::before { content: "\f2fb"; }
  .bi-dice-6-fill::before { content: "\f2fc"; }
  .bi-dice-6::before { content: "\f2fd"; }
  .bi-disc-fill::before { content: "\f2fe"; }
  .bi-disc::before { content: "\f2ff"; }
  .bi-discord::before { content: "\f300"; }
  .bi-display-fill::before { content: "\f301"; }
  .bi-display::before { content: "\f302"; }
  .bi-distribute-horizontal::before { content: "\f303"; }
  .bi-distribute-vertical::before { content: "\f304"; }
  .bi-door-closed-fill::before { content: "\f305"; }
  .bi-door-closed::before { content: "\f306"; }
  .bi-door-open-fill::before { content: "\f307"; }
  .bi-door-open::before { content: "\f308"; }
  .bi-dot::before { content: "\f309"; }
  .bi-download::before { content: "\f30a"; }
  .bi-droplet-fill::before { content: "\f30b"; }
  .bi-droplet-half::before { content: "\f30c"; }
  .bi-droplet::before { content: "\f30d"; }
  .bi-earbuds::before { content: "\f30e"; }
  .bi-easel-fill::before { content: "\f30f"; }
  .bi-easel::before { content: "\f310"; }
  .bi-egg-fill::before { content: "\f311"; }
  .bi-egg-fried::before { content: "\f312"; }
  .bi-egg::before { content: "\f313"; }
  .bi-eject-fill::before { content: "\f314"; }
  .bi-eject::before { content: "\f315"; }
  .bi-emoji-angry-fill::before { content: "\f316"; }
  .bi-emoji-angry::before { content: "\f317"; }
  .bi-emoji-dizzy-fill::before { content: "\f318"; }
  .bi-emoji-dizzy::before { content: "\f319"; }
  .bi-emoji-expressionless-fill::before { content: "\f31a"; }
  .bi-emoji-expressionless::before { content: "\f31b"; }
  .bi-emoji-frown-fill::before { content: "\f31c"; }
  .bi-emoji-frown::before { content: "\f31d"; }
  .bi-emoji-heart-eyes-fill::before { content: "\f31e"; }
  .bi-emoji-heart-eyes::before { content: "\f31f"; }
  .bi-emoji-laughing-fill::before { content: "\f320"; }
  .bi-emoji-laughing::before { content: "\f321"; }
  .bi-emoji-neutral-fill::before { content: "\f322"; }
  .bi-emoji-neutral::before { content: "\f323"; }
  .bi-emoji-smile-fill::before { content: "\f324"; }
  .bi-emoji-smile-upside-down-fill::before { content: "\f325"; }
  .bi-emoji-smile-upside-down::before { content: "\f326"; }
  .bi-emoji-smile::before { content: "\f327"; }
  .bi-emoji-sunglasses-fill::before { content: "\f328"; }
  .bi-emoji-sunglasses::before { content: "\f329"; }
  .bi-emoji-wink-fill::before { content: "\f32a"; }
  .bi-emoji-wink::before { content: "\f32b"; }
  .bi-envelope-fill::before { content: "\f32c"; }
  .bi-envelope-open-fill::before { content: "\f32d"; }
  .bi-envelope-open::before { content: "\f32e"; }
  .bi-envelope::before { content: "\f32f"; }
  .bi-eraser-fill::before { content: "\f330"; }
  .bi-eraser::before { content: "\f331"; }
  .bi-exclamation-circle-fill::before { content: "\f332"; }
  .bi-exclamation-circle::before { content: "\f333"; }
  .bi-exclamation-diamond-fill::before { content: "\f334"; }
  .bi-exclamation-diamond::before { content: "\f335"; }
  .bi-exclamation-octagon-fill::before { content: "\f336"; }
  .bi-exclamation-octagon::before { content: "\f337"; }
  .bi-exclamation-square-fill::before { content: "\f338"; }
  .bi-exclamation-square::before { content: "\f339"; }
  .bi-exclamation-triangle-fill::before { content: "\f33a"; }
  .bi-exclamation-triangle::before { content: "\f33b"; }
  .bi-exclamation::before { content: "\f33c"; }
  .bi-exclude::before { content: "\f33d"; }
  .bi-eye-fill::before { content: "\f33e"; }
  .bi-eye-slash-fill::before { content: "\f33f"; }
  .bi-eye-slash::before { content: "\f340"; }
  .bi-eye::before { content: "\f341"; }
  .bi-eyedropper::before { content: "\f342"; }
  .bi-eyeglasses::before { content: "\f343"; }
  .bi-facebook::before { content: "\f344"; }
  .bi-file-arrow-down-fill::before { content: "\f345"; }
  .bi-file-arrow-down::before { content: "\f346"; }
  .bi-file-arrow-up-fill::before { content: "\f347"; }
  .bi-file-arrow-up::before { content: "\f348"; }
  .bi-file-bar-graph-fill::before { content: "\f349"; }
  .bi-file-bar-graph::before { content: "\f34a"; }
  .bi-file-binary-fill::before { content: "\f34b"; }
  .bi-file-binary::before { content: "\f34c"; }
  .bi-file-break-fill::before { content: "\f34d"; }
  .bi-file-break::before { content: "\f34e"; }
  .bi-file-check-fill::before { content: "\f34f"; }
  .bi-file-check::before { content: "\f350"; }
  .bi-file-code-fill::before { content: "\f351"; }
  .bi-file-code::before { content: "\f352"; }
  .bi-file-diff-fill::before { content: "\f353"; }
  .bi-file-diff::before { content: "\f354"; }
  .bi-file-earmark-arrow-down-fill::before { content: "\f355"; }
  .bi-file-earmark-arrow-down::before { content: "\f356"; }
  .bi-file-earmark-arrow-up-fill::before { content: "\f357"; }
  .bi-file-earmark-arrow-up::before { content: "\f358"; }
  .bi-file-earmark-bar-graph-fill::before { content: "\f359"; }
  .bi-file-earmark-bar-graph::before { content: "\f35a"; }
  .bi-file-earmark-binary-fill::before { content: "\f35b"; }
  .bi-file-earmark-binary::before { content: "\f35c"; }
  .bi-file-earmark-break-fill::before { content: "\f35d"; }
  .bi-file-earmark-break::before { content: "\f35e"; }
  .bi-file-earmark-check-fill::before { content: "\f35f"; }
  .bi-file-earmark-check::before { content: "\f360"; }
  .bi-file-earmark-code-fill::before { content: "\f361"; }
  .bi-file-earmark-code::before { content: "\f362"; }
  .bi-file-earmark-diff-fill::before { content: "\f363"; }
  .bi-file-earmark-diff::before { content: "\f364"; }
  .bi-file-earmark-easel-fill::before { content: "\f365"; }
  .bi-file-earmark-easel::before { content: "\f366"; }
  .bi-file-earmark-excel-fill::before { content: "\f367"; }
  .bi-file-earmark-excel::before { content: "\f368"; }
  .bi-file-earmark-fill::before { content: "\f369"; }
  .bi-file-earmark-font-fill::before { content: "\f36a"; }
  .bi-file-earmark-font::before { content: "\f36b"; }
  .bi-file-earmark-image-fill::before { content: "\f36c"; }
  .bi-file-earmark-image::before { content: "\f36d"; }
  .bi-file-earmark-lock-fill::before { content: "\f36e"; }
  .bi-file-earmark-lock::before { content: "\f36f"; }
  .bi-file-earmark-lock2-fill::before { content: "\f370"; }
  .bi-file-earmark-lock2::before { content: "\f371"; }
  .bi-file-earmark-medical-fill::before { content: "\f372"; }
  .bi-file-earmark-medical::before { content: "\f373"; }
  .bi-file-earmark-minus-fill::before { content: "\f374"; }
  .bi-file-earmark-minus::before { content: "\f375"; }
  .bi-file-earmark-music-fill::before { content: "\f376"; }
  .bi-file-earmark-music::before { content: "\f377"; }
  .bi-file-earmark-person-fill::before { content: "\f378"; }
  .bi-file-earmark-person::before { content: "\f379"; }
  .bi-file-earmark-play-fill::before { content: "\f37a"; }
  .bi-file-earmark-play::before { content: "\f37b"; }
  .bi-file-earmark-plus-fill::before { content: "\f37c"; }
  .bi-file-earmark-plus::before { content: "\f37d"; }
  .bi-file-earmark-post-fill::before { content: "\f37e"; }
  .bi-file-earmark-post::before { content: "\f37f"; }
  .bi-file-earmark-ppt-fill::before { content: "\f380"; }
  .bi-file-earmark-ppt::before { content: "\f381"; }
  .bi-file-earmark-richtext-fill::before { content: "\f382"; }
  .bi-file-earmark-richtext::before { content: "\f383"; }
  .bi-file-earmark-ruled-fill::before { content: "\f384"; }
  .bi-file-earmark-ruled::before { content: "\f385"; }
  .bi-file-earmark-slides-fill::before { content: "\f386"; }
  .bi-file-earmark-slides::before { content: "\f387"; }
  .bi-file-earmark-spreadsheet-fill::before { content: "\f388"; }
  .bi-file-earmark-spreadsheet::before { content: "\f389"; }
  .bi-file-earmark-text-fill::before { content: "\f38a"; }
  .bi-file-earmark-text::before { content: "\f38b"; }
  .bi-file-earmark-word-fill::before { content: "\f38c"; }
  .bi-file-earmark-word::before { content: "\f38d"; }
  .bi-file-earmark-x-fill::before { content: "\f38e"; }
  .bi-file-earmark-x::before { content: "\f38f"; }
  .bi-file-earmark-zip-fill::before { content: "\f390"; }
  .bi-file-earmark-zip::before { content: "\f391"; }
  .bi-file-earmark::before { content: "\f392"; }
  .bi-file-easel-fill::before { content: "\f393"; }
  .bi-file-easel::before { content: "\f394"; }
  .bi-file-excel-fill::before { content: "\f395"; }
  .bi-file-excel::before { content: "\f396"; }
  .bi-file-fill::before { content: "\f397"; }
  .bi-file-font-fill::before { content: "\f398"; }
  .bi-file-font::before { content: "\f399"; }
  .bi-file-image-fill::before { content: "\f39a"; }
  .bi-file-image::before { content: "\f39b"; }
  .bi-file-lock-fill::before { content: "\f39c"; }
  .bi-file-lock::before { content: "\f39d"; }
  .bi-file-lock2-fill::before { content: "\f39e"; }
  .bi-file-lock2::before { content: "\f39f"; }
  .bi-file-medical-fill::before { content: "\f3a0"; }
  .bi-file-medical::before { content: "\f3a1"; }
  .bi-file-minus-fill::before { content: "\f3a2"; }
  .bi-file-minus::before { content: "\f3a3"; }
  .bi-file-music-fill::before { content: "\f3a4"; }
  .bi-file-music::before { content: "\f3a5"; }
  .bi-file-person-fill::before { content: "\f3a6"; }
  .bi-file-person::before { content: "\f3a7"; }
  .bi-file-play-fill::before { content: "\f3a8"; }
  .bi-file-play::before { content: "\f3a9"; }
  .bi-file-plus-fill::before { content: "\f3aa"; }
  .bi-file-plus::before { content: "\f3ab"; }
  .bi-file-post-fill::before { content: "\f3ac"; }
  .bi-file-post::before { content: "\f3ad"; }
  .bi-file-ppt-fill::before { content: "\f3ae"; }
  .bi-file-ppt::before { content: "\f3af"; }
  .bi-file-richtext-fill::before { content: "\f3b0"; }
  .bi-file-richtext::before { content: "\f3b1"; }
  .bi-file-ruled-fill::before { content: "\f3b2"; }
  .bi-file-ruled::before { content: "\f3b3"; }
  .bi-file-slides-fill::before { content: "\f3b4"; }
  .bi-file-slides::before { content: "\f3b5"; }
  .bi-file-spreadsheet-fill::before { content: "\f3b6"; }
  .bi-file-spreadsheet::before { content: "\f3b7"; }
  .bi-file-text-fill::before { content: "\f3b8"; }
  .bi-file-text::before { content: "\f3b9"; }
  .bi-file-word-fill::before { content: "\f3ba"; }
  .bi-file-word::before { content: "\f3bb"; }
  .bi-file-x-fill::before { content: "\f3bc"; }
  .bi-file-x::before { content: "\f3bd"; }
  .bi-file-zip-fill::before { content: "\f3be"; }
  .bi-file-zip::before { content: "\f3bf"; }
  .bi-file::before { content: "\f3c0"; }
  .bi-files-alt::before { content: "\f3c1"; }
  .bi-files::before { content: "\f3c2"; }
  .bi-film::before { content: "\f3c3"; }
  .bi-filter-circle-fill::before { content: "\f3c4"; }
  .bi-filter-circle::before { content: "\f3c5"; }
  .bi-filter-left::before { content: "\f3c6"; }
  .bi-filter-right::before { content: "\f3c7"; }
  .bi-filter-square-fill::before { content: "\f3c8"; }
  .bi-filter-square::before { content: "\f3c9"; }
  .bi-filter::before { content: "\f3ca"; }
  .bi-flag-fill::before { content: "\f3cb"; }
  .bi-flag::before { content: "\f3cc"; }
  .bi-flower1::before { content: "\f3cd"; }
  .bi-flower2::before { content: "\f3ce"; }
  .bi-flower3::before { content: "\f3cf"; }
  .bi-folder-check::before { content: "\f3d0"; }
  .bi-folder-fill::before { content: "\f3d1"; }
  .bi-folder-minus::before { content: "\f3d2"; }
  .bi-folder-plus::before { content: "\f3d3"; }
  .bi-folder-symlink-fill::before { content: "\f3d4"; }
  .bi-folder-symlink::before { content: "\f3d5"; }
  .bi-folder-x::before { content: "\f3d6"; }
  .bi-folder::before { content: "\f3d7"; }
  .bi-folder2-open::before { content: "\f3d8"; }
  .bi-folder2::before { content: "\f3d9"; }
  .bi-fonts::before { content: "\f3da"; }
  .bi-forward-fill::before { content: "\f3db"; }
  .bi-forward::before { content: "\f3dc"; }
  .bi-front::before { content: "\f3dd"; }
  .bi-fullscreen-exit::before { content: "\f3de"; }
  .bi-fullscreen::before { content: "\f3df"; }
  .bi-funnel-fill::before { content: "\f3e0"; }
  .bi-funnel::before { content: "\f3e1"; }
  .bi-gear-fill::before { content: "\f3e2"; }
  .bi-gear-wide-connected::before { content: "\f3e3"; }
  .bi-gear-wide::before { content: "\f3e4"; }
  .bi-gear::before { content: "\f3e5"; }
  .bi-gem::before { content: "\f3e6"; }
  .bi-geo-alt-fill::before { content: "\f3e7"; }
  .bi-geo-alt::before { content: "\f3e8"; }
  .bi-geo-fill::before { content: "\f3e9"; }
  .bi-geo::before { content: "\f3ea"; }
  .bi-gift-fill::before { content: "\f3eb"; }
  .bi-gift::before { content: "\f3ec"; }
  .bi-github::before { content: "\f3ed"; }
  .bi-globe::before { content: "\f3ee"; }
  .bi-globe2::before { content: "\f3ef"; }
  .bi-google::before { content: "\f3f0"; }
  .bi-graph-down::before { content: "\f3f1"; }
  .bi-graph-up::before { content: "\f3f2"; }
  .bi-grid-1x2-fill::before { content: "\f3f3"; }
  .bi-grid-1x2::before { content: "\f3f4"; }
  .bi-grid-3x2-gap-fill::before { content: "\f3f5"; }
  .bi-grid-3x2-gap::before { content: "\f3f6"; }
  .bi-grid-3x2::before { content: "\f3f7"; }
  .bi-grid-3x3-gap-fill::before { content: "\f3f8"; }
  .bi-grid-3x3-gap::before { content: "\f3f9"; }
  .bi-grid-3x3::before { content: "\f3fa"; }
  .bi-grid-fill::before { content: "\f3fb"; }
  .bi-grid::before { content: "\f3fc"; }
  .bi-grip-horizontal::before { content: "\f3fd"; }
  .bi-grip-vertical::before { content: "\f3fe"; }
  .bi-hammer::before { content: "\f3ff"; }
  .bi-hand-index-fill::before { content: "\f400"; }
  .bi-hand-index-thumb-fill::before { content: "\f401"; }
  .bi-hand-index-thumb::before { content: "\f402"; }
  .bi-hand-index::before { content: "\f403"; }
  .bi-hand-thumbs-down-fill::before { content: "\f404"; }
  .bi-hand-thumbs-down::before { content: "\f405"; }
  .bi-hand-thumbs-up-fill::before { content: "\f406"; }
  .bi-hand-thumbs-up::before { content: "\f407"; }
  .bi-handbag-fill::before { content: "\f408"; }
  .bi-handbag::before { content: "\f409"; }
  .bi-hash::before { content: "\f40a"; }
  .bi-hdd-fill::before { content: "\f40b"; }
  .bi-hdd-network-fill::before { content: "\f40c"; }
  .bi-hdd-network::before { content: "\f40d"; }
  .bi-hdd-rack-fill::before { content: "\f40e"; }
  .bi-hdd-rack::before { content: "\f40f"; }
  .bi-hdd-stack-fill::before { content: "\f410"; }
  .bi-hdd-stack::before { content: "\f411"; }
  .bi-hdd::before { content: "\f412"; }
  .bi-headphones::before { content: "\f413"; }
  .bi-headset::before { content: "\f414"; }
  .bi-heart-fill::before { content: "\f415"; }
  .bi-heart-half::before { content: "\f416"; }
  .bi-heart::before { content: "\f417"; }
  .bi-heptagon-fill::before { content: "\f418"; }
  .bi-heptagon-half::before { content: "\f419"; }
  .bi-heptagon::before { content: "\f41a"; }
  .bi-hexagon-fill::before { content: "\f41b"; }
  .bi-hexagon-half::before { content: "\f41c"; }
  .bi-hexagon::before { content: "\f41d"; }
  .bi-hourglass-bottom::before { content: "\f41e"; }
  .bi-hourglass-split::before { content: "\f41f"; }
  .bi-hourglass-top::before { content: "\f420"; }
  .bi-hourglass::before { content: "\f421"; }
  .bi-house-door-fill::before { content: "\f422"; }
  .bi-house-door::before { content: "\f423"; }
  .bi-house-fill::before { content: "\f424"; }
  .bi-house::before { content: "\f425"; }
  .bi-hr::before { content: "\f426"; }
  .bi-hurricane::before { content: "\f427"; }
  .bi-image-alt::before { content: "\f428"; }
  .bi-image-fill::before { content: "\f429"; }
  .bi-image::before { content: "\f42a"; }
  .bi-images::before { content: "\f42b"; }
  .bi-inbox-fill::before { content: "\f42c"; }
  .bi-inbox::before { content: "\f42d"; }
  .bi-inboxes-fill::before { content: "\f42e"; }
  .bi-inboxes::before { content: "\f42f"; }
  .bi-info-circle-fill::before { content: "\f430"; }
  .bi-info-circle::before { content: "\f431"; }
  .bi-info-square-fill::before { content: "\f432"; }
  .bi-info-square::before { content: "\f433"; }
  .bi-info::before { content: "\f434"; }
  .bi-input-cursor-text::before { content: "\f435"; }
  .bi-input-cursor::before { content: "\f436"; }
  .bi-instagram::before { content: "\f437"; }
  .bi-intersect::before { content: "\f438"; }
  .bi-journal-album::before { content: "\f439"; }
  .bi-journal-arrow-down::before { content: "\f43a"; }
  .bi-journal-arrow-up::before { content: "\f43b"; }
  .bi-journal-bookmark-fill::before { content: "\f43c"; }
  .bi-journal-bookmark::before { content: "\f43d"; }
  .bi-journal-check::before { content: "\f43e"; }
  .bi-journal-code::before { content: "\f43f"; }
  .bi-journal-medical::before { content: "\f440"; }
  .bi-journal-minus::before { content: "\f441"; }
  .bi-journal-plus::before { content: "\f442"; }
  .bi-journal-richtext::before { content: "\f443"; }
  .bi-journal-text::before { content: "\f444"; }
  .bi-journal-x::before { content: "\f445"; }
  .bi-journal::before { content: "\f446"; }
  .bi-journals::before { content: "\f447"; }
  .bi-joystick::before { content: "\f448"; }
  .bi-justify-left::before { content: "\f449"; }
  .bi-justify-right::before { content: "\f44a"; }
  .bi-justify::before { content: "\f44b"; }
  .bi-kanban-fill::before { content: "\f44c"; }
  .bi-kanban::before { content: "\f44d"; }
  .bi-key-fill::before { content: "\f44e"; }
  .bi-key::before { content: "\f44f"; }
  .bi-keyboard-fill::before { content: "\f450"; }
  .bi-keyboard::before { content: "\f451"; }
  .bi-ladder::before { content: "\f452"; }
  .bi-lamp-fill::before { content: "\f453"; }
  .bi-lamp::before { content: "\f454"; }
  .bi-laptop-fill::before { content: "\f455"; }
  .bi-laptop::before { content: "\f456"; }
  .bi-layer-backward::before { content: "\f457"; }
  .bi-layer-forward::before { content: "\f458"; }
  .bi-layers-fill::before { content: "\f459"; }
  .bi-layers-half::before { content: "\f45a"; }
  .bi-layers::before { content: "\f45b"; }
  .bi-layout-sidebar-inset-reverse::before { content: "\f45c"; }
  .bi-layout-sidebar-inset::before { content: "\f45d"; }
  .bi-layout-sidebar-reverse::before { content: "\f45e"; }
  .bi-layout-sidebar::before { content: "\f45f"; }
  .bi-layout-split::before { content: "\f460"; }
  .bi-layout-text-sidebar-reverse::before { content: "\f461"; }
  .bi-layout-text-sidebar::before { content: "\f462"; }
  .bi-layout-text-window-reverse::before { content: "\f463"; }
  .bi-layout-text-window::before { content: "\f464"; }
  .bi-layout-three-columns::before { content: "\f465"; }
  .bi-layout-wtf::before { content: "\f466"; }
  .bi-life-preserver::before { content: "\f467"; }
  .bi-lightbulb-fill::before { content: "\f468"; }
  .bi-lightbulb-off-fill::before { content: "\f469"; }
  .bi-lightbulb-off::before { content: "\f46a"; }
  .bi-lightbulb::before { content: "\f46b"; }
  .bi-lightning-charge-fill::before { content: "\f46c"; }
  .bi-lightning-charge::before { content: "\f46d"; }
  .bi-lightning-fill::before { content: "\f46e"; }
  .bi-lightning::before { content: "\f46f"; }
  .bi-link-45deg::before { content: "\f470"; }
  .bi-link::before { content: "\f471"; }
  .bi-linkedin::before { content: "\f472"; }
  .bi-list-check::before { content: "\f473"; }
  .bi-list-nested::before { content: "\f474"; }
  .bi-list-ol::before { content: "\f475"; }
  .bi-list-stars::before { content: "\f476"; }
  .bi-list-task::before { content: "\f477"; }
  .bi-list-ul::before { content: "\f478"; }
  .bi-list::before { content: "\f479"; }
  .bi-lock-fill::before { content: "\f47a"; }
  .bi-lock::before { content: "\f47b"; }
  .bi-mailbox::before { content: "\f47c"; }
  .bi-mailbox2::before { content: "\f47d"; }
  .bi-map-fill::before { content: "\f47e"; }
  .bi-map::before { content: "\f47f"; }
  .bi-markdown-fill::before { content: "\f480"; }
  .bi-markdown::before { content: "\f481"; }
  .bi-mask::before { content: "\f482"; }
  .bi-megaphone-fill::before { content: "\f483"; }
  .bi-megaphone::before { content: "\f484"; }
  .bi-menu-app-fill::before { content: "\f485"; }
  .bi-menu-app::before { content: "\f486"; }
  .bi-menu-button-fill::before { content: "\f487"; }
  .bi-menu-button-wide-fill::before { content: "\f488"; }
  .bi-menu-button-wide::before { content: "\f489"; }
  .bi-menu-button::before { content: "\f48a"; }
  .bi-menu-down::before { content: "\f48b"; }
  .bi-menu-up::before { content: "\f48c"; }
  .bi-mic-fill::before { content: "\f48d"; }
  .bi-mic-mute-fill::before { content: "\f48e"; }
  .bi-mic-mute::before { content: "\f48f"; }
  .bi-mic::before { content: "\f490"; }
  .bi-minecart-loaded::before { content: "\f491"; }
  .bi-minecart::before { content: "\f492"; }
  .bi-moisture::before { content: "\f493"; }
  .bi-moon-fill::before { content: "\f494"; }
  .bi-moon-stars-fill::before { content: "\f495"; }
  .bi-moon-stars::before { content: "\f496"; }
  .bi-moon::before { content: "\f497"; }
  .bi-mouse-fill::before { content: "\f498"; }
  .bi-mouse::before { content: "\f499"; }
  .bi-mouse2-fill::before { content: "\f49a"; }
  .bi-mouse2::before { content: "\f49b"; }
  .bi-mouse3-fill::before { content: "\f49c"; }
  .bi-mouse3::before { content: "\f49d"; }
  .bi-music-note-beamed::before { content: "\f49e"; }
  .bi-music-note-list::before { content: "\f49f"; }
  .bi-music-note::before { content: "\f4a0"; }
  .bi-music-player-fill::before { content: "\f4a1"; }
  .bi-music-player::before { content: "\f4a2"; }
  .bi-newspaper::before { content: "\f4a3"; }
  .bi-node-minus-fill::before { content: "\f4a4"; }
  .bi-node-minus::before { content: "\f4a5"; }
  .bi-node-plus-fill::before { content: "\f4a6"; }
  .bi-node-plus::before { content: "\f4a7"; }
  .bi-nut-fill::before { content: "\f4a8"; }
  .bi-nut::before { content: "\f4a9"; }
  .bi-octagon-fill::before { content: "\f4aa"; }
  .bi-octagon-half::before { content: "\f4ab"; }
  .bi-octagon::before { content: "\f4ac"; }
  .bi-option::before { content: "\f4ad"; }
  .bi-outlet::before { content: "\f4ae"; }
  .bi-paint-bucket::before { content: "\f4af"; }
  .bi-palette-fill::before { content: "\f4b0"; }
  .bi-palette::before { content: "\f4b1"; }
  .bi-palette2::before { content: "\f4b2"; }
  .bi-paperclip::before { content: "\f4b3"; }
  .bi-paragraph::before { content: "\f4b4"; }
  .bi-patch-check-fill::before { content: "\f4b5"; }
  .bi-patch-check::before { content: "\f4b6"; }
  .bi-patch-exclamation-fill::before { content: "\f4b7"; }
  .bi-patch-exclamation::before { content: "\f4b8"; }
  .bi-patch-minus-fill::before { content: "\f4b9"; }
  .bi-patch-minus::before { content: "\f4ba"; }
  .bi-patch-plus-fill::before { content: "\f4bb"; }
  .bi-patch-plus::before { content: "\f4bc"; }
  .bi-patch-question-fill::before { content: "\f4bd"; }
  .bi-patch-question::before { content: "\f4be"; }
  .bi-pause-btn-fill::before { content: "\f4bf"; }
  .bi-pause-btn::before { content: "\f4c0"; }
  .bi-pause-circle-fill::before { content: "\f4c1"; }
  .bi-pause-circle::before { content: "\f4c2"; }
  .bi-pause-fill::before { content: "\f4c3"; }
  .bi-pause::before { content: "\f4c4"; }
  .bi-peace-fill::before { content: "\f4c5"; }
  .bi-peace::before { content: "\f4c6"; }
  .bi-pen-fill::before { content: "\f4c7"; }
  .bi-pen::before { content: "\f4c8"; }
  .bi-pencil-fill::before { content: "\f4c9"; }
  .bi-pencil-square::before { content: "\f4ca"; }
  .bi-pencil::before { content: "\f4cb"; }
  .bi-pentagon-fill::before { content: "\f4cc"; }
  .bi-pentagon-half::before { content: "\f4cd"; }
  .bi-pentagon::before { content: "\f4ce"; }
  .bi-people-fill::before { content: "\f4cf"; }
  .bi-people::before { content: "\f4d0"; }
  .bi-percent::before { content: "\f4d1"; }
  .bi-person-badge-fill::before { content: "\f4d2"; }
  .bi-person-badge::before { content: "\f4d3"; }
  .bi-person-bounding-box::before { content: "\f4d4"; }
  .bi-person-check-fill::before { content: "\f4d5"; }
  .bi-person-check::before { content: "\f4d6"; }
  .bi-person-circle::before { content: "\f4d7"; }
  .bi-person-dash-fill::before { content: "\f4d8"; }
  .bi-person-dash::before { content: "\f4d9"; }
  .bi-person-fill::before { content: "\f4da"; }
  .bi-person-lines-fill::before { content: "\f4db"; }
  .bi-person-plus-fill::before { content: "\f4dc"; }
  .bi-person-plus::before { content: "\f4dd"; }
  .bi-person-square::before { content: "\f4de"; }
  .bi-person-x-fill::before { content: "\f4df"; }
  .bi-person-x::before { content: "\f4e0"; }
  .bi-person::before { content: "\f4e1"; }
  .bi-phone-fill::before { content: "\f4e2"; }
  .bi-phone-landscape-fill::before { content: "\f4e3"; }
  .bi-phone-landscape::before { content: "\f4e4"; }
  .bi-phone-vibrate-fill::before { content: "\f4e5"; }
  .bi-phone-vibrate::before { content: "\f4e6"; }
  .bi-phone::before { content: "\f4e7"; }
  .bi-pie-chart-fill::before { content: "\f4e8"; }
  .bi-pie-chart::before { content: "\f4e9"; }
  .bi-pin-angle-fill::before { content: "\f4ea"; }
  .bi-pin-angle::before { content: "\f4eb"; }
  .bi-pin-fill::before { content: "\f4ec"; }
  .bi-pin::before { content: "\f4ed"; }
  .bi-pip-fill::before { content: "\f4ee"; }
  .bi-pip::before { content: "\f4ef"; }
  .bi-play-btn-fill::before { content: "\f4f0"; }
  .bi-play-btn::before { content: "\f4f1"; }
  .bi-play-circle-fill::before { content: "\f4f2"; }
  .bi-play-circle::before { content: "\f4f3"; }
  .bi-play-fill::before { content: "\f4f4"; }
  .bi-play::before { content: "\f4f5"; }
  .bi-plug-fill::before { content: "\f4f6"; }
  .bi-plug::before { content: "\f4f7"; }
  .bi-plus-circle-dotted::before { content: "\f4f8"; }
  .bi-plus-circle-fill::before { content: "\f4f9"; }
  .bi-plus-circle::before { content: "\f4fa"; }
  .bi-plus-square-dotted::before { content: "\f4fb"; }
  .bi-plus-square-fill::before { content: "\f4fc"; }
  .bi-plus-square::before { content: "\f4fd"; }
  .bi-plus::before { content: "\f4fe"; }
  .bi-power::before { content: "\f4ff"; }
  .bi-printer-fill::before { content: "\f500"; }
  .bi-printer::before { content: "\f501"; }
  .bi-puzzle-fill::before { content: "\f502"; }
  .bi-puzzle::before { content: "\f503"; }
  .bi-question-circle-fill::before { content: "\f504"; }
  .bi-question-circle::before { content: "\f505"; }
  .bi-question-diamond-fill::before { content: "\f506"; }
  .bi-question-diamond::before { content: "\f507"; }
  .bi-question-octagon-fill::before { content: "\f508"; }
  .bi-question-octagon::before { content: "\f509"; }
  .bi-question-square-fill::before { content: "\f50a"; }
  .bi-question-square::before { content: "\f50b"; }
  .bi-question::before { content: "\f50c"; }
  .bi-rainbow::before { content: "\f50d"; }
  .bi-receipt-cutoff::before { content: "\f50e"; }
  .bi-receipt::before { content: "\f50f"; }
  .bi-reception-0::before { content: "\f510"; }
  .bi-reception-1::before { content: "\f511"; }
  .bi-reception-2::before { content: "\f512"; }
  .bi-reception-3::before { content: "\f513"; }
  .bi-reception-4::before { content: "\f514"; }
  .bi-record-btn-fill::before { content: "\f515"; }
  .bi-record-btn::before { content: "\f516"; }
  .bi-record-circle-fill::before { content: "\f517"; }
  .bi-record-circle::before { content: "\f518"; }
  .bi-record-fill::before { content: "\f519"; }
  .bi-record::before { content: "\f51a"; }
  .bi-record2-fill::before { content: "\f51b"; }
  .bi-record2::before { content: "\f51c"; }
  .bi-reply-all-fill::before { content: "\f51d"; }
  .bi-reply-all::before { content: "\f51e"; }
  .bi-reply-fill::before { content: "\f51f"; }
  .bi-reply::before { content: "\f520"; }
  .bi-rss-fill::before { content: "\f521"; }
  .bi-rss::before { content: "\f522"; }
  .bi-rulers::before { content: "\f523"; }
  .bi-save-fill::before { content: "\f524"; }
  .bi-save::before { content: "\f525"; }
  .bi-save2-fill::before { content: "\f526"; }
  .bi-save2::before { content: "\f527"; }
  .bi-scissors::before { content: "\f528"; }
  .bi-screwdriver::before { content: "\f529"; }
  .bi-search::before { content: "\f52a"; }
  .bi-segmented-nav::before { content: "\f52b"; }
  .bi-server::before { content: "\f52c"; }
  .bi-share-fill::before { content: "\f52d"; }
  .bi-share::before { content: "\f52e"; }
  .bi-shield-check::before { content: "\f52f"; }
  .bi-shield-exclamation::before { content: "\f530"; }
  .bi-shield-fill-check::before { content: "\f531"; }
  .bi-shield-fill-exclamation::before { content: "\f532"; }
  .bi-shield-fill-minus::before { content: "\f533"; }
  .bi-shield-fill-plus::before { content: "\f534"; }
  .bi-shield-fill-x::before { content: "\f535"; }
  .bi-shield-fill::before { content: "\f536"; }
  .bi-shield-lock-fill::before { content: "\f537"; }
  .bi-shield-lock::before { content: "\f538"; }
  .bi-shield-minus::before { content: "\f539"; }
  .bi-shield-plus::before { content: "\f53a"; }
  .bi-shield-shaded::before { content: "\f53b"; }
  .bi-shield-slash-fill::before { content: "\f53c"; }
  .bi-shield-slash::before { content: "\f53d"; }
  .bi-shield-x::before { content: "\f53e"; }
  .bi-shield::before { content: "\f53f"; }
  .bi-shift-fill::before { content: "\f540"; }
  .bi-shift::before { content: "\f541"; }
  .bi-shop-window::before { content: "\f542"; }
  .bi-shop::before { content: "\f543"; }
  .bi-shuffle::before { content: "\f544"; }
  .bi-signpost-2-fill::before { content: "\f545"; }
  .bi-signpost-2::before { content: "\f546"; }
  .bi-signpost-fill::before { content: "\f547"; }
  .bi-signpost-split-fill::before { content: "\f548"; }
  .bi-signpost-split::before { content: "\f549"; }
  .bi-signpost::before { content: "\f54a"; }
  .bi-sim-fill::before { content: "\f54b"; }
  .bi-sim::before { content: "\f54c"; }
  .bi-skip-backward-btn-fill::before { content: "\f54d"; }
  .bi-skip-backward-btn::before { content: "\f54e"; }
  .bi-skip-backward-circle-fill::before { content: "\f54f"; }
  .bi-skip-backward-circle::before { content: "\f550"; }
  .bi-skip-backward-fill::before { content: "\f551"; }
  .bi-skip-backward::before { content: "\f552"; }
  .bi-skip-end-btn-fill::before { content: "\f553"; }
  .bi-skip-end-btn::before { content: "\f554"; }
  .bi-skip-end-circle-fill::before { content: "\f555"; }
  .bi-skip-end-circle::before { content: "\f556"; }
  .bi-skip-end-fill::before { content: "\f557"; }
  .bi-skip-end::before { content: "\f558"; }
  .bi-skip-forward-btn-fill::before { content: "\f559"; }
  .bi-skip-forward-btn::before { content: "\f55a"; }
  .bi-skip-forward-circle-fill::before { content: "\f55b"; }
  .bi-skip-forward-circle::before { content: "\f55c"; }
  .bi-skip-forward-fill::before { content: "\f55d"; }
  .bi-skip-forward::before { content: "\f55e"; }
  .bi-skip-start-btn-fill::before { content: "\f55f"; }
  .bi-skip-start-btn::before { content: "\f560"; }
  .bi-skip-start-circle-fill::before { content: "\f561"; }
  .bi-skip-start-circle::before { content: "\f562"; }
  .bi-skip-start-fill::before { content: "\f563"; }
  .bi-skip-start::before { content: "\f564"; }
  .bi-slack::before { content: "\f565"; }
  .bi-slash-circle-fill::before { content: "\f566"; }
  .bi-slash-circle::before { content: "\f567"; }
  .bi-slash-square-fill::before { content: "\f568"; }
  .bi-slash-square::before { content: "\f569"; }
  .bi-slash::before { content: "\f56a"; }
  .bi-sliders::before { content: "\f56b"; }
  .bi-smartwatch::before { content: "\f56c"; }
  .bi-snow::before { content: "\f56d"; }
  .bi-snow2::before { content: "\f56e"; }
  .bi-snow3::before { content: "\f56f"; }
  .bi-sort-alpha-down-alt::before { content: "\f570"; }
  .bi-sort-alpha-down::before { content: "\f571"; }
  .bi-sort-alpha-up-alt::before { content: "\f572"; }
  .bi-sort-alpha-up::before { content: "\f573"; }
  .bi-sort-down-alt::before { content: "\f574"; }
  .bi-sort-down::before { content: "\f575"; }
  .bi-sort-numeric-down-alt::before { content: "\f576"; }
  .bi-sort-numeric-down::before { content: "\f577"; }
  .bi-sort-numeric-up-alt::before { content: "\f578"; }
  .bi-sort-numeric-up::before { content: "\f579"; }
  .bi-sort-up-alt::before { content: "\f57a"; }
  .bi-sort-up::before { content: "\f57b"; }
  .bi-soundwave::before { content: "\f57c"; }
  .bi-speaker-fill::before { content: "\f57d"; }
  .bi-speaker::before { content: "\f57e"; }
  .bi-speedometer::before { content: "\f57f"; }
  .bi-speedometer2::before { content: "\f580"; }
  .bi-spellcheck::before { content: "\f581"; }
  .bi-square-fill::before { content: "\f582"; }
  .bi-square-half::before { content: "\f583"; }
  .bi-square::before { content: "\f584"; }
  .bi-stack::before { content: "\f585"; }
  .bi-star-fill::before { content: "\f586"; }
  .bi-star-half::before { content: "\f587"; }
  .bi-star::before { content: "\f588"; }
  .bi-stars::before { content: "\f589"; }
  .bi-stickies-fill::before { content: "\f58a"; }
  .bi-stickies::before { content: "\f58b"; }
  .bi-sticky-fill::before { content: "\f58c"; }
  .bi-sticky::before { content: "\f58d"; }
  .bi-stop-btn-fill::before { content: "\f58e"; }
  .bi-stop-btn::before { content: "\f58f"; }
  .bi-stop-circle-fill::before { content: "\f590"; }
  .bi-stop-circle::before { content: "\f591"; }
  .bi-stop-fill::before { content: "\f592"; }
  .bi-stop::before { content: "\f593"; }
  .bi-stoplights-fill::before { content: "\f594"; }
  .bi-stoplights::before { content: "\f595"; }
  .bi-stopwatch-fill::before { content: "\f596"; }
  .bi-stopwatch::before { content: "\f597"; }
  .bi-subtract::before { content: "\f598"; }
  .bi-suit-club-fill::before { content: "\f599"; }
  .bi-suit-club::before { content: "\f59a"; }
  .bi-suit-diamond-fill::before { content: "\f59b"; }
  .bi-suit-diamond::before { content: "\f59c"; }
  .bi-suit-heart-fill::before { content: "\f59d"; }
  .bi-suit-heart::before { content: "\f59e"; }
  .bi-suit-spade-fill::before { content: "\f59f"; }
  .bi-suit-spade::before { content: "\f5a0"; }
  .bi-sun-fill::before { content: "\f5a1"; }
  .bi-sun::before { content: "\f5a2"; }
  .bi-sunglasses::before { content: "\f5a3"; }
  .bi-sunrise-fill::before { content: "\f5a4"; }
  .bi-sunrise::before { content: "\f5a5"; }
  .bi-sunset-fill::before { content: "\f5a6"; }
  .bi-sunset::before { content: "\f5a7"; }
  .bi-symmetry-horizontal::before { content: "\f5a8"; }
  .bi-symmetry-vertical::before { content: "\f5a9"; }
  .bi-table::before { content: "\f5aa"; }
  .bi-tablet-fill::before { content: "\f5ab"; }
  .bi-tablet-landscape-fill::before { content: "\f5ac"; }
  .bi-tablet-landscape::before { content: "\f5ad"; }
  .bi-tablet::before { content: "\f5ae"; }
  .bi-tag-fill::before { content: "\f5af"; }
  .bi-tag::before { content: "\f5b0"; }
  .bi-tags-fill::before { content: "\f5b1"; }
  .bi-tags::before { content: "\f5b2"; }
  .bi-telegram::before { content: "\f5b3"; }
  .bi-telephone-fill::before { content: "\f5b4"; }
  .bi-telephone-forward-fill::before { content: "\f5b5"; }
  .bi-telephone-forward::before { content: "\f5b6"; }
  .bi-telephone-inbound-fill::before { content: "\f5b7"; }
  .bi-telephone-inbound::before { content: "\f5b8"; }
  .bi-telephone-minus-fill::before { content: "\f5b9"; }
  .bi-telephone-minus::before { content: "\f5ba"; }
  .bi-telephone-outbound-fill::before { content: "\f5bb"; }
  .bi-telephone-outbound::before { content: "\f5bc"; }
  .bi-telephone-plus-fill::before { content: "\f5bd"; }
  .bi-telephone-plus::before { content: "\f5be"; }
  .bi-telephone-x-fill::before { content: "\f5bf"; }
  .bi-telephone-x::before { content: "\f5c0"; }
  .bi-telephone::before { content: "\f5c1"; }
  .bi-terminal-fill::before { content: "\f5c2"; }
  .bi-terminal::before { content: "\f5c3"; }
  .bi-text-center::before { content: "\f5c4"; }
  .bi-text-indent-left::before { content: "\f5c5"; }
  .bi-text-indent-right::before { content: "\f5c6"; }
  .bi-text-left::before { content: "\f5c7"; }
  .bi-text-paragraph::before { content: "\f5c8"; }
  .bi-text-right::before { content: "\f5c9"; }
  .bi-textarea-resize::before { content: "\f5ca"; }
  .bi-textarea-t::before { content: "\f5cb"; }
  .bi-textarea::before { content: "\f5cc"; }
  .bi-thermometer-half::before { content: "\f5cd"; }
  .bi-thermometer-high::before { content: "\f5ce"; }
  .bi-thermometer-low::before { content: "\f5cf"; }
  .bi-thermometer-snow::before { content: "\f5d0"; }
  .bi-thermometer-sun::before { content: "\f5d1"; }
  .bi-thermometer::before { content: "\f5d2"; }
  .bi-three-dots-vertical::before { content: "\f5d3"; }
  .bi-three-dots::before { content: "\f5d4"; }
  .bi-toggle-off::before { content: "\f5d5"; }
  .bi-toggle-on::before { content: "\f5d6"; }
  .bi-toggle2-off::before { content: "\f5d7"; }
  .bi-toggle2-on::before { content: "\f5d8"; }
  .bi-toggles::before { content: "\f5d9"; }
  .bi-toggles2::before { content: "\f5da"; }
  .bi-tools::before { content: "\f5db"; }
  .bi-tornado::before { content: "\f5dc"; }
  .bi-trash-fill::before { content: "\f5dd"; }
  .bi-trash::before { content: "\f5de"; }
  .bi-trash2-fill::before { content: "\f5df"; }
  .bi-trash2::before { content: "\f5e0"; }
  .bi-tree-fill::before { content: "\f5e1"; }
  .bi-tree::before { content: "\f5e2"; }
  .bi-triangle-fill::before { content: "\f5e3"; }
  .bi-triangle-half::before { content: "\f5e4"; }
  .bi-triangle::before { content: "\f5e5"; }
  .bi-trophy-fill::before { content: "\f5e6"; }
  .bi-trophy::before { content: "\f5e7"; }
  .bi-tropical-storm::before { content: "\f5e8"; }
  .bi-truck-flatbed::before { content: "\f5e9"; }
  .bi-truck::before { content: "\f5ea"; }
  .bi-tsunami::before { content: "\f5eb"; }
  .bi-tv-fill::before { content: "\f5ec"; }
  .bi-tv::before { content: "\f5ed"; }
  .bi-twitch::before { content: "\f5ee"; }
  .bi-twitter::before { content: "\f5ef"; }
  .bi-type-bold::before { content: "\f5f0"; }
  .bi-type-h1::before { content: "\f5f1"; }
  .bi-type-h2::before { content: "\f5f2"; }
  .bi-type-h3::before { content: "\f5f3"; }
  .bi-type-italic::before { content: "\f5f4"; }
  .bi-type-strikethrough::before { content: "\f5f5"; }
  .bi-type-underline::before { content: "\f5f6"; }
  .bi-type::before { content: "\f5f7"; }
  .bi-ui-checks-grid::before { content: "\f5f8"; }
  .bi-ui-checks::before { content: "\f5f9"; }
  .bi-ui-radios-grid::before { content: "\f5fa"; }
  .bi-ui-radios::before { content: "\f5fb"; }
  .bi-umbrella-fill::before { content: "\f5fc"; }
  .bi-umbrella::before { content: "\f5fd"; }
  .bi-union::before { content: "\f5fe"; }
  .bi-unlock-fill::before { content: "\f5ff"; }
  .bi-unlock::before { content: "\f600"; }
  .bi-upc-scan::before { content: "\f601"; }
  .bi-upc::before { content: "\f602"; }
  .bi-upload::before { content: "\f603"; }
  .bi-vector-pen::before { content: "\f604"; }
  .bi-view-list::before { content: "\f605"; }
  .bi-view-stacked::before { content: "\f606"; }
  .bi-vinyl-fill::before { content: "\f607"; }
  .bi-vinyl::before { content: "\f608"; }
  .bi-voicemail::before { content: "\f609"; }
  .bi-volume-down-fill::before { content: "\f60a"; }
  .bi-volume-down::before { content: "\f60b"; }
  .bi-volume-mute-fill::before { content: "\f60c"; }
  .bi-volume-mute::before { content: "\f60d"; }
  .bi-volume-off-fill::before { content: "\f60e"; }
  .bi-volume-off::before { content: "\f60f"; }
  .bi-volume-up-fill::before { content: "\f610"; }
  .bi-volume-up::before { content: "\f611"; }
  .bi-vr::before { content: "\f612"; }
  .bi-wallet-fill::before { content: "\f613"; }
  .bi-wallet::before { content: "\f614"; }
  .bi-wallet2::before { content: "\f615"; }
  .bi-watch::before { content: "\f616"; }
  .bi-water::before { content: "\f617"; }
  .bi-whatsapp::before { content: "\f618"; }
  .bi-wifi-1::before { content: "\f619"; }
  .bi-wifi-2::before { content: "\f61a"; }
  .bi-wifi-off::before { content: "\f61b"; }
  .bi-wifi::before { content: "\f61c"; }
  .bi-wind::before { content: "\f61d"; }
  .bi-window-dock::before { content: "\f61e"; }
  .bi-window-sidebar::before { content: "\f61f"; }
  .bi-window::before { content: "\f620"; }
  .bi-wrench::before { content: "\f621"; }
  .bi-x-circle-fill::before { content: "\f622"; }
  .bi-x-circle::before { content: "\f623"; }
  .bi-x-diamond-fill::before { content: "\f624"; }
  .bi-x-diamond::before { content: "\f625"; }
  .bi-x-octagon-fill::before { content: "\f626"; }
  .bi-x-octagon::before { content: "\f627"; }
  .bi-x-square-fill::before { content: "\f628"; }
  .bi-x-square::before { content: "\f629"; }
  .bi-x::before { content: "\f62a"; }
  .bi-youtube::before { content: "\f62b"; }
  .bi-zoom-in::before { content: "\f62c"; }
  .bi-zoom-out::before { content: "\f62d"; }
  .bi-bank::before { content: "\f62e"; }
  .bi-bank2::before { content: "\f62f"; }
  .bi-bell-slash-fill::before { content: "\f630"; }
  .bi-bell-slash::before { content: "\f631"; }
  .bi-cash-coin::before { content: "\f632"; }
  .bi-check-lg::before { content: "\f633"; }
  .bi-coin::before { content: "\f634"; }
  .bi-currency-bitcoin::before { content: "\f635"; }
  .bi-currency-dollar::before { content: "\f636"; }
  .bi-currency-euro::before { content: "\f637"; }
  .bi-currency-exchange::before { content: "\f638"; }
  .bi-currency-pound::before { content: "\f639"; }
  .bi-currency-yen::before { content: "\f63a"; }
  .bi-dash-lg::before { content: "\f63b"; }
  .bi-exclamation-lg::before { content: "\f63c"; }
  .bi-file-earmark-pdf-fill::before { content: "\f63d"; }
  .bi-file-earmark-pdf::before { content: "\f63e"; }
  .bi-file-pdf-fill::before { content: "\f63f"; }
  .bi-file-pdf::before { content: "\f640"; }
  .bi-gender-ambiguous::before { content: "\f641"; }
  .bi-gender-female::before { content: "\f642"; }
  .bi-gender-male::before { content: "\f643"; }
  .bi-gender-trans::before { content: "\f644"; }
  .bi-headset-vr::before { content: "\f645"; }
  .bi-info-lg::before { content: "\f646"; }
  .bi-mastodon::before { content: "\f647"; }
  .bi-messenger::before { content: "\f648"; }
  .bi-piggy-bank-fill::before { content: "\f649"; }
  .bi-piggy-bank::before { content: "\f64a"; }
  .bi-pin-map-fill::before { content: "\f64b"; }
  .bi-pin-map::before { content: "\f64c"; }
  .bi-plus-lg::before { content: "\f64d"; }
  .bi-question-lg::before { content: "\f64e"; }
  .bi-recycle::before { content: "\f64f"; }
  .bi-reddit::before { content: "\f650"; }
  .bi-safe-fill::before { content: "\f651"; }
  .bi-safe2-fill::before { content: "\f652"; }
  .bi-safe2::before { content: "\f653"; }
  .bi-sd-card-fill::before { content: "\f654"; }
  .bi-sd-card::before { content: "\f655"; }
  .bi-skype::before { content: "\f656"; }
  .bi-slash-lg::before { content: "\f657"; }
  .bi-translate::before { content: "\f658"; }
  .bi-x-lg::before { content: "\f659"; }
  .bi-safe::before { content: "\f65a"; }
  .bi-apple::before { content: "\f65b"; }
  .bi-microsoft::before { content: "\f65d"; }
  .bi-windows::before { content: "\f65e"; }
  .bi-behance::before { content: "\f65c"; }
  .bi-dribbble::before { content: "\f65f"; }
  .bi-line::before { content: "\f660"; }
  .bi-medium::before { content: "\f661"; }
  .bi-paypal::before { content: "\f662"; }
  .bi-pinterest::before { content: "\f663"; }
  .bi-signal::before { content: "\f664"; }
  .bi-snapchat::before { content: "\f665"; }
  .bi-spotify::before { content: "\f666"; }
  .bi-stack-overflow::before { content: "\f667"; }
  .bi-strava::before { content: "\f668"; }
  .bi-wordpress::before { content: "\f669"; }
  .bi-vimeo::before { content: "\f66a"; }
  .bi-activity::before { content: "\f66b"; }
  .bi-easel2-fill::before { content: "\f66c"; }
  .bi-easel2::before { content: "\f66d"; }
  .bi-easel3-fill::before { content: "\f66e"; }
  .bi-easel3::before { content: "\f66f"; }
  .bi-fan::before { content: "\f670"; }
  .bi-fingerprint::before { content: "\f671"; }
  .bi-graph-down-arrow::before { content: "\f672"; }
  .bi-graph-up-arrow::before { content: "\f673"; }
  .bi-hypnotize::before { content: "\f674"; }
  .bi-magic::before { content: "\f675"; }
  .bi-person-rolodex::before { content: "\f676"; }
  .bi-person-video::before { content: "\f677"; }
  .bi-person-video2::before { content: "\f678"; }
  .bi-person-video3::before { content: "\f679"; }
  .bi-person-workspace::before { content: "\f67a"; }
  .bi-radioactive::before { content: "\f67b"; }
  .bi-webcam-fill::before { content: "\f67c"; }
  .bi-webcam::before { content: "\f67d"; }
  .bi-yin-yang::before { content: "\f67e"; }
  .bi-bandaid-fill::before { content: "\f680"; }
  .bi-bandaid::before { content: "\f681"; }
  .bi-bluetooth::before { content: "\f682"; }
  .bi-body-text::before { content: "\f683"; }
  .bi-boombox::before { content: "\f684"; }
  .bi-boxes::before { content: "\f685"; }
  .bi-dpad-fill::before { content: "\f686"; }
  .bi-dpad::before { content: "\f687"; }
  .bi-ear-fill::before { content: "\f688"; }
  .bi-ear::before { content: "\f689"; }
  .bi-envelope-check-1::before { content: "\f68a"; }
  .bi-envelope-check-fill::before { content: "\f68b"; }
  .bi-envelope-check::before { content: "\f68c"; }
  .bi-envelope-dash-1::before { content: "\f68d"; }
  .bi-envelope-dash-fill::before { content: "\f68e"; }
  .bi-envelope-dash::before { content: "\f68f"; }
  .bi-envelope-exclamation-1::before { content: "\f690"; }
  .bi-envelope-exclamation-fill::before { content: "\f691"; }
  .bi-envelope-exclamation::before { content: "\f692"; }
  .bi-envelope-plus-fill::before { content: "\f693"; }
  .bi-envelope-plus::before { content: "\f694"; }
  .bi-envelope-slash-1::before { content: "\f695"; }
  .bi-envelope-slash-fill::before { content: "\f696"; }
  .bi-envelope-slash::before { content: "\f697"; }
  .bi-envelope-x-1::before { content: "\f698"; }
  .bi-envelope-x-fill::before { content: "\f699"; }
  .bi-envelope-x::before { content: "\f69a"; }
  .bi-explicit-fill::before { content: "\f69b"; }
  .bi-explicit::before { content: "\f69c"; }
  .bi-git::before { content: "\f69d"; }
  .bi-infinity::before { content: "\f69e"; }
  .bi-list-columns-reverse::before { content: "\f69f"; }
  .bi-list-columns::before { content: "\f6a0"; }
  .bi-meta::before { content: "\f6a1"; }
  .bi-mortorboard-fill::before { content: "\f6a2"; }
  .bi-mortorboard::before { content: "\f6a3"; }
  .bi-nintendo-switch::before { content: "\f6a4"; }
  .bi-pc-display-horizontal::before { content: "\f6a5"; }
  .bi-pc-display::before { content: "\f6a6"; }
  .bi-pc-horizontal::before { content: "\f6a7"; }
  .bi-pc::before { content: "\f6a8"; }
  .bi-playstation::before { content: "\f6a9"; }
  .bi-plus-slash-minus::before { content: "\f6aa"; }
  .bi-projector-fill::before { content: "\f6ab"; }
  .bi-projector::before { content: "\f6ac"; }
  .bi-qr-code-scan::before { content: "\f6ad"; }
  .bi-qr-code::before { content: "\f6ae"; }
  .bi-quora::before { content: "\f6af"; }
  .bi-quote::before { content: "\f6b0"; }
  .bi-robot::before { content: "\f6b1"; }
  .bi-send-check-fill::before { content: "\f6b2"; }
  .bi-send-check::before { content: "\f6b3"; }
  .bi-send-dash-fill::before { content: "\f6b4"; }
  .bi-send-dash::before { content: "\f6b5"; }
  .bi-send-exclamation-1::before { content: "\f6b6"; }
  .bi-send-exclamation-fill::before { content: "\f6b7"; }
  .bi-send-exclamation::before { content: "\f6b8"; }
  .bi-send-fill::before { content: "\f6b9"; }
  .bi-send-plus-fill::before { content: "\f6ba"; }
  .bi-send-plus::before { content: "\f6bb"; }
  .bi-send-slash-fill::before { content: "\f6bc"; }
  .bi-send-slash::before { content: "\f6bd"; }
  .bi-send-x-fill::before { content: "\f6be"; }
  .bi-send-x::before { content: "\f6bf"; }
  .bi-send::before { content: "\f6c0"; }
  .bi-steam::before { content: "\f6c1"; }
  .bi-terminal-dash-1::before { content: "\f6c2"; }
  .bi-terminal-dash::before { content: "\f6c3"; }
  .bi-terminal-plus::before { content: "\f6c4"; }
  .bi-terminal-split::before { content: "\f6c5"; }
  .bi-ticket-detailed-fill::before { content: "\f6c6"; }
  .bi-ticket-detailed::before { content: "\f6c7"; }
  .bi-ticket-fill::before { content: "\f6c8"; }
  .bi-ticket-perforated-fill::before { content: "\f6c9"; }
  .bi-ticket-perforated::before { content: "\f6ca"; }
  .bi-ticket::before { content: "\f6cb"; }
  .bi-tiktok::before { content: "\f6cc"; }
  .bi-window-dash::before { content: "\f6cd"; }
  .bi-window-desktop::before { content: "\f6ce"; }
  .bi-window-fullscreen::before { content: "\f6cf"; }
  .bi-window-plus::before { content: "\f6d0"; }
  .bi-window-split::before { content: "\f6d1"; }
  .bi-window-stack::before { content: "\f6d2"; }
  .bi-window-x::before { content: "\f6d3"; }
  .bi-xbox::before { content: "\f6d4"; }
  .bi-ethernet::before { content: "\f6d5"; }
  .bi-hdmi-fill::before { content: "\f6d6"; }
  .bi-hdmi::before { content: "\f6d7"; }
  .bi-usb-c-fill::before { content: "\f6d8"; }
  .bi-usb-c::before { content: "\f6d9"; }
  .bi-usb-fill::before { content: "\f6da"; }
  .bi-usb-plug-fill::before { content: "\f6db"; }
  .bi-usb-plug::before { content: "\f6dc"; }
  .bi-usb-symbol::before { content: "\f6dd"; }
  .bi-usb::before { content: "\f6de"; }
  .bi-boombox-fill::before { content: "\f6df"; }
  .bi-displayport-1::before { content: "\f6e0"; }
  .bi-displayport::before { content: "\f6e1"; }
  .bi-gpu-card::before { content: "\f6e2"; }
  .bi-memory::before { content: "\f6e3"; }
  .bi-modem-fill::before { content: "\f6e4"; }
  .bi-modem::before { content: "\f6e5"; }
  .bi-motherboard-fill::before { content: "\f6e6"; }
  .bi-motherboard::before { content: "\f6e7"; }
  .bi-optical-audio-fill::before { content: "\f6e8"; }
  .bi-optical-audio::before { content: "\f6e9"; }
  .bi-pci-card::before { content: "\f6ea"; }
  .bi-router-fill::before { content: "\f6eb"; }
  .bi-router::before { content: "\f6ec"; }
  .bi-ssd-fill::before { content: "\f6ed"; }
  .bi-ssd::before { content: "\f6ee"; }
  .bi-thunderbolt-fill::before { content: "\f6ef"; }
  .bi-thunderbolt::before { content: "\f6f0"; }
  .bi-usb-drive-fill::before { content: "\f6f1"; }
  .bi-usb-drive::before { content: "\f6f2"; }
  .bi-usb-micro-fill::before { content: "\f6f3"; }
  .bi-usb-micro::before { content: "\f6f4"; }
  .bi-usb-mini-fill::before { content: "\f6f5"; }
  .bi-usb-mini::before { content: "\f6f6"; }
  .bi-cloud-haze2::before { content: "\f6f7"; }
  .bi-device-hdd-fill::before { content: "\f6f8"; }
  .bi-device-hdd::before { content: "\f6f9"; }
  .bi-device-ssd-fill::before { content: "\f6fa"; }
  .bi-device-ssd::before { content: "\f6fb"; }
  .bi-displayport-fill::before { content: "\f6fc"; }
  .bi-mortarboard-fill::before { content: "\f6fd"; }
  .bi-mortarboard::before { content: "\f6fe"; }
  .bi-terminal-x::before { content: "\f6ff"; }
  .bi-arrow-through-heart-fill::before { content: "\f700"; }
  .bi-arrow-through-heart::before { content: "\f701"; }
  .bi-badge-sd-fill::before { content: "\f702"; }
  .bi-badge-sd::before { content: "\f703"; }
  .bi-bag-heart-fill::before { content: "\f704"; }
  .bi-bag-heart::before { content: "\f705"; }
  .bi-balloon-fill::before { content: "\f706"; }
  .bi-balloon-heart-fill::before { content: "\f707"; }
  .bi-balloon-heart::before { content: "\f708"; }
  .bi-balloon::before { content: "\f709"; }
  .bi-box2-fill::before { content: "\f70a"; }
  .bi-box2-heart-fill::before { content: "\f70b"; }
  .bi-box2-heart::before { content: "\f70c"; }
  .bi-box2::before { content: "\f70d"; }
  .bi-braces-asterisk::before { content: "\f70e"; }
  .bi-calendar-heart-fill::before { content: "\f70f"; }
  .bi-calendar-heart::before { content: "\f710"; }
  .bi-calendar2-heart-fill::before { content: "\f711"; }
  .bi-calendar2-heart::before { content: "\f712"; }
  .bi-chat-heart-fill::before { content: "\f713"; }
  .bi-chat-heart::before { content: "\f714"; }
  .bi-chat-left-heart-fill::before { content: "\f715"; }
  .bi-chat-left-heart::before { content: "\f716"; }
  .bi-chat-right-heart-fill::before { content: "\f717"; }
  .bi-chat-right-heart::before { content: "\f718"; }
  .bi-chat-square-heart-fill::before { content: "\f719"; }
  .bi-chat-square-heart::before { content: "\f71a"; }
  .bi-clipboard-check-fill::before { content: "\f71b"; }
  .bi-clipboard-data-fill::before { content: "\f71c"; }
  .bi-clipboard-fill::before { content: "\f71d"; }
  .bi-clipboard-heart-fill::before { content: "\f71e"; }
  .bi-clipboard-heart::before { content: "\f71f"; }
  .bi-clipboard-minus-fill::before { content: "\f720"; }
  .bi-clipboard-plus-fill::before { content: "\f721"; }
  .bi-clipboard-pulse::before { content: "\f722"; }
  .bi-clipboard-x-fill::before { content: "\f723"; }
  .bi-clipboard2-check-fill::before { content: "\f724"; }
  .bi-clipboard2-check::before { content: "\f725"; }
  .bi-clipboard2-data-fill::before { content: "\f726"; }
  .bi-clipboard2-data::before { content: "\f727"; }
  .bi-clipboard2-fill::before { content: "\f728"; }
  .bi-clipboard2-heart-fill::before { content: "\f729"; }
  .bi-clipboard2-heart::before { content: "\f72a"; }
  .bi-clipboard2-minus-fill::before { content: "\f72b"; }
  .bi-clipboard2-minus::before { content: "\f72c"; }
  .bi-clipboard2-plus-fill::before { content: "\f72d"; }
  .bi-clipboard2-plus::before { content: "\f72e"; }
  .bi-clipboard2-pulse-fill::before { content: "\f72f"; }
  .bi-clipboard2-pulse::before { content: "\f730"; }
  .bi-clipboard2-x-fill::before { content: "\f731"; }
  .bi-clipboard2-x::before { content: "\f732"; }
  .bi-clipboard2::before { content: "\f733"; }
  .bi-emoji-kiss-fill::before { content: "\f734"; }
  .bi-emoji-kiss::before { content: "\f735"; }
  .bi-envelope-heart-fill::before { content: "\f736"; }
  .bi-envelope-heart::before { content: "\f737"; }
  .bi-envelope-open-heart-fill::before { content: "\f738"; }
  .bi-envelope-open-heart::before { content: "\f739"; }
  .bi-envelope-paper-fill::before { content: "\f73a"; }
  .bi-envelope-paper-heart-fill::before { content: "\f73b"; }
  .bi-envelope-paper-heart::before { content: "\f73c"; }
  .bi-envelope-paper::before { content: "\f73d"; }
  .bi-filetype-aac::before { content: "\f73e"; }
  .bi-filetype-ai::before { content: "\f73f"; }
  .bi-filetype-bmp::before { content: "\f740"; }
  .bi-filetype-cs::before { content: "\f741"; }
  .bi-filetype-css::before { content: "\f742"; }
  .bi-filetype-csv::before { content: "\f743"; }
  .bi-filetype-doc::before { content: "\f744"; }
  .bi-filetype-docx::before { content: "\f745"; }
  .bi-filetype-exe::before { content: "\f746"; }
  .bi-filetype-gif::before { content: "\f747"; }
  .bi-filetype-heic::before { content: "\f748"; }
  .bi-filetype-html::before { content: "\f749"; }
  .bi-filetype-java::before { content: "\f74a"; }
  .bi-filetype-jpg::before { content: "\f74b"; }
  .bi-filetype-js::before { content: "\f74c"; }
  .bi-filetype-jsx::before { content: "\f74d"; }
  .bi-filetype-key::before { content: "\f74e"; }
  .bi-filetype-m4p::before { content: "\f74f"; }
  .bi-filetype-md::before { content: "\f750"; }
  .bi-filetype-mdx::before { content: "\f751"; }
  .bi-filetype-mov::before { content: "\f752"; }
  .bi-filetype-mp3::before { content: "\f753"; }
  .bi-filetype-mp4::before { content: "\f754"; }
  .bi-filetype-otf::before { content: "\f755"; }
  .bi-filetype-pdf::before { content: "\f756"; }
  .bi-filetype-php::before { content: "\f757"; }
  .bi-filetype-png::before { content: "\f758"; }
  .bi-filetype-ppt-1::before { content: "\f759"; }
  .bi-filetype-ppt::before { content: "\f75a"; }
  .bi-filetype-psd::before { content: "\f75b"; }
  .bi-filetype-py::before { content: "\f75c"; }
  .bi-filetype-raw::before { content: "\f75d"; }
  .bi-filetype-rb::before { content: "\f75e"; }
  .bi-filetype-sass::before { content: "\f75f"; }
  .bi-filetype-scss::before { content: "\f760"; }
  .bi-filetype-sh::before { content: "\f761"; }
  .bi-filetype-svg::before { content: "\f762"; }
  .bi-filetype-tiff::before { content: "\f763"; }
  .bi-filetype-tsx::before { content: "\f764"; }
  .bi-filetype-ttf::before { content: "\f765"; }
  .bi-filetype-txt::before { content: "\f766"; }
  .bi-filetype-wav::before { content: "\f767"; }
  .bi-filetype-woff::before { content: "\f768"; }
  .bi-filetype-xls-1::before { content: "\f769"; }
  .bi-filetype-xls::before { content: "\f76a"; }
  .bi-filetype-xml::before { content: "\f76b"; }
  .bi-filetype-yml::before { content: "\f76c"; }
  .bi-heart-arrow::before { content: "\f76d"; }
  .bi-heart-pulse-fill::before { content: "\f76e"; }
  .bi-heart-pulse::before { content: "\f76f"; }
  .bi-heartbreak-fill::before { content: "\f770"; }
  .bi-heartbreak::before { content: "\f771"; }
  .bi-hearts::before { content: "\f772"; }
  .bi-hospital-fill::before { content: "\f773"; }
  .bi-hospital::before { content: "\f774"; }
  .bi-house-heart-fill::before { content: "\f775"; }
  .bi-house-heart::before { content: "\f776"; }
  .bi-incognito::before { content: "\f777"; }
  .bi-magnet-fill::before { content: "\f778"; }
  .bi-magnet::before { content: "\f779"; }
  .bi-person-heart::before { content: "\f77a"; }
  .bi-person-hearts::before { content: "\f77b"; }
  .bi-phone-flip::before { content: "\f77c"; }
  .bi-plugin::before { content: "\f77d"; }
  .bi-postage-fill::before { content: "\f77e"; }
  .bi-postage-heart-fill::before { content: "\f77f"; }
  .bi-postage-heart::before { content: "\f780"; }
  .bi-postage::before { content: "\f781"; }
  .bi-postcard-fill::before { content: "\f782"; }
  .bi-postcard-heart-fill::before { content: "\f783"; }
  .bi-postcard-heart::before { content: "\f784"; }
  .bi-postcard::before { content: "\f785"; }
  .bi-search-heart-fill::before { content: "\f786"; }
  .bi-search-heart::before { content: "\f787"; }
  .bi-sliders2-vertical::before { content: "\f788"; }
  .bi-sliders2::before { content: "\f789"; }
  .bi-trash3-fill::before { content: "\f78a"; }
  .bi-trash3::before { content: "\f78b"; }
  .bi-valentine::before { content: "\f78c"; }
  .bi-valentine2::before { content: "\f78d"; }
  .bi-wrench-adjustable-circle-fill::before { content: "\f78e"; }
  .bi-wrench-adjustable-circle::before { content: "\f78f"; }
  .bi-wrench-adjustable::before { content: "\f790"; }
  .bi-filetype-json::before { content: "\f791"; }
  .bi-filetype-pptx::before { content: "\f792"; }
  .bi-filetype-xlsx::before { content: "\f793"; }
  .bi-1-circle-1::before { content: "\f794"; }
  .bi-1-circle-fill-1::before { content: "\f795"; }
  .bi-1-circle-fill::before { content: "\f796"; }
  .bi-1-circle::before { content: "\f797"; }
  .bi-1-square-fill::before { content: "\f798"; }
  .bi-1-square::before { content: "\f799"; }
  .bi-2-circle-1::before { content: "\f79a"; }
  .bi-2-circle-fill-1::before { content: "\f79b"; }
  .bi-2-circle-fill::before { content: "\f79c"; }
  .bi-2-circle::before { content: "\f79d"; }
  .bi-2-square-fill::before { content: "\f79e"; }
  .bi-2-square::before { content: "\f79f"; }
  .bi-3-circle-1::before { content: "\f7a0"; }
  .bi-3-circle-fill-1::before { content: "\f7a1"; }
  .bi-3-circle-fill::before { content: "\f7a2"; }
  .bi-3-circle::before { content: "\f7a3"; }
  .bi-3-square-fill::before { content: "\f7a4"; }
  .bi-3-square::before { content: "\f7a5"; }
  .bi-4-circle-1::before { content: "\f7a6"; }
  .bi-4-circle-fill-1::before { content: "\f7a7"; }
  .bi-4-circle-fill::before { content: "\f7a8"; }
  .bi-4-circle::before { content: "\f7a9"; }
  .bi-4-square-fill::before { content: "\f7aa"; }
  .bi-4-square::before { content: "\f7ab"; }
  .bi-5-circle-1::before { content: "\f7ac"; }
  .bi-5-circle-fill-1::before { content: "\f7ad"; }
  .bi-5-circle-fill::before { content: "\f7ae"; }
  .bi-5-circle::before { content: "\f7af"; }
  .bi-5-square-fill::before { content: "\f7b0"; }
  .bi-5-square::before { content: "\f7b1"; }
  .bi-6-circle-1::before { content: "\f7b2"; }
  .bi-6-circle-fill-1::before { content: "\f7b3"; }
  .bi-6-circle-fill::before { content: "\f7b4"; }
  .bi-6-circle::before { content: "\f7b5"; }
  .bi-6-square-fill::before { content: "\f7b6"; }
  .bi-6-square::before { content: "\f7b7"; }
  .bi-7-circle-1::before { content: "\f7b8"; }
  .bi-7-circle-fill-1::before { content: "\f7b9"; }
  .bi-7-circle-fill::before { content: "\f7ba"; }
  .bi-7-circle::before { content: "\f7bb"; }
  .bi-7-square-fill::before { content: "\f7bc"; }
  .bi-7-square::before { content: "\f7bd"; }
  .bi-8-circle-1::before { content: "\f7be"; }
  .bi-8-circle-fill-1::before { content: "\f7bf"; }
  .bi-8-circle-fill::before { content: "\f7c0"; }
  .bi-8-circle::before { content: "\f7c1"; }
  .bi-8-square-fill::before { content: "\f7c2"; }
  .bi-8-square::before { content: "\f7c3"; }
  .bi-9-circle-1::before { content: "\f7c4"; }
  .bi-9-circle-fill-1::before { content: "\f7c5"; }
  .bi-9-circle-fill::before { content: "\f7c6"; }
  .bi-9-circle::before { content: "\f7c7"; }
  .bi-9-square-fill::before { content: "\f7c8"; }
  .bi-9-square::before { content: "\f7c9"; }
  .bi-airplane-engines-fill::before { content: "\f7ca"; }
  .bi-airplane-engines::before { content: "\f7cb"; }
  .bi-airplane-fill::before { content: "\f7cc"; }
  .bi-airplane::before { content: "\f7cd"; }
  .bi-alexa::before { content: "\f7ce"; }
  .bi-alipay::before { content: "\f7cf"; }
  .bi-android::before { content: "\f7d0"; }
  .bi-android2::before { content: "\f7d1"; }
  .bi-box-fill::before { content: "\f7d2"; }
  .bi-box-seam-fill::before { content: "\f7d3"; }
  .bi-browser-chrome::before { content: "\f7d4"; }
  .bi-browser-edge::before { content: "\f7d5"; }
  .bi-browser-firefox::before { content: "\f7d6"; }
  .bi-browser-safari::before { content: "\f7d7"; }
  .bi-c-circle-1::before { content: "\f7d8"; }
  .bi-c-circle-fill-1::before { content: "\f7d9"; }
  .bi-c-circle-fill::before { content: "\f7da"; }
  .bi-c-circle::before { content: "\f7db"; }
  .bi-c-square-fill::before { content: "\f7dc"; }
  .bi-c-square::before { content: "\f7dd"; }
  .bi-capsule-pill::before { content: "\f7de"; }
  .bi-capsule::before { content: "\f7df"; }
  .bi-car-front-fill::before { content: "\f7e0"; }
  .bi-car-front::before { content: "\f7e1"; }
  .bi-cassette-fill::before { content: "\f7e2"; }
  .bi-cassette::before { content: "\f7e3"; }
  .bi-cc-circle-1::before { content: "\f7e4"; }
  .bi-cc-circle-fill-1::before { content: "\f7e5"; }
  .bi-cc-circle-fill::before { content: "\f7e6"; }
  .bi-cc-circle::before { content: "\f7e7"; }
  .bi-cc-square-fill::before { content: "\f7e8"; }
  .bi-cc-square::before { content: "\f7e9"; }
  .bi-cup-hot-fill::before { content: "\f7ea"; }
  .bi-cup-hot::before { content: "\f7eb"; }
  .bi-currency-rupee::before { content: "\f7ec"; }
  .bi-dropbox::before { content: "\f7ed"; }
  .bi-escape::before { content: "\f7ee"; }
  .bi-fast-forward-btn-fill::before { content: "\f7ef"; }
  .bi-fast-forward-btn::before { content: "\f7f0"; }
  .bi-fast-forward-circle-fill::before { content: "\f7f1"; }
  .bi-fast-forward-circle::before { content: "\f7f2"; }
  .bi-fast-forward-fill::before { content: "\f7f3"; }
  .bi-fast-forward::before { content: "\f7f4"; }
  .bi-filetype-sql::before { content: "\f7f5"; }
  .bi-fire::before { content: "\f7f6"; }
  .bi-google-play::before { content: "\f7f7"; }
  .bi-h-circle-1::before { content: "\f7f8"; }
  .bi-h-circle-fill-1::before { content: "\f7f9"; }
  .bi-h-circle-fill::before { content: "\f7fa"; }
  .bi-h-circle::before { content: "\f7fb"; }
  .bi-h-square-fill::before { content: "\f7fc"; }
  .bi-h-square::before { content: "\f7fd"; }
  .bi-indent::before { content: "\f7fe"; }
  .bi-lungs-fill::before { content: "\f7ff"; }
  .bi-lungs::before { content: "\f800"; }
  .bi-microsoft-teams::before { content: "\f801"; }
  .bi-p-circle-1::before { content: "\f802"; }
  .bi-p-circle-fill-1::before { content: "\f803"; }
  .bi-p-circle-fill::before { content: "\f804"; }
  .bi-p-circle::before { content: "\f805"; }
  .bi-p-square-fill::before { content: "\f806"; }
  .bi-p-square::before { content: "\f807"; }
  .bi-pass-fill::before { content: "\f808"; }
  .bi-pass::before { content: "\f809"; }
  .bi-prescription::before { content: "\f80a"; }
  .bi-prescription2::before { content: "\f80b"; }
  .bi-r-circle-1::before { content: "\f80c"; }
  .bi-r-circle-fill-1::before { content: "\f80d"; }
  .bi-r-circle-fill::before { content: "\f80e"; }
  .bi-r-circle::before { content: "\f80f"; }
  .bi-r-square-fill::before { content: "\f810"; }
  .bi-r-square::before { content: "\f811"; }
  .bi-repeat-1::before { content: "\f812"; }
  .bi-repeat::before { content: "\f813"; }
  .bi-rewind-btn-fill::before { content: "\f814"; }
  .bi-rewind-btn::before { content: "\f815"; }
  .bi-rewind-circle-fill::before { content: "\f816"; }
  .bi-rewind-circle::before { content: "\f817"; }
  .bi-rewind-fill::before { content: "\f818"; }
  .bi-rewind::before { content: "\f819"; }
  .bi-train-freight-front-fill::before { content: "\f81a"; }
  .bi-train-freight-front::before { content: "\f81b"; }
  .bi-train-front-fill::before { content: "\f81c"; }
  .bi-train-front::before { content: "\f81d"; }
  .bi-train-lightrail-front-fill::before { content: "\f81e"; }
  .bi-train-lightrail-front::before { content: "\f81f"; }
  .bi-truck-front-fill::before { content: "\f820"; }
  .bi-truck-front::before { content: "\f821"; }
  .bi-ubuntu::before { content: "\f822"; }
  .bi-unindent::before { content: "\f823"; }
  .bi-unity::before { content: "\f824"; }
  .bi-universal-access-circle::before { content: "\f825"; }
  .bi-universal-access::before { content: "\f826"; }
  .bi-virus::before { content: "\f827"; }
  .bi-virus2::before { content: "\f828"; }
  .bi-wechat::before { content: "\f829"; }
  .bi-yelp::before { content: "\f82a"; }
  .bi-sign-stop-fill::before { content: "\f82b"; }
  .bi-sign-stop-lights-fill::before { content: "\f82c"; }
  .bi-sign-stop-lights::before { content: "\f82d"; }
  .bi-sign-stop::before { content: "\f82e"; }
  .bi-sign-turn-left-fill::before { content: "\f82f"; }
  .bi-sign-turn-left::before { content: "\f830"; }
  .bi-sign-turn-right-fill::before { content: "\f831"; }
  .bi-sign-turn-right::before { content: "\f832"; }
  .bi-sign-turn-slight-left-fill::before { content: "\f833"; }
  .bi-sign-turn-slight-left::before { content: "\f834"; }
  .bi-sign-turn-slight-right-fill::before { content: "\f835"; }
  .bi-sign-turn-slight-right::before { content: "\f836"; }
  .bi-sign-yield-fill::before { content: "\f837"; }
  .bi-sign-yield::before { content: "\f838"; }
  .bi-ev-station-fill::before { content: "\f839"; }
  .bi-ev-station::before { content: "\f83a"; }
  .bi-fuel-pump-diesel-fill::before { content: "\f83b"; }
  .bi-fuel-pump-diesel::before { content: "\f83c"; }
  .bi-fuel-pump-fill::before { content: "\f83d"; }
  .bi-fuel-pump::before { content: "\f83e"; }
  .bi-0-circle-fill::before { content: "\f83f"; }
  .bi-0-circle::before { content: "\f840"; }
  .bi-0-square-fill::before { content: "\f841"; }
  .bi-0-square::before { content: "\f842"; }
  .bi-rocket-fill::before { content: "\f843"; }
  .bi-rocket-takeoff-fill::before { content: "\f844"; }
  .bi-rocket-takeoff::before { content: "\f845"; }
  .bi-rocket::before { content: "\f846"; }
  .bi-stripe::before { content: "\f847"; }
  .bi-subscript::before { content: "\f848"; }
  .bi-superscript::before { content: "\f849"; }
  .bi-trello::before { content: "\f84a"; }
  .bi-envelope-at-fill::before { content: "\f84b"; }
  .bi-envelope-at::before { content: "\f84c"; }
  .bi-regex::before { content: "\f84d"; }
  .bi-text-wrap::before { content: "\f84e"; }
  .bi-sign-dead-end-fill::before { content: "\f84f"; }
  .bi-sign-dead-end::before { content: "\f850"; }
  .bi-sign-do-not-enter-fill::before { content: "\f851"; }
  .bi-sign-do-not-enter::before { content: "\f852"; }
  .bi-sign-intersection-fill::before { content: "\f853"; }
  .bi-sign-intersection-side-fill::before { content: "\f854"; }
  .bi-sign-intersection-side::before { content: "\f855"; }
  .bi-sign-intersection-t-fill::before { content: "\f856"; }
  .bi-sign-intersection-t::before { content: "\f857"; }
  .bi-sign-intersection-y-fill::before { content: "\f858"; }
  .bi-sign-intersection-y::before { content: "\f859"; }
  .bi-sign-intersection::before { content: "\f85a"; }
  .bi-sign-merge-left-fill::before { content: "\f85b"; }
  .bi-sign-merge-left::before { content: "\f85c"; }
  .bi-sign-merge-right-fill::before { content: "\f85d"; }
  .bi-sign-merge-right::before { content: "\f85e"; }
  .bi-sign-no-left-turn-fill::before { content: "\f85f"; }
  .bi-sign-no-left-turn::before { content: "\f860"; }
  .bi-sign-no-parking-fill::before { content: "\f861"; }
  .bi-sign-no-parking::before { content: "\f862"; }
  .bi-sign-no-right-turn-fill::before { content: "\f863"; }
  .bi-sign-no-right-turn::before { content: "\f864"; }
  .bi-sign-railroad-fill::before { content: "\f865"; }
  .bi-sign-railroad::before { content: "\f866"; }
  .bi-building-add::before { content: "\f867"; }
  .bi-building-check::before { content: "\f868"; }
  .bi-building-dash::before { content: "\f869"; }
  .bi-building-down::before { content: "\f86a"; }
  .bi-building-exclamation::before { content: "\f86b"; }
  .bi-building-fill-add::before { content: "\f86c"; }
  .bi-building-fill-check::before { content: "\f86d"; }
  .bi-building-fill-dash::before { content: "\f86e"; }
  .bi-building-fill-down::before { content: "\f86f"; }
  .bi-building-fill-exclamation::before { content: "\f870"; }
  .bi-building-fill-gear::before { content: "\f871"; }
  .bi-building-fill-lock::before { content: "\f872"; }
  .bi-building-fill-slash::before { content: "\f873"; }
  .bi-building-fill-up::before { content: "\f874"; }
  .bi-building-fill-x::before { content: "\f875"; }
  .bi-building-fill::before { content: "\f876"; }
  .bi-building-gear::before { content: "\f877"; }
  .bi-building-lock::before { content: "\f878"; }
  .bi-building-slash::before { content: "\f879"; }
  .bi-building-up::before { content: "\f87a"; }
  .bi-building-x::before { content: "\f87b"; }
  .bi-buildings-fill::before { content: "\f87c"; }
  .bi-buildings::before { content: "\f87d"; }
  .bi-bus-front-fill::before { content: "\f87e"; }
  .bi-bus-front::before { content: "\f87f"; }
  .bi-ev-front-fill::before { content: "\f880"; }
  .bi-ev-front::before { content: "\f881"; }
  .bi-globe-americas::before { content: "\f882"; }
  .bi-globe-asia-australia::before { content: "\f883"; }
  .bi-globe-central-south-asia::before { content: "\f884"; }
  .bi-globe-europe-africa::before { content: "\f885"; }
  .bi-house-add-fill::before { content: "\f886"; }
  .bi-house-add::before { content: "\f887"; }
  .bi-house-check-fill::before { content: "\f888"; }
  .bi-house-check::before { content: "\f889"; }
  .bi-house-dash-fill::before { content: "\f88a"; }
  .bi-house-dash::before { content: "\f88b"; }
  .bi-house-down-fill::before { content: "\f88c"; }
  .bi-house-down::before { content: "\f88d"; }
  .bi-house-exclamation-fill::before { content: "\f88e"; }
  .bi-house-exclamation::before { content: "\f88f"; }
  .bi-house-gear-fill::before { content: "\f890"; }
  .bi-house-gear::before { content: "\f891"; }
  .bi-house-lock-fill::before { content: "\f892"; }
  .bi-house-lock::before { content: "\f893"; }
  .bi-house-slash-fill::before { content: "\f894"; }
  .bi-house-slash::before { content: "\f895"; }
  .bi-house-up-fill::before { content: "\f896"; }
  .bi-house-up::before { content: "\f897"; }
  .bi-house-x-fill::before { content: "\f898"; }
  .bi-house-x::before { content: "\f899"; }
  .bi-person-add::before { content: "\f89a"; }
  .bi-person-down::before { content: "\f89b"; }
  .bi-person-exclamation::before { content: "\f89c"; }
  .bi-person-fill-add::before { content: "\f89d"; }
  .bi-person-fill-check::before { content: "\f89e"; }
  .bi-person-fill-dash::before { content: "\f89f"; }
  .bi-person-fill-down::before { content: "\f8a0"; }
  .bi-person-fill-exclamation::before { content: "\f8a1"; }
  .bi-person-fill-gear::before { content: "\f8a2"; }
  .bi-person-fill-lock::before { content: "\f8a3"; }
  .bi-person-fill-slash::before { content: "\f8a4"; }
  .bi-person-fill-up::before { content: "\f8a5"; }
  .bi-person-fill-x::before { content: "\f8a6"; }
  .bi-person-gear::before { content: "\f8a7"; }
  .bi-person-lock::before { content: "\f8a8"; }
  .bi-person-slash::before { content: "\f8a9"; }
  .bi-person-up::before { content: "\f8aa"; }
  .bi-scooter::before { content: "\f8ab"; }
  .bi-taxi-front-fill::before { content: "\f8ac"; }
  .bi-taxi-front::before { content: "\f8ad"; }
  .bi-amd::before { content: "\f8ae"; }
  .bi-database-add::before { content: "\f8af"; }
  .bi-database-check::before { content: "\f8b0"; }
  .bi-database-dash::before { content: "\f8b1"; }
  .bi-database-down::before { content: "\f8b2"; }
  .bi-database-exclamation::before { content: "\f8b3"; }
  .bi-database-fill-add::before { content: "\f8b4"; }
  .bi-database-fill-check::before { content: "\f8b5"; }
  .bi-database-fill-dash::before { content: "\f8b6"; }
  .bi-database-fill-down::before { content: "\f8b7"; }
  .bi-database-fill-exclamation::before { content: "\f8b8"; }
  .bi-database-fill-gear::before { content: "\f8b9"; }
  .bi-database-fill-lock::before { content: "\f8ba"; }
  .bi-database-fill-slash::before { content: "\f8bb"; }
  .bi-database-fill-up::before { content: "\f8bc"; }
  .bi-database-fill-x::before { content: "\f8bd"; }
  .bi-database-fill::before { content: "\f8be"; }
  .bi-database-gear::before { content: "\f8bf"; }
  .bi-database-lock::before { content: "\f8c0"; }
  .bi-database-slash::before { content: "\f8c1"; }
  .bi-database-up::before { content: "\f8c2"; }
  .bi-database-x::before { content: "\f8c3"; }
  .bi-database::before { content: "\f8c4"; }
  .bi-houses-fill::before { content: "\f8c5"; }
  .bi-houses::before { content: "\f8c6"; }
  .bi-nvidia::before { content: "\f8c7"; }
  .bi-person-vcard-fill::before { content: "\f8c8"; }
  .bi-person-vcard::before { content: "\f8c9"; }
  .bi-sina-weibo::before { content: "\f8ca"; }
  .bi-tencent-qq::before { content: "\f8cb"; }
  .bi-wikipedia::before { content: "\f8cc"; }
