/**
 * Bahrain Bay OA custom Filament page surfaces — light & dark mode.
 * Registered on the admin panel; used by dashboard and voting views.
 *
 * Color scheme sourced from bbdoa-legacy (custom.css / Nifty theme):
 *   Primary slate  #4D7085
 *   Nav navy       #25476a / #425563
 *   Heading red    #c8102e
 *   Pass green     #0fc8219d
 *   Page bg        #ecf0f5
 */

:root {
    --bbdoa-primary: #4d7085;
    --bbdoa-primary-dark: #425563;
    --bbdoa-primary-light: #5b7f95;
    --bbdoa-navy: #25476a;
    --bbdoa-heading: #c8102e;
    --bbdoa-pass-green: #0fc8219d;
    --bbdoa-page-bg: #ecf0f5;
}

/* Panel chrome — match legacy navy sidebar / topbar */
.fi-sidebar {
    --tw-bg-opacity: 1;
    background-color: var(--bbdoa-navy) !important;
}

/* Light-mode sidebar text/icons sit on navy — force light contrast */
.fi-sidebar .fi-sidebar-item-label {
    color: rgb(226 232 240) !important;
}

.fi-sidebar .fi-sidebar-item-icon {
    color: rgb(148 163 184) !important;
}

.fi-sidebar .fi-sidebar-group-label {
    color: rgb(148 163 184) !important;
}

.fi-sidebar .fi-sidebar-group-icon {
    color: rgb(148 163 184) !important;
}

.fi-sidebar .fi-sidebar-group-collapse-button {
    color: rgb(148 163 184) !important;
}

.fi-sidebar .fi-sidebar-item-button:hover,
.fi-sidebar .fi-sidebar-item-button:focus-visible {
    background-color: rgb(255 255 255 / 0.08) !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    background-color: rgb(255 255 255) !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-label {
    color: var(--bbdoa-navy) !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
    color: var(--bbdoa-primary) !important;
}

/* Sidebar header + topbar share one chrome color */
.fi-sidebar-header,
.fi-topbar,
.fi-topbar > nav {
    background-color: rgb(255 255 255) !important;
}

.fi-topbar,
.fi-topbar a,
.fi-topbar button,
.fi-topbar .fi-icon-btn,
.fi-topbar .fi-icon-btn-icon,
.fi-topbar .fi-topbar-item-label {
    color: rgb(55 65 81) !important;
}

.fi-topbar .fi-icon-btn:hover,
.fi-topbar button:hover {
    background-color: rgb(243 244 246) !important;
    color: rgb(17 24 39) !important;
}

.dark .fi-sidebar-header,
.dark .fi-topbar,
.dark .fi-topbar > nav {
    background-color: rgb(24 24 27) !important;
}

.dark .fi-topbar,
.dark .fi-topbar a,
.dark .fi-topbar button,
.dark .fi-topbar .fi-icon-btn,
.dark .fi-topbar .fi-icon-btn-icon,
.dark .fi-topbar .fi-topbar-item-label {
    color: rgb(209 213 219) !important;
}

.dark .fi-topbar .fi-icon-btn:hover,
.dark .fi-topbar button:hover {
    background-color: rgb(255 255 255 / 0.08) !important;
    color: rgb(255 255 255) !important;
}

.fi-body,
.fi-main-ctn,
.fi-main {
    background-color: var(--bbdoa-page-bg);
}

.dark .fi-body,
.dark .fi-main-ctn,
.dark .fi-main {
    background-color: rgb(17 24 39);
}

/* Panel app bar logo */
.fi-logo img {
    width: auto;
    max-width: 10rem;
    object-fit: contain;
}

/* Cards & panels */
.bbdoa-card {
    background-color: rgb(255 255 255);
    border: 1px solid rgb(229 231 235);
    box-shadow:
        0 1px 3px 0 rgb(0 0 0 / 0.08),
        0 1px 2px -1px rgb(0 0 0 / 0.06);
}

.dark .bbdoa-card {
    background-color: rgb(17 24 39);
    border-color: rgb(55 65 81);
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.2);
}

/* Owner dashboard welcome — explicit gradient (do not rely on Tailwind gradient utilities) */
.bbdoa-welcome-banner {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, rgb(91 127 149) 0%, rgb(37 71 106) 100%);
    box-shadow:
        0 4px 6px -1px rgb(0 0 0 / 0.1),
        0 2px 4px -2px rgb(0 0 0 / 0.08);
    color: rgb(255 255 255);
}

.fi-main .bbdoa-welcome-banner h2,
.fi-main .bbdoa-welcome-banner p,
.fi-main .bbdoa-welcome-banner span,
.bbdoa-welcome-banner h2,
.bbdoa-welcome-banner p,
.bbdoa-welcome-banner span {
    color: rgb(255 255 255);
}

.bbdoa-welcome-banner .bbdoa-welcome-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background-color: rgb(255 255 255 / 0.2);
    color: rgb(255 255 255);
}

.bbdoa-welcome-banner .bbdoa-welcome-subtext {
    font-size: 0.875rem;
    color: rgb(255 255 255 / 0.9);
    margin-top: 0.5rem;
}

.bbdoa-welcome-banner .bbdoa-welcome-decoration {
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 0.1;
    transform: translate(3rem, 3rem);
    pointer-events: none;
}

/* Primary CTA on owner dashboard */
.bbdoa-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 0.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: rgb(255 255 255) !important;
    background-color: rgb(77 112 133) !important;
    border: 1px solid rgb(66 85 99);
    box-shadow: 0 2px 4px rgb(0 0 0 / 0.12);
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.bbdoa-btn-primary:hover {
    background-color: rgb(66 85 99) !important;
    box-shadow: 0 4px 6px rgb(0 0 0 / 0.14);
}

.bbdoa-card-teal-border {
    border-color: rgb(167 189 204);
    background-color: rgb(236 241 245 / 0.35);
}

.dark .bbdoa-card-teal-border {
    background-color: rgb(17 24 39);
    border-color: rgb(37 71 106);
}

/* Typography — scoped under .fi-main so Filament dark-mode text inheritance does not win */
.fi-main .bbdoa-stat-label,
.bbdoa-stat-label {
    color: rgb(107 114 128);
}

.dark .fi-main .bbdoa-stat-label,
.dark .bbdoa-stat-label {
    color: rgb(156 163 175);
}

.bbdoa-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

@media (min-width: 1024px) {
    .bbdoa-stat-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.bbdoa-stat-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.625rem 0.875rem;
    border-radius: 0.75rem;
}

.bbdoa-stat-card__value {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 0.125rem;
}

.bbdoa-stat-card__meta {
    font-size: 0.6875rem;
    line-height: 1.2;
    margin-top: 0.125rem;
}

.bbdoa-stat-card__icon {
    flex-shrink: 0;
    padding: 0.375rem;
    border-radius: 0.5rem;
}

.bbdoa-stat-card__icon svg {
    width: 1.125rem;
    height: 1.125rem;
}

.fi-main .bbdoa-heading,
.bbdoa-heading {
    color: var(--bbdoa-heading);
}

