/* =====================================================
   Theme (dark-mode rules not attached near light variants)
   ===================================================== */

body.dark-theme
{
    background-color: var(--background-dark);
    color: var(--text-dark);
}

body.dark-theme .default-price-help-text
{
    color: var(--text-dark);
}

.dialog-textfield-embeddedbutton
{
    background-color: var(--card-dark) !important;
}

.formatted-text-input__button-prominent
{
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: white !important;
}

body.dark-theme .a
    {
        color: var(--text-dark);
        fill: var(--text-dark);
    }

body.dark-theme h1,
    body.dark-theme h2,
    body.dark-theme h3,
    body.dark-theme h4,
    body.dark-theme h5
    {
        color: var(--text-dark) !important;
    }

body.dark-theme .text-content,
    body.dark-theme .navbar-brand,
    body.dark-theme .list-group-item,
    body.dark-theme .list-group-item a,
    body.dark-theme .layout-navbar-admin-profile-label
    {
        color: var(--text-dark);
    }

body.dark-theme .card
    {
        background-color: var(--card-dark);
        color: var(--text-dark);
    }

body.dark-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.dark-theme input[type="password"],
body.dark-theme textarea,
body.dark-theme select,
body.dark-theme .input,
body.dark-theme .form-control,
body.dark-theme .form-select
{
    background-color: var(--input-dark);
    color: #E9F1FF;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    padding: 8px 12px;
    outline: none;
    box-shadow: none;
}

body.dark-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"])::placeholder,
body.dark-theme input[type="password"]::placeholder,
body.dark-theme textarea::placeholder,
body.dark-theme .input::placeholder,
body.dark-theme .form-control::placeholder
{
    color: rgba(233, 241, 255, 0.55);
    opacity: 0.35;
    font-style: italic;
}

body.dark-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"])::placeholder,
    body.dark-theme textarea::placeholder,
    body.dark-theme .input::placeholder,
    body.dark-theme .form-control::placeholder
    {
        color: rgba(233,241,255,.55);
    }

body.dark-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
    body.dark-theme textarea:focus,
    body.dark-theme select:focus,
    body.dark-theme .input:focus,
    body.dark-theme .form-control:focus,
    body.dark-theme .form-select:focus
    {
        border-color: rgba(57,210,255,.65);
        box-shadow: 0 0 0 3px rgba(57,210,255,.14);
        color: #E9F1FF;
    }

body.dark-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):disabled,
    body.dark-theme textarea:disabled,
    body.dark-theme select:disabled,
    body.dark-theme .input:disabled,
    body.dark-theme .form-control:disabled,
    body.dark-theme .form-select:disabled
    {
        color: rgba(233,241,255,.55);
        opacity: 0.5;
    }

body.dark-theme .list-group-item.active
    {
        background-color: var(--card-listactive-active);
    }

body.dark-theme table th,
        body.dark-theme table td
        {
            background-color: var(--card-dark);
            color: var(--text-dark);
            border: 1px solid var(--border-color);
        }

body.dark-theme .job-card .job-card-description
    {
        background-color: var(--background-dark);
        color: var(--text-dark);
    }

body.dark-theme .job-card
    {
        border: 1px solid var(--text-dark);
    }

body.dark-theme .job-card-footer
    {
        background-color: var(--background-dark);
    }

body.dark-theme .job-card .job-card-footer-read-more
    {
        color: var(--text-dark);
    }

/* =====================================================
   Invite User Dialog
   ===================================================== */

.invite-user-dialog
{
    background-color: var(--background-light);
    color: var(--text-light);
    border-radius: 12px;
    padding: 1.25rem;
}

.invite-user-dialog__description
{
    color: var(--text-light);
    opacity: 0.8;
}

.invite-user-dialog .form-control
{
    background-color: var(--background-light);
    color: var(--text-light);
    border: 1px solid rgba(15, 23, 42, 0.2);
}

.invite-user-dialog__primary
{
    background-color: var(--buttonPrimaryBg);
    color: var(--buttonPrimaryText);
    border: var(--buttonPrimaryBorder);
}

.invite-user-dialog__secondary
{
    background-color: transparent;
    color: var(--text-light);
    border: 1px solid rgba(15, 23, 42, 0.3);
}

.invite-user-dialog .form-control::placeholder
{
    color: rgba(15, 23, 42, 0.6);
}

.invite-user-dialog .text-muted
{
    color: rgba(15, 23, 42, 0.7) !important;
}

body.dark-theme .invite-user-dialog
{
    background-color: var(--card-dark);
    color: var(--text-dark);
}

body.dark-theme .invite-user-dialog__description
{
    color: var(--text-dark);
    opacity: 0.85;
}

body.dark-theme .invite-user-dialog .form-control
{
    /*background-color: var(--background-dark);*/
    color: var(--text-dark);
    border: 1px solid rgba(249, 250, 251, 0.25);
}

body.dark-theme .invite-user-dialog .btn:hover
{
    color: var(--text-dark);
    opacity: 0.7;
}


body.dark-theme .invite-user-dialog .form-control::placeholder
{
    color: rgba(249, 250, 251, 0.65);
}

body.dark-theme .invite-user-dialog .text-muted
{
    color: rgba(249, 250, 251, 0.7) !important;
}

