/* ========================================================================
   Player theme contract — 0.7.621
   ------------------------------------------------------------------------
   Theme packages set semantic custom properties on their scoped BPW wrapper.
   These shared rules map the properties to stable core/module components so a
   new theme can be deployed without copying gameplay templates.
   ======================================================================== */
.bpw-wrap{
    --bpw-theme-canvas:#fff;
    --bpw-theme-surface:#fafafa;
    --bpw-theme-surface-alt:#f0f0f1;
    --bpw-theme-surface-raised:#fff;
    --bpw-theme-contrast-surface:#fff;
    --bpw-theme-text:#1d2327;
    --bpw-theme-muted:#646970;
    --bpw-theme-heading:#1d2327;
    --bpw-theme-contrast-text:#1d2327;
    --bpw-theme-contrast-muted:#646970;
    --bpw-theme-contrast-heading:#1d2327;
    --bpw-theme-management-surface:#fff;
    --bpw-theme-management-text:#1d2327;
    --bpw-theme-management-muted:#646970;
    --bpw-theme-management-heading:#1d2327;
    --bpw-theme-city-selector-panel-surface:var(--bpw-theme-surface);
    --bpw-theme-city-selector-panel-heading:var(--bpw-theme-heading);
    --bpw-theme-city-selector-card-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-city-selector-header-surface:color-mix(in srgb,var(--bpw-theme-accent) 10%,var(--bpw-theme-contrast-surface));
    --bpw-theme-city-selector-header-hover-surface:color-mix(in srgb,var(--bpw-theme-accent-hover) 15%,var(--bpw-theme-contrast-surface));
    --bpw-theme-city-selector-selected-header-surface:color-mix(in srgb,var(--bpw-theme-accent) 18%,var(--bpw-theme-contrast-surface));
    --bpw-theme-city-selector-heading:var(--bpw-theme-contrast-heading);
    --bpw-theme-city-selector-text:var(--bpw-theme-contrast-text);
    --bpw-theme-city-selector-muted:var(--bpw-theme-contrast-muted);
    --bpw-theme-city-selector-action:var(--bpw-theme-text-action,var(--bpw-theme-accent));
    --bpw-theme-city-selector-action-hover:var(--bpw-theme-text-action-hover,var(--bpw-theme-accent-hover));
    --bpw-theme-city-selector-badge-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-city-selector-badge-text:var(--bpw-theme-contrast-text);
    --bpw-theme-city-selector-border:var(--bpw-theme-border);
    --bpw-theme-city-selector-selected-border:var(--bpw-theme-accent);
    --bpw-theme-food-surface:var(--bpw-theme-surface);
    --bpw-theme-food-item-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-food-heading:var(--bpw-theme-heading);
    --bpw-theme-food-label:var(--bpw-theme-contrast-heading);
    --bpw-theme-food-text:var(--bpw-theme-contrast-text);
    --bpw-theme-food-value:var(--bpw-theme-contrast-heading);
    --bpw-theme-food-muted:var(--bpw-theme-muted);
    --bpw-theme-food-action:var(--bpw-theme-text-action,var(--bpw-theme-accent));
    --bpw-theme-food-action-hover:var(--bpw-theme-text-action-hover,var(--bpw-theme-accent-hover));
    --bpw-theme-food-badge-text:var(--bpw-theme-contrast-heading);
    --bpw-theme-food-border:var(--bpw-theme-border);
    --bpw-theme-selected-city-surface:var(--bpw-theme-surface);
    --bpw-theme-selected-city-heading:var(--bpw-theme-heading);
    --bpw-theme-selected-city-label:var(--bpw-theme-heading);
    --bpw-theme-selected-city-text:var(--bpw-theme-text);
    --bpw-theme-selected-city-muted:var(--bpw-theme-muted);
    --bpw-theme-selected-city-link:var(--bpw-theme-accent);
    --bpw-theme-selected-city-link-hover:var(--bpw-theme-accent-hover);
    --bpw-theme-selected-city-control-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-selected-city-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-selected-city-action:var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast));
    --bpw-theme-selected-city-action-hover:var(--bpw-theme-button-text-hover,var(--bpw-theme-selected-city-action));
    --bpw-theme-selected-city-border:var(--bpw-theme-border);
    --bpw-theme-unit-notice-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-unit-notice-heading:var(--bpw-theme-contrast-heading);
    --bpw-theme-unit-notice-text:var(--bpw-theme-contrast-text);
    --bpw-theme-unit-notice-border:var(--bpw-theme-border);
    --bpw-theme-command-tab-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-command-tab-text:var(--bpw-theme-heading);
    --bpw-theme-command-tab-active-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-command-tab-active-text:var(--bpw-theme-contrast-heading);
    --bpw-theme-command-tab-border:var(--bpw-theme-accent);
    --bpw-theme-tax-surface:var(--bpw-theme-surface);
    --bpw-theme-tax-heading:var(--bpw-theme-heading);
    --bpw-theme-tax-text:var(--bpw-theme-text);
    --bpw-theme-tax-muted:var(--bpw-theme-muted);
    --bpw-theme-tax-label:var(--bpw-theme-heading);
    --bpw-theme-tax-value:var(--bpw-theme-contrast-heading);
    --bpw-theme-tax-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-tax-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-tax-action:var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast));
    --bpw-theme-tax-action-hover:var(--bpw-theme-button-text-hover,var(--bpw-theme-tax-action));
    --bpw-theme-tax-border:var(--bpw-theme-border);
    --bpw-theme-league-surface:var(--bpw-theme-surface);
    --bpw-theme-league-item-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-league-heading:var(--bpw-theme-heading);
    --bpw-theme-league-text:var(--bpw-theme-text);
    --bpw-theme-league-muted:var(--bpw-theme-muted);
    --bpw-theme-league-link:var(--bpw-theme-accent);
    --bpw-theme-league-link-hover:var(--bpw-theme-accent-hover);
    --bpw-theme-league-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-league-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-league-action-surface:var(--bpw-theme-accent);
    --bpw-theme-league-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-league-action-text:var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast));
    --bpw-theme-league-action-hover-text:var(--bpw-theme-button-text-hover,var(--bpw-theme-league-action-text));
    --bpw-theme-league-badge-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-league-badge-text:var(--bpw-theme-contrast-heading);
    --bpw-theme-league-border:var(--bpw-theme-border);
    --bpw-theme-league-directory-window-surface:var(--bpw-theme-league-surface);
    --bpw-theme-league-directory-header-surface:var(--bpw-theme-league-item-surface);
    --bpw-theme-league-directory-header-heading:var(--bpw-theme-league-heading);
    --bpw-theme-league-directory-header-text:var(--bpw-theme-league-muted);
    --bpw-theme-league-directory-close-surface:var(--bpw-theme-league-action-surface);
    --bpw-theme-league-directory-close-text:var(--bpw-theme-league-action-text);
    --bpw-theme-league-directory-body-surface:var(--bpw-theme-league-surface);
    --bpw-theme-league-directory-hero-surface:var(--bpw-theme-league-item-surface);
    --bpw-theme-league-directory-hero-heading:var(--bpw-theme-league-heading);
    --bpw-theme-league-directory-hero-text:var(--bpw-theme-league-text);
    --bpw-theme-league-directory-summary-surface:var(--bpw-theme-league-badge-surface);
    --bpw-theme-league-directory-summary-value:var(--bpw-theme-league-badge-text);
    --bpw-theme-league-directory-summary-label:var(--bpw-theme-league-muted);
    --bpw-theme-league-directory-card-surface:var(--bpw-theme-league-item-surface);
    --bpw-theme-league-directory-current-card-surface:var(--bpw-theme-league-surface);
    --bpw-theme-league-directory-card-heading:var(--bpw-theme-league-heading);
    --bpw-theme-league-directory-card-text:var(--bpw-theme-league-text);
    --bpw-theme-league-directory-card-muted:var(--bpw-theme-league-muted);
    --bpw-theme-league-directory-emblem-surface:var(--bpw-theme-league-action-surface);
    --bpw-theme-league-directory-emblem-text:var(--bpw-theme-league-action-text);
    --bpw-theme-league-directory-badge-surface:var(--bpw-theme-league-badge-surface);
    --bpw-theme-league-directory-badge-text:var(--bpw-theme-league-badge-text);
    --bpw-theme-league-directory-current-badge-surface:var(--bpw-theme-league-action-surface);
    --bpw-theme-league-directory-current-badge-text:var(--bpw-theme-league-action-text);
    --bpw-theme-league-directory-meta-surface:var(--bpw-theme-league-badge-surface);
    --bpw-theme-league-directory-meta-label:var(--bpw-theme-league-muted);
    --bpw-theme-league-directory-meta-value:var(--bpw-theme-league-badge-text);
    --bpw-theme-league-directory-action-surface:var(--bpw-theme-league-action-surface);
    --bpw-theme-league-directory-action-hover-surface:var(--bpw-theme-league-action-hover-surface);
    --bpw-theme-league-directory-action-text:var(--bpw-theme-league-action-text);
    --bpw-theme-league-directory-action-hover-text:var(--bpw-theme-league-action-hover-text);
    --bpw-theme-league-directory-border:var(--bpw-theme-league-border);
    --bpw-theme-league-chat-surface:var(--bpw-theme-surface);
    --bpw-theme-league-chat-header-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-league-chat-heading:var(--bpw-theme-heading);
    --bpw-theme-league-chat-message-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-league-chat-author:var(--bpw-theme-heading);
    --bpw-theme-league-chat-text:var(--bpw-theme-text);
    --bpw-theme-league-chat-muted:var(--bpw-theme-muted);
    --bpw-theme-league-chat-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-league-chat-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-league-chat-notice-surface:var(--bpw-theme-success-bg);
    --bpw-theme-league-chat-notice-text:var(--bpw-theme-success);
    --bpw-theme-league-chat-notice-border:var(--bpw-theme-success);
    --bpw-theme-league-chat-error-surface:var(--bpw-theme-danger-bg);
    --bpw-theme-league-chat-error-text:var(--bpw-theme-danger);
    --bpw-theme-league-chat-error-border:var(--bpw-theme-danger);
    --bpw-theme-league-chat-action-surface:var(--bpw-theme-accent);
    --bpw-theme-league-chat-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-league-chat-action-text:var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast));
    --bpw-theme-league-chat-action-hover-text:var(--bpw-theme-button-text-hover,var(--bpw-theme-league-chat-action-text));
    --bpw-theme-league-chat-border:var(--bpw-theme-border);
    --bpw-theme-convoy-surface:var(--bpw-theme-surface);
    --bpw-theme-convoy-item-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-convoy-heading:var(--bpw-theme-heading);
    --bpw-theme-convoy-text:var(--bpw-theme-text);
    --bpw-theme-convoy-muted:var(--bpw-theme-muted);
    --bpw-theme-convoy-link:var(--bpw-theme-accent);
    --bpw-theme-convoy-link-hover:var(--bpw-theme-accent-hover);
    --bpw-theme-convoy-table-heading-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-convoy-table-heading-text:var(--bpw-theme-heading);
    --bpw-theme-convoy-row-surface:var(--bpw-theme-surface);
    --bpw-theme-convoy-row-alt-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-convoy-row-text:var(--bpw-theme-text);
    --bpw-theme-convoy-value:var(--bpw-theme-heading);
    --bpw-theme-convoy-action-row-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-convoy-details-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-convoy-progress-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-convoy-progress-text:var(--bpw-theme-contrast-heading);
    --bpw-theme-convoy-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-convoy-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-convoy-action-surface:var(--bpw-theme-accent);
    --bpw-theme-convoy-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-convoy-action-text:var(--bpw-theme-button-text);
    --bpw-theme-convoy-action-hover-text:var(--bpw-theme-button-text-hover);
    --bpw-theme-convoy-danger-surface:var(--bpw-theme-danger);
    --bpw-theme-convoy-danger-text:var(--bpw-theme-danger-contrast);
    --bpw-theme-convoy-notice-surface:var(--bpw-theme-warning-bg);
    --bpw-theme-convoy-notice-text:var(--bpw-theme-warning);
    --bpw-theme-convoy-border:var(--bpw-theme-border);
    --bpw-theme-convoy-form-surface:var(--bpw-theme-surface);
    --bpw-theme-convoy-form-heading:var(--bpw-theme-heading);
    --bpw-theme-convoy-form-text:var(--bpw-theme-text);
    --bpw-theme-convoy-form-muted:var(--bpw-theme-muted);
    --bpw-theme-convoy-form-label:var(--bpw-theme-heading);
    --bpw-theme-convoy-form-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-convoy-form-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-convoy-form-table-heading-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-convoy-form-table-heading-text:var(--bpw-theme-heading);
    --bpw-theme-convoy-form-row-surface:var(--bpw-theme-surface);
    --bpw-theme-convoy-form-row-alt-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-convoy-form-row-text:var(--bpw-theme-text);
    --bpw-theme-convoy-form-value:var(--bpw-theme-heading);
    --bpw-theme-convoy-form-shortcut-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-convoy-form-shortcut-hover-surface:var(--bpw-theme-accent);
    --bpw-theme-convoy-form-shortcut-text:var(--bpw-theme-accent);
    --bpw-theme-convoy-form-shortcut-hover-text:var(--bpw-theme-accent-contrast);
    --bpw-theme-convoy-form-action-surface:var(--bpw-theme-accent);
    --bpw-theme-convoy-form-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-convoy-form-action-text:var(--bpw-theme-button-text);
    --bpw-theme-convoy-form-action-hover-text:var(--bpw-theme-button-text-hover);
    --bpw-theme-convoy-form-notice-surface:var(--bpw-theme-warning-bg);
    --bpw-theme-convoy-form-notice-text:var(--bpw-theme-warning);
    --bpw-theme-convoy-form-border:var(--bpw-theme-border);
    --bpw-theme-quick-move-surface:var(--bpw-theme-surface);
    --bpw-theme-quick-move-header-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-quick-move-heading:var(--bpw-theme-heading);
    --bpw-theme-quick-move-text:var(--bpw-theme-text);
    --bpw-theme-quick-move-muted:var(--bpw-theme-muted);
    --bpw-theme-quick-move-origin-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-quick-move-choice-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-quick-move-choice-active-surface:var(--bpw-theme-success-bg);
    --bpw-theme-quick-move-choice-text:var(--bpw-theme-text);
    --bpw-theme-quick-move-choice-active-text:var(--bpw-theme-heading);
    --bpw-theme-quick-move-unit-heading-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-quick-move-unit-heading-text:var(--bpw-theme-heading);
    --bpw-theme-quick-move-unit-surface:var(--bpw-theme-surface);
    --bpw-theme-quick-move-unit-alt-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-quick-move-unit-text:var(--bpw-theme-text);
    --bpw-theme-quick-move-unit-value:var(--bpw-theme-heading);
    --bpw-theme-quick-move-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-quick-move-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-quick-move-action-surface:var(--bpw-theme-accent);
    --bpw-theme-quick-move-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-quick-move-action-text:var(--bpw-theme-button-text);
    --bpw-theme-quick-move-action-hover-text:var(--bpw-theme-button-text-hover);
    --bpw-theme-quick-move-warning-surface:var(--bpw-theme-danger-bg);
    --bpw-theme-quick-move-warning-text:var(--bpw-theme-danger);
    --bpw-theme-quick-move-border:var(--bpw-theme-border);
    --bpw-theme-waypoint-surface:var(--bpw-theme-surface);
    --bpw-theme-waypoint-item-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-waypoint-heading:var(--bpw-theme-heading);
    --bpw-theme-waypoint-text:var(--bpw-theme-text);
    --bpw-theme-waypoint-muted:var(--bpw-theme-muted);
    --bpw-theme-waypoint-label:var(--bpw-theme-heading);
    --bpw-theme-waypoint-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-waypoint-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-waypoint-action-surface:var(--bpw-theme-accent);
    --bpw-theme-waypoint-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-waypoint-action-text:var(--bpw-theme-button-text);
    --bpw-theme-waypoint-action-hover-text:var(--bpw-theme-button-text-hover);
    --bpw-theme-waypoint-table-heading-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-waypoint-table-heading-text:var(--bpw-theme-heading);
    --bpw-theme-waypoint-row-surface:var(--bpw-theme-surface);
    --bpw-theme-waypoint-row-alt-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-waypoint-row-text:var(--bpw-theme-text);
    --bpw-theme-waypoint-value:var(--bpw-theme-heading);
    --bpw-theme-waypoint-notice-surface:var(--bpw-theme-success-bg);
    --bpw-theme-waypoint-notice-text:var(--bpw-theme-success);
    --bpw-theme-waypoint-border:var(--bpw-theme-border);
    --bpw-theme-map-window-surface:var(--bpw-theme-surface);
    --bpw-theme-map-header-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-map-header-heading:var(--bpw-theme-heading);
    --bpw-theme-map-header-text:var(--bpw-theme-muted);
    --bpw-theme-map-close-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-map-close-text:var(--bpw-theme-danger);
    --bpw-theme-map-close-hover-surface:var(--bpw-theme-danger);
    --bpw-theme-map-close-hover-text:var(--bpw-theme-danger-contrast);
    --bpw-theme-map-switch-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-map-switch-heading:var(--bpw-theme-heading);
    --bpw-theme-map-switch-text:var(--bpw-theme-muted);
    --bpw-theme-map-switch-badge-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-map-switch-badge-text:var(--bpw-theme-contrast-heading);
    --bpw-theme-map-switch-active-surface:var(--bpw-theme-accent);
    --bpw-theme-map-switch-active-text:var(--bpw-theme-accent-contrast);
    --bpw-theme-map-window-border:var(--bpw-theme-border);
    --bpw-theme-map-control-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-map-control-heading:var(--bpw-theme-heading);
    --bpw-theme-map-control-text:var(--bpw-theme-text);
    --bpw-theme-map-control-muted:var(--bpw-theme-muted);
    --bpw-theme-map-control-input-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-map-control-input-text:var(--bpw-theme-contrast-text);
    --bpw-theme-map-control-action-surface:var(--bpw-theme-accent);
    --bpw-theme-map-control-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-map-control-action-text:var(--bpw-theme-button-text);
    --bpw-theme-map-control-action-hover-text:var(--bpw-theme-button-text-hover);
    --bpw-theme-map-control-border:var(--bpw-theme-border);
    --bpw-theme-map-stage-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-map-scale-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-map-scale-text:var(--bpw-theme-contrast-text);
    --bpw-theme-map-selection-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-map-selection-text:var(--bpw-theme-contrast-text);
    --bpw-theme-map-selection-border:var(--bpw-theme-accent);
    --bpw-theme-map-city-owned:#8a2424;
    --bpw-theme-map-city-other:#1d4f73;
    --bpw-theme-map-choke-marker:#7c3aed;
    --bpw-theme-map-choke-label:#5b21b6;
    --bpw-theme-map-road-common:#59636e;
    --bpw-theme-map-road-primary:#6b4f2a;
    --bpw-theme-map-road-interstate:#f4f8fc;
    --bpw-theme-map-road-interstate-casing:#1f4e79;
    --bpw-theme-map-road-player-built:var(--bpw-theme-success);
    --bpw-theme-map-route-label:var(--bpw-theme-contrast-heading);
    --bpw-theme-map-distance-label:var(--bpw-theme-contrast-muted);
    --bpw-theme-map-region-line:var(--bpw-theme-border-strong);
    --bpw-theme-map-region-label:var(--bpw-theme-muted);
    --bpw-theme-map-isolated-ring:var(--bpw-theme-warning);
    --bpw-theme-map-pending-ring:var(--bpw-theme-warning);
    --bpw-theme-map-hint-color:var(--bpw-theme-border-strong);
    --bpw-theme-map-hint-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-map-classic-control-surface:var(--bpw-theme-map-control-surface);
    --bpw-theme-map-classic-control-heading:var(--bpw-theme-map-control-heading);
    --bpw-theme-map-classic-control-text:var(--bpw-theme-map-control-text);
    --bpw-theme-map-classic-pan-help:var(--bpw-theme-map-control-muted);
    --bpw-theme-map-classic-focus-help:var(--bpw-theme-map-control-muted);
    --bpw-theme-map-classic-explainer-text:var(--bpw-theme-map-control-muted);
    --bpw-theme-map-classic-control-input-surface:var(--bpw-theme-map-control-input-surface);
    --bpw-theme-map-classic-control-input-text:var(--bpw-theme-map-control-input-text);
    --bpw-theme-map-classic-control-action-surface:var(--bpw-theme-map-control-action-surface);
    --bpw-theme-map-classic-control-action-hover-surface:var(--bpw-theme-map-control-action-hover-surface);
    --bpw-theme-map-classic-control-action-text:var(--bpw-theme-map-control-action-text);
    --bpw-theme-map-classic-control-action-hover-text:var(--bpw-theme-map-control-action-hover-text);
    --bpw-theme-map-classic-control-border:var(--bpw-theme-map-control-border);
    --bpw-theme-map-classic-stage-surface:var(--bpw-theme-map-stage-surface);
    --bpw-theme-map-classic-scale-surface:var(--bpw-theme-map-scale-surface);
    --bpw-theme-map-classic-scale-text:var(--bpw-theme-map-scale-text);
    --bpw-theme-map-classic-selection-surface:var(--bpw-theme-map-selection-surface);
    --bpw-theme-map-classic-selection-text:var(--bpw-theme-map-selection-text);
    --bpw-theme-map-classic-selection-border:var(--bpw-theme-map-selection-border);
    --bpw-theme-map-classic-city-owned:var(--bpw-theme-map-city-owned);
    --bpw-theme-map-classic-city-other:var(--bpw-theme-map-city-other);
    --bpw-theme-map-classic-choke-marker:var(--bpw-theme-map-choke-marker);
    --bpw-theme-map-classic-choke-label:var(--bpw-theme-map-choke-label);
    --bpw-theme-map-classic-road-common:var(--bpw-theme-map-road-common);
    --bpw-theme-map-classic-road-primary:var(--bpw-theme-map-road-primary);
    --bpw-theme-map-classic-road-interstate:var(--bpw-theme-map-road-interstate);
    --bpw-theme-map-classic-road-interstate-casing:var(--bpw-theme-map-road-interstate-casing);
    --bpw-theme-map-classic-road-player-built:var(--bpw-theme-map-road-player-built);
    --bpw-theme-map-classic-route-label:var(--bpw-theme-map-route-label);
    --bpw-theme-map-classic-distance-label:var(--bpw-theme-map-distance-label);
    --bpw-theme-map-classic-region-line:var(--bpw-theme-map-region-line);
    --bpw-theme-map-classic-region-label:var(--bpw-theme-map-region-label);
    --bpw-theme-map-classic-isolated-ring:var(--bpw-theme-map-isolated-ring);
    --bpw-theme-map-classic-pending-ring:var(--bpw-theme-map-pending-ring);
    --bpw-theme-map-classic-hint-color:var(--bpw-theme-map-hint-color);
    --bpw-theme-map-classic-hint-surface:var(--bpw-theme-map-hint-surface);
    --bpw-theme-map-stylized-control-surface:var(--bpw-theme-map-control-surface);
    --bpw-theme-map-stylized-control-heading:var(--bpw-theme-map-control-heading);
    --bpw-theme-map-stylized-control-text:var(--bpw-theme-map-control-text);
    --bpw-theme-map-stylized-pan-help:var(--bpw-theme-map-control-muted);
    --bpw-theme-map-stylized-focus-help:var(--bpw-theme-map-control-muted);
    --bpw-theme-map-stylized-explainer-text:var(--bpw-theme-map-control-muted);
    --bpw-theme-map-stylized-control-input-surface:var(--bpw-theme-map-control-input-surface);
    --bpw-theme-map-stylized-control-input-text:var(--bpw-theme-map-control-input-text);
    --bpw-theme-map-stylized-control-action-surface:var(--bpw-theme-map-control-action-surface);
    --bpw-theme-map-stylized-control-action-hover-surface:var(--bpw-theme-map-control-action-hover-surface);
    --bpw-theme-map-stylized-control-action-text:var(--bpw-theme-map-control-action-text);
    --bpw-theme-map-stylized-control-action-hover-text:var(--bpw-theme-map-control-action-hover-text);
    --bpw-theme-map-stylized-control-border:var(--bpw-theme-map-control-border);
    --bpw-theme-map-stylized-stage-surface:var(--bpw-theme-map-stage-surface);
    --bpw-theme-map-stylized-scale-surface:var(--bpw-theme-map-scale-surface);
    --bpw-theme-map-stylized-scale-text:var(--bpw-theme-map-scale-text);
    --bpw-theme-map-stylized-selection-surface:var(--bpw-theme-map-selection-surface);
    --bpw-theme-map-stylized-selection-text:var(--bpw-theme-map-selection-text);
    --bpw-theme-map-stylized-selection-border:var(--bpw-theme-map-selection-border);
    --bpw-theme-map-stylized-city-owned:var(--bpw-theme-map-city-owned);
    --bpw-theme-map-stylized-city-other:var(--bpw-theme-map-city-other);
    --bpw-theme-map-stylized-choke-marker:var(--bpw-theme-map-choke-marker);
    --bpw-theme-map-stylized-choke-label:var(--bpw-theme-map-choke-label);
    --bpw-theme-map-stylized-road-common:var(--bpw-theme-map-road-common);
    --bpw-theme-map-stylized-road-primary:var(--bpw-theme-map-road-primary);
    --bpw-theme-map-stylized-road-interstate:var(--bpw-theme-map-road-interstate);
    --bpw-theme-map-stylized-road-interstate-casing:var(--bpw-theme-map-road-interstate-casing);
    --bpw-theme-map-stylized-road-player-built:var(--bpw-theme-map-road-player-built);
    --bpw-theme-map-stylized-route-label:var(--bpw-theme-map-route-label);
    --bpw-theme-map-stylized-distance-label:var(--bpw-theme-map-distance-label);
    --bpw-theme-map-stylized-region-line:var(--bpw-theme-map-region-line);
    --bpw-theme-map-stylized-region-label:var(--bpw-theme-map-region-label);
    --bpw-theme-map-stylized-isolated-ring:var(--bpw-theme-map-isolated-ring);
    --bpw-theme-map-stylized-pending-ring:var(--bpw-theme-map-pending-ring);
    --bpw-theme-map-stylized-hint-color:var(--bpw-theme-map-hint-color);
    --bpw-theme-map-stylized-hint-surface:var(--bpw-theme-map-hint-surface);
    --bpw-theme-choke-surface:var(--bpw-theme-surface);
    --bpw-theme-choke-item-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-choke-heading:var(--bpw-theme-heading);
    --bpw-theme-choke-text:var(--bpw-theme-text);
    --bpw-theme-choke-muted:var(--bpw-theme-muted);
    --bpw-theme-choke-link:var(--bpw-theme-accent);
    --bpw-theme-choke-link-hover:var(--bpw-theme-accent-hover);
    --bpw-theme-choke-access-surface:var(--bpw-theme-contrast-surface);
    --bpw-theme-choke-access-heading:var(--bpw-theme-contrast-heading);
    --bpw-theme-choke-access-text:var(--bpw-theme-contrast-text);
    --bpw-theme-choke-access-muted:var(--bpw-theme-contrast-muted);
    --bpw-theme-choke-control-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-choke-control-text:var(--bpw-theme-contrast-text);
    --bpw-theme-choke-action-surface:var(--bpw-theme-accent);
    --bpw-theme-choke-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-choke-action-text:var(--bpw-theme-button-text);
    --bpw-theme-choke-action-hover-text:var(--bpw-theme-button-text-hover);
    --bpw-theme-choke-table-heading-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-choke-table-heading-text:var(--bpw-theme-heading);
    --bpw-theme-choke-row-surface:var(--bpw-theme-surface);
    --bpw-theme-choke-row-alt-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-choke-row-text:var(--bpw-theme-text);
    --bpw-theme-choke-value:var(--bpw-theme-heading);
    --bpw-theme-choke-notice-surface:var(--bpw-theme-success-bg);
    --bpw-theme-choke-notice-text:var(--bpw-theme-success);
    --bpw-theme-choke-danger:var(--bpw-theme-danger);
    --bpw-theme-choke-border:var(--bpw-theme-border);
    --bpw-theme-road-builder-surface:var(--bpw-theme-surface);
    --bpw-theme-road-builder-heading:var(--bpw-theme-heading);
    --bpw-theme-road-builder-text:var(--bpw-theme-text);
    --bpw-theme-road-builder-muted:var(--bpw-theme-muted);
    --bpw-theme-road-builder-table-heading-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-road-builder-table-heading-text:var(--bpw-theme-heading);
    --bpw-theme-road-builder-row-surface:var(--bpw-theme-surface);
    --bpw-theme-road-builder-row-alt-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-road-builder-row-text:var(--bpw-theme-text);
    --bpw-theme-road-builder-value:var(--bpw-theme-heading);
    --bpw-theme-road-builder-action-surface:var(--bpw-theme-accent);
    --bpw-theme-road-builder-action-hover-surface:var(--bpw-theme-accent-hover);
    --bpw-theme-road-builder-action-text:var(--bpw-theme-button-text);
    --bpw-theme-road-builder-action-hover-text:var(--bpw-theme-button-text-hover);
    --bpw-theme-road-builder-danger-surface:var(--bpw-theme-danger);
    --bpw-theme-road-builder-danger-text:var(--bpw-theme-danger-contrast);
    --bpw-theme-road-builder-notice-surface:var(--bpw-theme-success-bg);
    --bpw-theme-road-builder-notice-text:var(--bpw-theme-success);
    --bpw-theme-road-builder-border:var(--bpw-theme-border);
    --bpw-theme-rankings-window-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-rankings-header-surface:#1d2327;
    --bpw-theme-rankings-header-text:var(--bpw-theme-accent-contrast);
    --bpw-theme-rankings-body-surface:var(--bpw-theme-surface-raised);
    --bpw-theme-rankings-summary-text:var(--bpw-theme-text);
    --bpw-theme-rankings-updated-text:var(--bpw-theme-muted);
    --bpw-theme-rankings-table-surface:var(--bpw-theme-surface);
    --bpw-theme-rankings-table-header-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-rankings-table-header-text:var(--bpw-theme-heading);
    --bpw-theme-rankings-row-surface:var(--bpw-theme-surface);
    --bpw-theme-rankings-row-text:var(--bpw-theme-text);
    --bpw-theme-rankings-player-name:var(--bpw-theme-heading);
    --bpw-theme-rankings-value:var(--bpw-theme-contrast-heading);
    --bpw-theme-rankings-territory-text:var(--bpw-theme-muted);
    --bpw-theme-rankings-current-surface:var(--bpw-theme-warning-bg);
    --bpw-theme-rankings-you-surface:#dbeafe;
    --bpw-theme-rankings-you-text:#1d4ed8;
    --bpw-theme-rankings-notice-surface:var(--bpw-theme-surface-alt);
    --bpw-theme-rankings-notice-text:var(--bpw-theme-text);
    --bpw-theme-rankings-error-surface:var(--bpw-theme-danger-bg);
    --bpw-theme-rankings-error-text:var(--bpw-theme-danger);
    --bpw-theme-rankings-border:var(--bpw-theme-border);
    --bpw-theme-rankings-close-text:var(--bpw-theme-accent-contrast);
    --bpw-theme-rankings-close-hover:var(--bpw-theme-button-text-hover,var(--bpw-theme-accent-contrast));
    --bpw-theme-page-title:#1d2327;
    --bpw-theme-welcome-text:#1d2327;
    --bpw-theme-welcome-name:#1d2327;
    --bpw-theme-border:#dcdcde;
    --bpw-theme-border-strong:#8c8f94;
    --bpw-theme-accent:#2271b1;
    --bpw-theme-accent-hover:#135e96;
    --bpw-theme-accent-contrast:#fff;
    --bpw-theme-success:#15803d;
    --bpw-theme-success-bg:#eef7ee;
    --bpw-theme-warning:#9a6700;
    --bpw-theme-warning-bg:#fff8e5;
    --bpw-theme-danger:#b91c1c;
    --bpw-theme-danger-bg:#fff1f0;
    --bpw-theme-shadow:0 2px 6px rgba(0,0,0,.08);
    --bpw-theme-radius:4px;
    color:var(--bpw-theme-text);
    background-color:var(--bpw-theme-canvas);
    border-color:var(--bpw-theme-border);
    box-shadow:var(--bpw-theme-shadow);
}
.bpw-wrap h1,.bpw-wrap h2,.bpw-wrap h3,.bpw-wrap h4,.bpw-wrap h5,.bpw-wrap h6,
.bpw-wrap summary,.bpw-wrap legend,.bpw-wrap strong{color:var(--bpw-theme-heading);}