.dark .fi-main .bbdoa-heading,
.dark .bbdoa-heading {
    color: #f07178;
}

.fi-main .bbdoa-subheading,
.bbdoa-subheading {
    color: rgb(31 41 55);
}

.dark .fi-main .bbdoa-subheading,
.dark .bbdoa-subheading {
    color: rgb(243 244 246);
}

.fi-main .bbdoa-muted,
.bbdoa-muted {
    color: rgb(75 85 99);
}

.dark .fi-main .bbdoa-muted,
.dark .bbdoa-muted {
    color: rgb(156 163 175);
}

.fi-main .bbdoa-body,
.bbdoa-body {
    color: rgb(55 65 81);
}

.dark .fi-main .bbdoa-body,
.dark .bbdoa-body {
    color: rgb(209 213 219);
}

.fi-main .bbdoa-faint,
.bbdoa-faint {
    color: rgb(156 163 175);
}

.dark .fi-main .bbdoa-faint,
.dark .bbdoa-faint {
    color: rgb(107 114 128);
}

/* Quick-action / nav tiles */
.bbdoa-action-tile {
    background-color: rgb(249 250 251 / 0.5);
    border: 1px solid rgb(243 244 246);
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.dark .bbdoa-action-tile {
    background-color: rgb(31 41 55 / 0.5);
    border-color: rgb(55 65 81);
}

.bbdoa-action-tile:hover {
    background-color: rgb(236 241 245 / 0.5);
    border-color: rgb(167 189 204);
}

.dark .bbdoa-action-tile:hover {
    background-color: rgb(19 78 74 / 0.25);
    border-color: rgb(145 175 194);
}

.bbdoa-action-tile--indigo:hover {
    background-color: rgb(238 242 255 / 0.5);
    border-color: rgb(199 210 254);
}

.dark .bbdoa-action-tile--indigo:hover {
    background-color: rgb(49 46 129 / 0.25);
    border-color: rgb(129 140 248);
}

.bbdoa-action-tile--sky:hover {
    background-color: rgb(240 249 255 / 0.5);
    border-color: rgb(186 230 253);
}

.dark .bbdoa-action-tile--sky:hover {
    background-color: rgb(12 74 110 / 0.25);
    border-color: rgb(56 189 248);
}

.bbdoa-action-tile--emerald:hover {
    background-color: rgb(236 253 245 / 0.5);
    border-color: rgb(167 243 208);
}

.dark .bbdoa-action-tile--emerald:hover {
    background-color: rgb(37 71 106 / 0.25);
    border-color: rgb(52 211 153);
}

/* Owner sidebar action rows */
.bbdoa-owner-action {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    border: 1px solid rgb(229 231 235);
    background-color: rgb(249 250 251);
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.bbdoa-owner-action:hover {
    background-color: rgb(236 241 245);
    border-color: rgb(167 189 204);
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.08);
}

.dark .bbdoa-owner-action {
    border-color: rgb(55 65 81);
    background-color: rgb(31 41 55);
}

.dark .bbdoa-owner-action:hover {
    background-color: rgb(19 78 74 / 0.2);
    border-color: rgb(145 175 194);
}

.bbdoa-owner-action--indigo:hover {
    background-color: rgb(238 242 255);
    border-color: rgb(199 210 254);
}

.dark .bbdoa-owner-action--indigo:hover {
    background-color: rgb(49 46 129 / 0.2);
}

.bbdoa-owner-action--sky:hover {
    background-color: rgb(240 249 255);
    border-color: rgb(186 230 253);
}

.dark .bbdoa-owner-action--sky:hover {
    background-color: rgb(12 74 110 / 0.2);
}

/* Icon badges on stat cards */
.bbdoa-icon-teal {
    background-color: rgb(236 241 245);
    color: rgb(77 112 133);
}

.dark .bbdoa-icon-teal {
    background-color: rgb(19 78 74 / 0.4);
    color: rgb(145 175 194);
}

.bbdoa-icon-indigo {
    background-color: rgb(238 242 255);
    color: rgb(79 70 229);
}

.dark .bbdoa-icon-indigo {
    background-color: rgb(49 46 129 / 0.4);
    color: rgb(129 140 248);
}

.bbdoa-icon-sky {
    background-color: rgb(240 249 255);
    color: rgb(2 132 199);
}

.dark .bbdoa-icon-sky {
    background-color: rgb(12 74 110 / 0.4);
    color: rgb(56 189 248);
}

.bbdoa-icon-emerald {
    background-color: rgb(236 253 245);
    color: rgb(77 112 133);
}

.dark .bbdoa-icon-emerald {
    background-color: rgb(37 71 106 / 0.4);
    color: rgb(52 211 153);
}

.bbdoa-icon-gray {
    background-color: rgb(249 250 251);
    color: rgb(156 163 175);
}

.dark .bbdoa-icon-gray {
    background-color: rgb(31 41 55);
    color: rgb(156 163 175);
}

/* Owner action chevron */
.bbdoa-owner-action-chevron {
    margin-left: auto;
    flex-shrink: 0;
    align-self: center;
    color: rgb(156 163 175);
}

.bbdoa-owner-action:hover .bbdoa-owner-action-chevron {
    color: rgb(77 112 133);
}

.bbdoa-owner-action--indigo:hover .bbdoa-owner-action-chevron {
    color: rgb(79 70 229);
}

.bbdoa-owner-action--sky:hover .bbdoa-owner-action-chevron {
    color: rgb(2 132 199);
}

/* Tables */
.bbdoa-table-head {
    border-bottom: 1px solid rgb(229 231 235);
    color: rgb(75 85 99);
}

.dark .bbdoa-table-head {
    border-bottom-color: rgb(55 65 81);
    color: rgb(107 114 128);
}

.bbdoa-table-divide > * + * {
    border-top: 1px solid rgb(249 250 251);
}

.dark .bbdoa-table-divide > * + * {
    border-top-color: rgb(31 41 55);
}

.bbdoa-table-row:hover {
    background-color: rgb(249 250 251 / 0.5);
}

.dark .bbdoa-table-row:hover {
    background-color: rgb(31 41 55 / 0.5);
}

/* Accordion (voting pages) */
.bbdoa-accordion-trigger {
    width: 100%;
    padding: 1rem 1.5rem;
    text-align: left;
    border: none;
    background: transparent;
    cursor: pointer;
}

.bbdoa-resolution-header {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid rgb(229 231 235);
    background-color: rgb(249 250 251 / 0.6);
}

.dark .bbdoa-resolution-header {
    border-bottom-color: rgb(55 65 81);
    background-color: rgb(31 41 55 / 0.5);
}

.bbdoa-accordion-trigger:hover {
    background-color: rgb(249 250 251 / 0.5);
}

.dark .bbdoa-accordion-trigger:hover {
    background-color: rgb(31 41 55 / 0.5);
}

.bbdoa-accordion-body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.bbdoa-card > .bbdoa-accordion-body {
    border-top: none;
}

.bbdoa-accordion-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

.bbdoa-accordion-header-main {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.bbdoa-accordion-header-aside {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.bbdoa-section-muted {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    background-color: rgb(249 250 251 / 0.5);
    border: 1px solid rgb(243 244 246);
}

.dark .bbdoa-section-muted {
    background-color: rgb(31 41 55 / 0.5);
    border-color: rgb(55 65 81);
}

.bbdoa-data-table {
    border: 1px solid rgb(229 231 235);
}

.dark .bbdoa-data-table {
    border-color: rgb(55 65 81);
}

.bbdoa-data-table thead tr {
    background-color: rgb(249 250 251);
    color: rgb(107 114 128);
    border-bottom: 1px solid rgb(229 231 235);
}

.dark .bbdoa-data-table thead tr {
    background-color: rgb(31 41 55);
    color: rgb(156 163 175);
    border-bottom-color: rgb(55 65 81);
}

.bbdoa-data-table tbody tr {
    border-top: 1px solid rgb(243 244 246);
}

.dark .bbdoa-data-table tbody tr {
    border-top-color: rgb(31 41 55);
}

.bbdoa-resolution-votes {
    border: 1px solid rgb(229 231 235);
    border-radius: 0.75rem;
    overflow: hidden;
}

.dark .bbdoa-resolution-votes {
    border-color: rgb(55 65 81);
}

.bbdoa-resolution-votes__head {
    display: none;
}

.bbdoa-resolution-vote {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
    border-top: 1px solid rgb(243 244 246);
}

.bbdoa-resolution-vote:first-of-type {
    border-top: none;
}

.dark .bbdoa-resolution-vote {
    border-top-color: rgb(31 41 55);
}

.bbdoa-resolution-vote--locked {
    background-color: rgb(249 250 251 / 0.35);
}

.dark .bbdoa-resolution-vote--locked {
    background-color: rgb(31 41 55 / 0.25);
}

.bbdoa-resolution-vote__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.bbdoa-resolution-vote__title {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
    color: rgb(31 41 55);
    word-break: break-word;
}

.dark .bbdoa-resolution-vote__title {
    color: rgb(255 255 255);
}

.bbdoa-resolution-vote__desc {
    margin: 0.375rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: rgb(107 114 128);
    word-break: break-word;
}

.dark .bbdoa-resolution-vote__desc {
    color: rgb(156 163 175);
}

.bbdoa-resolution-vote__status--inline {
    flex-shrink: 0;
}

.bbdoa-resolution-vote__status--column {
    display: none;
}

.bbdoa-resolution-vote__decision {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.bbdoa-resolution-vote__decision--buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.bbdoa-resolution-vote__decision--buttons .bbdoa-vote-outline-btn,
.bbdoa-resolution-vote__decision--buttons .bbdoa-vote-btn-active-approve,
.bbdoa-resolution-vote__decision--buttons .bbdoa-vote-btn-active-reject {
    justify-content: center;
    width: 100%;
    padding: 0.625rem 0.75rem;
}

.bbdoa-resolution-vote__decision .bbdoa-vote-btn-active-approve,
.bbdoa-resolution-vote__decision .bbdoa-vote-btn-active-reject,
.bbdoa-resolution-vote__decision .bbdoa-chip-neutral,
.bbdoa-resolution-vote__decision .bbdoa-chip-empty {
    justify-content: center;
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .bbdoa-resolution-votes__head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(12rem, auto) minmax(7.5rem, auto);
        gap: 1rem;
        align-items: center;
        padding: 0.75rem 1.5rem;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: rgb(107 114 128);
        background-color: rgb(249 250 251);
        border-bottom: 1px solid rgb(229 231 235);
    }

    .dark .bbdoa-resolution-votes__head {
        color: rgb(156 163 175);
        background-color: rgb(31 41 55);
        border-bottom-color: rgb(55 65 81);
    }

    .bbdoa-resolution-votes__head span:nth-child(2) {
        text-align: center;
    }

    .bbdoa-resolution-votes__head span:nth-child(3) {
        text-align: right;
    }

    .bbdoa-resolution-vote {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(12rem, auto) minmax(7.5rem, auto);
        gap: 1rem;
        align-items: center;
        padding: 0.75rem 1.5rem;
    }

    .bbdoa-resolution-vote__heading {
        display: block;
    }

    .bbdoa-resolution-vote__status--inline {
        display: none;
    }

    .bbdoa-resolution-vote__status--column {
        display: flex;
        justify-content: flex-end;
    }

    .bbdoa-resolution-vote__decision {
        justify-content: center;
    }

    .bbdoa-resolution-vote__decision--buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .bbdoa-resolution-vote__decision--buttons .bbdoa-vote-outline-btn,
    .bbdoa-resolution-vote__decision--buttons .bbdoa-vote-btn-active-approve,
    .bbdoa-resolution-vote__decision--buttons .bbdoa-vote-btn-active-reject {
        width: auto;
        padding: 0.375rem 0.875rem;
    }

    .bbdoa-resolution-vote__decision .bbdoa-vote-btn-active-approve,
    .bbdoa-resolution-vote__decision .bbdoa-vote-btn-active-reject,
    .bbdoa-resolution-vote__decision .bbdoa-chip-neutral,
    .bbdoa-resolution-vote__decision .bbdoa-chip-empty {
        width: auto;
    }
}

@media (max-width: 767px) {
    .bbdoa-resolution-header {
        padding: 0.875rem 1rem;
    }

    .bbdoa-accordion-body {
        padding: 1rem;
    }

    .bbdoa-accordion-header-row {
        flex-wrap: wrap;
    }

    .bbdoa-accordion-header-aside {
        width: 100%;
    }

    .bbdoa-section-muted {
        flex-direction: column;
        align-items: stretch;
        padding: 0.875rem 1rem;
    }

    .bbdoa-section-muted .bbdoa-bulk-btn {
        flex: 1 1 calc(50% - 0.25rem);
        justify-content: center;
    }
}

/* ── Dashboard: associated properties ── */

.bbdoa-associated-properties-card {
    padding: 1rem;
}

@media (min-width: 768px) {
    .bbdoa-associated-properties-card {
        padding: 2rem;
    }
}

.bbdoa-property-list {
    border: 1px solid rgb(229 231 235);
    border-radius: 0.75rem;
    overflow: hidden;
}

.dark .bbdoa-property-list {
    border-color: rgb(55 65 81);
}

.bbdoa-property-list__head {
    display: none;
}

.bbdoa-property-item {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding: 1rem;
    border-top: 1px solid rgb(243 244 246);
    font-size: 0.875rem;
}

.bbdoa-property-item:first-of-type {
    border-top: none;
}

.dark .bbdoa-property-item {
    border-top-color: rgb(31 41 55);
}

.bbdoa-property-item__mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid rgb(243 244 246);
}

.dark .bbdoa-property-item__mobile-head {
    border-bottom-color: rgb(55 65 81);
}

.bbdoa-property-item__code {
    font-size: 1rem;
    font-weight: 700;
    color: rgb(31 41 55);
    word-break: break-word;
}

.dark .bbdoa-property-item__code {
    color: rgb(255 255 255);
}

.bbdoa-property-item__weightage {
    flex-shrink: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(77 112 133);
}

.dark .bbdoa-property-item__weightage {
    color: rgb(145 175 194);
}

.bbdoa-property-item__field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.bbdoa-property-item__field--code,
.bbdoa-property-item__field--weightage {
    display: none;
}

.bbdoa-property-item__label {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgb(107 114 128);
}

.dark .bbdoa-property-item__label {
    color: rgb(156 163 175);
}

.bbdoa-property-item__value {
    text-align: right;
    color: rgb(55 65 81);
    word-break: break-word;
}

.dark .bbdoa-property-item__value {
    color: rgb(209 213 219);
}

@media (min-width: 768px) {
    .bbdoa-property-list__head {
        display: grid;
        grid-template-columns: minmax(5rem, 1fr) minmax(6rem, 1.2fr) minmax(6rem, 1.2fr) minmax(5rem, 1fr) minmax(6rem, 1fr);
        gap: 1rem;
        align-items: center;
        padding: 0.75rem 1.5rem;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: rgb(107 114 128);
        background-color: rgb(249 250 251);
        border-bottom: 1px solid rgb(229 231 235);
    }

    .dark .bbdoa-property-list__head {
        color: rgb(156 163 175);
        background-color: rgb(31 41 55);
        border-bottom-color: rgb(55 65 81);
    }

    .bbdoa-property-item {
        display: grid;
        grid-template-columns: minmax(5rem, 1fr) minmax(6rem, 1.2fr) minmax(6rem, 1.2fr) minmax(5rem, 1fr) minmax(6rem, 1fr);
        gap: 1rem;
        align-items: center;
        padding: 1rem 1.5rem;
    }

    .bbdoa-property-item__mobile-head {
        display: none;
    }

    .bbdoa-property-item__field {
        display: block;
    }

    .bbdoa-property-item__field--code,
    .bbdoa-property-item__field--weightage {
        display: block;
    }

    .bbdoa-property-item__label {
        display: none;
    }

    .bbdoa-property-item__value {
        text-align: left;
    }
}

/* Outline vote / action buttons (inactive state) */
.bbdoa-btn-outline {
    background-color: rgb(255 255 255);
    color: rgb(55 65 81);
    border: 1px solid rgb(229 231 235);
}

.dark .bbdoa-btn-outline {
    background-color: rgb(31 41 55);
    color: rgb(229 231 235);
    border-color: rgb(75 85 99);
}

.bbdoa-btn-outline--indigo:hover {
    background-color: rgb(238 242 255);
    color: rgb(67 56 202);
    border-color: rgb(199 210 254);
}

.dark .bbdoa-btn-outline--indigo:hover {
    background-color: rgb(49 46 129 / 0.35);
    color: rgb(165 180 252);
    border-color: rgb(99 102 241);
}

.bbdoa-btn-outline--emerald:hover {
    background-color: rgb(236 253 245);
    color: rgb(4 120 87);
    border-color: rgb(167 243 208);
}

.dark .bbdoa-btn-outline--emerald:hover {
    background-color: rgb(37 71 106 / 0.35);
    color: rgb(110 231 183);
    border-color: rgb(52 211 153);
}

.bbdoa-btn-outline--rose:hover {
    background-color: rgb(255 241 242);
    color: rgb(190 18 60);
    border-color: rgb(254 205 211);
}

.dark .bbdoa-btn-outline--rose:hover {
    background-color: rgb(136 19 55 / 0.35);
    color: rgb(251 113 133);
    border-color: rgb(244 63 94);
}

/* Disabled submit */
.bbdoa-btn-disabled {
    background-color: rgb(229 231 235);
    color: rgb(156 163 175);
    border: 1px solid rgb(229 231 235);
}

.dark .bbdoa-btn-disabled {
    background-color: rgb(55 65 81);
    color: rgb(107 114 128);
    border-color: rgb(75 85 99);
}

/* Confirmation checkbox panel */
.bbdoa-confirm-panel {
    background-color: rgb(249 250 251);
    border: 1px solid rgb(229 231 235);
}

.dark .bbdoa-confirm-panel {
    background-color: rgb(31 41 55);
    border-color: rgb(55 65 81);
}

.bbdoa-confirm-panel:hover {
    background-color: rgb(243 244 246 / 0.5);
}

.dark .bbdoa-confirm-panel:hover {
    background-color: rgb(55 65 81 / 0.5);
}

/* Branding footer strip */
.bbdoa-panel-footer {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    padding: 0 1rem 2rem;
}

@media (min-width: 768px) {
    .bbdoa-panel-footer {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .bbdoa-panel-footer {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.fi-simple-layout .bbdoa-panel-footer,
.bbdoa-login-card .bbdoa-panel-footer {
    max-width: none;
    margin-top: 1.5rem;
    padding: 0;
}

.bbdoa-brand-footer {
    background-color: rgb(249 250 251);
    border: 1px solid rgb(243 244 246);
    color: rgb(107 114 128);
}

.dark .bbdoa-brand-footer {
    background-color: rgb(31 41 55);
    border-color: rgb(55 65 81);
    color: rgb(156 163 175);
}

/* Section divider inside cards */
.bbdoa-divider {
    border-color: rgb(229 231 235);
}

.dark .bbdoa-divider {
    border-color: rgb(31 41 55);
}

/* Status chips with poor dark contrast */
.bbdoa-chip-neutral {
    background-color: rgb(243 244 246);
    color: rgb(107 114 128);
}

.dark .bbdoa-chip-neutral {
    background-color: rgb(55 65 81);
    color: rgb(209 213 219);
}

.bbdoa-chip-empty {
    background-color: rgb(249 250 251);
    color: rgb(156 163 175);
    border: 1px solid rgb(229 231 235);
}

.dark .bbdoa-chip-empty {
    background-color: rgb(31 41 55);
    color: rgb(156 163 175);
    border-color: rgb(55 65 81);
}

/* ── Layout (spacing via CSS — Filament build omits most Tailwind spacing utilities) ── */

.bbdoa-stack {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.bbdoa-stack--tight {
    gap: 1rem;
}

.bbdoa-card--padded {
    padding: 2rem;
}

@media (max-width: 640px) {
    .bbdoa-card--padded {
        padding: 1.25rem;
    }
}

/* ── Voting pages (resolution & nominee) ── */

.bbdoa-voting-banner {
    position: relative;
    overflow: hidden;
    padding: 1.75rem 2rem;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, rgb(77 112 133) 0%, rgb(37 71 106) 100%);
    box-shadow:
        0 4px 6px -1px rgb(0 0 0 / 0.1),
        0 2px 4px -2px rgb(0 0 0 / 0.08);
    color: rgb(255 255 255);
}

.bbdoa-voting-banner--indigo {
    background: linear-gradient(135deg, rgb(79 70 229) 0%, rgb(109 40 217) 100%);
}

.fi-main .bbdoa-voting-banner h2,
.fi-main .bbdoa-voting-banner p,
.fi-main .bbdoa-voting-banner span,
.bbdoa-voting-banner h2,
.bbdoa-voting-banner p,
.bbdoa-voting-banner span {
    color: rgb(255 255 255);
}

.bbdoa-voting-banner .bbdoa-voting-banner-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background-color: rgb(255 255 255 / 0.2);
    color: rgb(255 255 255);
}

.bbdoa-voting-banner .bbdoa-voting-banner-title {
    margin: 0.75rem 0 0;
    font-size: 1.875rem;
    font-weight: 800;
    line-height: 1.2;
}

.bbdoa-voting-banner .bbdoa-voting-banner-subtext {
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgb(255 255 255 / 0.9);
    margin: 0.75rem 0 0;
    max-width: 42rem;
}

.bbdoa-voting-banner .bbdoa-voting-banner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    margin: 1.25rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgb(255 255 255 / 0.85);
}

.bbdoa-voting-banner .bbdoa-voting-banner-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: rgb(255 255 255 / 0.85);
}

.bbdoa-voting-steps {
    padding: 1.25rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid rgb(167 189 204);
    background-color: rgb(236 241 245);
}

.dark .bbdoa-voting-steps {
    border-color: rgb(37 71 106);
    background-color: rgb(19 78 74 / 0.2);
}

.bbdoa-voting-steps__title {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgb(66 85 99);
}

.dark .bbdoa-voting-steps__title {
    color: rgb(145 175 194);
}

.bbdoa-voting-steps__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .bbdoa-voting-steps__list {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }
}

.bbdoa-voting-steps__item {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgb(55 65 81);
}

.dark .bbdoa-voting-steps__item {
    color: rgb(209 213 219);
}

.bbdoa-voting-steps__number {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(255 255 255);
    background-color: rgb(77 112 133);
}

.bbdoa-wizard-breadcrumbs {
    padding: 1rem;
}

.bbdoa-wizard-breadcrumbs__list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.bbdoa-wizard-breadcrumbs__step {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
    padding: 0;
    border-radius: 0.75rem;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.bbdoa-wizard-breadcrumbs__step--active {
    padding: 0.75rem 1rem;
    padding-left: calc(2rem + 0.75rem);
    border: 1px solid rgb(229 231 235);
    background-color: rgb(255 255 255);
}

.dark .bbdoa-wizard-breadcrumbs__step--active {
    border-color: rgb(55 65 81);
    background-color: rgb(31 41 55 / 0.5);
}

.bbdoa-wizard-breadcrumbs__step--active .bbdoa-wizard-breadcrumbs__badge {
    display: none;
}

.bbdoa-wizard-breadcrumbs__step--complete {
    cursor: pointer;
}

.bbdoa-wizard-breadcrumbs__step--complete:hover {
    background-color: rgb(249 250 251);
}

.dark .bbdoa-wizard-breadcrumbs__step--complete:hover {
    background-color: rgb(31 41 55 / 0.35);
}

.bbdoa-wizard-breadcrumbs__step--disabled {
    opacity: 0.5;
}

.bbdoa-wizard-breadcrumbs__badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 700;
    background-color: rgb(229 231 235);
    color: rgb(75 85 99);
}

.dark .bbdoa-wizard-breadcrumbs__badge {
    background-color: rgb(55 65 81);
    color: rgb(209 213 219);
}

.bbdoa-wizard-breadcrumbs__badge--complete {
    background-color: rgb(77 112 133);
    color: rgb(255 255 255);
}

.bbdoa-wizard-breadcrumbs__content {
    min-width: 0;
}

.bbdoa-wizard-breadcrumbs__label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgb(107 114 128);
}

