
:root {
    --link-color: color-mix(in srgb, #4C4184 95%, #000);
    --link-color-rgb: 76, 65, 132;
    --link-hover-color: color-mix(in srgb, #4C4184 80%, #000);
    --link-hover-color-rgb: 76, 65, 132;
}
:root,
.o_required_modifier,
.o_field_widget:focus-within {
    --o-input-border-color: #4C4184;
    --o-caret-color: #4C4184;
}
.btn-primary,
.btn-fill-primary {
    --btn-color: #fff;
    --btn-bg: #4C4184;
    --btn-border-color: #4C4184;
    --btn-hover-color: #fff;
    --btn-hover-bg: color-mix(in srgb, #4C4184 85%, #000);
    --btn-hover-border-color: color-mix(in srgb, #4C4184 80%, #000);
    --btn-active-color: #fff;
    --btn-active-bg: color-mix(in srgb, #4C4184 90%, #000);
    --btn-active-border-color: color-mix(in srgb, #4C4184 80%, #000);
    --btn-disabled-bg: #4C4184;
    --btn-disabled-border-color: #4C4184;
    background-color: #4C4184 !important;
    border-color: #4C4184 !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-fill-primary:hover, .btn-fill-primary:focus, .btn-fill-primary:active {
    background-color: color-mix(in srgb, #4C4184 85%, #000) !important;
    border-color: color-mix(in srgb, #4C4184 80%, #000) !important;
    color: #fff !important;
}
.btn-secondary,
.btn-outline-secondary {
    --btn-active-border-color: #4C4184;
}
.btn-secondary:active, .btn-secondary.active,
.btn-outline-secondary:active, .btn-outline-secondary.active,
.o-dropdown.btn-secondary.show, .o-dropdown.btn-outline-secondary.show {
    border-color: #4C4184 !important;
}
.btn-link.btn-primary, .btn-link.text-primary {
    --btn-color: #4C4184;
    --btn-hover-color: color-mix(in srgb, #4C4184 80%, #000);
    --btn-active-color: color-mix(in srgb, #4C4184 70%, #000);
    color: #4C4184 !important;
}
.btn-link.btn-primary:hover, .btn-link.btn-primary:focus,
.btn-link.text-primary:hover, .btn-link.text-primary:focus {
    color: color-mix(in srgb, #4C4184 80%, #000) !important;
}
.btn-link.btn-action:hover, .btn-link.btn-action:focus, .btn-link.btn-action.focus,
.btn-link.text-action:hover, .btn-link.text-action:focus, .btn-link.text-action.focus {
    color: #4C4184 !important;
}
a {
    color: #4C4184;
}
a:hover {
    filter: brightness(80%);
    color: #4C4184;
}
thead a, .page thead a {
    color: inherit !important;
}
.form-check-input:checked {
    background-color: #4C4184 !important;
    border-color: #4C4184 !important;
}
.form-check-input:focus {
    border-color: #4C4184 !important;
}
.form-control:focus,
.form-select:focus,
.o_input:focus {
    border-color: #4C4184 !important;
}
.form-switch.o_switch_toggle .form-check-input,
.form-switch.o_switch_toggle .form-check-input:checked,
.form-switch.o_switch_toggle:hover .form-check-input:not(:disabled) {
    border-color: #4C4184 !important;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #4C4184 !important;
}
.o_stat_button:focus, .o_stat_button:hover {
    color: #4C4184 !important;
}
.o-form-buttonbox {
    --o-stat-text-color: #4C4184;
    --o-stat-button-color: #4C4184;
}
.o_field_percent_pie .o_pie {
    --PercentPieField-color-active: #4C4184;
}
.o_searchview:focus-within {
    border-color: #4C4184 !important;
}
.o_searchview:focus-within + .o_searchview_dropdown_toggler {
    border-top-color: #4C4184 !important;
    border-right-color: #4C4184 !important;
    border-bottom-color: #4C4184 !important;
}
.progress, .progress-stacked {
    --progress-bar-bg: #4C4184;
}
.o_main_navbar {
    background: #4C4184 !important;
    border-bottom-color: color-mix(in srgb, #4C4184 80%, #000) !important;
    --NavBar-entry-backgroundColor: #4C4184;
    --NavBar-entry-backgroundColor--hover: color-mix(in srgb, #4C4184 80%, #000);
    --NavBar-entry-backgroundColor--active: color-mix(in srgb, #4C4184 65%, #000);
}

/* ===== Link color (Odoo's derived $o-main-link-color = darken(primary, 5%)) ===== */
.o_form_view .o_form_uri,
.o_form_view .o_form_uri > span:first-child,
.o-autocomplete .ui-menu-item.o_m2o_dropdown_option > a,
.o-autocomplete .ui-menu-item.o_calendar_dropdown_option > a,
.o_calendar_renderer .o_calendar_widget .fc-daygrid-day-bottom .fc-more-link,
.modal .modal-dialog.o_onboarding_payment_provider_wizard .o_form_renderer a[type="action"],
:not(.dropstart) > .dropdown-item.active:not(.dropdown-item_active_noarrow):before,
:not(.dropstart) > .dropdown-item.selected:not(.dropdown-item_active_noarrow):before,
.o-dropdown.dropstart > .dropdown-item.dropdown-toggle:not(.dropdown-item_active_noarrow).active::after,
.o-dropdown.dropstart > .dropdown-item.dropdown-toggle:not(.dropdown-item_active_noarrow).selected::after,
.o_cc .dropdown-menu .dropdown-item-text .text-muted a,
.o_colored_level .o_cc .dropdown-menu .dropdown-item-text .text-muted a {
    color: #4C4184 !important;
}
.o_form_view .o_form_uri:hover, .o_form_view .o_form_uri:focus, .o_form_view .o_form_uri.focus,
.o_form_view .o_form_uri > span:first-child:hover, .o_form_view .o_form_uri > span:first-child:focus, .o_form_view .o_form_uri > span:first-child.focus,
.o-autocomplete .ui-menu-item.o_m2o_dropdown_option > a.ui-state-active:not(.o_m2o_start_typing),
.o-autocomplete .ui-menu-item.o_calendar_dropdown_option > a.ui-state-active:not(.o_m2o_start_typing),
.o_list_renderer .o_list_table .o_field_x2many_list_row_add a:focus,
.o_list_renderer .o_list_table .o_field_x2many_list_row_add a:active,
.o_cc .dropdown-menu .dropdown-item-text .text-muted a:hover,
.o_colored_level .o_cc .dropdown-menu .dropdown-item-text .text-muted a:hover {
    color: color-mix(in srgb, #4C4184 85%, #000) !important;
}
.o_list_renderer .o_list_table .o_field_x2many_list_row_add a {
    color: #4C4184 !important;
}

/* ===== Kanban colored levels: btn-outline-primary + plain links (o_cc1/2/3/5) ===== */
.o_cc1 .btn-outline-primary, .o_cc2 .btn-outline-primary, .o_cc3 .btn-outline-primary, .o_cc5 .btn-outline-primary,
.o_colored_level .o_cc1 .btn-outline-primary, .o_colored_level .o_cc2 .btn-outline-primary,
.o_colored_level .o_cc3 .btn-outline-primary, .o_colored_level .o_cc5 .btn-outline-primary {
    --btn-color: #4C4184;
    --btn-border-color: #4C4184;
    --btn-hover-bg: #4C4184;
    --btn-hover-border-color: #4C4184;
    --btn-active-bg: #4C4184;
    --btn-active-border-color: #4C4184;
}
.o_cc1 a:not(.btn), .o_cc1 .btn-link, .o_cc2 a:not(.btn), .o_cc2 .btn-link,
.o_cc3 a:not(.btn), .o_cc3 .btn-link, .o_cc5 a:not(.btn), .o_cc5 .btn-link,
.o_colored_level .o_cc1 a:not(.btn), .o_colored_level .o_cc1 .btn-link,
.o_colored_level .o_cc2 a:not(.btn), .o_colored_level .o_cc2 .btn-link,
.o_colored_level .o_cc3 a:not(.btn), .o_colored_level .o_cc3 .btn-link,
.o_colored_level .o_cc5 a:not(.btn), .o_colored_level .o_cc5 .btn-link {
    color: color-mix(in srgb, #4C4184 70%, #000) !important;
}
.o_loading_indicator {
    background-color: #4C4184 !important;
}
.o_barcode {
    background-color: #4C4184 !important;
}
.badge.text-bg-default, .badge.bg-light, .badge.text-bg-light,
.badge.bg-default, .badge.text-primary {
    outline-color: #4C4184 !important;
}
.text-primary {
    color: #4C4184 !important;
}
.btn-outline-primary {
    --btn-color: #4C4184;
    --btn-border-color: #4C4184;
    --btn-hover-color: #fff;
    --btn-hover-bg: #4C4184;
    --btn-hover-border-color: #4C4184;
    --btn-active-color: #fff;
    --btn-active-bg: #4C4184;
    --btn-active-border-color: #4C4184;
    --btn-disabled-color: #4C4184;
    --btn-disabled-border-color: #4C4184;
}
.o_notebook {
    --Notebook__link-color--active: #4C4184;
    --Notebook__link-border-top-color--active: #4C4184;
}
.o_main_navbar .o_menu_toggle {
    --NavBar-menuToggle-color: #4C4184;
}

/* ===== Buttons: remaining variants (light/fill/outline) ===== */
.btn-light, .btn-fill-light, .btn-fill-secondary {
    --btn-active-border-color: #4C4184;
}
.btn-light:active, .btn-light.active,
.btn-fill-light:active, .btn-fill-light.active,
.btn-fill-secondary:active, .btn-fill-secondary.active {
    border-color: #4C4184 !important;
}

/* ===== Navbar & mobile search ===== */
.bottom-sheet-open:not(.o_home_menu_background) .o_main_navbar {
    box-shadow: 20px 0 0 #4C4184, -20px 0 0 #4C4184 !important;
}
.o_web_client .o_mobile_search .o_mobile_search_header {
    --mobileSearch__header-bg: #4C4184;
}
@media (max-width: 767.98px) {
    .o_web_client.o-mail-discuss-systray-menu-open .o_main_navbar {
        background-color: #4C4184 !important;
    }
}
.o_bottom_sheet .o_bottom_sheet_sheet .o_bottom_sheet_body:not(.o_custom_bottom_sheet) .dropdown-item.active::after,
.o_bottom_sheet .o_bottom_sheet_sheet .o_bottom_sheet_body:not(.o_custom_bottom_sheet) .dropdown-item.selected::after {
    color: #4C4184 !important;
}
.o_bottom_sheet .o_cp_switch_buttons .o-dropdown-item {
    --btn-active-border-color: #4C4184;
}

/* ===== Generic boolean switch widget (not the o_switch_toggle variant) ===== */
.o_switch > input:checked + span {
    background: #4C4184 !important;
}

/* ===== Date picker ===== */
.o_datetime_picker .o_date_item_cell:hover, .o_datetime_picker .o_date_item_cell:focus {
    --DateTimePicker__date-cell-border-color-hover: #4C4184;
}

/* ===== Required field / list editing ===== */
.o_list_renderer .o_data_row.o_selected_row > .o_data_cell.o_required_modifier:not(.o_readonly_modifier) {
    border-bottom-color: #4C4184 !important;
}

/* ===== Field widgets: image, copy, attachment, avatar ===== */
.o_field_widget.o_field_image .o_form_image_controls,
.o_field_widget.o_field_image_url .o_form_image_controls {
    background-color: #4C4184 !important;
}
.o_field_widget.o_field_image .o_form_image_controls > .fa.o_select_file_button,
.o_field_widget.o_field_image_url .o_form_image_controls > .fa.o_select_file_button {
    background: #4C4184 !important;
}
.o_field_widget.o_field_copy {
    border-color: #4C4184 !important;
    color: #4C4184 !important;
}
.o_attachment .o_attachment_delete:hover {
    background: #4C4184 !important;
}
.o_field_many2one_avatar img:hover,
.o_field_many2many_avatar_user img:hover,
.o_clickable_m2x_avatar img:hover {
    outline-color: #4C4184 !important;
}

/* ===== Properties field widget ===== */
.o_field_properties .o_input:focus,
.o_field_properties .dropdown:focus ~ .o_dropdown_button,
.o_field_properties .dropdown:focus-within ~ .o_dropdown_button,
.o_field_properties .o_input:focus ~ .o_datepicker_button,
.o_field_properties .o_dropdown_button:focus {
    --o-input-border-color: #4C4184;
}
.o_property_field_highlight .o_field_property_empty_label,
.o_property_field_highlight {
    border-color: #4C4184 !important;
}
.o_field_property_label .o_field_property_open_popover:hover,
.o_field_property_label .oi-draggable:hover {
    color: #4C4184 !important;
}
.o_field_properties div:not([columns="1"]) .o_property_drag_group {
    border-color: #4C4184 !important;
}
.o_field_property_tag .o_field_property_dropdown_add * {
    color: #4C4184 !important;
}

/* ===== Statusbar field (e.g. Draft / Posted state pills) ===== */
.o_field_statusbar > .o_statusbar_status,
.o_field_statusbar_duration > .o_statusbar_status,
.o_field_rotting_statusbar_duration > .o_statusbar_status {
    --o-statusbar-border-active: #4C4184;
}

/* ===== Settings app search highlight ===== */
.o_searchable_setting {
    --SearchableSetting__highlight-border: #4C4184;
}
.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .selected {
    box-shadow: inset 2px 0 0 #4C4184 !important;
}
.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab:after {
    background: #4C4184 !important;
}

/* ===== Kanban: examples dialog, colored levels (stage colors), product-added highlight ===== */
.o_kanban_examples_dialog .o_notebook {
    --Notebook__link-border-top-color--active: #4C4184;
}
.o_kanban_examples_dialog .o_notebook .nav-link.active {
    background-color: #4C4184 !important;
}
.o_kanban_view .o_kanban_renderer .o_kanban_record.o_product_added {
    border-color: #4C4184 !important;
}
.o_cc1 .nav-pills .nav-link.active, .o_cc1 .nav-pills .show > .nav-link,
.o_cc2 .nav-pills .nav-link.active, .o_cc2 .nav-pills .show > .nav-link,
.o_cc3 .nav-pills .nav-link.active, .o_cc3 .nav-pills .show > .nav-link,
.o_cc5 .nav-pills .nav-link.active, .o_cc5 .nav-pills .show > .nav-link,
.o_colored_level .o_cc1 .nav-pills .nav-link.active, .o_colored_level .o_cc1 .nav-pills .show > .nav-link,
.o_colored_level .o_cc2 .nav-pills .nav-link.active, .o_colored_level .o_cc2 .nav-pills .show > .nav-link,
.o_colored_level .o_cc3 .nav-pills .nav-link.active, .o_colored_level .o_cc3 .nav-pills .show > .nav-link,
.o_colored_level .o_cc5 .nav-pills .nav-link.active, .o_colored_level .o_cc5 .nav-pills .show > .nav-link {
    background-color: #4C4184 !important;
}
.o_cc1 a.list-group-item, .o_cc2 a.list-group-item, .o_cc3 a.list-group-item, .o_cc5 a.list-group-item,
.o_colored_level .o_cc1 a.list-group-item, .o_colored_level .o_cc2 a.list-group-item,
.o_colored_level .o_cc3 a.list-group-item, .o_colored_level .o_cc5 a.list-group-item {
    color: #4C4184 !important;
}
.o_cc1 a.list-group-item.active, .o_cc2 a.list-group-item.active,
.o_cc3 a.list-group-item.active, .o_cc5 a.list-group-item.active,
.o_colored_level .o_cc1 a.list-group-item.active, .o_colored_level .o_cc2 a.list-group-item.active,
.o_colored_level .o_cc3 a.list-group-item.active, .o_colored_level .o_cc5 a.list-group-item.active {
    background-color: #4C4184 !important;
    border-color: #4C4184 !important;
}

/* ===== Accounting app: upload/drop zones ===== */
.account_drag_drop_btn {
    border-color: #4C4184 !important;
}
.o_drop_area {
    border-color: #4C4184 !important;
}
.o_account_dashboard_kanban_view .o_drop_area.drag_to_card {
    border-color: #4C4184 !important;
}

/* ===== Mail / Discuss app ===== */
.o-mail-ActionList button.o-dropdown-item.btn-primary:not(.o-tag-JOIN_LEAVE_CALL):not(.focus),
.o-mail-ActionList button.o-inline.btn-primary:not(.o-tag-JOIN_LEAVE_CALL):not(.o-hasBtnBg) {
    --o-mail-ActionList-primaryNoBgColor: #4C4184;
}
.o-mail-AutoresizeInput:not([disabled]):focus {
    --o-input-border-color: #4C4184;
}
.o-mail-Composer-actions button.o-sendMessageActive {
    outline-color: #4C4184 !important;
}
.o-mail-Composer-inputContainer:has(.o-mail-Composer-html:focus) {
    --border-color: #4C4184;
}
.o-discuss-inCallIconColor {
    color: #4C4184 !important;
}
.o-mail-RecipientsInput:focus-within:hover {
    border-bottom-color: #4C4184 !important;
}
.o-mail-RecipientsInput:focus-within:hover:after {
    border-top-color: #4C4184 !important;
}
.o_property_field_value .o_field_property_many2one_value img[comodel="res.users"]:hover,
.o_property_field_value .o_m2m_avatar[comodel="res.users"]:hover {
    outline-color: #4C4184 !important;
}
.o-discuss-NotificationSettings-defaultValue {
    color: #4C4184 !important;
}
.o-mail-DiscussSidebarChannel-actions button:hover,
.o-mail-DiscussSidebarChannel-actions button:active,
.o-mail-DiscussSidebarChannel-actions button:focus-visible,
.o-mail-DiscussSidebarChannel-actions button.o-showingActions {
    --border-color: #4C4184;
}
.o-discuss-CallMenu-buttonContent.o-isOdooCommunity {
    color: #4C4184 !important;
}

/* ===== Website editor: media dialog, link popover, table tools, revision history ===== */
.modal .o_select_media_dialog .o_we_attachment_selected {
    box-shadow: 0 0 0 3px #4C4184 !important;
}
.modal .o_select_media_dialog .o_we_attachment_selected:not(.fa) {
    border-color: #4C4184 !important;
}
.modal .o_select_media_dialog .o_we_attachment_selected:not(.fa):before {
    background-color: #4C4184 !important;
}
.html-history-dialog .revision-list .btn.selected {
    color: #4C4184 !important;
}
.html-history-dialog .revision-list .btn.selected:before {
    background-color: #4C4184 !important;
}
.html-history-dialog .revision-list .btn.selected:after {
    border-color: #4C4184 !important;
}
.o-we-linkpopover .form-control:focus, .o-we-linkpopover .form-select:focus, .o-we-linkpopover .form-check-input:focus {
    border-color: #4C4184 !important;
}
.o-we-table-menu {
    border-color: #4C4184 !important;
    background-color: color-mix(in srgb, #4C4184 70%, transparent) !important;
}
.o-we-tablepicker .o-we-cell.active {
    background-color: #4C4184 !important;
}

/* ===== Website builder: page templates, SEO, theme configurator ===== */
.o_website_page_templates_dialog .modal-body .list-group {
    --list-group-active-bg: #4C4184;
    --list-group-active-border-color: #4C4184;
}
.oe_seo_configuration .o_seo_og_image .o_meta_img:hover, .oe_seo_configuration .o_seo_og_image .o_meta_img:focus-visible,
.oe_seo_configuration .o_seo_og_image .o_meta_img.o_active_image {
    border-color: #4C4184 !important;
}
.oe_seo_configuration .o_seo_og_image .o_meta_img_upload:hover, .oe_seo_configuration .o_seo_og_image .o_meta_img_upload:focus-visible {
    border-color: #4C4184 !important;
    color: #4C4184 !important;
}
.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper input {
    border-bottom-color: #4C4184 !important;
    color: #4C4184 !important;
}
.o_configurator_container .o_configurator_screen.o_description_screen .dropdown {
    box-shadow: inset 0 -3px 0 #4C4184 !important;
}
.o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_card:hover,
.o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_card:focus-visible,
.o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_card.selected {
    box-shadow: 0 0 0 1px #FFF, 0 0 0 3px #4C4184 !important;
}
.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview:hover {
    border-color: #4C4184 !important;
}
.o_image_radio_option.active {
    border-color: #4C4184 !important;
}
.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview.o_theme_installed .o_theme_preview_top {
    box-shadow: 0 0 0 3px #4C4184 !important;
}
.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview.o_theme_installed .o_theme_preview_top:not(.fa) {
    border-color: #4C4184 !important;
}
.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview.o_theme_installed .o_theme_preview_top:not(.fa):before {
    background-color: #4C4184 !important;
}

/* ===== Sales: product configurator ===== */
.o_sale_product_configurator_uom_choice.active label,
.o_sale_product_configurator_ptav_pills.active label {
    background-color: color-mix(in srgb, #4C4184 15%, transparent) !important;
    border-color: #4C4184 !important;
}
.product-card:hover, .product-card.selected {
    border-color: #4C4184 !important;
}
.o_sale_product_configurator_ptav_color:hover,
.o_sale_product_configurator_ptav_color:hover .form-check-input:not(:disabled),
.o_sale_product_configurator_ptav_color.active {
    border-color: #4C4184 !important;
}
.o_sale_product_configurator_ptav_image:hover, .o_sale_product_configurator_ptav_image.active,
.o_sale_product_configurator_ptav_image.css_not_available:hover, .o_sale_product_configurator_ptav_image.css_not_available.active {
    outline-color: #4C4184 !important;
}

/* ===== Project / Planning: accrual timeline, stage color bar, status bubble ===== */
.o_accrual_level .new-text {
    color: #4C4184 !important;
}
.o_accrual_level .new {
    background-color: #4C4184 !important;
    border-color: #4C4184 !important;
}
.o_accrual_level:has(.content:hover, .time > span:hover) .content,
.o_accrual_level:has(.content:hover, .time > span:hover) .time > span,
.o_accrual_level:has(.content:hover, .time > span:hover) .timeline > .circle {
    border-color: #4C4184 !important;
}
.o_accrual_level:has(.content:hover, .time > span:hover) .timeline > .circle {
    background-color: #4C4184 !important;
}
.o_project_update_kanban_view .o_kanban_renderer .o_kanban_record.o_kanban_color_0::after {
    border-right-color: #4C4184 !important;
    border-left-color: #4C4184 !important;
}
.o_status_bubble.o_color_bubble_24 {
    background-color: #4C4184 !important;
}