body.dark-theme .invite-user-dialog__secondary
{
    color: var(--text-dark);
    border: 1px solid rgba(249, 250, 251, 0.35);
}

.invite-user-dialog__account-type-description
{
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.35;
    color: var(--text-light);
    opacity: 0.75;
}

.invite-user-dialog__progress
{
    margin-bottom: 1rem;
}

.invite-user-dialog__progress-text
{
    margin-top: 0.4rem;
    font-size: 0.875rem;
    color: var(--text-light);
    opacity: 0.75;
}

body.dark-theme .invite-user-dialog__account-type-description,
body.dark-theme .invite-user-dialog__progress-text
{
    color: var(--text-dark);
    opacity: 0.8;
}

/* =====================================================
   Validation Error Summary
   ===================================================== */

body.dark-theme .validation-error-summary.card
{
    background-color: color-mix(in srgb, var(--card-dark) 82%, var(--bs-danger) 18%) !important;
    border-color: color-mix(in srgb, var(--card-dark) 45%, var(--bs-danger) 55%);
    border-left-color: var(--bs-danger);
}

body.dark-theme .validation-error-summary .validation-error-summary__title,
body.dark-theme .validation-error-summary .validation-error-summary__group-title,
body.dark-theme .validation-error-summary .validation-error-summary__child-title,
body.dark-theme .validation-error-summary .validation-error-summary__list
{
    color: #f8b4b8;
}

body.dark-theme .validation-error-summary .validation-error-summary__children
{
    border-left-color: color-mix(in srgb, transparent 52%, var(--bs-danger) 48%);
}

/* =====================================================
   Web cookie consent preferences icon
   Keep the persistent Silktide control visible without
   competing visually with application/footer content.
   ===================================================== */
#silktide-wrapper #silktide-cookie-icon
{
    opacity: 0.5 !important;
    transition: opacity 150ms ease-in-out;
}

#silktide-wrapper #silktide-cookie-icon:hover,
#silktide-wrapper #silktide-cookie-icon:focus-visible
{
    opacity: 0.9 !important;
}

/* Admin customer access detail */
body.dark-theme .admin-customer-access-detail
{
    color: var(--text-dark);
}

body.dark-theme .admin-customer-detail-header
{
    border-color: color-mix(in srgb, var(--border-color) 70%, var(--text-dark) 30%);
}

body.dark-theme .admin-customer-detail-card,
body.dark-theme .admin-customer-detail-section,
body.dark-theme .admin-customer-access-history-row
{
    border-color: color-mix(in srgb, var(--border-color) 70%, var(--text-dark) 30%);
    background: var(--card-dark);
    color: var(--text-dark);
    box-shadow: 0 .125rem .3rem rgba(0, 0, 0, .18);
}

body.dark-theme .admin-customer-detail-card-primary
{
    border-color: color-mix(in srgb, var(--primary-color) 52%, var(--border-color) 48%);
    background: color-mix(in srgb, var(--card-dark) 90%, var(--primary-color) 10%);
}

body.dark-theme .admin-customer-detail-inline-stat,
body.dark-theme .admin-customer-access-selected
{
    border-color: var(--border-color);
    background: color-mix(in srgb, var(--card-dark) 72%, var(--background-dark) 28%);
    color: var(--text-dark);
}

body.dark-theme .admin-customer-detail-kicker,
body.dark-theme .admin-customer-detail-card-label,
body.dark-theme .admin-customer-detail-id,
body.dark-theme .admin-customer-detail-inline-stat span,
body.dark-theme .admin-customer-detail-meta-grid span,
body.dark-theme .admin-customer-detail-stat-list span,
body.dark-theme .admin-customer-detail-notification-list span,
body.dark-theme .admin-customer-detail-inline-unit,
body.dark-theme .admin-customer-access-history-main small,
body.dark-theme .admin-customer-access-detail .text-muted
{
    color: color-mix(in srgb, var(--text-dark) 72%, transparent) !important;
}

body.dark-theme .admin-customer-detail-card h4,
body.dark-theme .admin-customer-detail-card strong,
body.dark-theme .admin-customer-detail-meta-grid strong,
body.dark-theme .admin-customer-detail-stat-list strong,
body.dark-theme .admin-customer-detail-notification-list strong,
body.dark-theme .admin-customer-access-selected h5
{
    color: var(--text-dark);
}

body.dark-theme .admin-customer-detail-assignment,
body.dark-theme .admin-customer-detail-notification-list > div,
body.dark-theme .admin-customer-detail-section[open] > summary
{
    border-color: var(--border-color);
}

body.dark-theme .admin-customer-access-history-row:hover,
body.dark-theme .admin-customer-access-history-row.is-selected
{
    border-color: color-mix(in srgb, var(--primary-color) 60%, var(--border-color) 40%);
    background: color-mix(in srgb, var(--card-dark) 84%, var(--primary-color) 16%);
}

body.dark-theme .admin-customer-detail-json pre
{
    border-color: var(--border-color);
    background: var(--background-dark);
    color: var(--text-dark);
}

body.dark-theme .admin-customer-detail-refresh-button
{
    color: var(--text-dark);
    border-color: color-mix(in srgb, var(--border-color) 65%, var(--text-dark) 35%);
}