.dark .bbdoa-wizard-breadcrumbs__label {
    color: rgb(156 163 175);
}

.bbdoa-wizard-breadcrumbs__title {
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(31 41 55);
}

.dark .bbdoa-wizard-breadcrumbs__title {
    color: rgb(255 255 255);
}

@media (min-width: 640px) {
    .bbdoa-wizard-breadcrumbs__list {
        flex-direction: row;
        align-items: stretch;
        gap: 0.5rem;
    }

    .bbdoa-wizard-breadcrumbs__item {
        flex: 1;
    }

    .bbdoa-wizard-breadcrumbs__step {
        padding: 0.75rem 1rem;
        border-radius: 0.75rem;
    }

    .bbdoa-wizard-breadcrumbs__step--active {
        padding: 0.75rem 1rem;
        border: 2px solid rgb(77 112 133);
        background-color: rgb(236 241 245);
    }

    .dark .bbdoa-wizard-breadcrumbs__step--active {
        border-color: rgb(145 175 194);
        background-color: rgb(19 78 74 / 0.3);
    }

    .bbdoa-wizard-breadcrumbs__step--active .bbdoa-wizard-breadcrumbs__badge {
        display: inline-flex;
        background-color: rgb(77 112 133);
        color: rgb(255 255 255);
    }

    .bbdoa-wizard-breadcrumbs__step--complete {
        border: 1px solid rgb(167 189 204);
        background-color: rgb(236 241 245);
    }

    .dark .bbdoa-wizard-breadcrumbs__step--complete {
        border-color: rgb(37 71 106);
        background-color: rgb(19 78 74 / 0.2);
    }
}

