/**
 * BBDOA custom Filament page surfaces — light & dark mode.
 * Registered on the admin panel; used by dashboard and voting views.
 */

/* 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(20 184 166) 0%, rgb(5 150 105) 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(13 148 136) !important;
    border: 1px solid rgb(15 118 110);
    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(15 118 110) !important;
    box-shadow: 0 4px 6px rgb(0 0 0 / 0.14);
}

.bbdoa-card-teal-border {
    border-color: rgb(153 246 228);
    background-color: rgb(240 253 250 / 0.35);
}

.dark .bbdoa-card-teal-border {
    background-color: rgb(17 24 39);
    border-color: rgb(19 78 74);
}

/* 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);
}

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

.dark .fi-main .bbdoa-heading,
.dark .bbdoa-heading {
    color: rgb(255 255 255);
}

.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(240 253 250 / 0.5);
    border-color: rgb(153 246 228);
}

.dark .bbdoa-action-tile:hover {
    background-color: rgb(19 78 74 / 0.25);
    border-color: rgb(45 212 191);
}

.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(6 78 59 / 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(240 253 250);
    border-color: rgb(153 246 228);
    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(45 212 191);
}

.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(240 253 250);
    color: rgb(13 148 136);
}

.dark .bbdoa-icon-teal {
    background-color: rgb(19 78 74 / 0.4);
    color: rgb(45 212 191);
}

.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(5 150 105);
}

.dark .bbdoa-icon-emerald {
    background-color: rgb(6 78 59 / 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(13 148 136);
}

.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);
}

/* 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(6 78 59 / 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-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(13 148 136) 0%, rgb(14 116 144) 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(153 246 228);
    background-color: rgb(240 253 250);
}

.dark .bbdoa-voting-steps {
    border-color: rgb(19 78 74);
    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(15 118 110);
}

.dark .bbdoa-voting-steps__title {
    color: rgb(45 212 191);
}

.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(13 148 136);
}

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

.dark .bbdoa-section-heading {
    color: rgb(255 255 255);
}

.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-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: 48rem;
}

.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(13 148 136) !important;
    border: 1px solid rgb(15 118 110) !important;
}

.bbdoa-form-page .fi-btn-color-primary:hover,
.bbdoa-form-page .fi-btn-color-teal:hover {
    background-color: rgb(15 118 110) !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(13 148 136) !important;
    border: 1px solid rgb(15 118 110) !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(6 78 59 / 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(6 78 59 / 0.35);
    color: rgb(110 231 183);
    border-color: rgb(52 211 153);
}

.dark .bbdoa-bulk-btn--approve:hover {
    background-color: rgb(6 78 59 / 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(240 253 250);
    color: rgb(15 118 110);
}

.dark .bbdoa-weight-chip {
    background-color: rgb(19 78 74 / 0.4);
    color: rgb(45 212 191);
}

.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(5 150 105);
    border: 1px solid rgb(5 150 105);
    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(5 150 105);
    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(6 78 59 / 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(13 148 136) !important;
    border: 1px solid rgb(15 118 110);
    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(15 118 110) !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(19 78 74);
    background: linear-gradient(
        135deg,
        rgb(6 78 59 / 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(5 150 105);
    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(6 78 59 / 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(5 150 105) !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(6 78 59 / 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;
}
