/* BoardFusion portal theme — generated dynamically from ir.config_parameter */

:root {
    --bf-primary:        #059669;
    --bf-primary-strong: #047552;
    --bf-accent:         #8FE7C7;
    --bf-border:         #D2ECE4;
    --bf-bg-subtle:      #F0F9F6;
}

.form-check-input:focus { border-color: #85b5ae; outline: 0; box-shadow: 0 0 0 0.25rem rgba(5, 150, 105, 0.25); }
.form-check-input:checked { background-color: #059669; border-color: #059669; }
.form-check-input[type="checkbox"]:indeterminate { background-color: #059669; border-color: #059669; --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); }
.form-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 0.25rem rgba(5, 150, 105, 0.25); }
.form-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 0.25rem rgba(5, 150, 105, 0.25); }
.form-range::-webkit-slider-thumb { width: 1rem; height: 1rem; margin-top: -0.45rem; appearance: none; background-color: #FFFFFF; border: 1px solid #059669; border-radius: 1rem; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
.form-range::-webkit-slider-thumb:active { background-color: #059669; }
.form-range::-moz-range-thumb { width: 1rem; height: 1rem; appearance: none; background-color: #FFFFFF; border: 1px solid #059669; border-radius: 1rem; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
.form-range::-moz-range-thumb:active { background-color: #059669; }
.form-check:hover, .form-check:hover .form-check-input:not(:disabled):not(.o_wysiwyg_loader) { border-color: #059669; }
.bf_btn_primary { background: #059669; border-color: #059669; color: #fff; }
.bf_btn_primary:hover { background: #047552; border-color: #047552; color: #fff; box-shadow: 0 2px 8px rgba(5, 150, 105, 0.28); }
.bf_btn_ai_insights { background: rgba(5, 150, 105, 0.07); border: 1px solid rgba(5, 150, 105, 0.2); color: #059669; display: inline-flex; align-items: center; gap: 0.4rem; }
.bf_btn_ai_insights:hover { background: rgba(5, 150, 105, 0.12); border-color: rgba(5, 150, 105, 0.32); box-shadow: 0 2px 8px rgba(5, 150, 105, 0.12); color: #047552; }
.bf_wordmark_board { font-family: "Sora", "Avenir Next", "Helvetica Neue", sans-serif; font-size: 1.6rem; font-weight: 800; letter-spacing: -0.03em; color: #059669; line-height: 1; }
.bf_idc_avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(5, 150, 105, 0.18); flex-shrink: 0; }
.bf_idc_avatar_link:hover { transform: translateY(-1px); box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.08); }
.bf_idc_hero { display: flex; align-items: center; gap: 0.45rem; padding: 0.46rem 1.2rem; background: linear-gradient(90deg, rgba(5, 150, 105, 0.1) 0%, rgba(5, 150, 105, 0.04) 100%); }
.bf_idc_hero_icon { width: 18px; height: 18px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(5, 150, 105, 0.16); }
.bf_idc_hero_icon i { font-size: 0.58rem; color: #059669; }
.bf_idc_hero_txt { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #059669; }
.bf_idc_hero_dot { width: 4px; height: 4px; border-radius: 50%; background: rgba(5, 150, 105, 0.35); flex-shrink: 0; }
.bf_idc_stat i { font-size: 0.78rem; color: #059669; opacity: 0.5; margin-bottom: 0.1rem; }
.bf_idc_num { font-family: "Sora", "Avenir Next", "Helvetica Neue", sans-serif; font-size: 1.25rem; font-weight: 800; color: #059669; line-height: 1; }
.bf_idc_link i:first-child { font-size: 0.85rem; color: #059669; opacity: 0.65; flex-shrink: 0; }
.bf_idc_link:hover { background: rgba(5, 150, 105, 0.04); color: #1C1C1E !important; }
.bf_idc_mtg_all { font-size: 0.72rem; font-weight: 600; color: #059669 !important; text-decoration: none !important; opacity: 0.7; transition: opacity 0.12s; }
.bf_intro_panel { border: 1px solid rgba(12, 28, 26, 0.06); border-radius: 10px; background: linear-gradient(135deg, rgba(5, 150, 105, 0.08) 0%, rgba(143, 231, 199, 0.05) 45%, #fff 100%); box-shadow: 0 10px 26px rgba(16, 24, 40, 0.05); padding: 1.4rem 1.6rem; display: flex; flex-direction: column; gap: 0.6rem; }
.bf_intro_badge { align-self: flex-start; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #059669; background: rgba(5, 150, 105, 0.08); border: 1px solid rgba(5, 150, 105, 0.14); padding: 0.2rem 0.6rem; border-radius: 999px; }
.bf_btn_lg.btn, .bf_btn_lg.btn-primary { background: #059669 !important; border-color: #059669 !important; color: #fff !important; }
.bf_btn_lg.btn:hover, .bf_btn_lg.btn-primary:hover { background: #047552 !important; border-color: #047552 !important; color: #fff !important; }
.bf_btn_outline { background: rgba(5, 150, 105, 0.06); border: 1px solid rgba(5, 150, 105, 0.28); color: #059669; padding: 0.55rem 1.1rem; font-size: 0.86rem; }
.bf_btn_outline:hover { background: rgba(5, 150, 105, 0.12); border-color: rgba(5, 150, 105, 0.4); color: #047552; box-shadow: 0 6px 14px rgba(16, 24, 40, 0.08); }
.bf_intro_link i { color: #059669; font-size: 0.95rem; width: 18px; text-align: center; }
.bf_intro_link:hover { color: #059669 !important; }
.bf_ql_badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5em; height: 1.5em; padding: 0 0.35em; border-radius: 999px; font-size: 0.65rem; font-weight: 700; flex-shrink: 0; background: rgba(5, 150, 105, 0.1); color: #059669; }
.bf_qa_item:hover { box-shadow: 0 4px 14px rgba(16, 24, 40, 0.1); transform: translateY(-1px); border-color: rgba(5, 150, 105, 0.2); }
.bf_qa_count { font-family: "Sora", "Avenir Next", "Helvetica Neue", sans-serif; font-size: 1.5rem; font-weight: 800; color: #059669; line-height: 1; transition: color 0.15s; }
.o_portal_index_card .badge, .o_portal_index_card [class*="badge"] { margin-top: 0.6rem; align-self: flex-start; font-size: 0.7rem; font-weight: 700; background: rgba(5, 150, 105, 0.08); color: #059669; border-radius: 3px; padding: 0.2em 0.55em; letter-spacing: 0.04em; }
.o_portal_index_card a::before { content: ''; position: absolute; left: 0; top: 12%; bottom: 12%; width: 2px; border-radius: 1px; background: #059669; transform: scaleY(0); transition: transform 0.22s cubic-bezier(0.25, 0.1, 0.25, 1) cubic-bezier(0.25, 0.1, 0.25, 1); transform-origin: center; }
#top > nav.navbar .bf_nav_wordmark .bf_nav_w_top { font-family: "Sora", "Avenir Next", "Helvetica Neue", sans-serif; font-size: 0.88rem; font-weight: 700; color: #059669; letter-spacing: -0.01em; }
#top > nav.navbar #top_menu .dropdown-toggle:hover, #top > nav.navbar #top_menu .dropdown-toggle:focus, #top > nav.navbar #top_menu .dropdown-toggle[aria-expanded="true"], #top > nav.navbar #top_menu .nav-link:hover, #top > nav.navbar #top_menu .nav-link:focus, #top > nav.navbar #top_menu .nav-link[aria-expanded="true"] { background: rgba(5, 150, 105, 0.06); border-color: #059669; color: #059669 !important; }
#top > nav.navbar #top_menu .dropdown-toggle:hover .bf_nav_avatar, #top > nav.navbar #top_menu .dropdown-toggle:hover img.rounded-circle, #top > nav.navbar #top_menu .dropdown-toggle:hover img.fa.rounded-empty-circle, #top > nav.navbar #top_menu .dropdown-toggle:focus .bf_nav_avatar, #top > nav.navbar #top_menu .dropdown-toggle:focus img.rounded-circle, #top > nav.navbar #top_menu .dropdown-toggle:focus img.fa.rounded-empty-circle, #top > nav.navbar #top_menu .dropdown-toggle[aria-expanded="true"] .bf_nav_avatar, #top > nav.navbar #top_menu .dropdown-toggle[aria-expanded="true"] img.rounded-circle, #top > nav.navbar #top_menu .dropdown-toggle[aria-expanded="true"] img.fa.rounded-empty-circle, #top > nav.navbar #top_menu .nav-link:hover .bf_nav_avatar, #top > nav.navbar #top_menu .nav-link:hover img.rounded-circle, #top > nav.navbar #top_menu .nav-link:hover img.fa.rounded-empty-circle, #top > nav.navbar #top_menu .nav-link:focus .bf_nav_avatar, #top > nav.navbar #top_menu .nav-link:focus img.rounded-circle, #top > nav.navbar #top_menu .nav-link:focus img.fa.rounded-empty-circle, #top > nav.navbar #top_menu .nav-link[aria-expanded="true"] .bf_nav_avatar, #top > nav.navbar #top_menu .nav-link[aria-expanded="true"] img.rounded-circle, #top > nav.navbar #top_menu .nav-link[aria-expanded="true"] img.fa.rounded-empty-circle { border-color: #059669; }
#top > nav.navbar #top_menu .dropdown-menu.js_usermenu .dropdown-item:hover, #top > nav.navbar #top_menu .js_usermenu.o_dropdown_menu .dropdown-item:hover, #top > nav.navbar #top_menu .dropdown-menu.js_usermenu .dropdown-item:focus, #top > nav.navbar #top_menu .js_usermenu.o_dropdown_menu .dropdown-item:focus { background: rgba(5, 150, 105, 0.06); color: #059669; }
#top > nav.navbar .navbar-toggler:hover { border-color: #059669; color: #059669; }
.o_portal_navbar .nav-link:hover, .o_portal_navbar .nav-link.active, .o_portal_navbar .dropdown-toggle:hover, .o_portal_navbar .dropdown-toggle.active { color: #059669 !important; }
.o_portal_navbar .btn-group > .btn.btn-light.dropdown-toggle:hover, .o_portal_navbar .btn-group > .btn.btn-light.dropdown-toggle:focus { border-color: rgba(5, 150, 105, 0.35); background: rgba(5, 150, 105, 0.06); color: #059669; }
.o_portal_navbar .navbar-toggler:hover { border-color: #059669; }
.o_portal_navbar .form-select:focus, .o_portal_navbar .form-control:focus { border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); }
.o_portal_submenu { display: flex !important; align-items: center; background: linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%); border: 1.5px solid rgba(5, 150, 105, 0.18); border-radius: 999px; padding: 0.34rem 1.1rem 0.34rem 0.34rem !important; box-shadow: 0 4px 14px rgba(28, 28, 30, 0.06), 0 0 0 1px rgba(5, 150, 105, 0.05); margin-bottom: 1.5rem !important; gap: 0; width: fit-content; max-width: 100%; overflow: hidden; }
.bf_ws_icon { width: 36px; height: 36px; border-radius: 6px; background: rgba(5, 150, 105, 0.08); border: 1px solid rgba(5, 150, 105, 0.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bf_ws_icon i { font-size: 0.95rem; color: #059669; }
.bf_doc_row:hover .bf_doc_name { color: #059669; }
.bf_doc_row:hover .bf_doc_trail { color: #059669 !important; transform: translateX(2px); }
.bf_side_contact_block a { color: #059669; font-weight: 500; text-decoration: none; }
.bf_side_edit_link { font-size: 0.78rem; font-weight: 600; color: #059669 !important; text-decoration: none !important; letter-spacing: 0.01em; transition: color 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); }
.bf_side_edit_link:hover { color: #047552 !important; }
.bf_side_manager_block .o_portal_contact_details a { font-size: 0.82rem; color: #059669; font-weight: 500; text-decoration: none; }
.bf_brand_link { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; color: #059669; transition: color 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); }
.bf_brand_link:hover { color: #047552; }
.bf_brand_link:hover .bf_brand_text { background-size: 200% auto; animation: bf_brand_shimmer 1.2s linear infinite; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; background-image: linear-gradient(90deg, #047552 0%, #8FE7C7 40%, #059669 60%, #047552 100%); }
.bf_brand_dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #8FE7C7; flex-shrink: 0; animation: bf_pulse_dot 2s ease-in-out infinite; }
.bf_ai_modal_header { background: #059669; color: #fff; padding: 1rem 1.25rem; border-bottom: none; }
.bf_ai_modal_tabs .nav-link.active { color: #059669; border-bottom-color: transparent; }
.bf_ai_history_card .bf_ai_history_prompt { font-size: 0.82rem; font-weight: 600; color: #059669; margin-bottom: 0.4rem; display: flex; align-items: center; gap: 0.4rem; }
.bf_ai_spinner .spinner-border { color: #059669 !important; width: 1.5rem; height: 1.5rem; border-width: 2px; }
.bf_mrow:hover { background: rgba(5, 150, 105, 0.03); }
.bf_mrow_date { flex-shrink: 0; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: #059669; background: rgba(5, 150, 105, 0.08); border-radius: 4px; padding: 0.2em 0.5em; white-space: nowrap; min-width: 50px; text-align: center; line-height: 1.6; }
.bf_mrow_past:hover .bf_mrow_date { background: rgba(5, 150, 105, 0.08); color: #059669; }
.bf_upcoming_viewall { display: flex; align-items: center; justify-content: center; padding: 0.7rem 1.2rem; font-size: 0.82rem; font-weight: 600; color: #059669 !important; text-decoration: none !important; transition: background 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); }
.bf_upcoming_viewall:hover { background: rgba(5, 150, 105, 0.04); }
.bf_uci_head .bf_uci_all { margin-left: auto; color: #059669 !important; text-decoration: none !important; font-weight: 600; font-size: 0.72rem; text-transform: none; letter-spacing: 0; opacity: 0.85; transition: opacity 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); }
.bf_meetings_panel.bf_meetings_panel_upcoming { border-top: 2px solid #059669; }
.bf_mstrip_icon.bf_mstrip_icon_upcoming { background: rgba(5, 150, 105, 0.1); color: #059669; }
.bf_mstrip_all { margin-left: auto; font-size: 0.73rem; font-weight: 600; color: #059669 !important; text-decoration: none !important; opacity: 0.75; white-space: nowrap; flex-shrink: 0; transition: opacity 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); }
.bf_mstrip_badge.bf_mstrip_badge_pack { background: rgba(5, 150, 105, 0.08); color: #059669; }
.bf_cal_nav_btn:hover { background: #F5F5F7; color: #059669; border-color: #059669; }
.bf_cal_today_btn:hover { background: rgba(5, 150, 105, 0.06); color: #059669; border-color: #059669; }
.bf_cal_toggle_btn.active { background: #fff; color: #059669; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); }
.bf_cal_cell_today { background: rgba(5, 150, 105, 0.04); }
.bf_cal_cell_today .bf_cal_day_num { background: #059669; color: #fff; border-radius: 50%; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.bf_cal_event { display: flex; align-items: center; gap: 3px; padding: 2px 5px; border-radius: 3px; background: rgba(5, 150, 105, 0.1); color: #059669; font-size: 0.68rem; font-weight: 600; text-decoration: none !important; overflow: hidden; white-space: nowrap; transition: background 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); cursor: pointer; }
.bf_cal_event:hover { background: rgba(5, 150, 105, 0.2); color: #059669; }
.bf_mtg_date_col { flex-shrink: 0; width: 48px; display: flex; flex-direction: column; align-items: center; background: rgba(5, 150, 105, 0.07); border-radius: 6px; padding: 0.4rem 0.3rem; color: #059669; }
.bf_mtg_detail_icon { width: 52px; height: 52px; border-radius: 6px; background: rgba(5, 150, 105, 0.07); display: flex; align-items: center; justify-content: center; color: #059669; font-size: 1.4rem; }
.bf_mtg_tab:hover:not(.active) { background: #FAFAFA; color: #059669; }
.bf_mtg_tab.active { background: #fff; color: #059669; border-color: #E2E2E5; border-bottom-color: #fff; margin-bottom: -2px; font-weight: 600; }
.bf_mtg_tab .bf_tab_count { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(5, 150, 105, 0.1); color: #059669; font-size: 0.68rem; font-weight: 700; margin-left: 0.3rem; }
.bf_agenda_seq { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: rgba(5, 150, 105, 0.1); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; margin-top: 1px; }
.bf_agenda_att_link { display: inline-flex; align-items: center; font-size: 0.78rem; color: #059669; text-decoration: none; padding: 0.15rem 0.5rem; background: rgba(5, 150, 105, 0.06); border-radius: 100px; transition: background 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); }
.bf_agenda_att_link:hover { background: rgba(5, 150, 105, 0.14); }
.bf_btn_declare { font-size: 0.78rem; padding: 0.25rem 0.75rem; border: 1px solid #059669; color: #059669; border-radius: 100px; background: transparent; white-space: nowrap; transition: background 0.14s cubic-bezier(0.25, 0.1, 0.25, 1), color 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); flex-shrink: 0; }
.bf_btn_declare:hover { background: #059669; color: #fff; }
.bf_proxy_avatar { flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: rgba(5, 150, 105, 0.08); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.bf_form_input:focus { border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.12); }
.bf_service_card::before { content: ''; position: absolute; left: 0; top: 14px; bottom: 14px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, rgba(5, 150, 105, 0.6), rgba(143, 231, 199, 0.6)); opacity: 0.35; }
.bf_service_card::after { content: ''; position: absolute; inset: 0; border-radius: 10px; opacity: 0; transition: opacity 0.22s cubic-bezier(0.25, 0.1, 0.25, 1); pointer-events: none; background: radial-gradient(400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(5, 150, 105, 0.05), transparent 40%); }
.bf_service_icon.bf_service_icon_profile { background: linear-gradient(135deg, rgba(143, 231, 199, 0.16), rgba(5, 150, 105, 0.08)); color: #059669; border: 1px solid rgba(5, 150, 105, 0.16); }
.bf_service_icon.bf_service_icon_security { background: linear-gradient(135deg, rgba(220, 237, 231, 0.9), rgba(234, 244, 240, 0.6)); color: #047552; border: 1px solid rgba(5, 150, 105, 0.12); }
.bf_service_icon.bf_service_icon_directory { background: linear-gradient(135deg, rgba(5, 150, 105, 0.1), rgba(143, 231, 199, 0.08)); color: #059669; border: 1px solid rgba(5, 150, 105, 0.12); }
.bf_service_icon.bf_service_icon_ws { background: linear-gradient(135deg, rgba(143, 231, 199, 0.14), rgba(5, 150, 105, 0.06)); color: #059669; border: 1px solid rgba(143, 231, 199, 0.2); }
.bf_welcome_banner::before { content: ''; position: absolute; top: -30%; right: -5%; width: 200px; height: 200px; border-radius: 40%; background: rgba(5, 150, 105, 0.08); }
.bf_welcome_banner::after { content: ''; position: absolute; bottom: -40%; right: 10%; width: 150px; height: 150px; border-radius: 50%; background: rgba(143, 231, 199, 0.08); }
.bf_welcome_avatar { border-radius: 50%; object-fit: cover; border: 2px solid rgba(5, 150, 105, 0.2); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); }
.bf_pbar_icon.bf_pbar_icon_profile { background: linear-gradient(135deg, rgba(143, 231, 199, 0.16), rgba(5, 150, 105, 0.08)); color: #059669; border: 1px solid rgba(5, 150, 105, 0.12); }
.bf_pbar_icon.bf_pbar_icon_sec { background: linear-gradient(135deg, rgba(220, 237, 231, 0.9), rgba(234, 244, 240, 0.6)); color: #047552; border: 1px solid rgba(5, 150, 105, 0.1); }
.bf_breadcrumb .breadcrumb-item a:hover { color: #059669; }
.bf_page_header .bf_ph_icon { width: 42px; height: 42px; border-radius: 10px; background: linear-gradient(135deg, rgba(5, 150, 105, 0.1) 0%, rgba(143, 231, 199, 0.07) 100%); border: 1px solid rgba(5, 150, 105, 0.13); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.bf_page_header .bf_ph_icon { width: 42px; height: 42px; border-radius: 10px; background: linear-gradient(135deg, rgba(5, 150, 105, 0.1) 0%, rgba(143, 231, 199, 0.07) 100%); border: 1px solid rgba(5, 150, 105, 0.13); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.bf_crumb_back { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; border: 1.5px solid rgba(5, 150, 105, 0.22); color: #059669 !important; text-decoration: none !important; flex-shrink: 0; margin-left: 4px; margin-right: 0.5rem; transition: background 0.22s cubic-bezier(0.25, 0.1, 0.25, 1), border-color 0.22s cubic-bezier(0.25, 0.1, 0.25, 1), color 0.22s cubic-bezier(0.25, 0.1, 0.25, 1), transform 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); font-size: 0.75rem; }
.bf_crumb_back:hover { background: #059669; border-color: #059669; color: #fff !important; transform: translateX(-1px); }
.bf_btn_primary { background: linear-gradient(135deg, #059669, #047552); border: none; color: #fff; font-weight: 600; font-size: 0.88rem; border-radius: 6px; padding: 0.55rem 1.2rem; transition: box-shadow 0.22s cubic-bezier(0.25, 0.1, 0.25, 1), transform 0.14s cubic-bezier(0.25, 0.1, 0.25, 1); }
.bf_btn_primary:hover { box-shadow: 0 4px 14px rgba(5, 150, 105, 0.35); transform: translateY(-1px); color: #fff; }
.bf_doc_row:hover .bf_doc_name { color: #059669; }
.bf_qstat:hover .bf_qstat_icon { transform: scale(1.08); background: rgba(5, 150, 105, 0.12); }
.o_portal_index_card a::after { content: ''; position: absolute; inset: -1px; border-radius: 10px; opacity: 0; transition: opacity 0.22s cubic-bezier(0.25, 0.1, 0.25, 1); pointer-events: none; background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(5, 150, 105, 0.06), transparent 40%); }
.bf_committee_filter:focus { border-color: rgba(5, 150, 105, 0.4) !important; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.08) !important; outline: none; }
.o_portal_search_panel select:focus, .o_portal_search_panel .form-select:focus, .o_portal_search_panel .dropdown-toggle:focus { border-color: rgba(5, 150, 105, 0.35) !important; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.08) !important; outline: none; }
.o_portal_search_panel .input-group .form-control:focus { background: #fff; border-color: rgba(5, 150, 105, 0.35) !important; }
.o_portal_search_panel .input-group .btn:hover { background: #fff !important; color: #059669 !important; }
#org-view .bf_eval_card:hover img, #org-view .bf_eval_card:hover .rounded-circle, #org-view .bf_eval_card:hover .fa.rounded-empty-circle { border-color: rgba(5, 150, 105, 0.3) !important; }
#grid-view .bf_meta a:hover { color: #059669; }
.bf_member_card:hover .bf_mc_view_profile { opacity: 1; color: #059669; }
.bf_back_btn:hover { color: #059669; border-color: rgba(5, 150, 105, 0.3); background: rgba(5, 150, 105, 0.04); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.03); }
.bf_mc_msg_count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #059669; color: #fff; font-size: 0.62rem; font-weight: 700; margin-left: 0.3rem; }
.bf_pc_hero_bg { position: absolute; inset: 0; background: linear-gradient(135deg, #059669 0%, #1d7f62 100%); }
.bf_pc_ci_value:hover { color: #059669; }
.bf_pc_chip { display: inline-flex; align-items: center; font-size: 0.72rem; font-weight: 600; padding: 0.25em 0.65em; border-radius: 3px; background: rgba(5, 150, 105, 0.06); color: #059669; border: 1px solid rgba(5, 150, 105, 0.1); }
.bf_compose_textarea:focus { background: rgba(5, 150, 105, 0.01); }
.bf_compose_email_toggle input[type="checkbox"] { accent-color: #059669; width: 14px; height: 14px; margin-right: 0.2rem; }
.bf_compose_email_toggle:hover { color: #059669; }
.bf_chat_msg_email_badge { display: inline-flex; align-items: center; font-size: 0.62rem; color: #059669; background: rgba(5, 150, 105, 0.06); padding: 0.15em 0.4em; border-radius: 3px; }
.bf_chat_msg_content a { color: #059669; text-decoration: underline; }
.bf_modal_head_icon { width: 34px; height: 34px; border-radius: 6px; background: rgba(5, 150, 105, 0.1); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }
.bf_modal_eyebrow { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: #059669; line-height: 1; margin-bottom: 0.12rem; }
.bf_mf_input:focus { border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); background: #fff; }
.bf_mf_toggle.is-on .bf_mf_toggle_track { background: #059669; }
.bf_committee_chip.active { background: rgba(5, 150, 105, 0.09); border-color: rgba(5, 150, 105, 0.3); color: #059669; }
.bf_mf_check { width: 15px; height: 15px; accent-color: #059669; cursor: pointer; flex-shrink: 0; }
.bf_overview_chip { display: inline-flex; align-items: center; padding: 0.18em 0.65em; border-radius: 99px; font-size: 0.75rem; font-weight: 600; background: rgba(5, 150, 105, 0.09); border: 1px solid rgba(5, 150, 105, 0.2); color: #059669; }
.bf_mf_tab.active { color: #059669; border-bottom-color: #059669; }
.bf_profile_hero { display: flex; align-items: center; gap: 1.25rem; background: #fff; border: 1px solid #EBEBED; border-top: 3px solid #059669; border-radius: 10px; padding: 1.5rem 2rem; flex-wrap: wrap; }
.bf_profile_avatar_badge { position: absolute; bottom: 0; right: 0; width: 22px; height: 22px; border-radius: 50%; background: #059669; color: #fff; font-size: 0.6rem; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.bf_profile_card_head_icon { width: 30px; height: 30px; border-radius: 6px; background: rgba(5, 150, 105, 0.1); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; flex-shrink: 0; }
.bf_profile_card_eyebrow { font-size: 0.67rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: #059669; line-height: 1; margin-bottom: 0.1rem; }
.bf_profile_form .form-control:focus, .bf_profile_form .form-select:focus { border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); background: #fff; outline: none; }
.bf_profile_sec_icon { width: 36px; height: 36px; border-radius: 6px; background: rgba(5, 150, 105, 0.09); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }
.bf_profile_info_icon { width: 24px; height: 24px; border-radius: 3px; background: rgba(5, 150, 105, 0.1); color: #059669; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0; }
.bf_profile_sidebar_icon { width: 32px; height: 32px; border-radius: 6px; background: rgba(5, 150, 105, 0.08); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 0.88rem; flex-shrink: 0; }
.bf_drawer_head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.5rem; background: linear-gradient(135deg, #059669 0%, #063d34 100%); flex-shrink: 0; }
.bf_drawer_section_label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: #059669; margin-bottom: 1rem; }
.bf_drawer_input:focus { border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); background: #fff; outline: none; }
.bf_profile_drawer .form-control:focus, .bf_profile_drawer input[type="text"]:focus, .bf_profile_drawer input[type="tel"]:focus, .bf_profile_drawer input[type="email"]:focus, .bf_profile_drawer select:focus { border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); background: #fff; outline: none; }
.bf_annot_intro { display: flex; align-items: flex-start; gap: 1rem; background: rgba(5, 150, 105, 0.04); border: 1px solid rgba(5, 150, 105, 0.12); border-radius: 10px; padding: 1rem 1.25rem; }
.bf_annot_intro .bf_annot_intro_icon { width: 38px; height: 38px; border-radius: 3px; background: rgba(5, 150, 105, 0.1); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }
.bf_annot_ai_btn { font-size: 0.8rem; padding: 0.35rem 0.85rem; border: 1px solid rgba(5, 150, 105, 0.35); background: rgba(5, 150, 105, 0.06); color: #059669; border-radius: 6px; font-weight: 500; transition: all 0.15s ease; white-space: nowrap; }
.bf_annot_ai_btn:hover { background: rgba(5, 150, 105, 0.12); border-color: rgba(5, 150, 105, 0.6); color: #059669; }
.bf_annot_ai_btn.is-open { background: rgba(5, 150, 105, 0.15); border-color: #059669; color: #059669; }
.bf_annot_ai_tab:hover { color: #059669; }
.bf_annot_ai_tab.is-active { color: #059669; border-bottom-color: #059669; }
.bf_annot_ai_loading .fa-spinner { color: #059669; }
.bf_annot_ai_textarea:focus { border-color: rgba(5, 150, 105, 0.5); box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.08); outline: none; }
.bf_proxy_add_msg.bf_proxy_msg_success { background: rgba(5, 150, 105, 0.08); color: #059669; border: 1px solid rgba(5, 150, 105, 0.2); }
.bf_proxy_row.bf_proxy_drag_over { border-top: 2px solid #059669; }
.bf_proxy_avatar { width: 32px; height: 32px; border-radius: 50%; background: rgba(5, 150, 105, 0.1); color: #059669; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; flex-shrink: 0; }
.bf_proxy_edit:hover { background: rgba(5, 150, 105, 0.1); color: #059669; }
.bf_landing_hero { padding: 4rem 0 3rem; background: radial-gradient(circle 600px at 8% 10%, rgba(5, 150, 105, 0.12) 0%, transparent 60%), radial-gradient(circle 520px at 92% 0%, rgba(143, 231, 199, 0.12) 0%, transparent 55%), linear-gradient(180deg, #f5f8f7 0%, #ffffff 70%); }
.bf_hero_badge { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #059669; background: rgba(5, 150, 105, 0.1); border: 1px solid rgba(5, 150, 105, 0.18); padding: 0.3rem 0.7rem; border-radius: 999px; }
.bf_btn_primary { background: #059669; color: #ffffff !important; box-shadow: 0 10px 20px rgba(5, 150, 105, 0.25); }
.bf_btn_primary:hover { transform: translateY(-1px); box-shadow: 0 14px 24px rgba(5, 150, 105, 0.3); }
.bf_btn_ghost { background: #ffffff; color: #059669 !important; border: 1px solid rgba(5, 150, 105, 0.2); }
.bf_btn_secondary { background: #047552; color: #ffffff !important; }
.bf_meta_number { font-size: 1rem; font-weight: 700; color: #047552; }
.bf_stat_value { font-size: 1.4rem; font-weight: 700; color: #059669; }
.bf_dot { width: 8px; height: 8px; border-radius: 50%; background: #8FE7C7; }
.bf_section_kicker { font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: #059669; font-weight: 700; }
.bf_step_number { font-size: 0.85rem; font-weight: 700; color: #059669; }
.bf_cta_panel { border-radius: 20px; padding: 2.2rem; background: linear-gradient(135deg, rgba(5, 150, 105, 0.12), rgba(143, 231, 199, 0.08)); border: 1px solid rgba(12, 28, 26, 0.08); text-align: center; }

/* ── Home / workspace cards ── */
.bf_home_card_eval .bf_hc_accent, .bf_home_card_ws .bf_hc_accent, .bf_home_card_tasks .bf_hc_accent, .bf_home_card_dir .bf_hc_accent, .bf_home_card_cal .bf_hc_accent, .bf_home_card_meetings .bf_hc_accent, .bf_home_card_sign .bf_hc_accent, .bf_home_card_vote .bf_hc_accent, .bf_home_card_discuss .bf_hc_accent {
    background: linear-gradient(90deg, #059669, #047552) !important;
}
.bf_home_card_eval .bf_hc_icon, .bf_home_card_ws .bf_hc_icon, .bf_home_card_tasks .bf_hc_icon, .bf_home_card_dir .bf_hc_icon, .bf_home_card_cal .bf_hc_icon, .bf_home_card_meetings .bf_hc_icon, .bf_home_card_sign .bf_hc_icon, .bf_home_card_vote .bf_hc_icon, .bf_home_card_discuss .bf_hc_icon {
    background: rgba(5, 150, 105, 0.09) !important;
    color: #059669 !important;
}
.bf_home_card_eval .bf_hc_count, .bf_home_card_ws .bf_hc_count, .bf_home_card_tasks .bf_hc_count, .bf_home_card_dir .bf_hc_count, .bf_home_card_cal .bf_hc_count, .bf_home_card_meetings .bf_hc_count, .bf_home_card_sign .bf_hc_count, .bf_home_card_vote .bf_hc_count, .bf_home_card_discuss .bf_hc_count {
    color: #059669 !important;
}
.bf_home_card_eval .bf_hc_tag, .bf_home_card_ws .bf_hc_tag, .bf_home_card_tasks .bf_hc_tag, .bf_home_card_dir .bf_hc_tag, .bf_home_card_cal .bf_hc_tag, .bf_home_card_meetings .bf_hc_tag, .bf_home_card_sign .bf_hc_tag, .bf_home_card_vote .bf_hc_tag, .bf_home_card_discuss .bf_hc_tag {
    background: rgba(5, 150, 105, 0.07) !important;
    color: #059669 !important;
}
.bf_home_card_eval .bf_hc_go, .bf_home_card_ws .bf_hc_go, .bf_home_card_tasks .bf_hc_go, .bf_home_card_dir .bf_hc_go, .bf_home_card_cal .bf_hc_go, .bf_home_card_meetings .bf_hc_go, .bf_home_card_sign .bf_hc_go, .bf_home_card_vote .bf_hc_go, .bf_home_card_discuss .bf_hc_go {
    color: #059669 !important;
}
.bf_home_card_eval:hover, .bf_home_card_ws:hover, .bf_home_card_tasks:hover, .bf_home_card_dir:hover, .bf_home_card_cal:hover, .bf_home_card_meetings:hover, .bf_home_card_sign:hover, .bf_home_card_vote:hover, .bf_home_card_discuss:hover {
    border-color: rgba(5, 150, 105, 0.25) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.07), 0 6px 24px rgba(5,150,105,0.12) !important;
}
.bf_home_card_eval::before, .bf_home_card_ws::before, .bf_home_card_tasks::before, .bf_home_card_dir::before, .bf_home_card_cal::before, .bf_home_card_meetings::before, .bf_home_card_sign::before, .bf_home_card_vote::before, .bf_home_card_discuss::before {
    background: rgba(5, 150, 105, 0.04) !important;
}
.bf_home_card_eval::after, .bf_home_card_ws::after, .bf_home_card_tasks::after, .bf_home_card_dir::after, .bf_home_card_cal::after, .bf_home_card_meetings::after, .bf_home_card_sign::after, .bf_home_card_vote::after, .bf_home_card_discuss::after {
    background: linear-gradient(135deg, rgba(5,150,105,0.01) 0%, rgba(5,150,105,0.04) 100%) !important;
}