.bbdoa-section-heading {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--bbdoa-heading);
}

.dark .bbdoa-section-heading {
    color: #f07178;
}

.bbdoa-section-heading-hint {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    color: rgb(75 85 99);
}

.dark .bbdoa-section-heading-hint {
    color: rgb(156 163 175);
}

.bbdoa-empty-state {
    text-align: center;
    padding: 3rem 1rem;
}

.bbdoa-empty-state svg,
.bbdoa-empty-state__icon {
    display: block;
    width: 3rem;
    height: 3rem;
    margin: 0 auto 1rem;
}

.bbdoa-empty-hint {
    padding: 2rem 1.5rem;
    text-align: center;
}

.bbdoa-empty-hint p {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    color: rgb(75 85 99);
}

.dark .bbdoa-empty-hint p {
    color: rgb(156 163 175);
}

/* Filament custom form pages (nominee confirmation, profile, proxy, etc.) */
.bbdoa-form-page {
    max-width: none;
    width: 100%;
}

.bbdoa-nomination-ineligible {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 18rem;
    padding: 2rem 1.5rem;
    text-align: center;
}

.bbdoa-nomination-ineligible p {
    margin-left: auto;
    margin-right: auto;
}

.bbdoa-form-page .fi-fo-section,
.bbdoa-form-page .fi-section {
    border-radius: 1rem;
}