/* Player Rankings is an independent semantic island. */
.bpw-wrap .bpw-rankings-modal-window{color:var(--bpw-theme-rankings-row-text,var(--bpw-theme-text))!important;background:var(--bpw-theme-rankings-window-surface,var(--bpw-theme-surface-raised))!important;border-color:var(--bpw-theme-rankings-border,var(--bpw-theme-border))!important;}
.bpw-wrap .bpw-rankings-modal-header{color:var(--bpw-theme-rankings-header-text,var(--bpw-theme-accent-contrast))!important;background:var(--bpw-theme-rankings-header-surface,#1d2327)!important;border-color:var(--bpw-theme-rankings-border,var(--bpw-theme-border))!important;}
.bpw-wrap .bpw-rankings-modal-header h3{color:var(--bpw-theme-rankings-header-text,var(--bpw-theme-accent-contrast))!important;}
.bpw-wrap .bpw-rankings-modal-close{color:var(--bpw-theme-rankings-close-text,var(--bpw-theme-accent-contrast))!important;}
.bpw-wrap .bpw-rankings-modal-close:hover,.bpw-wrap .bpw-rankings-modal-close:focus{color:var(--bpw-theme-rankings-close-hover,var(--bpw-theme-rankings-close-text))!important;}
.bpw-wrap .bpw-rankings-modal-body{background:var(--bpw-theme-rankings-body-surface,var(--bpw-theme-surface-raised))!important;}
.bpw-wrap .bpw-rankings-summary{color:var(--bpw-theme-rankings-summary-text,var(--bpw-theme-text))!important;}
.bpw-wrap .bpw-rankings-updated,.bpw-wrap .bpw-rankings-loading-shell{color:var(--bpw-theme-rankings-updated-text,var(--bpw-theme-muted))!important;}
.bpw-wrap .bpw-rankings-notice{color:var(--bpw-theme-rankings-notice-text,var(--bpw-theme-text))!important;background:var(--bpw-theme-rankings-notice-surface,var(--bpw-theme-surface-alt))!important;border-left-color:var(--bpw-theme-accent)!important;}
.bpw-wrap .bpw-rankings-notice.is-error{color:var(--bpw-theme-rankings-error-text,var(--bpw-theme-danger))!important;background:var(--bpw-theme-rankings-error-surface,var(--bpw-theme-danger-bg))!important;border-left-color:var(--bpw-theme-rankings-error-text,var(--bpw-theme-danger))!important;}
.bpw-wrap .bpw-rankings-table{color:var(--bpw-theme-rankings-row-text,var(--bpw-theme-text))!important;background:var(--bpw-theme-rankings-table-surface,var(--bpw-theme-surface))!important;border-color:var(--bpw-theme-rankings-border,var(--bpw-theme-border))!important;}
.bpw-wrap .bpw-rankings-table th{color:var(--bpw-theme-rankings-table-header-text,var(--bpw-theme-heading))!important;background:var(--bpw-theme-rankings-table-header-surface,var(--bpw-theme-surface-alt))!important;border-color:var(--bpw-theme-rankings-border,var(--bpw-theme-border))!important;}
.bpw-wrap .bpw-rankings-table td{color:var(--bpw-theme-rankings-row-text,var(--bpw-theme-text))!important;background:var(--bpw-theme-rankings-row-surface,var(--bpw-theme-surface))!important;border-color:var(--bpw-theme-rankings-border,var(--bpw-theme-border))!important;}
.bpw-wrap .bpw-rankings-table td:first-child,.bpw-wrap .bpw-rankings-table td:nth-child(3),.bpw-wrap .bpw-rankings-table td:nth-child(4){color:var(--bpw-theme-rankings-value,var(--bpw-theme-contrast-heading))!important;}
.bpw-wrap .bpw-rankings-table td strong{color:var(--bpw-theme-rankings-player-name,var(--bpw-theme-heading))!important;}
.bpw-wrap .bpw-rankings-territory-label{color:var(--bpw-theme-rankings-territory-text,var(--bpw-theme-muted))!important;}
.bpw-wrap .bpw-rankings-table tr.is-current-player td{background:var(--bpw-theme-rankings-current-surface,var(--bpw-theme-warning-bg))!important;}
.bpw-wrap .bpw-rankings-you{color:var(--bpw-theme-rankings-you-text,#1d4ed8)!important;background:var(--bpw-theme-rankings-you-surface,#dbeafe)!important;}

/* Page identity is independent from reusable panel text. This allows the
   Command Center title and welcome line to remain legible against container
   artwork without forcing the same foreground onto empire/menu panels. */
.bpw-wrap .bpw-theme-page-title{
    color:var(--bpw-theme-page-title,var(--bpw-theme-heading))!important;
}
.bpw-wrap .bpw-theme-welcome-text{
    color:var(--bpw-theme-welcome-text,var(--bpw-theme-text))!important;
}
.bpw-wrap .bpw-theme-welcome-text strong,
.bpw-wrap .bpw-theme-welcome-name{
    color:var(--bpw-theme-welcome-name,var(--bpw-theme-heading))!important;
}
.bpw-wrap .bpw-theme-panel-text{color:var(--bpw-theme-text)!important;}
.bpw-wrap .bpw-theme-panel-muted{color:var(--bpw-theme-muted)!important;}
.bpw-wrap .bpw-theme-panel-heading{color:var(--bpw-theme-heading)!important;}
.bpw-wrap a{color:var(--bpw-theme-accent);}
.bpw-wrap a:hover,.bpw-wrap a:focus{color:var(--bpw-theme-accent-hover);}
.bpw-wrap .description,.bpw-wrap small,.bpw-wrap .bpw-theme-choice-description,
.bpw-wrap [class*="-meta"],.bpw-wrap [class*="-note"]{color:var(--bpw-theme-muted);}
.bpw-wrap .bpw-card,
.bpw-wrap .bpw-player-subsection,
.bpw-wrap .bpw-player-subsection-body,
.bpw-wrap .bpw-notifications-panel,
.bpw-wrap .bpw-notification-item,
.bpw-wrap .bpw-modal-content,
.bpw-wrap .bpw-modal-card,
.bpw-wrap fieldset,
.bpw-wrap details.bpw-card{
    color:var(--bpw-theme-text);
    background-color:var(--bpw-theme-surface);
    border-color:var(--bpw-theme-border);
    border-radius:var(--bpw-theme-radius);
}
.bpw-wrap .bpw-card .bpw-card,
.bpw-wrap .bpw-player-subsection-body,
.bpw-wrap .bpw-notification-item,
.bpw-wrap [class*="-summary-card"],
.bpw-wrap [class*="-status-item"]{
    background-color:var(--bpw-theme-surface-alt);
    border-color:var(--bpw-theme-border);
}
.bpw-wrap table{color:var(--bpw-theme-text);background:var(--bpw-theme-surface);border-color:var(--bpw-theme-border);}
.bpw-wrap th{color:var(--bpw-theme-heading);background:var(--bpw-theme-surface-alt);border-color:var(--bpw-theme-border);}
.bpw-wrap td{color:var(--bpw-theme-text);border-color:var(--bpw-theme-border);}
.bpw-wrap tr:nth-child(even) td{background-color:color-mix(in srgb,var(--bpw-theme-surface-alt) 55%,transparent);}
.bpw-wrap input:not([type="checkbox"]):not([type="radio"]),
.bpw-wrap select,.bpw-wrap textarea{
    color:var(--bpw-theme-contrast-text,var(--bpw-theme-text));
    background-color:var(--bpw-theme-surface-raised);
    border-color:var(--bpw-theme-border-strong);
    border-radius:var(--bpw-theme-radius);
}
.bpw-wrap input::placeholder,.bpw-wrap textarea::placeholder{color:var(--bpw-theme-contrast-muted,var(--bpw-theme-muted));opacity:.82;}

/* Contrast cards are deliberately independent from the surrounding panel text.
   Use these roles for resource tiles, light badges, raised summary metrics, and
   other embedded surfaces that may require the opposite foreground contrast. */
.bpw-wrap .bpw-theme-contrast-surface{
    color:var(--bpw-theme-contrast-text,var(--bpw-theme-text));
    background-color:var(--bpw-theme-contrast-surface,var(--bpw-theme-surface-raised));
}
.bpw-wrap .bpw-theme-contrast-muted{color:var(--bpw-theme-contrast-muted,var(--bpw-theme-muted))!important;}
.bpw-wrap .bpw-theme-contrast-heading{color:var(--bpw-theme-contrast-heading,var(--bpw-theme-heading))!important;}
.bpw-wrap .bpw-theme-contrast-surface strong{color:var(--bpw-theme-contrast-heading,var(--bpw-theme-heading));}

/* City Management frequently embeds light form/notice panels inside darker or
   translucent theme cards. These roles are independent from both surrounding
   panel text and resource tiles so administrators can tune all three surfaces
   without creating light-on-light or dark-on-dark text. */
.bpw-wrap .bpw-theme-management-surface{
    color:var(--bpw-theme-management-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;
    background-color:var(--bpw-theme-management-surface,var(--bpw-theme-contrast-surface,var(--bpw-theme-surface-raised)))!important;
    border-color:var(--bpw-theme-border)!important;
}
.bpw-wrap .bpw-theme-management-text{color:var(--bpw-theme-management-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;}
.bpw-wrap .bpw-theme-management-muted{color:var(--bpw-theme-management-muted,var(--bpw-theme-contrast-muted,var(--bpw-theme-muted)))!important;}
.bpw-wrap .bpw-theme-management-heading{color:var(--bpw-theme-management-heading,var(--bpw-theme-contrast-heading,var(--bpw-theme-heading)))!important;}
.bpw-wrap .bpw-theme-management-surface h1,
.bpw-wrap .bpw-theme-management-surface h2,
.bpw-wrap .bpw-theme-management-surface h3,
.bpw-wrap .bpw-theme-management-surface h4,
.bpw-wrap .bpw-theme-management-surface h5,
.bpw-wrap .bpw-theme-management-surface h6,
.bpw-wrap .bpw-theme-management-surface strong{
    color:var(--bpw-theme-management-heading,var(--bpw-theme-contrast-heading,var(--bpw-theme-heading)))!important;
}
.bpw-wrap .bpw-theme-management-surface [style*="color:#4b5563"],
.bpw-wrap .bpw-theme-management-surface [style*="color: #4b5563"],
.bpw-wrap .bpw-theme-management-surface [style*="color:#555"],
.bpw-wrap .bpw-theme-management-surface [style*="color: #555"],
.bpw-wrap .bpw-theme-management-surface [style*="color:#666"],
.bpw-wrap .bpw-theme-management-surface [style*="color: #666"]{
    color:var(--bpw-theme-management-muted,var(--bpw-theme-contrast-muted,var(--bpw-theme-muted)))!important;
}
.bpw-wrap .bpw-capture-protection-state.is-protected{color:var(--bpw-theme-success)!important;}
.bpw-wrap .bpw-capture-protection-state.is-disabled{color:var(--bpw-theme-management-muted,var(--bpw-theme-muted))!important;}
.bpw-wrap .bpw-capture-protection-state.is-error{color:var(--bpw-theme-danger)!important;}
.bpw-wrap .bpw-capture-protection-state strong{color:inherit!important;}

/* Your Cities selector is a semantic island. Selected and unselected
   city-header backgrounds are direct roles instead of hidden color-mix results,
   so they can be matched without recoloring links or resource tiles. */
.bpw-wrap .bpw-city-selector-panel{
    color:var(--bpw-theme-city-selector-text,var(--bpw-theme-contrast-text))!important;
    background-color:var(--bpw-theme-city-selector-panel-surface,var(--bpw-theme-surface))!important;
    border-color:var(--bpw-theme-city-selector-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-selector-panel > summary{
    color:var(--bpw-theme-city-selector-panel-heading,var(--bpw-theme-heading))!important;
    border-color:var(--bpw-theme-city-selector-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-selector-panel > summary::after{
    color:var(--bpw-theme-city-selector-action,var(--bpw-theme-text-action,var(--bpw-theme-accent)))!important;
    background-color:var(--bpw-theme-city-selector-badge-surface,var(--bpw-theme-contrast-surface))!important;
    border-color:var(--bpw-theme-city-selector-border,var(--bpw-theme-border))!important;
}
/* Keep the outer card shell transparent. The card-body surface is rendered by
   .bpw-city-selector-details so opacity is composited exactly once. Applying the
   same translucent variable to both nested elements makes 75% behave like
   93.75% and hides background artwork. */
.bpw-wrap .bpw-city-selector-item{
    color:var(--bpw-theme-city-selector-text,var(--bpw-theme-contrast-text))!important;
    background-color:transparent!important;
    border-color:var(--bpw-theme-city-selector-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-selector-details{
    color:var(--bpw-theme-city-selector-text,var(--bpw-theme-contrast-text))!important;
    background-color:var(--bpw-theme-city-selector-card-surface,var(--bpw-theme-contrast-surface))!important;
    border-color:var(--bpw-theme-city-selector-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-selector-item.is-active{
    border-color:var(--bpw-theme-city-selector-selected-border,var(--bpw-theme-accent))!important;
    box-shadow:inset 0 0 0 1px var(--bpw-theme-city-selector-selected-border,var(--bpw-theme-accent))!important;
}
.bpw-wrap .bpw-city-selector-button{
    color:var(--bpw-theme-city-selector-text,var(--bpw-theme-contrast-text))!important;
    background:var(--bpw-theme-city-selector-header-surface,color-mix(in srgb,var(--bpw-theme-accent) 10%,var(--bpw-theme-contrast-surface)))!important;
}
.bpw-wrap .bpw-city-selector-button:hover,
.bpw-wrap .bpw-city-selector-button:focus-visible{
    background:var(--bpw-theme-city-selector-header-hover-surface,color-mix(in srgb,var(--bpw-theme-accent-hover) 15%,var(--bpw-theme-contrast-surface)))!important;
}
.bpw-wrap .bpw-city-selector-button.is-active{
    background:var(--bpw-theme-city-selector-selected-header-surface,color-mix(in srgb,var(--bpw-theme-accent) 18%,var(--bpw-theme-contrast-surface)))!important;
}
.bpw-wrap .bpw-city-selector-name,
.bpw-wrap .bpw-city-selector-details > summary,
.bpw-wrap .bpw-city-selector-metric b{
    color:var(--bpw-theme-city-selector-heading,var(--bpw-theme-contrast-heading))!important;
}
.bpw-wrap .bpw-city-selector-metrics,
.bpw-wrap .bpw-city-selector-metric{
    color:var(--bpw-theme-city-selector-text,var(--bpw-theme-contrast-text))!important;
}
.bpw-wrap .bpw-city-selector-action-hint,
.bpw-wrap .bpw-city-selector-details > summary::after{
    color:var(--bpw-theme-city-selector-action,var(--bpw-theme-text-action,var(--bpw-theme-accent)))!important;
}
.bpw-wrap .bpw-city-selector-button:hover .bpw-city-selector-action-hint,
.bpw-wrap .bpw-city-selector-button:focus-visible .bpw-city-selector-action-hint{
    color:var(--bpw-theme-city-selector-action-hover,var(--bpw-theme-text-action-hover,var(--bpw-theme-accent-hover)))!important;
}
.bpw-wrap .bpw-city-selector-chip{
    color:var(--bpw-theme-city-selector-badge-text,var(--bpw-theme-contrast-text))!important;
    background:var(--bpw-theme-city-selector-badge-surface,var(--bpw-theme-contrast-surface))!important;
    border-color:var(--bpw-theme-city-selector-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-selector-details,
.bpw-wrap .bpw-city-selector-metrics.is-deltas{
    border-color:var(--bpw-theme-city-selector-border,var(--bpw-theme-border))!important;
}

/* Empire Food Status is a complete semantic island. Its card, item, label,
   value, diagnostic, compact action, badge text, and borders can be adjusted
   without changing resource tiles, City Management, menus, or other panels. */
.bpw-wrap .bpw-food-status-panel{
    color:var(--bpw-theme-food-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;
    background-color:var(--bpw-theme-food-surface,var(--bpw-theme-surface))!important;
    border-color:var(--bpw-theme-food-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-food-status-panel > summary{
    color:var(--bpw-theme-food-heading,var(--bpw-theme-heading))!important;
    border-color:var(--bpw-theme-food-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-food-status-panel > summary::after{
    color:var(--bpw-theme-food-action,var(--bpw-theme-text-action,var(--bpw-theme-accent)))!important;
    background-color:var(--bpw-theme-food-item-surface,var(--bpw-theme-contrast-surface))!important;
    border-color:var(--bpw-theme-food-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-food-status-panel > summary:hover::after,
.bpw-wrap .bpw-food-status-panel > summary:focus-visible::after{
    color:var(--bpw-theme-food-action-hover,var(--bpw-theme-text-action-hover,var(--bpw-theme-accent-hover)))!important;
}
.bpw-wrap .bpw-food-status-item{
    color:var(--bpw-theme-food-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;
    background-color:var(--bpw-theme-food-item-surface,var(--bpw-theme-contrast-surface))!important;
    border-color:var(--bpw-theme-food-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-food-status-item > strong,
.bpw-wrap .bpw-food-status-label{
    color:var(--bpw-theme-food-label,var(--bpw-theme-contrast-heading,var(--bpw-theme-heading)))!important;
}
.bpw-wrap .bpw-food-status-line,
.bpw-wrap .bpw-food-status-line-label,
.bpw-wrap .bpw-food-stockpile-max{
    color:var(--bpw-theme-food-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;
}
.bpw-wrap .bpw-food-status-value,
.bpw-wrap .bpw-food-stockpile-current,
.bpw-wrap .bpw-food-status-total strong{
    color:var(--bpw-theme-food-value,var(--bpw-theme-contrast-heading,var(--bpw-theme-heading)))!important;
}
.bpw-wrap .bpw-food-status-note{
    color:var(--bpw-theme-food-muted,var(--bpw-theme-muted))!important;
}
.bpw-wrap .bpw-food-status-badge{
    color:var(--bpw-theme-food-badge-text,var(--bpw-theme-contrast-heading,var(--bpw-theme-heading)))!important;
}



/* Unit-slot usage notices are independent from cards and light contrast tiles.
   The exact live Realm Units notice now consumes this family. */
.bpw-wrap .bpw-theme-unit-notice,
.bpw-wrap .bpw-unit-slot-notice,
.bpw-wrap .bpw-unit-production-slots-note,
.bpw-wrap .bpw-unit-slot-summary{
    margin:8px 0 12px!important;
    padding:8px 10px!important;
    color:var(--bpw-theme-unit-notice-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;
    background-color:var(--bpw-theme-unit-notice-surface,var(--bpw-theme-contrast-surface,var(--bpw-theme-surface-raised)))!important;
    border:1px solid var(--bpw-theme-unit-notice-border,var(--bpw-theme-border))!important;
    border-left-width:4px!important;
}
.bpw-wrap .bpw-unit-slot-summary-line{display:block;}
.bpw-wrap .bpw-unit-slot-helper{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:var(--bpw-theme-unit-notice-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;}
.bpw-wrap .bpw-theme-unit-notice strong,
.bpw-wrap .bpw-theme-unit-notice .bpw-unit-slot-value,
.bpw-wrap .bpw-unit-slot-notice strong,
.bpw-wrap .bpw-unit-slot-notice .bpw-unit-slot-value,
.bpw-wrap .bpw-unit-production-slots-note strong,
.bpw-wrap .bpw-unit-slot-summary strong{
    color:var(--bpw-theme-unit-notice-heading,var(--bpw-theme-contrast-heading,var(--bpw-theme-heading)))!important;
}

/* Dashboard tabs are independent from button text so building/unit/economy tab
   labels can remain legible without altering unrelated illustrated buttons. */
.bpw-wrap .bpw-command-tab,
.bpw-wrap .bpw-theme-command-tab,
.bpw-wrap .bpw-city-building-category-tab{
    color:var(--bpw-theme-command-tab-text,var(--bpw-theme-heading))!important;
    background:var(--bpw-theme-command-tab-surface,var(--bpw-theme-surface-alt))!important;
    border-color:var(--bpw-theme-command-tab-border,var(--bpw-theme-accent))!important;
}
.bpw-wrap .bpw-command-tab.is-active,
.bpw-wrap .bpw-command-tab.active,
.bpw-wrap .bpw-theme-command-tab.is-active,
.bpw-wrap .bpw-city-building-category-tab.is-active{
    color:var(--bpw-theme-command-tab-active-text,var(--bpw-theme-contrast-heading))!important;
    background:var(--bpw-theme-command-tab-active-surface,var(--bpw-theme-contrast-surface))!important;
    border-color:var(--bpw-theme-command-tab-border,var(--bpw-theme-accent))!important;
    box-shadow:inset 0 0 0 1px var(--bpw-theme-command-tab-border,var(--bpw-theme-accent))!important;
}


.bpw-wrap .bpw-city-building-category-tabs-panel{padding:10px 12px!important;}
.bpw-wrap .bpw-city-building-category-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.bpw-wrap .bpw-city-building-category-tab{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 14px!important;
    border-style:solid!important;
    border-width:1px!important;
    border-radius:4px!important;
    text-decoration:none!important;
    font-weight:500;
}
.bpw-wrap .bpw-city-building-category-tab.is-active{font-weight:700;}

/* Tax policy / economy uses its own semantic family so numeric values, labels,
   controls, and save actions can be tuned without borrowing from tables, forms,
   resource cards, or Selected City Overview. */
.bpw-wrap .bpw-theme-tax-surface,
.bpw-wrap .bpw-city-economy-panel,
.bpw-wrap .bpw-tax-policy-panel,
.bpw-wrap .bpw-tax-policy-card{
    color:var(--bpw-theme-tax-text,var(--bpw-theme-text))!important;
    background-color:var(--bpw-theme-tax-surface,var(--bpw-theme-surface))!important;
    border-color:var(--bpw-theme-tax-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-economy-panel{border-width:2px!important;border-style:solid!important;}
.bpw-wrap .bpw-theme-tax-surface strong,
.bpw-wrap .bpw-theme-tax-heading,
.bpw-wrap .bpw-city-economy-panel h1,
.bpw-wrap .bpw-city-economy-panel h2,
.bpw-wrap .bpw-city-economy-panel h3,
.bpw-wrap .bpw-tax-policy-panel h1,
.bpw-wrap .bpw-tax-policy-panel h2,
.bpw-wrap .bpw-tax-policy-panel h3{
    color:var(--bpw-theme-tax-heading,var(--bpw-theme-heading))!important;
}
.bpw-wrap .bpw-city-economy-intro,
.bpw-wrap .bpw-theme-tax-text{color:var(--bpw-theme-tax-text,var(--bpw-theme-text))!important;}
.bpw-wrap .bpw-city-economy-helper,
.bpw-wrap .bpw-city-economy-city-kind,
.bpw-wrap .bpw-city-economy-unrest-label,
.bpw-wrap .bpw-city-economy-last-revenue,
.bpw-wrap .bpw-city-economy-paradigm-limits,
.bpw-wrap .bpw-theme-tax-muted{color:var(--bpw-theme-tax-muted,var(--bpw-theme-muted))!important;}
.bpw-wrap .bpw-theme-tax-label,
.bpw-wrap .bpw-city-economy-table th{color:var(--bpw-theme-tax-label,var(--bpw-theme-heading))!important;}
.bpw-wrap .bpw-theme-tax-value,
.bpw-wrap .bpw-city-economy-table .bpw-theme-tax-value{color:var(--bpw-theme-tax-value,var(--bpw-theme-contrast-heading))!important;}
.bpw-wrap .bpw-city-economy-table{
    color:var(--bpw-theme-tax-text,var(--bpw-theme-text))!important;
    background:var(--bpw-theme-tax-surface,var(--bpw-theme-surface))!important;
    border-color:var(--bpw-theme-tax-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-economy-table th{
    background:color-mix(in srgb,var(--bpw-theme-tax-surface,var(--bpw-theme-surface)) 84%,var(--bpw-theme-tax-border,var(--bpw-theme-border)))!important;
    border-color:var(--bpw-theme-tax-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-city-economy-table td{color:var(--bpw-theme-tax-text,var(--bpw-theme-text))!important;border-color:var(--bpw-theme-tax-border,var(--bpw-theme-border))!important;}
.bpw-wrap .bpw-city-economy-policy-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.bpw-wrap .bpw-theme-tax-surface input,
.bpw-wrap .bpw-theme-tax-surface select,
.bpw-wrap .bpw-city-economy-panel input,
.bpw-wrap .bpw-city-economy-panel select,
.bpw-wrap .bpw-tax-policy-panel input,
.bpw-wrap .bpw-tax-policy-panel select{
    color:var(--bpw-theme-tax-control-text,var(--bpw-theme-contrast-text))!important;
    background-color:var(--bpw-theme-tax-control-surface,var(--bpw-theme-surface-raised))!important;
    border-color:var(--bpw-theme-tax-border,var(--bpw-theme-border-strong))!important;
}
.bpw-wrap .bpw-theme-tax-surface .button,
.bpw-wrap .bpw-tax-policy-panel .button,
.bpw-wrap .bpw-city-economy-panel .button{
    color:var(--bpw-theme-tax-action,var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast)))!important;
}
.bpw-wrap .bpw-theme-tax-surface .button:hover,
.bpw-wrap .bpw-theme-tax-surface .button:focus,
.bpw-wrap .bpw-tax-policy-panel .button:hover,
.bpw-wrap .bpw-tax-policy-panel .button:focus,
.bpw-wrap .bpw-city-economy-panel .button:hover,
.bpw-wrap .bpw-city-economy-panel .button:focus{
    color:var(--bpw-theme-tax-action-hover,var(--bpw-theme-tax-action))!important;
}
.bpw-wrap .bpw-city-economy-tax-warning{color:var(--bpw-theme-danger)!important;}




/* Road Map window, switcher, controls, canvas, and labels are their own
   semantic family so light map chrome can be tuned without recoloring the
   Command Center, ordinary cards, or illustrated command buttons. */
.bpw-wrap .bpw-road-map-modal-window{
    color:var(--bpw-theme-map-control-text)!important;
    background-color:var(--bpw-theme-map-window-surface)!important;
    border-color:var(--bpw-theme-map-window-border)!important;
}
.bpw-wrap .bpw-road-map-modal-header{
    color:var(--bpw-theme-map-header-heading)!important;
    background-color:var(--bpw-theme-map-header-surface)!important;
    border-color:var(--bpw-theme-map-window-border)!important;
}
.bpw-wrap .bpw-road-map-modal-header h3{color:var(--bpw-theme-map-header-heading)!important;}
.bpw-wrap .bpw-road-map-modal-hint{color:var(--bpw-theme-map-header-text)!important;}
.bpw-wrap .bpw-road-map-modal-close{
    color:var(--bpw-theme-map-close-text)!important;
    background-color:var(--bpw-theme-map-close-surface)!important;
    border-color:var(--bpw-theme-map-close-text)!important;
}
.bpw-wrap .bpw-road-map-modal-close:hover,.bpw-wrap .bpw-road-map-modal-close:focus{
    color:var(--bpw-theme-map-close-hover-text)!important;
    background-color:var(--bpw-theme-map-close-hover-surface)!important;
    border-color:var(--bpw-theme-map-close-hover-surface)!important;
}
.bpw-wrap .bpw-stylized-map-choice-toolbar{
    color:var(--bpw-theme-map-switch-heading)!important;
    background-color:var(--bpw-theme-map-switch-surface)!important;
    border-color:var(--bpw-theme-map-window-border)!important;
}
.bpw-wrap .bpw-stylized-map-choice-toolbar > summary strong{color:var(--bpw-theme-map-switch-heading)!important;}
.bpw-wrap .bpw-stylized-map-choice-toolbar .description,.bpw-wrap .bpw-stylized-map-choice-status{color:var(--bpw-theme-map-switch-text)!important;}
.bpw-wrap .bpw-stylized-map-choice-summary-mode{
    color:var(--bpw-theme-map-switch-badge-text)!important;
    background-color:var(--bpw-theme-map-switch-badge-surface)!important;
    border-color:var(--bpw-theme-map-window-border)!important;
}
.bpw-wrap .bpw-stylized-map-choice-toolbar .button{
    color:var(--bpw-theme-map-control-action-text)!important;
    background-color:var(--bpw-theme-map-control-action-surface)!important;
    border-color:var(--bpw-theme-map-window-border)!important;
}
.bpw-wrap .bpw-stylized-map-choice-toolbar .button:hover,.bpw-wrap .bpw-stylized-map-choice-toolbar .button:focus{
    color:var(--bpw-theme-map-control-action-hover-text)!important;
    background-color:var(--bpw-theme-map-control-action-hover-surface)!important;
}
.bpw-wrap .bpw-road-map-modal-body{color:var(--bpw-theme-map-control-text)!important;background-color:var(--bpw-theme-map-window-surface)!important;}
.bpw-wrap .bpw-stylized-map-choice-toolbar .button[aria-pressed="true"]{
    color:var(--bpw-theme-map-switch-active-text)!important;
    background-color:var(--bpw-theme-map-switch-active-surface)!important;
    border-color:var(--bpw-theme-map-window-border)!important;
}
/* Classic map presentation. These values are independent from the Stylized
   renderer even though both consume the same authoritative map data. */
.bpw-wrap .bpw-player-road-map-controls{color:var(--bpw-theme-map-classic-control-text)!important;}
.bpw-wrap .bpw-player-road-map-pan-help{color:var(--bpw-theme-map-classic-pan-help)!important;}
.bpw-wrap .bpw-player-road-map-explainer{color:var(--bpw-theme-map-classic-explainer-text)!important;}
.bpw-wrap .bpw-player-road-map-readability,.bpw-wrap .bpw-player-road-map-strategy{
    color:var(--bpw-theme-map-classic-control-text)!important;
    background-color:var(--bpw-theme-map-classic-control-surface)!important;
    border-color:var(--bpw-theme-map-classic-control-border)!important;
}
.bpw-wrap .bpw-player-road-map-readability strong,.bpw-wrap .bpw-player-road-map-strategy strong{color:var(--bpw-theme-map-classic-control-heading)!important;}
.bpw-wrap .bpw-player-road-map-strategy .description{color:var(--bpw-theme-map-classic-focus-help)!important;}
.bpw-wrap .bpw-player-road-map-strategy select{
    color:var(--bpw-theme-map-classic-control-input-text)!important;
    background-color:var(--bpw-theme-map-classic-control-input-surface)!important;
    border-color:var(--bpw-theme-map-classic-control-border)!important;
}
.bpw-wrap .bpw-player-road-map-controls .button{
    color:var(--bpw-theme-map-classic-control-action-text)!important;
    background-color:var(--bpw-theme-map-classic-control-action-surface)!important;
    border-color:var(--bpw-theme-map-classic-control-border)!important;
}
.bpw-wrap .bpw-player-road-map-controls .button:hover,.bpw-wrap .bpw-player-road-map-controls .button:focus{
    color:var(--bpw-theme-map-classic-control-action-hover-text)!important;
    background-color:var(--bpw-theme-map-classic-control-action-hover-surface)!important;
}
.bpw-wrap .bpw-player-road-map-stage{background-color:var(--bpw-theme-map-classic-stage-surface)!important;border-color:var(--bpw-theme-map-classic-control-border)!important;}
.bpw-wrap .bpw-player-road-map-background{fill:var(--bpw-theme-map-classic-stage-surface)!important;stroke:var(--bpw-theme-map-classic-control-border)!important;}
.bpw-wrap .bpw-player-road-map-scale-legend{color:var(--bpw-theme-map-classic-scale-text)!important;background-color:var(--bpw-theme-map-classic-scale-surface)!important;border-color:var(--bpw-theme-map-classic-control-border)!important;}
.bpw-wrap .bpw-player-road-map-selection{color:var(--bpw-theme-map-classic-selection-text)!important;background-color:var(--bpw-theme-map-classic-selection-surface)!important;border-color:var(--bpw-theme-map-classic-selection-border)!important;}
.bpw-wrap .bpw-player-road-map-distance-label{fill:var(--bpw-theme-map-classic-distance-label)!important;}
.bpw-wrap .bpw-player-road-map-road,.bpw-wrap .bpw-player-road-map-road-common{stroke:var(--bpw-theme-map-classic-road-common)!important;}
.bpw-wrap .bpw-player-road-map-road-primary{stroke:var(--bpw-theme-map-classic-road-primary)!important;}
.bpw-wrap .bpw-player-road-map-road-interstate{stroke:var(--bpw-theme-map-classic-road-interstate)!important;}
.bpw-wrap .bpw-player-road-map-road-casing{stroke:var(--bpw-theme-map-classic-road-interstate-casing)!important;}
.bpw-wrap .bpw-player-road-map-road-source-player-built:not(.bpw-player-road-map-road-interstate){stroke:var(--bpw-theme-map-classic-road-player-built)!important;}
.bpw-wrap .bpw-player-road-map-route-label{fill:var(--bpw-theme-map-classic-route-label)!important;}
.bpw-wrap .bpw-player-road-map-region-box{stroke:var(--bpw-theme-map-classic-region-line)!important;}
.bpw-wrap .bpw-player-road-map-region-label{fill:var(--bpw-theme-map-classic-region-label)!important;}
.bpw-wrap .bpw-player-road-map-owned-city-label{fill:var(--bpw-theme-map-classic-city-owned)!important;}
.bpw-wrap .bpw-player-road-map-other-city-label{fill:var(--bpw-theme-map-classic-city-other)!important;}
.bpw-wrap .bpw-player-road-map-strategic-location-marker{fill:var(--bpw-theme-map-classic-choke-marker)!important;}
.bpw-wrap .bpw-player-road-map-strategic-location-label{fill:var(--bpw-theme-map-classic-choke-label)!important;}
.bpw-wrap .bpw-player-road-map-isolated-ring{stroke:var(--bpw-theme-map-classic-isolated-ring)!important;}
.bpw-wrap .bpw-player-road-map-pending-ring{stroke:var(--bpw-theme-map-classic-pending-ring)!important;}
.bpw-wrap .bpw-player-road-map-hint{stroke:var(--bpw-theme-map-classic-hint-color)!important;}
.bpw-wrap circle.bpw-player-road-map-hint{fill:var(--bpw-theme-map-classic-hint-surface)!important;}
.bpw-wrap text.bpw-player-road-map-hint{fill:var(--bpw-theme-map-classic-hint-color)!important;}

/* Stylized map presentation overrides the Classic map family only inside the
   Stylized renderer shell. This prevents a color chosen for parchment/light
   controls from changing the Classic map and vice versa. */
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-controls{color:var(--bpw-theme-map-stylized-control-text)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-pan-help{color:var(--bpw-theme-map-stylized-pan-help)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-explainer{color:var(--bpw-theme-map-stylized-explainer-text)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-readability,.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-strategy{
    color:var(--bpw-theme-map-stylized-control-text)!important;
    background-color:var(--bpw-theme-map-stylized-control-surface)!important;
    border-color:var(--bpw-theme-map-stylized-control-border)!important;
}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-readability strong,.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-strategy strong{color:var(--bpw-theme-map-stylized-control-heading)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-strategy .description{color:var(--bpw-theme-map-stylized-focus-help)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-strategy select{
    color:var(--bpw-theme-map-stylized-control-input-text)!important;
    background-color:var(--bpw-theme-map-stylized-control-input-surface)!important;
    border-color:var(--bpw-theme-map-stylized-control-border)!important;
}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-controls .button{
    color:var(--bpw-theme-map-stylized-control-action-text)!important;
    background-color:var(--bpw-theme-map-stylized-control-action-surface)!important;
    border-color:var(--bpw-theme-map-stylized-control-border)!important;
}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-controls .button:hover,.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-controls .button:focus{
    color:var(--bpw-theme-map-stylized-control-action-hover-text)!important;
    background-color:var(--bpw-theme-map-stylized-control-action-hover-surface)!important;
}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-stage{background-color:var(--bpw-theme-map-stylized-stage-surface)!important;border-color:var(--bpw-theme-map-stylized-control-border)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-background{fill:var(--bpw-theme-map-stylized-stage-surface)!important;stroke:var(--bpw-theme-map-stylized-control-border)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-scale-legend{color:var(--bpw-theme-map-stylized-scale-text)!important;background-color:var(--bpw-theme-map-stylized-scale-surface)!important;border-color:var(--bpw-theme-map-stylized-control-border)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-selection{color:var(--bpw-theme-map-stylized-selection-text)!important;background-color:var(--bpw-theme-map-stylized-selection-surface)!important;border-color:var(--bpw-theme-map-stylized-selection-border)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-distance-label{fill:var(--bpw-theme-map-stylized-distance-label)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-road,.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-road-common{stroke:var(--bpw-theme-map-stylized-road-common)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-road-primary{stroke:var(--bpw-theme-map-stylized-road-primary)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-road-interstate{stroke:var(--bpw-theme-map-stylized-road-interstate)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-road-casing{stroke:var(--bpw-theme-map-stylized-road-interstate-casing)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-road-source-player-built:not(.bpw-player-road-map-road-interstate){stroke:var(--bpw-theme-map-stylized-road-player-built)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-route-label{fill:var(--bpw-theme-map-stylized-route-label)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-region-box{stroke:var(--bpw-theme-map-stylized-region-line)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-region-label{fill:var(--bpw-theme-map-stylized-region-label)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-owned-city-label{fill:var(--bpw-theme-map-stylized-city-owned)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-other-city-label{fill:var(--bpw-theme-map-stylized-city-other)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-strategic-location-marker{fill:var(--bpw-theme-map-stylized-choke-marker)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-strategic-location-label{fill:var(--bpw-theme-map-stylized-choke-label)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-isolated-ring{stroke:var(--bpw-theme-map-stylized-isolated-ring)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-pending-ring{stroke:var(--bpw-theme-map-stylized-pending-ring)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell .bpw-player-road-map-hint{stroke:var(--bpw-theme-map-stylized-hint-color)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell circle.bpw-player-road-map-hint{fill:var(--bpw-theme-map-stylized-hint-surface)!important;}
.bpw-wrap .bpw-stylized-map-visual-shell text.bpw-player-road-map-hint{fill:var(--bpw-theme-map-stylized-hint-color)!important;}

/* Choke Points use dedicated panel, access-card, table, control, action, and
   encounter colors instead of generic player-subsection and table colors. */
.bpw-wrap #bpw-strategic-locations-section,
.bpw-wrap #bpw-strategic-locations-section > .bpw-player-subsection-body{
    color:var(--bpw-theme-choke-text)!important;
    background-color:var(--bpw-theme-choke-surface)!important;
    border-color:var(--bpw-theme-choke-border)!important;
}
.bpw-wrap #bpw-strategic-locations-section > summary{background-color:var(--bpw-theme-choke-item-surface)!important;border-color:var(--bpw-theme-choke-border)!important;}
.bpw-wrap #bpw-strategic-locations-section .bpw-player-subsection > summary{color:var(--bpw-theme-choke-heading)!important;background-color:var(--bpw-theme-choke-item-surface)!important;border-color:var(--bpw-theme-choke-border)!important;}
.bpw-wrap #bpw-strategic-locations-section > summary,
.bpw-wrap #bpw-strategic-locations-section h3,
.bpw-wrap #bpw-strategic-locations-section h4,
.bpw-wrap #bpw-strategic-locations-section strong{color:var(--bpw-theme-choke-heading)!important;}
.bpw-wrap #bpw-strategic-locations-section .bpw-player-subsection,
.bpw-wrap #bpw-strategic-locations-section .bpw-player-subsection-body{
    color:var(--bpw-theme-choke-text)!important;
    background-color:var(--bpw-theme-choke-item-surface)!important;
    border-color:var(--bpw-theme-choke-border)!important;
}
.bpw-wrap #bpw-strategic-locations-section a{color:var(--bpw-theme-choke-link)!important;}
.bpw-wrap #bpw-strategic-locations-section a:hover,.bpw-wrap #bpw-strategic-locations-section a:focus{color:var(--bpw-theme-choke-link-hover)!important;}
.bpw-wrap .bpw-strategic-location-access-item{
    color:var(--bpw-theme-choke-access-text)!important;
    background-color:var(--bpw-theme-choke-access-surface)!important;
    border-color:var(--bpw-theme-choke-border)!important;
}
.bpw-wrap .bpw-strategic-location-access-item strong{color:var(--bpw-theme-choke-access-heading)!important;}
.bpw-wrap .bpw-strategic-location-access-copy,.bpw-wrap .bpw-strategic-location-access-item small{color:var(--bpw-theme-choke-access-muted)!important;}
.bpw-wrap #bpw-strategic-locations-section select,.bpw-wrap #bpw-strategic-locations-section input:not([type="checkbox"]):not([type="radio"]){color:var(--bpw-theme-choke-control-text)!important;background-color:var(--bpw-theme-choke-control-surface)!important;border-color:var(--bpw-theme-choke-border)!important;}
.bpw-wrap #bpw-strategic-locations-section .button{color:var(--bpw-theme-choke-action-text)!important;background-color:var(--bpw-theme-choke-action-surface)!important;border-color:var(--bpw-theme-choke-border)!important;}
.bpw-wrap #bpw-strategic-locations-section .button:hover,.bpw-wrap #bpw-strategic-locations-section .button:focus{color:var(--bpw-theme-choke-action-hover-text)!important;background-color:var(--bpw-theme-choke-action-hover-surface)!important;}
.bpw-wrap .bpw-choke-directory-table th{color:var(--bpw-theme-choke-table-heading-text)!important;background-color:var(--bpw-theme-choke-table-heading-surface)!important;border-color:var(--bpw-theme-choke-border)!important;}
.bpw-wrap .bpw-choke-directory-table td{color:var(--bpw-theme-choke-row-text)!important;background-color:var(--bpw-theme-choke-row-surface)!important;border-color:var(--bpw-theme-choke-border)!important;}
.bpw-wrap .bpw-choke-directory-table tbody tr:nth-child(even) td{background-color:var(--bpw-theme-choke-row-alt-surface)!important;}
.bpw-wrap .bpw-choke-directory-table strong{color:var(--bpw-theme-choke-value)!important;}
.bpw-wrap .bpw-choke-friendly-notice{color:var(--bpw-theme-choke-notice-text)!important;background-color:var(--bpw-theme-choke-notice-surface)!important;border-color:var(--bpw-theme-choke-notice-text)!important;}
.bpw-wrap .bpw-choke-encounter-card{color:var(--bpw-theme-choke-text)!important;background-color:var(--bpw-theme-choke-access-surface)!important;border-color:var(--bpw-theme-choke-border)!important;}
.bpw-wrap .bpw-choke-encounter-danger{color:var(--bpw-theme-choke-danger)!important;}

/* Road Builder is independent from ordinary tables/forms so its dense planning
   and pending-road rows can be tuned without disturbing other dashboards. */
.bpw-wrap .bpw-road-builder-card{color:var(--bpw-theme-road-builder-text)!important;background-color:var(--bpw-theme-road-builder-surface)!important;border-color:var(--bpw-theme-road-builder-border)!important;}
.bpw-wrap .bpw-road-builder-card h3,.bpw-wrap .bpw-road-builder-card h4,.bpw-wrap .bpw-road-builder-card strong{color:var(--bpw-theme-road-builder-heading)!important;}
.bpw-wrap .bpw-road-builder-card small,.bpw-wrap .bpw-road-builder-card .description{color:var(--bpw-theme-road-builder-muted)!important;}
.bpw-wrap .bpw-road-builder-card table th{color:var(--bpw-theme-road-builder-table-heading-text)!important;background-color:var(--bpw-theme-road-builder-table-heading-surface)!important;border-color:var(--bpw-theme-road-builder-border)!important;}
.bpw-wrap .bpw-road-builder-card table td{color:var(--bpw-theme-road-builder-row-text)!important;background-color:var(--bpw-theme-road-builder-row-surface)!important;border-color:var(--bpw-theme-road-builder-border)!important;}
.bpw-wrap .bpw-road-builder-card table tbody tr:nth-child(even) td{background-color:var(--bpw-theme-road-builder-row-alt-surface)!important;}
.bpw-wrap .bpw-road-builder-card table td strong{color:var(--bpw-theme-road-builder-value)!important;}
.bpw-wrap .bpw-road-builder-card button:not(.button-link-delete){color:var(--bpw-theme-road-builder-action-text)!important;background-color:var(--bpw-theme-road-builder-action-surface)!important;border-color:var(--bpw-theme-road-builder-border)!important;}
.bpw-wrap .bpw-road-builder-card button:not(.button-link-delete):hover,.bpw-wrap .bpw-road-builder-card button:not(.button-link-delete):focus{color:var(--bpw-theme-road-builder-action-hover-text)!important;background-color:var(--bpw-theme-road-builder-action-hover-surface)!important;}
.bpw-wrap .bpw-road-builder-card .bpw-road-builder-cancel{color:var(--bpw-theme-road-builder-danger-text)!important;background-color:var(--bpw-theme-road-builder-danger-surface)!important;}
.bpw-wrap .bpw-road-builder-notice{color:var(--bpw-theme-road-builder-notice-text)!important;background-color:var(--bpw-theme-road-builder-notice-surface)!important;border-color:var(--bpw-theme-road-builder-notice-text)!important;}

/* Leagues are a complete semantic island. The unaffiliated Create a League
   panel, active League page, directory, nested finance/settings cards, forms,
   badges, and League Chat use these roles instead of module-local hardcoded
   colors or generic panel roles. */
.bpw-wrap .bpw-leagues-panel,
.bpw-wrap .bpw-leagues-empire-page,
.bpw-wrap .bpw-league-directory-body{
    color:var(--bpw-theme-league-text)!important;
    background-color:var(--bpw-theme-league-surface)!important;
    border-color:var(--bpw-theme-league-border)!important;
}
.bpw-wrap .bpw-leagues-panel h1,
.bpw-wrap .bpw-leagues-panel h2,
.bpw-wrap .bpw-leagues-panel h3,
.bpw-wrap .bpw-leagues-panel h4,
.bpw-wrap .bpw-leagues-panel strong,
.bpw-wrap .bpw-leagues-empire-page h1,
.bpw-wrap .bpw-leagues-empire-page h2,
.bpw-wrap .bpw-leagues-empire-page h3,
.bpw-wrap .bpw-leagues-empire-page h4,
.bpw-wrap .bpw-leagues-empire-page strong,
.bpw-wrap .bpw-league-directory-body h3,
.bpw-wrap .bpw-league-directory-body h4,
.bpw-wrap .bpw-league-directory-body strong{
    color:var(--bpw-theme-league-heading)!important;
}
.bpw-wrap .bpw-leagues-panel p,
.bpw-wrap .bpw-leagues-panel li,
.bpw-wrap .bpw-leagues-panel label,
.bpw-wrap .bpw-leagues-empire-page p,
.bpw-wrap .bpw-leagues-empire-page li,
.bpw-wrap .bpw-leagues-empire-page label,
.bpw-wrap .bpw-league-directory-body p,
.bpw-wrap .bpw-league-directory-body dd{
    color:var(--bpw-theme-league-text)!important;
}
.bpw-wrap .bpw-leagues-panel small,
.bpw-wrap .bpw-leagues-panel em,
.bpw-wrap .bpw-leagues-panel [style*="color:#666"],
.bpw-wrap .bpw-leagues-panel [style*="color: #666"],
.bpw-wrap .bpw-leagues-panel [style*="color:#646970"],
.bpw-wrap .bpw-leagues-empire-page small,
.bpw-wrap .bpw-leagues-empire-page em,
.bpw-wrap .bpw-leagues-empire-page [style*="color:#666"],
.bpw-wrap .bpw-leagues-empire-page [style*="color: #666"],
.bpw-wrap .bpw-leagues-empire-page [style*="color:#646970"],
.bpw-wrap .bpw-league-directory-body dt,
.bpw-wrap .bpw-league-directory-body .bpw-league-directory-card-title span{
    color:var(--bpw-theme-league-muted)!important;
}
.bpw-wrap .bpw-leagues-panel a,
.bpw-wrap .bpw-leagues-empire-page a,
.bpw-wrap .bpw-league-directory-body a{
    color:var(--bpw-theme-league-link)!important;
}
.bpw-wrap .bpw-leagues-panel a:hover,
.bpw-wrap .bpw-leagues-panel a:focus,
.bpw-wrap .bpw-leagues-empire-page a:hover,
.bpw-wrap .bpw-leagues-empire-page a:focus,
.bpw-wrap .bpw-league-directory-body a:hover,
.bpw-wrap .bpw-league-directory-body a:focus{
    color:var(--bpw-theme-league-link-hover)!important;
}
.bpw-wrap .bpw-leagues-create-collapsible,
.bpw-wrap .bpw-league-join-request-setting,
.bpw-wrap .bpw-league-join-requests,
.bpw-wrap .bpw-league-food-donation,
.bpw-wrap .bpw-league-fuel-donation,
.bpw-wrap .bpw-league-tribute-settings,
.bpw-wrap .bpw-league-hourly-tribute-settings,
.bpw-wrap .bpw-league-treasury-transfer,
.bpw-wrap .bpw-league-food-transfer,
.bpw-wrap .bpw-league-fuel-transfer,
.bpw-wrap .bpw-league-pending-invites,
.bpw-wrap .bpw-league-invite-panel,
.bpw-wrap .bpw-league-directory-hero,
.bpw-wrap .bpw-league-directory-card,
.bpw-wrap .bpw-league-directory-meta div,
.bpw-wrap .bpw-league-directory-summary div{
    color:var(--bpw-theme-league-text)!important;
    background-color:var(--bpw-theme-league-item-surface)!important;
    border-color:var(--bpw-theme-league-border)!important;
}
.bpw-wrap .bpw-leagues-create-collapsible-header,
.bpw-wrap .bpw-mobile-window-header[class*="bpw-league-"]{
    color:var(--bpw-theme-league-heading)!important;
    background-color:var(--bpw-theme-league-item-surface)!important;
    border-color:var(--bpw-theme-league-border)!important;
}
.bpw-wrap .bpw-leagues-panel input:not([type="checkbox"]):not([type="radio"]),
.bpw-wrap .bpw-leagues-panel select,
.bpw-wrap .bpw-leagues-panel textarea,
.bpw-wrap .bpw-leagues-empire-page input:not([type="checkbox"]):not([type="radio"]),
.bpw-wrap .bpw-leagues-empire-page select,
.bpw-wrap .bpw-leagues-empire-page textarea,
.bpw-wrap .bpw-league-directory-body input:not([type="checkbox"]):not([type="radio"]),
.bpw-wrap .bpw-league-directory-body select,
.bpw-wrap .bpw-league-directory-body textarea{
    color:var(--bpw-theme-league-control-text)!important;
    background-color:var(--bpw-theme-league-control-surface)!important;
    border-color:var(--bpw-theme-league-border)!important;
}
.bpw-wrap .bpw-leagues-create-toggle,
.bpw-wrap .bpw-leagues-panel button:not(.bpw-theme-text-action):not(.button-link-delete),
.bpw-wrap .bpw-leagues-empire-page button:not(.bpw-theme-text-action):not(.button-link-delete),
.bpw-wrap .bpw-league-directory-actions button{
    color:var(--bpw-theme-league-action-text)!important;
    background-color:var(--bpw-theme-league-action-surface)!important;
    border-color:var(--bpw-theme-league-border)!important;
}
.bpw-wrap .bpw-leagues-create-toggle:hover,
.bpw-wrap .bpw-leagues-create-toggle:focus,
.bpw-wrap .bpw-leagues-panel button:not(.bpw-theme-text-action):not(.button-link-delete):hover,
.bpw-wrap .bpw-leagues-panel button:not(.bpw-theme-text-action):not(.button-link-delete):focus,
.bpw-wrap .bpw-leagues-empire-page button:not(.bpw-theme-text-action):not(.button-link-delete):hover,
.bpw-wrap .bpw-leagues-empire-page button:not(.bpw-theme-text-action):not(.button-link-delete):focus,
.bpw-wrap .bpw-league-directory-actions button:hover,
.bpw-wrap .bpw-league-directory-actions button:focus{
    color:var(--bpw-theme-league-action-hover-text)!important;
    background-color:var(--bpw-theme-league-action-hover-surface)!important;
}
.bpw-wrap .bpw-league-directory-badge,
.bpw-wrap .bpw-league-directory-summary div,
.bpw-wrap .bpw-league-directory-meta div{
    color:var(--bpw-theme-league-badge-text)!important;
    background-color:var(--bpw-theme-league-badge-surface)!important;
    border-color:var(--bpw-theme-league-border)!important;
}


/* League Directory is independently editable from the ordinary League page.
   The modal/window, dark header, introduction panel, counters, league cards,
   ownership badges, tribute tiles, and actions often require opposite text
   contrast within the same theme. */
.bpw-wrap .bpw-league-directory-open-button{
    color:var(--bpw-theme-league-directory-action-text)!important;
    background-color:var(--bpw-theme-league-directory-action-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-open-button:hover,
.bpw-wrap .bpw-league-directory-open-button:focus{
    color:var(--bpw-theme-league-directory-action-hover-text)!important;
    background-color:var(--bpw-theme-league-directory-action-hover-surface)!important;
}
.bpw-wrap .bpw-league-directory-window{
    color:var(--bpw-theme-league-directory-card-text)!important;
    background-color:var(--bpw-theme-league-directory-window-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-header{
    color:var(--bpw-theme-league-directory-header-text)!important;
    background-color:var(--bpw-theme-league-directory-header-surface)!important;
    background-image:none!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-header h3{
    color:var(--bpw-theme-league-directory-header-heading)!important;
}
.bpw-wrap .bpw-league-directory-header span{
    color:var(--bpw-theme-league-directory-header-text)!important;
}
.bpw-wrap .bpw-league-directory-close{
    color:var(--bpw-theme-league-directory-close-text)!important;
    background-color:var(--bpw-theme-league-directory-close-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-body{
    color:var(--bpw-theme-league-directory-card-text)!important;
    background-color:var(--bpw-theme-league-directory-body-surface)!important;
}
.bpw-wrap .bpw-league-directory-hero{
    color:var(--bpw-theme-league-directory-hero-text)!important;
    background-color:var(--bpw-theme-league-directory-hero-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-hero h4{
    color:var(--bpw-theme-league-directory-hero-heading)!important;
}
.bpw-wrap .bpw-league-directory-hero p{
    color:var(--bpw-theme-league-directory-hero-text)!important;
}
.bpw-wrap .bpw-league-directory-summary div{
    color:var(--bpw-theme-league-directory-summary-label)!important;
    background-color:var(--bpw-theme-league-directory-summary-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-summary strong{
    color:var(--bpw-theme-league-directory-summary-value)!important;
}
.bpw-wrap .bpw-league-directory-summary span{
    color:var(--bpw-theme-league-directory-summary-label)!important;
}
.bpw-wrap .bpw-league-directory-card{
    color:var(--bpw-theme-league-directory-card-text)!important;
    background-color:var(--bpw-theme-league-directory-card-surface)!important;
    background-image:none!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
    border-left-color:var(--bpw-theme-league-directory-action-surface)!important;
}
.bpw-wrap .bpw-league-directory-card-current{
    background-color:var(--bpw-theme-league-directory-current-card-surface)!important;
    background-image:none!important;
    border-left-color:var(--bpw-theme-league-directory-current-badge-text)!important;
}
.bpw-wrap .bpw-league-directory-card-title h4{
    color:var(--bpw-theme-league-directory-card-heading)!important;
}
.bpw-wrap .bpw-league-directory-card-title span,
.bpw-wrap .bpw-league-directory-card em{
    color:var(--bpw-theme-league-directory-card-muted)!important;
}
.bpw-wrap .bpw-league-directory-description{
    color:var(--bpw-theme-league-directory-card-text)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-emblem{
    color:var(--bpw-theme-league-directory-emblem-text)!important;
    background:var(--bpw-theme-league-directory-emblem-surface)!important;
}
.bpw-wrap .bpw-league-directory-badge{
    color:var(--bpw-theme-league-directory-badge-text)!important;
    background-color:var(--bpw-theme-league-directory-badge-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-badge-current{
    color:var(--bpw-theme-league-directory-current-badge-text)!important;
    background-color:var(--bpw-theme-league-directory-current-badge-surface)!important;
}
.bpw-wrap .bpw-league-directory-meta div{
    color:var(--bpw-theme-league-directory-meta-value)!important;
    background-color:var(--bpw-theme-league-directory-meta-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-meta dt{
    color:var(--bpw-theme-league-directory-meta-label)!important;
}
.bpw-wrap .bpw-league-directory-meta dd{
    color:var(--bpw-theme-league-directory-meta-value)!important;
}
.bpw-wrap .bpw-league-directory-actions button{
    color:var(--bpw-theme-league-directory-action-text)!important;
    background-color:var(--bpw-theme-league-directory-action-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}
.bpw-wrap .bpw-league-directory-actions button:hover,
.bpw-wrap .bpw-league-directory-actions button:focus{
    color:var(--bpw-theme-league-directory-action-hover-text)!important;
    background-color:var(--bpw-theme-league-directory-action-hover-surface)!important;
}
.bpw-wrap .bpw-league-directory-actions strong{
    color:var(--bpw-theme-league-directory-card-heading)!important;
}
.bpw-wrap .bpw-league-directory-empty{
    color:var(--bpw-theme-league-directory-card-text)!important;
    background-color:var(--bpw-theme-league-directory-card-surface)!important;
    border-color:var(--bpw-theme-league-directory-border)!important;
}

/* League Chat has a separate family because its movable window, feedback
   notices, input, controls, and message list must remain independently
   legible. These selectors intentionally outrank generic theme button/input
   artwork so the Advanced Theme Editor values visibly control this component. */
body.bpw-player-theme .bpw-league-chat-window,
body.bpw-player-theme .bpw-league-chat-modal-body,
.bpw-wrap .bpw-league-chat-window,
.bpw-wrap .bpw-league-chat-modal-body{
    color:var(--bpw-theme-league-chat-text)!important;
    background-color:var(--bpw-theme-league-chat-surface)!important;
    border-color:var(--bpw-theme-league-chat-border)!important;
}
body.bpw-player-theme .bpw-league-chat-header,
.bpw-wrap .bpw-league-chat-header{
    color:var(--bpw-theme-league-chat-heading)!important;
    background-color:var(--bpw-theme-league-chat-header-surface)!important;
    border-color:var(--bpw-theme-league-chat-border)!important;
}
body.bpw-player-theme .bpw-league-chat-header h3,
body.bpw-player-theme .bpw-league-chat-close,
.bpw-wrap .bpw-league-chat-header h3,
.bpw-wrap .bpw-league-chat-close{
    color:var(--bpw-theme-league-chat-heading)!important;
}
body.bpw-player-theme .bpw-league-chat-message,
.bpw-wrap .bpw-league-chat-message{
    color:var(--bpw-theme-league-chat-text)!important;
    background-color:var(--bpw-theme-league-chat-message-surface)!important;
    border:1px solid var(--bpw-theme-league-chat-border)!important;
}
body.bpw-player-theme .bpw-league-chat-author,
.bpw-wrap .bpw-league-chat-author{color:var(--bpw-theme-league-chat-author)!important;}
body.bpw-player-theme .bpw-league-chat-body,
.bpw-wrap .bpw-league-chat-body{color:var(--bpw-theme-league-chat-text)!important;}
body.bpw-player-theme .bpw-league-chat-time,
body.bpw-player-theme .bpw-league-chat-count,
body.bpw-player-theme .bpw-league-chat-empty,
.bpw-wrap .bpw-league-chat-time,
.bpw-wrap .bpw-league-chat-count,
.bpw-wrap .bpw-league-chat-empty{color:var(--bpw-theme-league-chat-muted)!important;}
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-form textarea.bpw-league-chat-input,
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-form textarea[name="bpw_league_message"],
.bpw-wrap .bpw-league-chat-form textarea.bpw-league-chat-input,
.bpw-wrap .bpw-league-chat-form textarea[name="bpw_league_message"]{
    color:var(--bpw-theme-league-chat-control-text)!important;
    background-color:var(--bpw-theme-league-chat-control-surface)!important;
    background-image:none!important;
    border-color:var(--bpw-theme-league-chat-border)!important;
    -webkit-text-fill-color:var(--bpw-theme-league-chat-control-text)!important;
}
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-form textarea::placeholder,
.bpw-wrap .bpw-league-chat-form textarea::placeholder{
    color:var(--bpw-theme-league-chat-control-text)!important;
    opacity:.72!important;
    -webkit-text-fill-color:var(--bpw-theme-league-chat-control-text)!important;
}
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-actions button.bpw-league-chat-action,
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-actions button,
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-open-button,
.bpw-wrap .bpw-league-chat-actions button.bpw-league-chat-action,
.bpw-wrap .bpw-league-chat-actions button,
.bpw-wrap .bpw-league-chat-open-button{
    color:var(--bpw-theme-league-chat-action-text)!important;
    background-color:var(--bpw-theme-league-chat-action-surface)!important;
    background-image:none!important;
    border-color:var(--bpw-theme-league-chat-border)!important;
    -webkit-text-fill-color:var(--bpw-theme-league-chat-action-text)!important;
}
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-actions button:hover,
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-actions button:focus,
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-open-button:hover,
body.bpw-player-theme .bpw-league-chat-widget .bpw-league-chat-open-button:focus,
.bpw-wrap .bpw-league-chat-actions button:hover,
.bpw-wrap .bpw-league-chat-actions button:focus,
.bpw-wrap .bpw-league-chat-open-button:hover,
.bpw-wrap .bpw-league-chat-open-button:focus{
    color:var(--bpw-theme-league-chat-action-hover-text)!important;
    background-color:var(--bpw-theme-league-chat-action-hover-surface)!important;
    background-image:none!important;
    -webkit-text-fill-color:var(--bpw-theme-league-chat-action-hover-text)!important;
}
body.bpw-player-theme .bpw-league-chat-ajax-notice,
.bpw-wrap .bpw-league-chat-ajax-notice{
    color:var(--bpw-theme-league-chat-notice-text)!important;
    background-color:var(--bpw-theme-league-chat-notice-surface)!important;
    border-left-color:var(--bpw-theme-league-chat-notice-border)!important;
}
body.bpw-player-theme .bpw-league-chat-ajax-notice.is-error,
.bpw-wrap .bpw-league-chat-ajax-notice.is-error{
    color:var(--bpw-theme-league-chat-error-text)!important;
    background-color:var(--bpw-theme-league-chat-error-surface)!important;
    border-left-color:var(--bpw-theme-league-chat-error-border)!important;
}

/* Selected City Overview is an exact semantic island. The panel, collapse
   control, labels, paradigm copy, strength/weakness text, overview link,
   select field, update-button text, and borders can be tuned independently
   from generic cards, resource tiles, City Management, and global inputs. */
.bpw-wrap .bpw-selected-city-overview-panel{
    color:var(--bpw-theme-selected-city-text,var(--bpw-theme-text))!important;
    background-color:var(--bpw-theme-selected-city-surface,var(--bpw-theme-surface))!important;
    border-color:var(--bpw-theme-selected-city-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel > summary{
    color:var(--bpw-theme-selected-city-heading,var(--bpw-theme-heading))!important;
    border-color:var(--bpw-theme-selected-city-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel > summary::after{
    color:var(--bpw-theme-selected-city-link,var(--bpw-theme-accent))!important;
    background-color:var(--bpw-theme-selected-city-control-surface,var(--bpw-theme-surface-raised))!important;
    border-color:var(--bpw-theme-selected-city-border,var(--bpw-theme-border))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel > summary:hover::after,
.bpw-wrap .bpw-selected-city-overview-panel > summary:focus-visible::after{
    color:var(--bpw-theme-selected-city-link-hover,var(--bpw-theme-accent-hover))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-overview-grid,
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-overview-copy{
    color:var(--bpw-theme-selected-city-text,var(--bpw-theme-text))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel strong,
.bpw-wrap .bpw-selected-city-overview-panel label,
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-overview-label{
    color:var(--bpw-theme-selected-city-label,var(--bpw-theme-heading))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-description,
.bpw-wrap .bpw-selected-city-overview-panel .bpw-paradigm-strength-weakness-grid,
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-detail-text{
    color:var(--bpw-theme-selected-city-muted,var(--bpw-theme-muted))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel .bpw-paradigm-overviews-trigger{
    color:var(--bpw-theme-selected-city-link,var(--bpw-theme-accent))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel .bpw-paradigm-overviews-trigger:hover,
.bpw-wrap .bpw-selected-city-overview-panel .bpw-paradigm-overviews-trigger:focus{
    color:var(--bpw-theme-selected-city-link-hover,var(--bpw-theme-accent-hover))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-paradigm-form select{
    color:var(--bpw-theme-selected-city-control-text,var(--bpw-theme-contrast-text,var(--bpw-theme-text)))!important;
    background-color:var(--bpw-theme-selected-city-control-surface,var(--bpw-theme-surface-raised))!important;
    border-color:var(--bpw-theme-selected-city-border,var(--bpw-theme-border-strong))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-paradigm-form button{
    color:var(--bpw-theme-selected-city-action,var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast)))!important;
    border-color:var(--bpw-theme-selected-city-border,var(--bpw-theme-border-strong))!important;
}
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-paradigm-form button:hover,
.bpw-wrap .bpw-selected-city-overview-panel .bpw-selected-city-paradigm-form button:focus{
    color:var(--bpw-theme-selected-city-action-hover,var(--bpw-theme-button-text-hover,var(--bpw-theme-selected-city-action)))!important;
}

.bpw-wrap input:focus,.bpw-wrap select:focus,.bpw-wrap textarea:focus{
    border-color:var(--bpw-theme-accent);
    box-shadow:0 0 0 1px var(--bpw-theme-accent);
    outline:0;
}
.bpw-wrap .button,
.bpw-wrap button:not(.bpw-notifications-real-button),
.bpw-wrap input[type="submit"]{
    color:var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast));
    background:var(--bpw-theme-accent);
    border-color:var(--bpw-theme-accent);
    border-radius:var(--bpw-theme-radius);
}
.bpw-wrap .button:hover,.bpw-wrap .button:focus,
.bpw-wrap button:not(.bpw-notifications-real-button):hover,
.bpw-wrap button:not(.bpw-notifications-real-button):focus,
.bpw-wrap input[type="submit"]:hover,.bpw-wrap input[type="submit"]:focus{
    color:var(--bpw-theme-button-text-hover,var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast)));
    background:var(--bpw-theme-accent-hover);
    border-color:var(--bpw-theme-accent-hover);
}

/* Anchor-based Command Center actions must receive the same contrast contract as
   ordinary buttons. Their older inline styles intentionally remain a fallback,
   but the selected player theme is authoritative while it is active. */
.bpw-wrap a.bpw-profile-button{
    color:var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast));
    background:var(--bpw-theme-accent);
    border-color:var(--bpw-theme-accent);
}
.bpw-wrap a.bpw-profile-button:hover,
.bpw-wrap a.bpw-profile-button:focus,
.bpw-wrap a.bpw-profile-button.is-active{
    color:var(--bpw-theme-button-text-hover,var(--bpw-theme-button-text,var(--bpw-theme-accent-contrast)));
    background:var(--bpw-theme-accent-hover);
    border-color:var(--bpw-theme-accent-hover);
}

/* Some gameplay actions are intentionally presented like hyperlinks even though
   their accessible control is a <button>. Use bpw-theme-text-action for new
   controls. The two legacy selectors keep Research and convoy Rename compatible
   until their renderers can adopt the semantic class during ordinary module work. */
.bpw-wrap button.bpw-theme-text-action,
.bpw-wrap button.bpw-research-link,
.bpw-wrap button.bpw-ru-convoy-rename-toggle{
    appearance:none;
    color:var(--bpw-theme-text-action,var(--bpw-theme-accent))!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:2px;
}
.bpw-wrap button.bpw-theme-text-action:hover,
.bpw-wrap button.bpw-theme-text-action:focus,
.bpw-wrap button.bpw-research-link:hover,
.bpw-wrap button.bpw-research-link:focus,
.bpw-wrap button.bpw-ru-convoy-rename-toggle:hover,
.bpw-wrap button.bpw-ru-convoy-rename-toggle:focus{
    color:var(--bpw-theme-text-action-hover,var(--bpw-theme-accent-hover))!important;
    background:transparent!important;
    border-color:transparent!important;
    text-decoration:none;
}
.bpw-wrap button.bpw-research-link strong{color:inherit!important;}

/* Icon-only controls are not filled action buttons. New icon controls should use
   bpw-theme-icon-action; the Research close control is the compatibility bridge. */
.bpw-wrap button.bpw-theme-icon-action,
.bpw-wrap button.bpw-research-modal-close{
    color:var(--bpw-theme-icon-text,var(--bpw-theme-heading))!important;
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
    text-transform:none!important;
    letter-spacing:normal!important;
}
.bpw-wrap button.bpw-theme-icon-action:hover,
.bpw-wrap button.bpw-theme-icon-action:focus,
.bpw-wrap button.bpw-research-modal-close:hover,
.bpw-wrap button.bpw-research-modal-close:focus{
    color:var(--bpw-theme-icon-hover,var(--bpw-theme-accent-hover))!important;
    background:color-mix(in srgb,var(--bpw-theme-accent) 10%,transparent)!important;
}

/* Compact embedded controls live inside fixed-height component rows. Themes may
   decorate them, but the owning component remains authoritative for dimensions. */
.bpw-wrap button.bpw-theme-compact-control{
    box-sizing:border-box;
    min-height:0!important;
    max-width:100%;
}
.bpw-wrap .button[disabled],.bpw-wrap button[disabled],.bpw-wrap input[disabled]{opacity:.58;}
.bpw-wrap hr{border-color:var(--bpw-theme-border);}
.bpw-wrap .bpw-message,.bpw-wrap .notice-success{
    color:var(--bpw-theme-text);
    background:var(--bpw-theme-success-bg);
    border-color:var(--bpw-theme-success);
}
.bpw-wrap .bpw-error,.bpw-wrap .notice-error{
    color:var(--bpw-theme-text);
    background:var(--bpw-theme-danger-bg);
    border-color:var(--bpw-theme-danger);
}
.bpw-wrap .notice-warning,.bpw-wrap [class*="warning"]:not(.bpw-notifications-button-has-unread){
    border-color:var(--bpw-theme-warning);
}
.bpw-wrap .bpw-notification-item.is-read{background:var(--bpw-theme-success-bg);border-left-color:var(--bpw-theme-success);}
.bpw-wrap .bpw-notification-item.is-unread{background:var(--bpw-theme-danger-bg);border-left-color:var(--bpw-theme-danger);}
.bpw-wrap .bpw-command-center-actions a.is-active,
.bpw-wrap .bpw-profile-button.is-active,
.bpw-wrap [class*="tab"] a.is-active{
    box-shadow:inset 0 -3px 0 var(--bpw-theme-accent);
}

/* Compatibility bridge for legacy inline presentation. Future templates should
   use semantic classes and the variables above instead of adding new colors. */
.bpw-wrap [style*="color:#646970"],.bpw-wrap [style*="color: #646970"],
.bpw-wrap [style*="color:#50575e"],.bpw-wrap [style*="color: #50575e"],
.bpw-wrap [style*="color:#666"],.bpw-wrap [style*="color: #666"]{color:var(--bpw-theme-muted)!important;}
.bpw-wrap [style*="background:#f6f7f7"],.bpw-wrap [style*="background: #f6f7f7"],
.bpw-wrap [style*="background:#fafafa"],.bpw-wrap [style*="background: #fafafa"],
.bpw-wrap [style*="background:#f8fafc"],.bpw-wrap [style*="background: #f8fafc"]{background-color:var(--bpw-theme-surface-alt)!important;}
.bpw-wrap [style*="background:#fff"],.bpw-wrap [style*="background: #fff"]{background-color:var(--bpw-theme-surface-raised)!important;}
.bpw-wrap [style*="border:1px solid #dcdcde"],.bpw-wrap [style*="border: 1px solid #dcdcde"],
.bpw-wrap [style*="border:1px solid #ddd"],.bpw-wrap [style*="border: 1px solid #ddd"]{border-color:var(--bpw-theme-border)!important;}

/* Player Profile theme selector. */
.bpw-player-theme-panel{margin-top:12px;}
.bpw-theme-panel-intro{margin-top:0;color:var(--bpw-theme-muted);}
.bpw-theme-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;}
.bpw-theme-choice{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border:1px solid var(--bpw-theme-border);border-radius:var(--bpw-theme-radius);background:var(--bpw-theme-surface-alt);cursor:pointer;box-sizing:border-box;}
.bpw-theme-choice:hover,.bpw-theme-choice:focus-within{border-color:var(--bpw-theme-accent);box-shadow:0 0 0 1px var(--bpw-theme-accent);}
.bpw-theme-choice.is-selected{border-color:var(--bpw-theme-accent);box-shadow:inset 0 0 0 2px var(--bpw-theme-accent);}
.bpw-theme-choice-control{display:flex;align-items:center;gap:7px;}
.bpw-theme-access-badge{display:inline-flex;align-items:center;margin-left:auto;padding:2px 7px;border:1px solid var(--bpw-theme-border-strong);border-radius:999px;color:var(--bpw-theme-muted);background:var(--bpw-theme-surface);font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap;}
.bpw-theme-swatches{display:flex;height:26px;overflow:hidden;border:1px solid var(--bpw-theme-border-strong);border-radius:3px;}
.bpw-theme-swatches>span{flex:1;background:var(--bpw-theme-swatch);}
.bpw-theme-choice-description{font-size:12px;line-height:1.4;}
.bpw-theme-save-row{display:flex;align-items:center;gap:10px;margin:12px 0 0;}
.bpw-theme-save-status{font-size:13px;color:var(--bpw-theme-muted);}
.bpw-theme-save-status.is-error{color:var(--bpw-theme-danger);}
@media(max-width:760px){.bpw-theme-choice-grid{grid-template-columns:1fr;}}
.bpw-wrap .button-link-delete,
.bpw-wrap button.button-link-delete{
    color:var(--bpw-theme-danger-contrast,var(--bpw-theme-accent-contrast))!important;
    background:var(--bpw-theme-danger)!important;
    border-color:var(--bpw-theme-danger)!important;
}
.bpw-wrap .button-link-delete:hover,.bpw-wrap .button-link-delete:focus,
.bpw-wrap button.button-link-delete:hover,.bpw-wrap button.button-link-delete:focus{
    filter:brightness(1.08);
}


/* ========================================================================
   Convoy theme contract — 0.7.611
   ------------------------------------------------------------------------
   Realm Units and Movement Waypoints use dedicated semantic islands so the
   Advanced Theme Editor can tune convoy lists, Quick Move, create/edit forms,
   and waypoint routes without recoloring unrelated game tables or controls.
   ======================================================================== */

/* Convoy list, Unit and Convoy Dispositions, grouped action strips. */
.bpw-wrap #bpw-realm-units-section.bpw-realm-units-convoy-sections,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list{
    color:var(--bpw-theme-convoy-text)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list > .bpw-player-subsection,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-table,
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-bottom{
    color:var(--bpw-theme-convoy-text)!important;
    background-color:var(--bpw-theme-convoy-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list > .bpw-player-subsection > summary,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-table > summary{
    color:var(--bpw-theme-convoy-heading)!important;
    background-color:var(--bpw-theme-convoy-item-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list .bpw-player-subsection-body{
    color:var(--bpw-theme-convoy-text)!important;
    background-color:var(--bpw-theme-convoy-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list h2,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list h3,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list h4,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-sections-list strong,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-heading-title{
    color:var(--bpw-theme-convoy-heading)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-list-table,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-table table{
    color:var(--bpw-theme-convoy-row-text)!important;
    background-color:var(--bpw-theme-convoy-row-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-list-table thead th,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-table thead th{
    color:var(--bpw-theme-convoy-table-heading-text)!important;
    background-color:var(--bpw-theme-convoy-table-heading-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-list-table tbody tr.bpw-ru-movement-summary-row td,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-table tbody tr td{
    color:var(--bpw-theme-convoy-row-text)!important;
    background-color:var(--bpw-theme-convoy-row-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-table tbody tr:nth-child(even) td{
    background-color:var(--bpw-theme-convoy-row-alt-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-name,
.bpw-wrap #bpw-realm-units-section a.bpw-ru-convoy-name,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-load-link,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-toggle{
    color:var(--bpw-theme-convoy-link)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-name:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-name:focus,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-toggle:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-toggle:focus{
    color:var(--bpw-theme-convoy-link-hover)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-summary-row td:nth-child(3),
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-summary-row td:nth-child(4),
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-summary-row td:nth-child(5),
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-summary-row td:nth-child(6),
.bpw-wrap #bpw-realm-units-section .bpw-ru-unit-quantity-table td:last-child,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-progress{
    color:var(--bpw-theme-convoy-value)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-actions-cell{
    color:var(--bpw-theme-convoy-text)!important;
    background-color:var(--bpw-theme-convoy-action-row-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-details-cell,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-cell{
    color:var(--bpw-theme-convoy-text)!important;
    background-color:var(--bpw-theme-convoy-details-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-progress-block{
    color:var(--bpw-theme-convoy-progress-text)!important;
    background-color:var(--bpw-theme-convoy-progress-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-progress-label,
.bpw-wrap #bpw-realm-units-section .bpw-ru-movement-progress-value{
    color:var(--bpw-theme-convoy-progress-text)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-action-hint,
.bpw-wrap #bpw-realm-units-section .bpw-ru-status-help,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-convoy-meta,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-status{
    color:var(--bpw-theme-convoy-muted)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-action-cluster,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-action-tools,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-action-danger{
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-actions-bar select,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-input,
.bpw-wrap #bpw-realm-units-section .bpw-ru-select-convoy-form select{
    color:var(--bpw-theme-convoy-control-text)!important;
    background-color:var(--bpw-theme-convoy-control-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-actions-bar .button,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-convoy-actions .button,
.bpw-wrap #bpw-realm-units-section .bpw-ru-select-convoy-form button,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-save,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-cancel{
    color:var(--bpw-theme-convoy-action-text)!important;
    background-color:var(--bpw-theme-convoy-action-surface)!important;
    border-color:var(--bpw-theme-convoy-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-actions-bar .button:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-actions-bar .button:focus,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-convoy-actions .button:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-location-convoy-actions .button:focus,
.bpw-wrap #bpw-realm-units-section .bpw-ru-select-convoy-form button:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-select-convoy-form button:focus,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-save:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-cancel:hover{
    color:var(--bpw-theme-convoy-action-hover-text)!important;
    background-color:var(--bpw-theme-convoy-action-hover-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-action-danger .button,
.bpw-wrap #bpw-realm-units-section .bpw-ru-delete-movement-form .button{
    color:var(--bpw-theme-convoy-danger-text)!important;
    background-color:var(--bpw-theme-convoy-danger-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-message,
.bpw-wrap #bpw-realm-units-section .bpw-ru-status-help{
    border-color:var(--bpw-theme-convoy-border)!important;
}

/* Create Convoy and selected-convoy editor. */
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor,
.bpw-wrap #bpw-realm-units-section .bpw-ru-selected-convoy-grid,
.bpw-wrap #bpw-realm-units-section .bpw-ru-select-convoy-form{
    color:var(--bpw-theme-convoy-form-text)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor .bpw-player-subsection-body{
    background-color:var(--bpw-theme-convoy-form-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor > summary,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor h4,
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form strong{
    color:var(--bpw-theme-convoy-form-heading)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form label,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor label,
.bpw-wrap #bpw-realm-units-section .bpw-ru-convoy-rename-field span{
    color:var(--bpw-theme-convoy-form-label)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form .description,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor .description,
.bpw-wrap #bpw-realm-units-section #realm_units_player_destination_hint{
    color:var(--bpw-theme-convoy-form-muted)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form input,
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form select,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor input,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor select{
    color:var(--bpw-theme-convoy-form-control-text)!important;
    background-color:var(--bpw-theme-convoy-form-control-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-multi-table,
.bpw-wrap #bpw-realm-units-section .bpw-ru-composition-table{
    color:var(--bpw-theme-convoy-form-row-text)!important;
    background-color:var(--bpw-theme-convoy-form-row-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-multi-table thead th,
.bpw-wrap #bpw-realm-units-section .bpw-ru-composition-table thead th{
    color:var(--bpw-theme-convoy-form-table-heading-text)!important;
    background-color:var(--bpw-theme-convoy-form-table-heading-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-multi-table tbody td,
.bpw-wrap #bpw-realm-units-section .bpw-ru-composition-table tbody td{
    color:var(--bpw-theme-convoy-form-row-text)!important;
    background-color:var(--bpw-theme-convoy-form-row-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-multi-table tbody tr:nth-child(even) td,
.bpw-wrap #bpw-realm-units-section .bpw-ru-composition-table tbody tr:nth-child(even) td{
    background-color:var(--bpw-theme-convoy-form-row-alt-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-strength-number,
.bpw-wrap #bpw-realm-units-section .bpw-ru-strength-total-summary,
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-multi-table td:nth-child(2){
    color:var(--bpw-theme-convoy-form-value)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-shortcut,
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-reset{
    color:var(--bpw-theme-convoy-form-shortcut-text)!important;
    background-color:var(--bpw-theme-convoy-form-shortcut-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-shortcut:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-shortcut:focus,
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-reset:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-assign-reset:focus{
    color:var(--bpw-theme-convoy-form-shortcut-hover-text)!important;
    background-color:var(--bpw-theme-convoy-form-shortcut-hover-surface)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form button,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor .bpw-ru-assign-multi-btn,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor .bpw-ru-remove-selected-btn{
    color:var(--bpw-theme-convoy-form-action-text)!important;
    background-color:var(--bpw-theme-convoy-form-action-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form button:hover,
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form button:focus,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor .bpw-ru-assign-multi-btn:hover,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor .bpw-ru-assign-multi-btn:focus{
    color:var(--bpw-theme-convoy-form-action-hover-text)!important;
    background-color:var(--bpw-theme-convoy-form-action-hover-surface)!important;
}
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form .bpw-message,
.bpw-wrap #bpw-realm-units-section #bpw-player-create-movement-form .bpw-error,
.bpw-wrap #bpw-realm-units-section #bpw-ru-selected-convoy-editor .bpw-message{
    color:var(--bpw-theme-convoy-form-notice-text)!important;
    background-color:var(--bpw-theme-convoy-form-notice-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}

/* Quick Move modal. */
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-dialog{
    color:var(--bpw-theme-quick-move-text)!important;
    background-color:var(--bpw-theme-quick-move-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-modal-header{
    color:var(--bpw-theme-quick-move-text)!important;
    background-color:var(--bpw-theme-quick-move-header-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-modal-header h4,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-field-label,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-estimate strong{
    color:var(--bpw-theme-quick-move-heading)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-intro,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-purpose-hint{
    color:var(--bpw-theme-quick-move-muted)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-origin{
    color:var(--bpw-theme-quick-move-text)!important;
    background-color:var(--bpw-theme-quick-move-origin-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-choice{
    color:var(--bpw-theme-quick-move-choice-text)!important;
    background-color:var(--bpw-theme-quick-move-choice-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-choice:has(input:checked){
    color:var(--bpw-theme-quick-move-choice-active-text)!important;
    background-color:var(--bpw-theme-quick-move-choice-active-surface)!important;
    border-color:var(--bpw-theme-quick-move-action-surface)!important;
    box-shadow:0 0 0 1px var(--bpw-theme-quick-move-action-surface) inset!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-unit-list{
    color:var(--bpw-theme-quick-move-unit-text)!important;
    background-color:var(--bpw-theme-quick-move-unit-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-unit-list-head{
    color:var(--bpw-theme-quick-move-unit-heading-text)!important;
    background-color:var(--bpw-theme-quick-move-unit-heading-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-unit-row{
    color:var(--bpw-theme-quick-move-unit-text)!important;
    background-color:var(--bpw-theme-quick-move-unit-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-unit-row:nth-child(odd){
    background-color:var(--bpw-theme-quick-move-unit-alt-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-unit-available,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-unit-assign,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-estimate{
    color:var(--bpw-theme-quick-move-unit-value)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-form input,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-form select{
    color:var(--bpw-theme-quick-move-control-text)!important;
    background-color:var(--bpw-theme-quick-move-control-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-fill-buttons button,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-global-actions button,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-modal-actions button{
    color:var(--bpw-theme-quick-move-action-text)!important;
    background-color:var(--bpw-theme-quick-move-action-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-fill-buttons button:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-fill-buttons button:focus,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-global-actions button:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-global-actions button:focus,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-modal-actions button:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-modal-actions button:focus{
    color:var(--bpw-theme-quick-move-action-hover-text)!important;
    background-color:var(--bpw-theme-quick-move-action-hover-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-warning{
    color:var(--bpw-theme-quick-move-warning-text)!important;
    background-color:var(--bpw-theme-quick-move-warning-surface)!important;
    border-color:var(--bpw-theme-quick-move-warning-text)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-modal-actions{
    color:var(--bpw-theme-quick-move-text)!important;
    background-color:var(--bpw-theme-quick-move-surface)!important;
    border-color:var(--bpw-theme-quick-move-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-quick-move-close{
    color:var(--bpw-theme-quick-move-heading)!important;
}

/* Waypoint Convoys. */
.bpw-wrap #bpw-movement-waypoints-section{
    color:var(--bpw-theme-waypoint-text)!important;
    background-color:var(--bpw-theme-waypoint-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}
.bpw-wrap #bpw-movement-waypoints-section > summary,
.bpw-wrap #bpw-movement-waypoints-section .bpw-waypoints-panel > summary{
    color:var(--bpw-theme-waypoint-heading)!important;
    background-color:var(--bpw-theme-waypoint-item-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}
.bpw-wrap #bpw-movement-waypoints-section .bpw-player-subsection-body{
    color:var(--bpw-theme-waypoint-text)!important;
    background-color:var(--bpw-theme-waypoint-surface)!important;
}
.bpw-wrap #bpw-movement-waypoints-section strong,
.bpw-wrap #bpw-movement-waypoints-section h2,
.bpw-wrap #bpw-movement-waypoints-section h3,
.bpw-wrap #bpw-movement-waypoints-section h4,
.bpw-wrap #bpw-movement-waypoints-section label{
    color:var(--bpw-theme-waypoint-heading)!important;
}
.bpw-wrap #bpw-movement-waypoints-section .bpw-waypoints-muted,
.bpw-wrap #bpw-movement-waypoints-section .bpw-waypoints-route-hint,
.bpw-wrap #bpw-movement-waypoints-section .bpw-waypoints-disabled-note,
.bpw-wrap #bpw-movement-waypoints-section small{
    color:var(--bpw-theme-waypoint-muted)!important;
}
.bpw-wrap #bpw-movement-waypoints-section input,
.bpw-wrap #bpw-movement-waypoints-section select{
    color:var(--bpw-theme-waypoint-control-text)!important;
    background-color:var(--bpw-theme-waypoint-control-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}
.bpw-wrap #bpw-movement-waypoints-section button{
    color:var(--bpw-theme-waypoint-action-text)!important;
    background-color:var(--bpw-theme-waypoint-action-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}
.bpw-wrap #bpw-movement-waypoints-section button:hover,
.bpw-wrap #bpw-movement-waypoints-section button:focus{
    color:var(--bpw-theme-waypoint-action-hover-text)!important;
    background-color:var(--bpw-theme-waypoint-action-hover-surface)!important;
}
.bpw-wrap #bpw-movement-waypoints-section table{
    color:var(--bpw-theme-waypoint-row-text)!important;
    background-color:var(--bpw-theme-waypoint-row-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}
.bpw-wrap #bpw-movement-waypoints-section table thead th{
    color:var(--bpw-theme-waypoint-table-heading-text)!important;
    background-color:var(--bpw-theme-waypoint-table-heading-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}
.bpw-wrap #bpw-movement-waypoints-section table tbody td{
    color:var(--bpw-theme-waypoint-row-text)!important;
    background-color:var(--bpw-theme-waypoint-row-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}
.bpw-wrap #bpw-movement-waypoints-section table tbody tr:nth-child(even) td{
    background-color:var(--bpw-theme-waypoint-row-alt-surface)!important;
}
.bpw-wrap #bpw-movement-waypoints-section table tbody strong,
.bpw-wrap #bpw-movement-waypoints-section table tbody td:nth-child(3),
.bpw-wrap #bpw-movement-waypoints-section table tbody td:nth-child(4){
    color:var(--bpw-theme-waypoint-value)!important;
}
.bpw-wrap #bpw-movement-waypoints-section .bpw-message.bpw-success,
.bpw-wrap #bpw-movement-waypoints-section .bpw-message.bpw-error{
    color:var(--bpw-theme-waypoint-notice-text)!important;
    background-color:var(--bpw-theme-waypoint-notice-surface)!important;
    border-color:var(--bpw-theme-waypoint-border)!important;
}

/* Additional live bindings for the complete selected-convoy editor. */
.bpw-wrap #bpw-realm-units-section .bpw-ru-management-grid > .bpw-player-subsection,
.bpw-wrap #bpw-realm-units-section .bpw-ru-management-grid > .bpw-player-subsection .bpw-player-subsection-body{
    color:var(--bpw-theme-convoy-form-text)!important;
    background-color:var(--bpw-theme-convoy-form-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-management-grid > .bpw-player-subsection > summary{
    color:var(--bpw-theme-convoy-form-heading)!important;
    background-color:var(--bpw-theme-convoy-form-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-selected-convoy-grid .widefat,
.bpw-wrap #bpw-realm-units-section .bpw-ru-selected-convoy-grid table{
    color:var(--bpw-theme-convoy-form-row-text)!important;
    background-color:var(--bpw-theme-convoy-form-row-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-selected-convoy-grid table thead th{
    color:var(--bpw-theme-convoy-form-table-heading-text)!important;
    background-color:var(--bpw-theme-convoy-form-table-heading-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-selected-convoy-grid table tbody td{
    color:var(--bpw-theme-convoy-form-row-text)!important;
    background-color:var(--bpw-theme-convoy-form-row-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-selected-convoy-grid table tbody tr:nth-child(even) td{
    background-color:var(--bpw-theme-convoy-form-row-alt-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-strength-total-row th,
.bpw-wrap #bpw-realm-units-section .bpw-ru-strength-total-row td{
    color:var(--bpw-theme-convoy-form-value)!important;
    background-color:var(--bpw-theme-convoy-form-row-alt-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-row-remove-btn,
.bpw-wrap #bpw-realm-units-section .bpw-ru-remove-checked-btn,
.bpw-wrap #bpw-realm-units-section .bpw-ru-remove-all-btn,
.bpw-wrap #bpw-realm-units-section .bpw-ru-remove-selected-btn,
.bpw-wrap #bpw-realm-units-section .bpw-ru-start-convoy-btn,
.bpw-wrap #bpw-realm-units-section .bpw-ru-start-selected-form button{
    color:var(--bpw-theme-convoy-form-action-text)!important;
    background-color:var(--bpw-theme-convoy-form-action-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-row-remove-btn:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-remove-checked-btn:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-remove-all-btn:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-remove-selected-btn:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-start-convoy-btn:hover,
.bpw-wrap #bpw-realm-units-section .bpw-ru-start-selected-form button:hover{
    color:var(--bpw-theme-convoy-form-action-hover-text)!important;
    background-color:var(--bpw-theme-convoy-form-action-hover-surface)!important;
}
.bpw-wrap #bpw-realm-units-section .bpw-ru-row-remove-qty,
.bpw-wrap #bpw-realm-units-section .bpw-ru-remove-selected-qty,
.bpw-wrap #bpw-realm-units-section #realm_units_player_remove_unit_def_id{
    color:var(--bpw-theme-convoy-form-control-text)!important;
    background-color:var(--bpw-theme-convoy-form-control-surface)!important;
    border-color:var(--bpw-theme-convoy-form-border)!important;
}
