body.app,
body.pw-login-pages {
    background: var(--theme-page-bg, #ffffff);
    color: var(--theme-body-text, #272848);
    font-family: var(--theme-body-font, var(--theme-font-regular, 'Segoe UI', sans-serif)) !important;
    --bs-body-font-weight: 400;
    font-weight: 400 !important;
}

/* Lobby (create/join) shares call-screen body class — keep Page BG until live call opens */
body.call-screen {
    background: var(--theme-page-bg, #ffffff);
    color: var(--theme-body-text, #272848);
    font-family: var(--theme-body-font, var(--theme-font-regular, 'Segoe UI', sans-serif)) !important;
    --bs-body-font-weight: 400;
    font-weight: 400 !important;
}

/*
 * Brand typography weights (override Bootstrap reboot without editing Bootstrap):
 * h1–h3 / buttons → 700 (Bold face)
 * h4–h6 → 600 (Semibold face)
 * everything else → 400 (Regular face)
 */
body.app :where(p, span, a, label, li, td, th, dt, dd, small, .nav-link, .title, .card, .modal, .table, .dropdown-item, .form-control, .form-label, .form-select),
body.pw-login-pages :where(p, span, a, label, li, td, th, .form-control),
body.call-screen :where(p, span, a, label, li, td, th, .nav-link, .form-control, .modal) {
    font-weight: 400 !important;
}

/* Keep Font Awesome / icon fonts working */
body.app :where(.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands, .feather, [class^="icon-"], [class*=" icon-"]),
body.pw-login-pages :where(.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands),
body.call-screen :where(.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands) {
    font-weight: revert !important;
}

/* Live call (#web-screen) — Call UI colors */
body.call-screen:has(#web-screen:not(.d-none)) {
    background: var(--theme-call-bg, #21272e) !important;
    color: var(--theme-call-text, #ffffff) !important;
}

body.app h1,
body.app h2,
body.app h3,
body.pw-login-pages h1,
body.pw-login-pages h2,
body.pw-login-pages h3,
body.call-screen h1,
body.call-screen h2,
body.call-screen h3 {
    color: var(--theme-heading-text, #272848);
    font-family: var(--theme-heading-font, var(--theme-body-font, 'Segoe UI', sans-serif)) !important;
    font-weight: 700 !important;
}

body.app h4,
body.app h5,
body.app h6,
body.pw-login-pages h4,
body.pw-login-pages h5,
body.pw-login-pages h6,
body.call-screen h4,
body.call-screen h5,
body.call-screen h6 {
    color: var(--theme-heading-text, #272848);
    font-family: var(--theme-heading-font, var(--theme-body-font, 'Segoe UI', sans-serif)) !important;
    font-weight: 600 !important;
}

body.app :where(strong, b),
body.pw-login-pages :where(strong, b),
body.call-screen :where(strong, b) {
    font-family: var(--theme-heading-font, var(--theme-body-font, 'Segoe UI', sans-serif)) !important;
    font-weight: 700 !important;
}

/* Buttons — Bold (700) */
body.app .btn,
body.app button,
body.app [type="button"],
body.app [type="submit"],
body.app [type="reset"],
body.app .pc-admin-btns .btn,
body.pw-login-pages .btn,
body.pw-login-pages button,
body.call-screen .btn,
body.call-screen button {
    font-family: var(--theme-heading-font, var(--theme-body-font, 'Segoe UI', sans-serif)) !important;
    font-weight: 700 !important;
}

/* Brand typography — forms / chrome use Regular (400); exclude button-like inputs */
body.app .form-control,
body.app input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
body.app select,
body.app textarea,
body.app .nav-link,
body.app .card,
body.app .modal,
body.app .table,
body.app .dropdown-menu,
body.app .pcoded-navbar,
body.app .pcoded-content,
body.pw-login-pages .form-control,
body.pw-login-pages input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
body.call-screen .form-control,
body.call-screen input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
body.call-screen .modal {
    font-family: var(--theme-body-font, var(--theme-font-regular, 'Segoe UI', sans-serif)) !important;
    font-weight: 400 !important;
}

/* Form fields — typed text + placeholder use Body Text */
body.app input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
body.app select,
body.app textarea,
body.app .form-control,
body.app .form-select,
body.pw-login-pages input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
body.pw-login-pages select,
body.pw-login-pages textarea,
body.pw-login-pages .form-control,
body.pw-login-pages .form-select,
body.call-screen input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
body.call-screen select,
body.call-screen textarea,
body.call-screen .form-control,
body.call-screen .form-select {
    color: var(--theme-body-text, #272848) !important;
}

body.app input::placeholder,
body.app textarea::placeholder,
body.app .form-control::placeholder,
body.app .form-select::placeholder,
body.pw-login-pages input::placeholder,
body.pw-login-pages textarea::placeholder,
body.pw-login-pages .form-control::placeholder,
body.pw-login-pages .form-select::placeholder {
    color: var(--theme-body-text, #272848) !important;
    opacity: 1;
}

/* Preferences — Choose file + upload helper text → Body Text */
#preferences-create .text-muted,
#preferences-create small,
#preferences-create input[type="file"],
#preferences-create .form-control[type="file"] {
    color: var(--theme-body-text, #272848) !important;
}

#preferences-create input[type="file"]::file-selector-button,
#preferences-create .form-control::file-selector-button,
#preferences-create input[type="file"]::-webkit-file-upload-button,
#preferences-create .form-control::-webkit-file-upload-button {
    color: var(--theme-body-text, #272848) !important;
}

body.app .select2-container--default .select2-selection--single .select2-selection__rendered,
body.app .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.pw-login-pages .select2-container--default .select2-selection--single .select2-selection__rendered,
body.pw-login-pages .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.call-screen .select2-container--default .select2-selection--single .select2-selection__rendered,
body.call-screen .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: var(--theme-body-text, #272848) !important;
}

body.app .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.app .select2-container--default .select2-selection--multiple .select2-selection__placeholder,
body.pw-login-pages .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.pw-login-pages .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: var(--theme-body-text, #272848) !important;
}

body.app .select2-container--default .select2-search__field,
body.pw-login-pages .select2-container--default .select2-search__field,
body.call-screen .select2-container--default .select2-search__field {
    color: var(--theme-body-text, #272848) !important;
}

body.app .select2-container--default .select2-search__field::placeholder,
body.pw-login-pages .select2-container--default .select2-search__field::placeholder {
    color: var(--theme-body-text, #272848) !important;
    opacity: 1;
}

/* Dashboard duration range text */
body.app .pc-dates,
body.app .pc-dates.d-flex,
body.app .pc-card-heading-right .pc-dates,
body.app [id$="-dateRange-div"] {
    color: var(--theme-body-text, #272848) !important;
}

.sidebar {
    background-color: var(--theme-sidebar-bg, #ffffff);
    border-right-color: var(--theme-border, #DADBFD);
}

.sidebar .nav-link {
    color: var(--theme-sidebar-text, #7C7C8D);
}

.sidebar .nav-link:not(.active) {
    color: var(--theme-sidebar-text, #7C7C8D);
}

.sidebar .nav-link:not(.active) .icon-holder,
.sidebar .nav-link:not(.active) .title {
    color: var(--theme-sidebar-text, #7C7C8D);
}

.sidebar .nav-link:not(.active) .icon-holder svg path {
    fill: var(--theme-sidebar-text, #7C7C8D);
}

body.app .sidebar .nav-link.active,
body.app .sidebar .nav-link.active .title,
body.app .sidebar-menu li a.nav-link.active,
body.app .sidebar-menu li a.nav-link.active .title,
body.app .sidebar-menu .sidebar-link.actived {
    font-family: var(--theme-body-font, 'Segoe UI', sans-serif) !important;
    font-weight: 600 !important;
}

.sidebar .nav-link.active {
    color: var(--theme-sidebar-active-text, var(--theme-primary, #6D71F9));
    background: var(--theme-sidebar-active-bg, var(--theme-page-bg, #f1f1ff));
}

.sidebar .nav-link.active .icon-holder {
    color: var(--theme-sidebar-active-text, var(--theme-primary, #6D71F9));
}

.sidebar .nav-link.active .icon-holder svg path,
.sidebar-menu li a.nav-link.active svg path {
    fill: var(--theme-sidebar-active-text, var(--theme-primary, #6D71F9)) !important;
}

.sidebar .nav-link .icon-holder svg path {
    fill: currentColor;
}

header {
    color: var(--theme-header-text, #ffffff);
}

header svg path {
    fill: currentColor;
}

/* Notification bell — always white on colored header (btn text color would otherwise win) */
header .pw-notification-dropdown button,
header .pw-notification-dropdown button svg,
header .pw-notification-dropdown button svg path {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Create/Join session — copy, share, participant avatar use Page BG */
.sessionid-join ul li,
.plans .plan .plan-details span {
    background: var(--theme-page-bg, #ffffff) !important;
    background-color: var(--theme-page-bg, #ffffff) !important;
}

/* Copy / Share icons → Icon Color */
#user-join-page .sessionid-join ul li a svg path,
#user-join-page .sessionid-join #copy_2_clip svg path,
#user-join-page .sessionid-join #userVideo-invite-btn svg path {
    fill: var(--theme-icon, #6D71F9) !important;
}

/* Participant avatar letter (e.g. "V") → Body Text; white on Primary (host/active) */
#user-join-page .plans .plan .plan-details span,
#user-join-page .plan-details.join-user-box > span {
    color: var(--theme-body-text, #272848) !important;
}

.plans .plan.schedule-item-active .plan-details span {
    background: var(--theme-primary, #6D71F9) !important;
    background-color: var(--theme-primary, #6D71F9) !important;
}

#user-join-page .plans .plan.schedule-item-active .plan-details span,
#user-join-page .plans .plan.schedule-item-active .plan-details.join-user-box > span {
    color: #ffffff !important;
}

/* Create/Join session — video placeholder follows Primary */
#user-join-page .user-video-box {
    background: var(--theme-primary, #6D71F9) !important;
    border-radius: 15px;
    overflow: hidden;
    isolation: isolate;
}

#user-join-page .user-video-box img.join-vid-dis {
    mix-blend-mode: luminosity;
}

/* Create/Join session — heading / body text + HOST badge */
#user-join-page .join-user-video h4,
#user-join-page .join-user-details h5,
#user-join-page .plan-details.join-user-box h4 {
    color: var(--theme-heading-text, #272848) !important;
}

#user-join-page .join-user-video h4 span,
#user-join-page .plans .plan .plan-details p {
    color: var(--theme-body-text, #7C7C8D) !important;
}

#user-join-page .plan-details.join-user-box label.user_label,
#user-join-page .plan-details.join-user-box label:not(.user-waiting-label) {
    background: var(--theme-primary, #6D71F9) !important;
    background-color: var(--theme-primary, #6D71F9) !important;
    color: #ffffff !important;
}

/* Skeleton loader — keep bars muted; beat theme heading/body text colors */
#user-join-page .scheletone-loader .plan-details.join-user-box > span,
#user-join-page .scheletone-loader .plan-details.join-user-box h4,
#user-join-page .scheletone-loader .pending_el,
#user-join-page .scheletone-loader .pending_el * {
    color: #D0D1FD !important;
    background: #D0D1FD !important;
    background-color: #D0D1FD !important;
    border-color: #D0D1FD !important;
}

/* Admin text-style primary buttons stay transparent; solid fill only where needed (e.g. login) */
.btn.btn-primary,
.pc-admin-btns .btn-primary {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--theme-primary, #6D71F9) !important;
    font-weight: 700 !important;
}

.btn.btn-primary span,
.pc-admin-btns .btn-primary span,
body.call-screen .btn.btn-primary span,
body.app .btn.btn-primary span {
    font-weight: 700 !important;
    color: inherit !important;
}

.btn.btn-primary:hover:not(:disabled):not(.disabled),
.btn.btn-primary:focus:not(:disabled):not(.disabled),
.pc-admin-btns .btn-primary:hover:not(:disabled):not(.disabled),
.pc-admin-btns .btn-primary:focus:not(:disabled):not(.disabled) {
    color: var(--theme-secondary, #4D51C0) !important;
}

.btn.btn-primary:hover:not(:disabled):not(.disabled) svg path,
.btn.btn-primary:focus:not(:disabled):not(.disabled) svg path,
.pc-admin-btns .btn-primary:hover:not(:disabled):not(.disabled) svg path,
.pc-admin-btns .btn-primary:focus:not(:disabled):not(.disabled) svg path {
    fill: var(--theme-secondary, #4D51C0) !important;
}

.btn.btn-primary:disabled,
.btn.btn-primary.disabled,
.pc-admin-btns .btn-primary:disabled,
.pc-admin-btns .btn-primary.disabled {
    color: var(--theme-primary, #6D71F9) !important;
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.btn.btn-primary:disabled svg path,
.btn.btn-primary.disabled svg path,
.pc-admin-btns .btn-primary:disabled svg path,
.pc-admin-btns .btn-primary.disabled svg path {
    fill: var(--theme-primary, #6D71F9) !important;
}

.btn.btn-primary.btn-light,
.pc-admin-btns .btn-primary.btn-light {
    color: var(--theme-body-text, #272848) !important;
    opacity: 1;
    pointer-events: auto;
}

.btn.btn-primary.btn-light:hover,
.btn.btn-primary.btn-light:focus,
.pc-admin-btns .btn-primary.btn-light:hover,
.pc-admin-btns .btn-primary.btn-light:focus {
    color: var(--theme-primary, #6D71F9) !important;
}

.btn.btn-primary.btn-light:hover svg path,
.btn.btn-primary.btn-light:focus svg path,
.pc-admin-btns .btn-primary.btn-light:hover svg path,
.pc-admin-btns .btn-primary.btn-light:focus svg path {
    fill: var(--theme-primary, #6D71F9) !important;
}

/* Card BG — beat Bootstrap .card { --bs-card-bg / background-color:#fff } */
body.app .card,
body.app .pc-card,
body.app .card.pc-card,
body.app .pc-card.pc-dashboard,
body.app .pc-dashboard.pc-planning,
body.app .pc-dashboard.pc-adoption,
body.app .pc-admin .card,
body.app .pc-admin .pc-card,
body.pw-login-pages .card {
    --bs-card-bg: var(--theme-card-bg, #ffffff);
    background: var(--theme-card-bg, #ffffff) !important;
    background-color: var(--theme-card-bg, #ffffff) !important;
}

body.app .card > .card-header,
body.app .card > .card-body,
body.app .card > .card-footer {
    background-color: transparent !important;
}

/* Stat tiles (Scheduled call, Active hours, etc.) */
.pc-data-card {
    background: var(--theme-card-bg, #ffffff) !important;
    background-color: var(--theme-card-bg, #ffffff) !important;
}

/* Reports / DataTables */
.pw-datatable .dataTable,
.pw-datatable table.dataTable,
.pw-datatable table.checklist,
table.dataTable {
    --bs-table-bg: var(--theme-card-bg, #ffffff);
    background: var(--theme-card-bg, #ffffff) !important;
    background-color: var(--theme-card-bg, #ffffff) !important;
}

.pw-datatable table.dataTable > :not(caption) > * > *,
.pw-datatable table.checklist > :not(caption) > * > *,
table.dataTable > :not(caption) > * > * {
    background-color: var(--theme-card-bg, #ffffff) !important;
}

/* Chat Groups / DataTables — selected row → Page BG */
table.dataTable > tbody > tr.selected > *,
table.dataTable.table-striped > tbody > tr:nth-of-type(2n + 1).selected > *,
.pw-datatable table.dataTable > tbody > tr.selected > *,
.pw-datatable table.checklist > tbody > tr.selected > * {
    background: var(--theme-page-bg, #f1f1ff) !important;
    background-color: var(--theme-page-bg, #f1f1ff) !important;
    box-shadow: inset 0 0 0 9999px var(--theme-page-bg, #f1f1ff) !important;
}

/* Chat — header + search panel */
.chat-list-header,
.chat-area-header {
    background: var(--theme-card-bg, #ffffff) !important;
    background-color: var(--theme-card-bg, #ffffff) !important;
}

/* Chat — user / group names + Chats|Groups tab labels */
.msg-username,
.chat-area-title,
.chat-area-header .msg-username,
.conversation-area .msg-username {
    color: var(--theme-body-text, #272848) !important;
}

.chat-list-header ul li a {
    color: var(--theme-body-text, #272848) !important;
}

.chat-list-header ul li a.active {
    color: var(--theme-primary, #6D71F9) !important;
}

/* Call-screen chat panel (light surface) */
body.call-screen .pc-panel.pc-chat .chat-area .form-control,
body.call-screen .pc-panel.pc-chat .chat-list p,
body.call-screen .pc-panel.pc-chat .chat-list h3,
body.call-screen .pc-panel.pc-chat .msg-head p,
body.call-screen .pc-panel.pc-chat .chat-msg-content,
body.call-screen .pc-panel.pc-chat .chat-area-footer textarea,
body.call-screen .session-chat .chat-area .form-control,
body.call-screen .session-chat .chat-list p,
body.call-screen .session-chat .msg-head p,
body.call-screen .session-chat .chat-msg-content {
    color: var(--theme-body-text, #272848) !important;
}

body.call-screen .pc-panel.pc-chat .msg-head h3,
body.call-screen .pc-panel.pc-chat .chat-area .nav-tabs .nav-link,
body.call-screen .session-chat .msg-head h3,
body.call-screen .session-chat .chat-area-title {
    color: var(--theme-heading-text, #272848) !important;
}

body.call-screen .pc-panel.pc-chat .chat-area .nav-tabs .nav-link.active,
body.call-screen .session-chat .chat-area .nav-tabs .nav-link.active {
    color: var(--theme-primary, #6D71F9) !important;
}

/* Feedback emoji icons */
.feedback-emoji-click .feedback-emoji,
.feedback-emoji-click .feedback-emoji#imageOne,
.feedback-emoji-click .feedback-emoji#imageTwo,
.feedback-emoji-click .feedback-emoji#imagThree {
    color: var(--theme-body-text, #272848) !important;
}

.feedback-emoji-click .feedback-emoji:hover,
.feedback-emoji-click .feedback-emoji.active,
.feedback-emoji-click .feedback-emoji#imageOne:hover,
.feedback-emoji-click .feedback-emoji#imageOne.active,
.feedback-emoji-click .feedback-emoji#imageTwo:hover,
.feedback-emoji-click .feedback-emoji#imageTwo.active,
.feedback-emoji-click .feedback-emoji#imagThree:hover,
.feedback-emoji-click .feedback-emoji#imagThree.active {
    color: var(--theme-primary, #6D71F9) !important;
}

.feedback-emoji-click .feedback-emoji svg path,
.feedback-emoji-click .feedback-emoji#imageOne svg path {
    fill: currentColor !important;
}

/* ========== Call UI (Call BG / Surface / Text) ========== */
body.call-screen:has(#web-screen:not(.d-none)) .pc-sessionid h2,
body.call-screen:has(#web-screen:not(.d-none)) .pc-sessionid h2 p,
body.call-screen:has(#web-screen:not(.d-none)) .pc-left-user-panel h3,
body.call-screen:has(#web-screen:not(.d-none)) .pc-left-user-panel .user-column p,
body.call-screen:has(#web-screen:not(.d-none)) .pc-presenter-detail h4,
body.call-screen:has(#web-screen:not(.d-none)) .pc-presenter-detail p {
    color: var(--theme-call-text, #ffffff) !important;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-right-bar {
    border-left-color: var(--theme-call-surface, #2f3740) !important;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-left-user-panel {
    border-right-color: var(--theme-call-surface, #2f3740) !important;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-right-bar a.nav-link,
body.call-screen:has(#web-screen:not(.d-none)) .pc-panel-open a,
body.call-screen:has(#web-screen:not(.d-none)) .pc-right-bar .jobs {
    background: var(--theme-call-bg, #21272e) !important;
    background-color: var(--theme-call-bg, #21272e) !important;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-right-bar a.nav-link.active,
body.call-screen:has(#web-screen:not(.d-none)) .pc-right-bar a.nav-link:hover,
body.call-screen:has(#web-screen:not(.d-none)) .pc-call-screen-action ul li a.active,
body.call-screen:has(#web-screen:not(.d-none)) .pc-panel-open a:hover {
    background: var(--theme-call-surface, #2f3740) !important;
    background-color: var(--theme-call-surface, #2f3740) !important;
    border-color: var(--theme-call-surface, #2f3740) !important;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-right-bar a.nav-link svg path,
body.call-screen:has(#web-screen:not(.d-none)) .pc-right-bar a.nav-link.active svg path {
    fill: var(--theme-call-text, #ffffff) !important;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-left-user-panel::-webkit-scrollbar-track {
    background-color: var(--theme-call-surface, #2f3740) !important;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-user-badge span {
    background: var(--theme-primary, #6D71F9) !important;
    color: var(--theme-call-text, #ffffff) !important;
}

/* Participant camera-off thumb — recolor baked-in purple PNG */
body.call-screen:has(#web-screen:not(.d-none)) .pc-video-box {
    background: var(--theme-primary, #6D71F9);
    border-radius: 8px;
    isolation: isolate;
    overflow: hidden;
}

body.call-screen:has(#web-screen:not(.d-none)) .pc-video-box > img {
    mix-blend-mode: luminosity;
}

/* Light-surface call panels (Notes, People, Setting, etc.) — brand heading/body, not Call Text */
body.call-screen:has(#web-screen:not(.d-none)) .pc-right-open-panel .card.pc-panel:not(.pc-setting),
body.call-screen .pc-right-open-panel .card.pc-panel {
    color: var(--theme-body-text, #272848) !important;
}

.card.pc-panel .card-header h4,
body.call-screen .card.pc-panel .card-header h4 {
    color: var(--theme-heading-text, #272848) !important;
}

.card.pc-panel .card-body,
.card.pc-panel .card-body p,
.card.pc-panel .card-body label,
.card.pc-panel .card-body .form-check-label,
.card.pc-panel .form-floating > label,
.pc-right-open-panel .card.pc-panel p,
.pc-inviteuser p,
.pc-or,
.pc-setting .form-check-label,
body.call-screen .card.pc-panel .card-body,
body.call-screen .card.pc-panel .card-body p,
body.call-screen .card.pc-panel .card-body label,
body.call-screen .card.pc-panel .card-body .form-check-label,
body.call-screen .card.pc-panel .form-floating > label,
body.call-screen .pc-inviteuser p,
body.call-screen .pc-or,
body.call-screen .pc-setting .form-check-label {
    color: var(--theme-body-text, #272848) !important;
}

/* People / invite panel — session ID, accordion, link, muted actions */
.pc-inviteuser h5,
.pc-inviteuser .js-sessionId,
.pc-inviteuser button.accordion-button,
body.call-screen .pc-inviteuser h5,
body.call-screen .pc-inviteuser .js-sessionId,
body.call-screen .pc-inviteuser button.accordion-button {
    color: var(--theme-heading-text, #272848) !important;
}

a.pc-sessionlink,
.pc-cusotm-link.pc-cusotm-link-grey,
body.call-screen a.pc-sessionlink,
body.call-screen .pc-cusotm-link.pc-cusotm-link-grey {
    color: var(--theme-body-text, #272848) !important;
}

.pc-waiting-list-common-action .pc-cusotm-link,
body.call-screen .pc-waiting-list-common-action .pc-cusotm-link,
body.call-screen .pc-cusotm-link.pc-cusotm-link-grey:hover {
    color: var(--theme-primary, #6D71F9) !important;
}

.pc-waiting-list-common-action .pc-cusotm-link:hover,
body.call-screen .pc-waiting-list-common-action .pc-cusotm-link:hover {
    color: var(--theme-secondary, #4D51C0) !important;
}

.pc-inviteuser .accordion-item,
.pc-inviteuser .collapse,
body.call-screen .pc-inviteuser .accordion-item,
body.call-screen .pc-inviteuser .collapse {
    border-color: var(--theme-border, #DADBFD) !important;
}

.pc-inviteuser button.accordion-button,
body.call-screen .pc-inviteuser button.accordion-button {
    background: var(--theme-primary-light, #F1F1FF) !important;
}

/* Panel form controls */
.card.pc-panel .form-control,
.card.pc-panel textarea,
.pc-callscreen-modal .form-control,
.pc-callscreen-modal .form-check-label,
.custom-phonenumber .phone-country-code .select2-selection__rendered,
body.call-screen .card.pc-panel .form-control,
body.call-screen .pc-callscreen-modal .form-control,
body.call-screen .pc-callscreen-modal .form-check-label {
    color: var(--theme-body-text, #272848) !important;
}

/* Call settings — purple accents → Primary */
.pc-setting .pc-btn-muteall {
    color: var(--theme-primary, #6D71F9) !important;
    background: var(--theme-primary-light, #f1f1ff) !important;
}

.pc-setting .form-switch .form-check-input:checked,
.pc-setting .form-switch .form-check-input:focus,
.call-screen .form-check-input:checked {
    background-color: var(--theme-primary, #6D71F9) !important;
    border-color: var(--theme-primary, #6D71F9) !important;
}

/* ========== Session History modal ========== */
.pc-modal .modal-title,
body.app .pc-modal .modal-title,
body.call-screen .pc-modal .modal-title,
body.pw-login-pages .pc-modal .modal-title {
    color: var(--theme-heading-text, #272848) !important;
    font-family: var(--theme-heading-font, var(--theme-body-font, 'Segoe UI', sans-serif)) !important;
    font-weight: 700 !important;
}

.pc-modal-session-details .pc-session-header h4,
.pc-session-id h5 span,
.pc-session-date p span,
.pc-session-title p span,
.pc-participate-name h5,
.pc-timeline-heading h5,
.pc-timeline-user-box p > span {
    color: var(--theme-heading-text, #272848) !important;
}

.pc-session-id h5,
.pc-session-date p,
.pc-session-title p,
.pc-participate-count p,
.pc-timeline-user-box p,
.pc-timeline-single-content p {
    color: var(--theme-body-text, #7C7C8D) !important;
}

span.pc-particpate-label {
    background: var(--theme-primary, #6D71F9) !important;
    color: #ffffff !important;
}

span.pc-particpate-label.pc-guest-user {
    background: var(--theme-primary-light, #F1F1FF) !important;
    border-color: var(--theme-border, #DADBFD) !important;
    color: var(--theme-heading-text, #272848) !important;
}

.pc-participate-count p span,
a.pc-timeline-readmore,
.pc-session-notes h5,
.pc-summary-transcript .nav-tabs .nav-link.active {
    color: var(--theme-primary, #6D71F9) !important;
}

.pc-participate-name span,
.pc-timeline-user-box,
.pc-timeline-single-tags ul li,
.pc-timeline-single-mediabox,
.pc-session-notes,
.pc-summary-transcript .nav-tabs .nav-link.active {
    background: var(--theme-primary-light, #F1F1FF) !important;
}

.pc-event-timeline .nav-pills::before {
    background: var(--theme-primary, #6D71F9) !important;
}

.pc-timeline-date span,
.pc-timline-tab.active .pc-timeline-date span,
.pc-timline-tab:hover .pc-timeline-date span,
.pc-timline-tab.active .pc-timeline-user-box,
.pc-timline-tab:hover .pc-timeline-user-box {
    border-color: var(--theme-primary, #6D71F9) !important;
}

.pc-timeline-date span,
.pc-timline-tab.active .pc-timeline-date span,
.pc-timline-tab:hover .pc-timeline-date span {
    color: var(--theme-body-text, #272848) !important;
}

.pc-timline-tab.active .pc-timeline-user-box span,
.pc-timline-tab:hover .pc-timeline-user-box span {
    color: var(--theme-heading-text, #272848) !important;
}

.pc-session-header {
    border-bottom-color: var(--theme-border, #DADBFD) !important;
}

/* ========== App-wide purple leftovers → Primary (custom CSS only) ========== */
.bg-primary {
    background: var(--theme-primary, #6D71F9) !important;
}

.text-primary {
    color: var(--theme-primary, #6D71F9) !important;
}

.form-check-input:checked {
    background-color: var(--theme-primary, #6D71F9) !important;
    border-color: var(--theme-primary, #6D71F9) !important;
}

.form-check-input:not(:checked) {
    background-color: var(--theme-page-bg, #ffffff) !important;
    background-image: none !important;
}

body.app .nav-tabs .nav-link.active,
body.app .nav-pills .nav-link.active,
body.app .session-detail-history .nav-tabs .nav-item .nav-link.active,
body.app .pc-summary-transcript .nav-tabs .nav-link.active,
body.app .pc-dashboard-tabs .nav-tabs .nav-link.active {
    color: var(--theme-primary, #6D71F9);
    border-color: var(--theme-primary, #6D71F9);
    border-bottom-color: var(--theme-primary, #6D71F9) !important;
    background-color: transparent !important;
    background: transparent !important;
    font-family: var(--theme-body-font, 'Segoe UI', sans-serif) !important;
    font-weight: 600 !important;
}

/* Schedule Upcoming / Past tabs — filled active state */
body.app .schedule-tab.active,
.schedule-tab.active {
    background: var(--theme-primary, #6D71F9) !important;
    background-color: var(--theme-primary, #6D71F9) !important;
    color: #ffffff !important;
    border-color: var(--theme-primary, #6D71F9) !important;
    font-family: var(--theme-body-font, 'Segoe UI', sans-serif) !important;
    font-weight: 600 !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected]:hover,
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-container--default .select2-results__option--selected {
    background-color: var(--theme-sidebar-active-bg, var(--theme-page-bg, #f1f1ff)) !important;
    color: var(--theme-primary, #6D71F9) !important;
}

.dropdown-item:focus,
.dropdown-item:hover,
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--theme-sidebar-active-bg, var(--theme-page-bg, #f1f1ff)) !important;
    color: var(--theme-primary, #6D71F9) !important;
}

body.app .sidebar .nav-link:hover,
body.app .sidebar .nav-link:focus,
body.app .sidebar .nav-link:hover .title,
body.app .sidebar .nav-link:focus .title,
body.app .sidebar-menu li a.nav-link:hover,
body.app .sidebar-menu li a.nav-link:focus,
body.app .sidebar-menu .sidebar-link:hover {
    font-family: var(--theme-body-font, 'Segoe UI', sans-serif) !important;
    font-weight: 600 !important;
}

.sidebar .nav-link:hover,
.sidebar .nav-link:focus {
    color: var(--theme-sidebar-active-text, var(--theme-primary, #6D71F9));
    background: var(--theme-sidebar-active-bg, var(--theme-page-bg, #f1f1ff));
}

.sidebar .nav-link:hover .icon-holder,
.sidebar .nav-link:focus .icon-holder,
.sidebar .nav-link:hover .title,
.sidebar .nav-link:focus .title {
    color: var(--theme-sidebar-active-text, var(--theme-primary, #6D71F9));
}

.sidebar .nav-link:hover .icon-holder svg path,
.sidebar .nav-link:focus .icon-holder svg path {
    fill: var(--theme-sidebar-active-text, var(--theme-primary, #6D71F9));
}

/* Override legacy hardcoded SVG brand fills so icons follow Brand Settings */
svg path[fill="#6D71F9"],
svg path[fill="#6d71f9"] {
    fill: var(--theme-primary, #6D71F9);
}

svg path[fill="#4D51C0"],
svg path[fill="#4d51c0"] {
    fill: var(--theme-secondary, #4D51C0);
}

svg path[fill="#3FC1FC"],
svg path[fill="#3fc1fc"] {
    fill: var(--theme-accent, #3fc1fc);
}

.sidebar svg path[fill="#7C7C8D"],
.sidebar svg path[fill="#7c7c8d"] {
    fill: var(--theme-sidebar-text, #7C7C8D);
}

.card-box.call-part span svg path,
.date svg path,
.pc-dashboard .date svg path,
.home-coman-table .date svg path,
.view-icon svg path,
.session-detail-box .view-icon svg path,
.btns .session-info-detail svg path,
.session-info-detail svg path,
.home-coman-table .btns svg path,
.action-btn svg path,
.home-coman-table .action-btn svg path,
.pw-action-dropdown button svg path,
.pw-action-dropdown .dropdown-toggle svg path,
.dataTables_wrapper .dataTables_paginate .paginate_button svg path,
.pw-datatable .dataTables_wrapper .dataTables_paginate .paginate_button svg path,
.gallery-box .share-media-list svg path,
.gallery-box .download-media-list svg path,
.gallery-modal .gallery-action[data-action-type="share"] svg path,
#downloadGalleryImage svg path {
    fill: var(--theme-icon, #6D71F9) !important;
}

svg path[fill="#7E7E90"],
svg path[fill="#7e7e90"] {
    fill: var(--theme-icon, #6D71F9);
}

.dataTables_wrapper .dataTables_info,
.pw-datatable .dataTables_wrapper .dataTables_info {
    color: var(--theme-body-text, #272848) !important;
}

/* ========== Call-screen modals (Leave Session, Invite, etc.) ========== */
.pc-callscreen-modal .modal-title,
.pc-callscreen-modal .modal-header .modal-title,
.pc-leave-modal .modal-title,
body.call-screen .pc-callscreen-modal .modal-title,
body.call-screen .pc-callscreen-modal .modal-header .modal-title,
body.call-screen .pc-leave-modal .modal-title {
    color: var(--theme-heading-text, #272848) !important;
}

.pc-callscreen-modal .modal-body,
.pc-callscreen-modal .modal-body p,
.pc-callscreen-modal .modal-body label,
.pc-callscreen-modal .form-check-label,
.pc-leave-modal .modal-body,
.pc-leave-modal .modal-body p,
body.call-screen .pc-callscreen-modal .modal-body,
body.call-screen .pc-callscreen-modal .modal-body p,
body.call-screen .pc-callscreen-modal .modal-body label,
body.call-screen .pc-callscreen-modal .form-check-label,
body.call-screen .pc-leave-modal .modal-body,
body.call-screen .pc-leave-modal .modal-body p {
    color: var(--theme-body-text, #272848) !important;
}

.pc-callscreen-modal .modal-content,
.pc-leave-modal .modal-content,
body.call-screen .pc-callscreen-modal .modal-content,
body.call-screen .pc-leave-modal .modal-content {
    color: var(--theme-body-text, #272848) !important;
}

body.call-screen .form-floating > label {
    color: var(--theme-body-text, #272848) !important;
}

/* ========== Toasts ========== */
.custom-toast,
.toast,
.toast .toast-body,
.toast .toast-header,
.toast .toast-header strong,
.toast-incall,
.toast-incall .toast-body,
body.call-screen .custom-toast,
body.call-screen .toast,
body.call-screen .toast .toast-body,
body.call-screen .toast .toast-header,
body.call-screen .toast .toast-header strong,
body.call-screen .toast-incall,
body.call-screen .toast-incall .toast-body {
    color: var(--theme-body-text, #272848) !important;
}

.toast .toast-header .me-auto,
.toast .js-toast-title,
body.call-screen .toast .toast-header .me-auto,
body.call-screen .toast .js-toast-title {
    color: var(--theme-heading-text, #272848) !important;
}

#admitUserToast .toast-body,
#admitUserToast .toast-body strong,
#admitUserName,
body.call-screen #admitUserToast .toast-body,
body.call-screen #admitUserToast .toast-body strong,
body.call-screen #admitUserName {
    color: var(--theme-body-text, #272848) !important;
}

#admitUserToast .toast-header strong,
body.call-screen #admitUserToast .toast-header strong {
    color: var(--theme-heading-text, #272848) !important;
}

.card-box.call-part .btn-primary svg path,
.card-box.call-part a.btn-primary svg path,
.btn.btn-primary svg path {
    fill: currentColor !important;
}

/* ========== Login / auth screens ========== */
body.pw-login-pages {
    background: var(--theme-page-bg, #ffffff) !important;
    color: var(--theme-body-text, #272848);
}

body.pw-login-pages .pw-login,
body.pw-login-pages .pc-login-form {
    background: var(--theme-card-bg, #ffffff);
}

body.pw-login-pages .pc-login-image {
    background: var(--theme-primary, #6D71F9) !important;
}

body.pw-login-pages .pc-login-text h1 {
    color: var(--theme-heading-text, #272848) !important;
    border-bottom-color: var(--theme-primary, #6D71F9) !important;
}

body.pw-login-pages .pc-login-text p,
body.pw-login-pages .pc-form label,
body.pw-login-pages .form-check-label {
    color: var(--theme-body-text, #272848) !important;
}

body.pw-login-pages .pc-login-text p span {
    color: var(--theme-primary, #6D71F9) !important;
}

body.pw-login-pages .pc-login-btn {
    background: var(--theme-primary, #6D71F9) !important;
    color: var(--theme-button-text, #ffffff) !important;
    border-color: var(--theme-primary, #6D71F9) !important;
}

body.pw-login-pages .pc-login-btn:hover,
body.pw-login-pages .pc-login-btn:focus {
    background: var(--theme-secondary, #4D51C0) !important;
    border-color: var(--theme-secondary, #4D51C0) !important;
}

body.pw-login-pages .btn.btn-primary,
body.pw-login-pages .pw-login-link .btn-primary,
body.pw-login-pages .pw-login-backd-flex .btn-primary {
    background: transparent !important;
    color: var(--theme-primary, #6D71F9) !important;
    border: none !important;
}

body.pw-login-pages .pc-form .form-control {
    border-color: var(--theme-border, #DADBFD) !important;
    color: var(--theme-body-text, #272848);
}

body.pw-login-pages .pc-form .form-control:focus {
    border-color: var(--theme-primary, #6D71F9) !important;
}

body.pw-login-pages .form-check-input:checked {
    background-color: var(--theme-primary, #6D71F9) !important;
    border-color: var(--theme-primary, #6D71F9) !important;
}

body.pw-login-pages .toggle-password svg path[fill="#6D71F9"],
body.pw-login-pages .toggle-password svg path[fill="#6d71f9"] {
    fill: var(--theme-primary, #6D71F9) !important;
}

/* Loaders / spinners → primary */
.spinner-border,
.spinner-border-sm,
.schedule-loader-box .spinner-border,
.schedule-loader-box .spinner-border.ms-auto,
.js-inline-btn-loader.spinner-border,
.js-inline-btn-loader.spinner-border-sm {
    color: var(--theme-primary, #6D71F9) !important;
    border-color: var(--theme-primary, #6D71F9) !important;
    border-right-color: transparent !important;
}

.spinner-grow,
.spinner-grow-sm {
    color: var(--theme-primary, #6D71F9) !important;
    background-color: var(--theme-primary, #6D71F9) !important;
}

.spinner {
    border-left-color: rgba(var(--theme-primary-rgb, 109, 113, 249), 0.15) !important;
    border-right-color: rgba(var(--theme-primary-rgb, 109, 113, 249), 0.15) !important;
    border-bottom-color: rgba(var(--theme-primary-rgb, 109, 113, 249), 0.15) !important;
    border-top-color: rgba(var(--theme-primary-rgb, 109, 113, 249), 0.8) !important;
}

.nb-spinner {
    border-top-color: var(--theme-primary, #6D71F9) !important;
}

/* Search icon button */
a.custom-search-btn {
    border: 1px solid var(--theme-border, #DADBFD) !important;
}