.bbdoa-form-page .fi-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgb(229 231 235);
}

.dark .bbdoa-form-page .fi-form-actions {
    border-top-color: rgb(55 65 81);
}

/* Ensure submit / action buttons are always visible (Filament + dark mode) */
.bbdoa-form-page .fi-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.625rem 1.25rem !important;
    border-radius: 0.75rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.25rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 2px 4px rgb(0 0 0 / 0.1);
}

.bbdoa-form-page .fi-btn-color-primary,
.bbdoa-form-page .fi-btn-color-teal {
    color: rgb(255 255 255) !important;
    background-color: rgb(77 112 133) !important;
    border: 1px solid rgb(66 85 99) !important;
}

.bbdoa-form-page .fi-btn-color-primary:hover,
.bbdoa-form-page .fi-btn-color-teal:hover {
    background-color: rgb(66 85 99) !important;
}

.bbdoa-form-page .fi-btn-color-indigo {
    color: rgb(255 255 255) !important;
    background-color: rgb(79 70 229) !important;
    border: 1px solid rgb(67 56 202) !important;
}

.bbdoa-form-page .fi-btn-color-indigo:hover {
    background-color: rgb(67 56 202) !important;
}

.bbdoa-form-page .fi-btn .fi-btn-label,
.bbdoa-form-page .fi-btn svg {
    color: inherit !important;
}

.bbdoa-form-page .fi-btn:not(.fi-btn-color-primary):not(.fi-btn-color-teal):not(.fi-btn-color-indigo) {
    color: rgb(255 255 255) !important;
    background-color: rgb(77 112 133) !important;
    border: 1px solid rgb(66 85 99) !important;
}

.bbdoa-summary-badge-approve {
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    background-color: rgb(236 253 245);
    color: rgb(4 120 87);
}

.dark .bbdoa-summary-badge-approve {
    background-color: rgb(37 71 106 / 0.4);
    color: rgb(110 231 183);
}

.bbdoa-summary-badge-reject {
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    background-color: rgb(255 241 242);
    color: rgb(190 18 60);
}

.dark .bbdoa-summary-badge-reject {
    background-color: rgb(136 19 55 / 0.4);
    color: rgb(251 113 133);
}

.bbdoa-bulk-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid transparent;
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.06);
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.bbdoa-bulk-btn--approve {
    background-color: rgb(236 253 245);
    color: rgb(4 120 87);
    border-color: rgb(167 243 208);
}

.bbdoa-bulk-btn--approve:hover {
    background-color: rgb(209 250 229);
}

.dark .bbdoa-bulk-btn--approve {
    background-color: rgb(37 71 106 / 0.35);
    color: rgb(110 231 183);
    border-color: rgb(52 211 153);
}

.dark .bbdoa-bulk-btn--approve:hover {
    background-color: rgb(37 71 106 / 0.55);
}

.bbdoa-bulk-btn--reject {
    background-color: rgb(255 241 242);
    color: rgb(190 18 60);
    border-color: rgb(254 205 211);
}

.bbdoa-bulk-btn--reject:hover {
    background-color: rgb(255 228 230);
}

.dark .bbdoa-bulk-btn--reject {
    background-color: rgb(136 19 55 / 0.35);
    color: rgb(251 113 133);
    border-color: rgb(244 63 94);
}

.dark .bbdoa-bulk-btn--reject:hover {
    background-color: rgb(136 19 55 / 0.55);
}

.bbdoa-bulk-btn--indigo {
    background-color: rgb(238 242 255);
    color: rgb(67 56 202);
    border-color: rgb(199 210 254);
}

.bbdoa-bulk-btn--indigo:hover {
    background-color: rgb(224 231 255);
}

.dark .bbdoa-bulk-btn--indigo {
    background-color: rgb(49 46 129 / 0.35);
    color: rgb(165 180 252);
    border-color: rgb(99 102 241);
}

.bbdoa-weight-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    background-color: rgb(236 241 245);
    color: rgb(66 85 99);
}

.dark .bbdoa-weight-chip {
    background-color: rgb(19 78 74 / 0.4);
    color: rgb(145 175 194);
}

.bbdoa-weight-chip--indigo {
    background-color: rgb(238 242 255);
    color: rgb(67 56 202);
}

.dark .bbdoa-weight-chip--indigo {
    background-color: rgb(49 46 129 / 0.4);
    color: rgb(165 180 252);
}

.bbdoa-vote-btn-active-approve {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(255 255 255);
    background-color: rgb(77 112 133);
    border: 1px solid rgb(77 112 133);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.1);
}

.bbdoa-vote-btn-active-reject {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(255 255 255);
    background-color: rgb(225 29 72);
    border: 1px solid rgb(225 29 72);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.1);
}

.bbdoa-vote-btn-active-indigo {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(255 255 255);
    background-color: rgb(79 70 229);
    border: 1px solid rgb(79 70 229);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.1);
}

.bbdoa-status-submitted {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(77 112 133);
    background-color: rgb(209 250 229 / 0.5);
    border: 1px solid rgb(167 243 208);
}

.dark .bbdoa-status-submitted {
    color: rgb(110 231 183);
    background-color: rgb(37 71 106 / 0.3);
    border-color: rgb(52 211 153);
}

.bbdoa-status-submitted--indigo {
    color: rgb(67 56 202);
    background-color: rgb(224 231 255 / 0.5);
    border-color: rgb(199 210 254);
}

.dark .bbdoa-status-submitted--indigo {
    color: rgb(165 180 252);
    background-color: rgb(49 46 129 / 0.3);
    border-color: rgb(99 102 241);
}

.bbdoa-status-staged {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(180 83 9);
    background-color: rgb(255 251 235);
    border: 1px solid rgb(253 230 138);
    animation: bbdoa-pulse-soft 2s ease-in-out infinite;
}

.dark .bbdoa-status-staged {
    color: rgb(252 211 77);
    background-color: rgb(120 53 15 / 0.35);
    border-color: rgb(180 83 9);
}

@keyframes bbdoa-pulse-soft {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.85;
    }
}

.bbdoa-btn-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(255 255 255) !important;
    background-color: rgb(77 112 133) !important;
    border: 1px solid rgb(66 85 99);
    box-shadow: 0 2px 4px rgb(0 0 0 / 0.12);
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.bbdoa-btn-submit:hover:not(:disabled) {
    background-color: rgb(66 85 99) !important;
}

.bbdoa-btn-submit:disabled,
.bbdoa-btn-disabled.bbdoa-btn-submit {
    background-color: rgb(229 231 235) !important;
    border-color: rgb(229 231 235);
    color: rgb(156 163 175) !important;
    cursor: not-allowed;
}

.bbdoa-btn-submit--indigo {
    background-color: rgb(79 70 229) !important;
    border-color: rgb(67 56 202);
}

.bbdoa-btn-submit--indigo:hover:not(:disabled) {
    background-color: rgb(67 56 202) !important;
}

.bbdoa-success-panel {
    border: 2px solid rgb(167 243 208);
    border-radius: 1.5rem;
    padding: 2rem;
    text-align: center;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(
        135deg,
        rgb(236 253 245 / 0.8) 0%,
        rgb(240 253 250 / 0.6) 100%
    );
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.08);
}

.dark .bbdoa-success-panel {
    border-color: rgb(37 71 106);
    background: linear-gradient(
        135deg,
        rgb(37 71 106 / 0.25) 0%,
        rgb(19 78 74 / 0.15) 100%
    );
}

.bbdoa-success-panel--indigo {
    border-color: rgb(199 210 254);
    background: linear-gradient(
        135deg,
        rgb(238 242 255 / 0.9) 0%,
        rgb(224 231 255 / 0.5) 100%
    );
}

.dark .bbdoa-success-panel--indigo {
    border-color: rgb(49 46 129);
    background: linear-gradient(
        135deg,
        rgb(49 46 129 / 0.25) 0%,
        rgb(67 56 202 / 0.15) 100%
    );
}

.bbdoa-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1rem;
    border-radius: 9999px;
    background-color: rgb(209 250 229);
    color: rgb(77 112 133);
    border: 4px solid rgb(255 255 255);
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.1);
}

.dark .bbdoa-success-icon {
    background-color: rgb(37 71 106 / 0.5);
    color: rgb(52 211 153);
    border-color: rgb(31 41 55);
}

.bbdoa-success-icon--indigo {
    background-color: rgb(224 231 255);
    color: rgb(79 70 229);
}

.dark .bbdoa-success-icon--indigo {
    background-color: rgb(49 46 129 / 0.5);
    color: rgb(165 180 252);
}

.bbdoa-btn-success-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.5rem;
    padding: 0.625rem 1.5rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(255 255 255) !important;
    background-color: rgb(77 112 133) !important;
    border: 1px solid rgb(4 120 87);
    box-shadow: 0 2px 4px rgb(0 0 0 / 0.1);
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.bbdoa-btn-success-link:hover {
    background-color: rgb(4 120 87) !important;
}

.bbdoa-btn-success-link--indigo {
    background-color: rgb(79 70 229) !important;
    border-color: rgb(67 56 202);
}

.bbdoa-btn-success-link--indigo:hover {
    background-color: rgb(67 56 202) !important;
}

.bbdoa-row-locked {
    background-color: rgb(236 253 245 / 0.35);
}

.dark .bbdoa-row-locked {
    background-color: rgb(37 71 106 / 0.1);
}

.bbdoa-row-locked--indigo {
    background-color: rgb(238 242 255 / 0.35);
}

.dark .bbdoa-row-locked--indigo {
    background-color: rgb(49 46 129 / 0.1);
}

.bbdoa-vote-outline-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid rgb(229 231 235);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Finalize & submit panel */
.bbdoa-submit-panel {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 2rem;
    border-radius: 1.5rem;
}

.bbdoa-submit-panel__header {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgb(229 231 235);
}

.dark .bbdoa-submit-panel__header {
    border-bottom-color: rgb(55 65 81);
}

.bbdoa-submit-panel__header h3 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
}

.bbdoa-submit-panel__header p {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

.bbdoa-submit-panel__stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
}

@media (min-width: 768px) {
    .bbdoa-submit-panel__stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

.bbdoa-submit-panel__stat {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.bbdoa-submit-panel__confirm {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    margin: 0;
    cursor: pointer;
}

.bbdoa-accordion-header-main p {
    margin: 0.125rem 0 0;
}

.bbdoa-submit-panel__actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.25rem;
}

.bbdoa-data-table th,
.bbdoa-data-table td {
    padding: 0.75rem 1.5rem;
}

.bbdoa-data-table th:first-child,
.bbdoa-data-table td:first-child {
    padding-left: 1.5rem;
}

.bbdoa-data-table th:last-child,
.bbdoa-data-table td:last-child {
    padding-right: 1.5rem;
}

/* ── Nominee voting ── */

.bbdoa-nominee-card {
    padding: 1rem;
    border-radius: 0.75rem;
    border: 2px solid rgb(229 231 235);
    background: rgb(255 255 255);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.dark .bbdoa-nominee-card {
    border-color: rgb(55 65 81);
    background: rgb(31 41 55);
}

.bbdoa-nominee-card--selected {
    border-color: rgb(79 70 229);
    background: rgb(238 242 255);
    box-shadow: 0 0 0 1px rgb(79 70 229 / 0.2);
}

.dark .bbdoa-nominee-card--selected {
    background: rgb(49 46 129 / 0.25);
}

.bbdoa-nominee-card--disabled {
    opacity: 0.85;
}

.bbdoa-btn-primary--indigo,
.bbdoa-btn-submit--indigo {
    background: linear-gradient(135deg, rgb(79 70 229), rgb(109 40 217));
}

.bbdoa-btn-primary--indigo:hover {
    filter: brightness(1.05);
}

.bbdoa-btn-submit--indigo {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.875rem;
    color: white;
    border: none;
    cursor: pointer;
}

.bbdoa-success-icon--indigo {
    background: rgb(224 231 255);
    color: rgb(79 70 229);
}

.bbdoa-btn-success-link--indigo {
    background: rgb(79 70 229);
    color: white;
    padding: 0.625rem 1.25rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.875rem;
}

.bbdoa-property-vote-card {
    display: block;
    padding: 1.25rem 1.5rem 0;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    min-height: 7rem;
    position: relative;
    overflow: hidden;
    transition: transform 0.15s, box-shadow 0.15s;
}

.bbdoa-property-vote-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgb(0 0 0 / 0.12);
}

.bbdoa-property-vote-card__label {
    display: block;
    padding: 0 1.5rem 0.25rem;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 600;
    opacity: 0.9;
    color: rgb(255 255 255 / 0.9);
}

.bbdoa-property-vote-card__name {
    display: block;
    padding: 0 1.5rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

.bbdoa-property-vote-card__status {
    display: block;
    margin-top: 1rem;
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 600;
    background: rgb(0 0 0 / 0.28);
    color: #fff;
    border-radius: 0 0 0.5rem 0.5rem;
}

.bbdoa-property-vote-card--done {
    background: #40bf40;
}

.bbdoa-property-vote-card--proxy {
    background: #1b1b52;
}

.bbdoa-property-vote-card--pending {
    background: #ff3333;
}

/* Nominee modal */
.bbdoa-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgb(0 0 0 / 0.5);
}

.bbdoa-modal {
    width: 100%;
    max-width: 32rem;
    max-height: 80vh;
    overflow: hidden;
    border-radius: 1rem;
    background: rgb(255 255 255);
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
}

.bbdoa-nominees-modal {
    max-width: 60rem;
    border-radius: 1rem;
}

.dark .bbdoa-modal {
    background: rgb(17 24 39);
    border: 1px solid rgb(55 65 81);
}

.bbdoa-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgb(229 231 235);
}

.bbdoa-nominees-modal .bbdoa-modal-header {
    padding: 1.5rem 2rem;
}

.bbdoa-nominees-modal .bbdoa-modal-header h3 {
    font-size: 1.5rem;
    line-height: 2rem;
}

.dark .bbdoa-modal-header {
    border-bottom-color: rgb(55 65 81);
}

.bbdoa-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.375rem;
    border-radius: 0.5rem;
    color: rgb(107 114 128);
    background: transparent;
    border: none;
    cursor: pointer;
}

.bbdoa-nominees-modal .bbdoa-modal-close {
    padding: 0.6rem;
}

.bbdoa-nominees-modal .bbdoa-modal-close svg {
    width: 1.5rem;
    height: 1.5rem;
}

.bbdoa-modal-close:hover {
    background: rgb(243 244 246);
    color: rgb(17 24 39);
}

.dark .bbdoa-modal-close:hover {
    background: rgb(31 41 55);
    color: rgb(243 244 246);
}

.bbdoa-modal-body {
    padding: 1.25rem;
    overflow-y: auto;
    max-height: calc(80vh - 4rem);
}

.bbdoa-nominees-modal .bbdoa-modal-body {
    padding: 1.5rem 2rem 2rem;
    max-height: calc(80vh - 5rem);
}

.bbdoa-nominees-modal-table {
    border-collapse: collapse;
    font-size: 1.125rem;
}

.bbdoa-nominees-modal-table th,
.bbdoa-nominees-modal-table td {
    padding: 1rem 1.25rem;
    text-align: left;
    border-bottom: 1px solid rgb(229 231 235);
}

.dark .bbdoa-nominees-modal-table th,
.dark .bbdoa-nominees-modal-table td {
    border-bottom-color: rgb(55 65 81);
}

.bbdoa-nominees-modal-table th {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgb(107 114 128);
}

.bbdoa-nominees-modal-table tbody tr:last-child td {
    border-bottom: none;
}

/* Nominee results admin table */
.bbdoa-nominee-results-table {
    border-collapse: collapse;
    font-size: 0.875rem;
}

.bbdoa-nominee-results-table th,
.bbdoa-nominee-results-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid rgb(229 231 235);
}

.bbdoa-nominee-results-table th.bbdoa-results-col--right,
.bbdoa-nominee-results-table td.bbdoa-results-col--right {
    text-align: right;
}

.dark .bbdoa-nominee-results-table th,
.dark .bbdoa-nominee-results-table td {
    border-bottom-color: rgb(55 65 81);
}

.bbdoa-nominee-results-table th {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgb(107 114 128);
    background: rgb(249 250 251);
}

.dark .bbdoa-nominee-results-table th {
    background: rgb(31 41 55);
}

.bbdoa-nominee-results-row--top {
    background: var(--bbdoa-pass-green);
}

.dark .bbdoa-nominee-results-row--top {
    background: rgb(15 200 33 / 0.35);
}

.bbdoa-nominee-results-row--top td {
    color: rgb(0 0 0);
    background-color: transparent;
}

.dark .bbdoa-nominee-results-row--top td {
    color: rgb(236 253 245);
}

/* Results page pass/fail percentages */
.bbdoa-nominee-results-table .bbdoa-results-pct--pass,
.bbdoa-results-pct--pass {
    color: rgb(15 145 29) !important;
}

.dark .bbdoa-nominee-results-table .bbdoa-results-pct--pass,
.dark .bbdoa-results-pct--pass {
    color: rgb(134 239 172) !important;
}

.bbdoa-nominee-results-table .bbdoa-results-pct--fail,
.bbdoa-results-pct--fail {
    color: rgb(220 38 38) !important;
}

.dark .bbdoa-nominee-results-table .bbdoa-results-pct--fail,
.dark .bbdoa-results-pct--fail {
    color: rgb(248 113 113) !important;
}

.bbdoa-results-badge {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.bbdoa-results-badge--special {
    background: rgb(254 243 199);
    color: rgb(146 64 14);
}

.dark .bbdoa-results-badge--special {
    background: rgb(120 53 15 / 0.4);
    color: rgb(253 230 138);
}

/* Property card focus after vote submit */
.bbdoa-property-card-focus--active {
    outline: 2px solid rgb(79 70 229);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgb(79 70 229 / 0.15);
}

/* Outline button variant */
.bbdoa-btn-primary--outline-indigo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border-radius: 0.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: rgb(79 70 229);
    background: rgb(255 255 255);
    border: 2px solid rgb(79 70 229);
    cursor: pointer;
    text-decoration: none;
}

.dark .bbdoa-btn-primary--outline-indigo {
    background: rgb(17 24 39);
    color: rgb(165 180 252);
    border-color: rgb(99 102 241);
}

.bbdoa-btn-primary--outline-indigo:hover {
    background: rgb(238 242 255);
}

.dark .bbdoa-btn-primary--outline-indigo:hover {
    background: rgb(30 27 75);
}

/* Board nomination choice buttons */
.bbdoa-nomination-choice {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: 40rem;
    margin: 0.5rem auto 2.5rem;
}

@media (min-width: 640px) {
    .bbdoa-nomination-choice {
        grid-template-columns: 1fr 1fr;
    }
}

.bbdoa-nomination-choice__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 3.5rem;
    padding: 1rem 1.25rem;
    border-radius: 0.875rem;
    border: 1px solid rgb(209 213 219);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    background: rgb(249 250 251);
    color: rgb(55 65 81);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.bbdoa-nomination-choice__btn:hover {
    background: rgb(243 244 246);
}

.dark .bbdoa-nomination-choice__btn {
    background: rgb(31 41 55);
    color: rgb(209 213 219);
    border-color: rgb(75 85 99);
}

.dark .bbdoa-nomination-choice__btn:hover {
    background: rgb(55 65 81);
}

.bbdoa-nomination-choice__btn:disabled {
    opacity: 0.7;
    cursor: wait;
}

.bbdoa-nomination-choice__btn--yes.bbdoa-nomination-choice__btn--selected {
    background: rgb(67 56 202);
    color: rgb(255 255 255);
    border-color: rgb(67 56 202);
}

.bbdoa-nomination-choice__btn--yes.bbdoa-nomination-choice__btn--selected:hover {
    background: rgb(55 48 163);
}

.dark .bbdoa-nomination-choice__btn--yes.bbdoa-nomination-choice__btn--selected {
    background: rgb(99 102 241);
    color: rgb(255 255 255);
    border-color: rgb(129 140 248);
}

.bbdoa-nomination-choice__btn--no.bbdoa-nomination-choice__btn--selected {
    background: rgb(75 85 99);
    color: rgb(255 255 255);
    border-color: rgb(75 85 99);
}

.bbdoa-nomination-choice__btn--no.bbdoa-nomination-choice__btn--selected:hover {
    background: rgb(55 65 81);
}

.dark .bbdoa-nomination-choice__btn--no.bbdoa-nomination-choice__btn--selected {
    background: rgb(107 114 128);
    color: rgb(255 255 255);
    border-color: rgb(156 163 175);
}

.bbdoa-attendance-field > .grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 1.25rem;
    row-gap: 0.5rem;
}

.bbdoa-attendance-field > .grid > .flex,
.bbdoa-attendance-field > .grid > .grid {
    width: auto;
    flex: 0 0 auto;
}

.fi-fo-radio.bbdoa-attendance label {
    align-items: center;
}

.fi-fo-radio.bbdoa-attendance input {
    margin-top: 0;
}

.fi-fo-radio.bbdoa-attendance span {
    font-weight: 500;
}

.fi-fo-radio.bbdoa-attendance label:has(input:checked) span {
    font-weight: 700;
}
