/* ==========================================================
 * Genealogic Dark Mode — Complete Theme Override
 * Loaded after all feature CSS files
 * ======================================================== */

/* --- 1. CSS Variables Override --- */
body.glp-dark-mode,
html.glp-dark-mode {
    /* Shell variables */
    --glp-shell-bg: #1a1a2e;
    --glp-shell-border: #2a2a3e;
    --glp-shell-text: #e4e4e7;
    --glp-shell-text-muted: #9ca3af;
    --glp-shell-white: #16162a;

    /* Global plugin variables */
    --genealogic-white: #16162a;
    --genealogic-black: #e4e4e7;
    --genealogic-dark: #e4e4e7;
    --genealogic-gray-900: #d1d5db;
    --genealogic-gray-700: #9ca3af;
    --genealogic-gray-500: #6b7280;
    --genealogic-gray-300: #374151;
    --genealogic-gray-100: #1e1e36;
    --genealogic-primary-light: #2a1a10;
    --genealogic-border: 1px solid #2a2a3e;
    --genealogic-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --genealogic-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --genealogic-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);

    /* Feature-level variables */
    --glp-bg: #111827;
    --glp-card: #1e1e36;
    --glp-text: #e4e4e7;
    --glp-text-muted: #9ca3af;
    --glp-border: #2a2a3e;
}

/* --- 2. Base Body & Typography --- */
body.glp-dark-mode {
    background-color: #111827 !important;
    color: #e4e4e7;
}
/* Skeleton cards — dark mode */
body.glp-dark-mode .glp-skeleton-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .glp-skeleton-image,
body.glp-dark-mode .glp-skeleton-circle,
body.glp-dark-mode .glp-skeleton-line {
    background: #252540;
}
/* Default placeholder SVG — slightly lighter bg so it stands out from cards */
body.glp-dark-mode img[src$="placeholder-dog.svg"] {
    background-color: #2a2a42 !important;
}
/* Catch-all: force dark background on all Elementor sections with inline bg */
body.glp-dark-mode .elementor-section[style*="background"],
body.glp-dark-mode .e-con[style*="background"],
body.glp-dark-mode .elementor-element[style*="background"] {
    background-color: transparent !important;
    background-image: none !important;
}
/* Force dark on WordPress main content wrappers */
body.glp-dark-mode #main-content,
body.glp-dark-mode .main-content,
body.glp-dark-mode #site-content,
body.glp-dark-mode .content-area,
body.glp-dark-mode article.page,
body.glp-dark-mode article.post,
body.glp-dark-mode .type-page,
body.glp-dark-mode .hentry {
    background-color: transparent !important;
}
body.glp-dark-mode h1,
body.glp-dark-mode h2,
body.glp-dark-mode h3,
body.glp-dark-mode h4,
body.glp-dark-mode h5,
body.glp-dark-mode h6 {
    color: #e4e4e7;
}
body.glp-dark-mode p,
body.glp-dark-mode span,
body.glp-dark-mode li,
body.glp-dark-mode label,
body.glp-dark-mode td,
body.glp-dark-mode th {
    color: #d1d5db;
}
body.glp-dark-mode a {
    color: #93c5fd;
}
body.glp-dark-mode a:hover {
    color: #bfdbfe;
}
body.glp-dark-mode hr {
    border-color: #2a2a3e;
}

/* --- 3. Form Elements --- */
body.glp-dark-mode input,
body.glp-dark-mode select,
body.glp-dark-mode textarea {
    background: #1e1e36 !important;
    border-color: #2a2a3e !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode input::placeholder,
body.glp-dark-mode textarea::placeholder {
    color: #6b7280 !important;
}
body.glp-dark-mode option {
    background: #1e1e36;
    color: #e4e4e7;
}

/* --- 4. Tables --- */
body.glp-dark-mode table {
    color: #e4e4e7;
}
body.glp-dark-mode table th {
    background: #16162a;
    color: #9ca3af;
    border-color: #2a2a3e;
}
body.glp-dark-mode table td {
    border-color: #2a2a3e;
    color: #d1d5db;
}

/* --- 5. BUTTONS — Dark bg, orange for activation --- */
body.glp-dark-mode button,
body.glp-dark-mode .btn,
body.glp-dark-mode .button,
body.glp-dark-mode [class*="btn-"],
body.glp-dark-mode .toggle-btn,
body.glp-dark-mode .kennel-action-btn,
body.glp-dark-mode .template-btn,
body.glp-dark-mode .btn-save-clean,
body.glp-dark-mode .embed-tab-btn,
body.glp-dark-mode .expandable-btn,
body.glp-dark-mode .user-post-button,
body.glp-dark-mode .user-post-button-edit,
body.glp-dark-mode .user-post-button-pedigree,
body.glp-dark-mode .user-post-button-transfer,
body.glp-dark-mode .litter-card-actions button,
body.glp-dark-mode .solicitud-actions button,
body.glp-dark-mode .dog-actions button {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #d1d5db;
}
body.glp-dark-mode button:hover,
body.glp-dark-mode .btn:hover,
body.glp-dark-mode .button:hover,
body.glp-dark-mode [class*="btn-"]:hover,
body.glp-dark-mode .toggle-btn:hover,
body.glp-dark-mode .template-btn:hover,
body.glp-dark-mode .btn-save-clean:hover,
body.glp-dark-mode .user-post-button:hover,
body.glp-dark-mode .user-post-button-edit:hover,
body.glp-dark-mode .user-post-button-pedigree:hover,
body.glp-dark-mode .user-post-button-transfer:hover {
    background: #252540;
    border-color: #3a3a4e;
    color: #e4e4e7;
}

/* Active / Activated state buttons → orange brand */
body.glp-dark-mode .toggle-btn.active,
body.glp-dark-mode .toggle-btn.is-active,
body.glp-dark-mode .toggle-btn.activated,
body.glp-dark-mode button.active,
body.glp-dark-mode .btn-primary,
body.glp-dark-mode .btn-submit-crm,
body.glp-dark-mode .glp-topbar-btn-primary {
    background: var(--glp-shell-brand) !important;
    border-color: var(--glp-shell-brand) !important;
    color: #fff !important;
}
body.glp-dark-mode .btn-primary:hover,
body.glp-dark-mode .btn-submit-crm:hover,
body.glp-dark-mode .glp-topbar-btn-primary:hover {
    background: #c03f07 !important;
    border-color: #c03f07 !important;
}

/* Outline / secondary buttons */
body.glp-dark-mode .glp-topbar-btn-outline {
    color: #e4e4e7;
    border-color: #3a3a4e;
    background: transparent;
}
body.glp-dark-mode .glp-topbar-btn-outline:hover {
    background: #2a2a3e;
    border-color: #4a4a5e;
    color: #e4e4e7;
}

/* Exclude specific buttons from generic overrides */
body.glp-dark-mode .glp-sidebar-toggle-btn,
body.glp-dark-mode .glp-nav-toggle-item,
body.glp-dark-mode .glp-notifications-close,
body.glp-dark-mode .glp-topbar-hamburger,
body.glp-dark-mode .glp-switch *,
body.glp-dark-mode .glp-remove-fav {
    background: transparent;
}

/* --- 6. WordPress / Elementor --- */
body.glp-dark-mode .entry-content,
body.glp-dark-mode .page-content,
body.glp-dark-mode .site-content,
body.glp-dark-mode .site-main,
body.glp-dark-mode #content,
body.glp-dark-mode #primary,
body.glp-dark-mode main,
body.glp-dark-mode .elementor,
body.glp-dark-mode .elementor-widget-container,
body.glp-dark-mode .elementor-element,
body.glp-dark-mode .elementor-section,
body.glp-dark-mode .elementor-container {
    color: #e4e4e7;
    background-color: transparent !important;
}

/* --- 7. App Shell: Topbar --- */
body.glp-dark-mode .glp-topbar {
    background: #16162a;
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .glp-sidebar-logo img,
body.glp-dark-mode .glp-topbar-logo img {
    filter: brightness(0) invert(1);
}
body.glp-dark-mode .glp-sidebar-header {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .glp-topbar-bell {
    background: #1a1a2e;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .glp-topbar-bell:hover {
    background: #2a2a3e;
}
body.glp-dark-mode .glp-topbar-hamburger,
body.glp-dark-mode .glp-nav-toggle-item {
    color: #9ca3af;
}
body.glp-dark-mode .glp-topbar-hamburger:hover,
body.glp-dark-mode .glp-nav-toggle-item:hover {
    color: #e4e4e7;
    background: transparent;
}

/* --- 8. App Shell: Sidebar --- */
body.glp-dark-mode .glp-sidebar {
    background: #16162a;
    border-right-color: #2a2a3e;
}
body.glp-dark-mode .glp-sidebar-nav .glp-menu-item:hover {
    background: #1e1e36;
}
body.glp-dark-mode .glp-sidebar-nav .glp-menu-item.active {
    background: #1e1e36;
}
body.glp-dark-mode .glp-sidebar-nav .glp-submenu-item:hover {
    background: #1e1e36;
}
body.glp-dark-mode .glp-user-card {
    background: #1a1a2e;
    border-color: #2a2a3e;
}
body.glp-dark-mode .glp-user-card:hover {
    border-color: #3a3a4e;
}
body.glp-dark-mode .glp-sidebar-footer {
    border-top-color: #2a2a3e;
}
body.glp-dark-mode .glp-darkmode-icon {
    color: #fbbf24;
}
body.glp-dark-mode .glp-topbar-darkmode {
    background: #1a1a2e;
    border-color: #2a2a3e;
    color: #fbbf24;
}
body.glp-dark-mode .glp-topbar-darkmode:hover {
    background: #2a2a3e;
}

/* --- 9. Notifications Sidebar --- */
body.glp-dark-mode .glp-notifications-sidebar,
body.glp-dark-mode .notifications-sidebar-off-canvas {
    background: #16162a;
}
body.glp-dark-mode .glp-notifications-header,
body.glp-dark-mode .sidebar-header {
    background: #16162a;
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .glp-notifications-header h2,
body.glp-dark-mode .sidebar-header h2 {
    color: #e4e4e7;
}
body.glp-dark-mode .glp-notifications-close,
body.glp-dark-mode .close-sidebar {
    background: #1e1e36 !important;
    color: #9ca3af !important;
}
body.glp-dark-mode .glp-notifications-close:hover,
body.glp-dark-mode .close-sidebar:hover {
    background: #2a2a3e !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode .notification-item {
    color: #e4e4e7;
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .notification-item:hover {
    background: #1e1e36;
}
body.glp-dark-mode .notification-item.unread {
    background: #1a2236;
}
body.glp-dark-mode .notification-item img[src$="placeholder-dog.svg"] {
    background-color: transparent !important;
    filter: brightness(0) invert(1);
    padding: 10%;
}
body.glp-dark-mode .notif-text-container strong {
    color: #e4e4e7;
}
body.glp-dark-mode .notif-text-container span {
    color: #9ca3af;
}
body.glp-dark-mode .notif-text-container small {
    color: #6b7280;
}
body.glp-dark-mode .notif-icon-default {
    background: #1e1e36;
    color: #9ca3af;
}
body.glp-dark-mode .notif-icon-dog {
    background: #1e1e36;
    color: #9ca3af;
}
body.glp-dark-mode .notif-icon-transfer {
    background: #2a1a10;
    color: #D74709;
}
body.glp-dark-mode .notif-icon-form {
    background: #1a1a2e;
    color: #5b9aff;
}
body.glp-dark-mode .notif-icon-achievement {
    background: #2a2510;
    color: #f1c40f;
}
body.glp-dark-mode .notif-icon-favorite {
    background: #2a1015;
    color: #ef4444;
}
body.glp-dark-mode .notif-icon-birthday {
    background: #2a1020;
    color: #ec4899;
}
body.glp-dark-mode .notif-icon-pedigree {
    background: #102a15;
    color: #22c55e;
}
body.glp-dark-mode .notif-icon-single {
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
body.glp-dark-mode .notif-icon-stack .fake-pic-1 {
    background: #2a2a3e;
    border-color: #16162a;
}
body.glp-dark-mode .notif-icon-stack .fake-pic-2 {
    background: #1e1e36;
    border-color: #16162a;
}
body.glp-dark-mode .notif-icon-stack img.main-pic {
    border-color: #16162a;
}
body.glp-dark-mode .notification-bell {
    background-color: #1a1a2e;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .notification-bell:hover {
    background-color: #2a2a3e;
}

/* --- 10. Dashboard --- */
body.glp-dark-mode .dashboard-container {
    color: #e4e4e7;
}
body.glp-dark-mode .info-box,
body.glp-dark-mode .chart-container,
body.glp-dark-mode .ranking-box {
    background: #1e1e36;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    color: #e4e4e7;
}
body.glp-dark-mode .info-box h3 { color: #9ca3af; }
body.glp-dark-mode .info-box p { color: #e4e4e7; }
body.glp-dark-mode .chart-title { color: #e4e4e7; }
body.glp-dark-mode .admin-search-bar {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .solicitud-item,
body.glp-dark-mode .dog-item {
    border-color: #2a2a3e;
}
body.glp-dark-mode .solicitud-header,
body.glp-dark-mode .dog-header {
    background: #1e1e36;
    color: #e4e4e7;
}
body.glp-dark-mode .solicitud-details,
body.glp-dark-mode .dog-details {
    background: #16162a;
    color: #d1d5db;
}

/* --- 11. Dog Management (Mis Perros) --- */
body.glp-dark-mode .user-post {
    background: #1e1e36;
    border-color: #2a2a3e;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
/* Gradient overlay on banner area — doesn't affect profile circle */
body.glp-dark-mode .user-post .user-post-image {
    mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}
/* Gradient fade from banner image to dark card content */
body.glp-dark-mode .user-post-content {
    background: #1e1e36 !important;
    color: #e4e4e7;
}
body.glp-dark-mode .user-post-title,
body.glp-dark-mode .user-post-title a {
    color: #e4e4e7;
}
body.glp-dark-mode .user-post-profile {
    border-color: #3a3a4e;
}
/* Eye/view button: same style as edit/pedigree/transfer in dark mode */
body.glp-dark-mode .user-post-button {
    background-color: #1e1e36 !important;
    color: #9ca3af !important;
    border: 1px solid #2a2a3e;
}
body.glp-dark-mode .user-post-button:hover {
    background-color: #252540 !important;
    color: #e4e4e7 !important;
    opacity: 1;
}
body.glp-dark-mode .add-new-dog,
body.glp-dark-mode .add-new-litter {
    background: #1e1e36 !important;
    border-color: #2a2a3e !important;
    color: #9ca3af;
}
body.glp-dark-mode .add-new-dog:hover,
body.glp-dark-mode .add-new-litter:hover {
    background: #252540 !important;
    border-color: #3a3a4e !important;
}
/* Plus icon button for add-new-litter */
body.glp-dark-mode .add-new-litter .litter-post-button {
    background: transparent !important;
    color: #9ca3af !important;
}
body.glp-dark-mode .add-new-litter .litter-post-button .icon {
    background-color: #252540 !important;
    color: #9ca3af;
    border: 1px solid #2a2a3e;
}
body.glp-dark-mode .add-new-litter:hover .litter-post-button .icon {
    background-color: var(--glp-shell-brand) !important;
    color: white;
    border-color: var(--glp-shell-brand);
}
/* Remove gradient overlay on add-new cards (no banner image) */
body.glp-dark-mode .add-new-dog .user-post-content::before,
body.glp-dark-mode .add-new-litter .user-post-content::before {
    display: none;
}
body.glp-dark-mode .add-new-dog .user-post-content {
    background: transparent !important;
}
/* Plus icon button */
body.glp-dark-mode .add-new-dog .user-post-button {
    background: transparent !important;
    color: #9ca3af !important;
    border: none;
}
body.glp-dark-mode .add-new-dog .user-post-button .icon {
    background-color: #252540 !important;
    color: #9ca3af;
    border: 1px solid #2a2a3e;
}
body.glp-dark-mode .add-new-dog:hover .user-post-button .icon {
    background-color: var(--glp-shell-brand) !important;
    color: white;
    border-color: var(--glp-shell-brand);
}
body.glp-dark-mode .dog-form,
body.glp-dark-mode .new-dog-form,
body.glp-dark-mode .verification-block {
    background: transparent;
    color: #e4e4e7;
}
body.glp-dark-mode .styled-select-btn-wizard,
body.glp-dark-mode .styled-select-options-wizard {
    background: #16162a !important;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .styled-select-options-wizard li:hover {
    background: #252540;
}
body.glp-dark-mode .dog-search-results-popup,
body.glp-dark-mode .glp-wizard-search-results {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .search-result-item-wizard:hover {
    background: #252540 !important;
}
body.glp-dark-mode .popup-options {
    background: #1e1e36 !important;
    border-color: #2a2a3e;
}

/* --- 12. Breed Tags (all variants) --- */
body.glp-dark-mode .breed-info,
body.glp-dark-mode .breed-info-grid,
body.glp-dark-mode .glp-fav-breed-tag,
body.glp-dark-mode .public-litter-breed,
body.glp-dark-mode .sdc-breed-tag,
body.glp-dark-mode .unify-tag,
body.glp-dark-mode .dp-tag.breed-info {
    background: #1e1e36 !important;
    color: #e4e4e7 !important;
    border: 1px solid #2a2a3e !important;
    border-radius: 100px !important;
}
body.glp-dark-mode .kennel-info {
    background: #16162a;
    border-color: #2a2a3e;
    color: #d1d5db;
}
body.glp-dark-mode .kennel-info a {
    color: #93c5fd;
}

/* --- 13. Favorites --- */
body.glp-dark-mode .glp-dog-card {
    background: #1e1e36;
    border-color: #2a2a3e;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}
body.glp-dark-mode .glp-dog-info {
    background: #1e1e36;
    color: #e4e4e7;
}
/* Gradient fade on favorites card cover images */
body.glp-dark-mode .glp-dog-cover img {
    mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}
body.glp-dark-mode .glp-dog-name { color: #e4e4e7; }
body.glp-dark-mode .glp-dog-breed,
body.glp-dark-mode .glp-dog-born,
body.glp-dark-mode .glp-dog-color-info { color: #9ca3af; }
body.glp-dark-mode .glp-fav-kennel {
    background: #16162a;
    border-color: #2a2a3e;
    color: #d1d5db;
}
body.glp-dark-mode .glp-favorites-empty { color: #9ca3af; }

/* --- 14. Kennel Profile (Accordions) --- */
body.glp-dark-mode .kennel-details-accordion,
body.glp-dark-mode .public-kennel-accordion {
    background: #1e1e36 !important;
    border-color: #2a2a3e;
}
body.glp-dark-mode .kennel-details-header,
body.glp-dark-mode .public-kennel-header {
    background: #1e1e36 !important;
    color: #e4e4e7;
    border-color: #2a2a3e;
}
body.glp-dark-mode .kennel-details-header:hover,
body.glp-dark-mode .public-kennel-header:hover {
    background: #252540 !important;
}
body.glp-dark-mode .kennel-details-content,
body.glp-dark-mode .public-kennel-content {
    background: #16162a !important;
    color: #d1d5db;
    border-color: #2a2a3e;
}
/* Accordion separators, borders & dividers */
body.glp-dark-mode .kennel-details-accordion {
    border-color: #2a2a3e;
}
body.glp-dark-mode .kennel-details-content {
    border-top-color: #2a2a3e;
}
body.glp-dark-mode .public-kennel-accordion {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .kennel-details-accordion hr,
body.glp-dark-mode .public-kennel-accordion hr,
body.glp-dark-mode .kennel-details-content hr,
body.glp-dark-mode .public-kennel-content hr {
    border-color: #2a2a3e !important;
}
body.glp-dark-mode .embed-tabs {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .embed-tab-btn {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .embed-tab-btn.active,
body.glp-dark-mode .embed-tab-btn:hover {
    color: #e4e4e7;
}
body.glp-dark-mode .embed-col-preview,
body.glp-dark-mode .embed-col-code {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .integration-step {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #d1d5db;
}
body.glp-dark-mode .public-meta-grid {
    border-color: #2a2a3e;
}
body.glp-dark-mode .kennel-profile-image {
    border-color: #1e1e36;
}
body.glp-dark-mode .form-group-clean input,
body.glp-dark-mode .form-group-clean textarea,
body.glp-dark-mode .form-group-clean select {
    background: #16162a !important;
    border-color: #2a2a3e !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode .templates-wrapper {
    background: #16162a;
}
body.glp-dark-mode .builder-item {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .builder-item.locked {
    background: #16162a;
}
body.glp-dark-mode .embed-col-preview,
body.glp-dark-mode .embed-col-code {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .embed-code-wrapper input {
    background: #1e1e36 !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode .integration-step {
    background: #1e1e36;
}
body.glp-dark-mode .public-socials a {
    background: #1e1e36;
    color: #d1d5db;
}
body.glp-dark-mode .public-socials a:hover {
    background: #252540;
}

/* --- 15. Kennel Dogs Panel --- */
body.glp-dark-mode .public-litter-card,
body.glp-dark-mode .sdc-card {
    background: #1e1e36 !important;
    color: #e4e4e7;
    overflow: hidden;
}
/* Gradient fade for kennel dog card banners */
body.glp-dark-mode .public-litter-card .user-post-image,
body.glp-dark-mode .sdc-card .user-post-image {
    mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}
body.glp-dark-mode .sdc-profile-pic {
    background: #1e1e36;
}
/* Dotted separators */
body.glp-dark-mode [style*="border-bottom: 1px dashed"],
body.glp-dark-mode [style*="border-top: 1px dashed"] {
    border-color: #2a2a3e !important;
}

/* --- 16. Kennel List --- */
body.glp-dark-mode .user-post.kennel-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .user-post.kennel-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.2);
}
body.glp-dark-mode .user-post-profile {
    border-color: #1e1e36;
}
body.glp-dark-mode .user-post-title {
    color: #e4e4e7;
}
body.glp-dark-mode .kennel-breed-list .breed-info {
    background: #252540 !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode .kennel-breed-list .breed-info-empty {
    color: #6b6b80;
}
body.glp-dark-mode .kennel-dog-list {
    border-top-color: #2a2a3e;
}
body.glp-dark-mode .kennel-dog-circle img {
    border-color: #1e1e36;
}
body.glp-dark-mode .kennel-dog-circle.add-new {
    background-color: #252540;
    border-color: #2a2a3e;
    color: #6b6b80;
}
body.glp-dark-mode .kennel-dog-circle.add-new:hover {
    background-color: #D74709;
    color: #fff;
    border-color: #D74709;
}
body.glp-dark-mode .verified-tooltip {
    background-color: #252540;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
body.glp-dark-mode .verified-tooltip::after {
    border-color: #252540 transparent transparent transparent;
}

/* --- 17. Dog Profile --- */
/* Page background around the profile box */
body.glp-dark-mode .dog-gallery-wrapper {
    background: #111827;
}
body.glp-dark-mode .dog-gallery-item {
    background-color: #16162a;
}
body.glp-dark-mode .dog-profile {
    background-color: #16162a !important;
}
/* The gap between gallery and profile — body background handles it,
   but Elementor/theme containers may override it */
body.glp-dark-mode .elementor-widget-wrap,
body.glp-dark-mode .elementor-column-wrap,
body.glp-dark-mode .e-con-inner,
body.glp-dark-mode .e-con,
body.glp-dark-mode .elementor-widget-shortcode,
body.glp-dark-mode .elementor-section > .elementor-container,
body.glp-dark-mode .elementor-inner,
body.glp-dark-mode .elementor-section-wrap,
body.glp-dark-mode .elementor-top-section,
body.glp-dark-mode [data-elementor-type="wp-page"],
body.glp-dark-mode [data-elementor-type="wp-post"] {
    background-color: transparent !important;
}
body.glp-dark-mode .dog-profile h1 {
    color: #e4e4e7;
}
body.glp-dark-mode .dog-profile ul li {
    color: #d1d5db;
}
/* Gallery area */
body.glp-dark-mode .dog-gallery-item {
    background-color: #16162a;
}
body.glp-dark-mode .dog-gallery-prev,
body.glp-dark-mode .dog-gallery-next {
    background-color: #1e1e36 !important;
    color: #e4e4e7 !important;
    border: 1px solid #2a2a3e;
}
body.glp-dark-mode .dog-gallery-prev i,
body.glp-dark-mode .dog-gallery-next i,
body.glp-dark-mode .dog-gallery-prev svg,
body.glp-dark-mode .dog-gallery-next svg {
    color: #e4e4e7 !important;
}
/* Parent dog boxes (PADRE/MADRE) — same bg as .dog-profile (#16162a) */
body.glp-dark-mode .dog-profile .parent-dog {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .dog-profile .parent-dog img {
    border-color: #16162a;
}
body.glp-dark-mode .dog-profile .parent-dog .dog-details {
    color: #e4e4e7;
}
/* Attribute boxes (Sexo, Color, Nacimiento) */
body.glp-dark-mode .dp-attr-box {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #d1d5db;
}
body.glp-dark-mode .dp-attr-box strong {
    color: #e4e4e7;
}
/* Sale card */
body.glp-dark-mode .dp-sale-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .dp-sale-price {
    color: #e4e4e7;
}
/* Tabs */
body.glp-dark-mode .dp-tab {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .dp-tab:hover {
    color: #e4e4e7;
    background: #252540;
}
body.glp-dark-mode .dp-tab.active {
    background: var(--glp-shell-brand);
    color: #fff;
    border-color: var(--glp-shell-brand);
}
body.glp-dark-mode .dp-tab-content {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #d1d5db;
}
body.glp-dark-mode .dp-grid-item {
    color: #d1d5db;
}
body.glp-dark-mode .dp-grid-item img {
    border-color: #2a2a3e;
}
/* Expandable fade gradient (Hermanos, Descendientes, Salud) */
body.glp-dark-mode .expandable-fade {
    background: linear-gradient(to bottom, rgba(30, 30, 54, 0) 0%, rgba(30, 30, 54, 0.8) 60%, rgba(30, 30, 54, 1) 100%) !important;
}
body.glp-dark-mode .expandable-btn {
    color: #e4e4e7 !important;
}

/* --- 18. Pedigree / Litter Pedigree --- */
body.glp-dark-mode .pedigree-master-wrapper,
body.glp-dark-mode .litter-pedigree-fullwidth,
body.glp-dark-mode .standard-pedigree-fullwidth,
body.glp-dark-mode .pedigree-tree-container,
body.glp-dark-mode #pedigree-tree-container,
body.glp-dark-mode #user-pedigree-tree-container,
body.glp-dark-mode #pedigree-drag-wrapper {
    background: transparent !important;
    background-color: transparent !important;
}
/* Force transparent on any Elementor wrapper around pedigree */
body.glp-dark-mode .elementor-widget-container:has(.pedigree-master-wrapper),
body.glp-dark-mode .elementor-widget-container:has(.standard-pedigree-fullwidth),
body.glp-dark-mode .elementor-element:has(.pedigree-master-wrapper),
body.glp-dark-mode .elementor-element:has(.standard-pedigree-fullwidth),
body.glp-dark-mode .elementor-section:has(.pedigree-master-wrapper),
body.glp-dark-mode .elementor-section:has(.standard-pedigree-fullwidth),
body.glp-dark-mode .e-con:has(.pedigree-master-wrapper),
body.glp-dark-mode .e-con:has(.standard-pedigree-fullwidth),
body.glp-dark-mode .e-con-inner:has(.pedigree-master-wrapper),
body.glp-dark-mode .e-con-inner:has(.standard-pedigree-fullwidth),
body.glp-dark-mode .elementor-widget-wrap:has(.pedigree-master-wrapper),
body.glp-dark-mode .elementor-widget-wrap:has(.standard-pedigree-fullwidth) {
    background: transparent !important;
    background-color: transparent !important;
}
body.glp-dark-mode .pedigree-node,
body.glp-dark-mode .node-content {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
/* Pedigree connector lines — dark mode */
body.glp-dark-mode .layout-horizontal .pedigree-node::before,
body.glp-dark-mode .layout-horizontal .pedigree-node::after,
body.glp-dark-mode .layout-horizontal .pedigree-children::before,
body.glp-dark-mode .layout-vertical .pedigree-node::before,
body.glp-dark-mode .layout-vertical .pedigree-node::after,
body.glp-dark-mode .layout-vertical .node-content::before,
body.glp-dark-mode .layout-vertical .pedigree-children::before {
    background: #2a2a3e !important;
}
body.glp-dark-mode .node-content img {
    background: #16162a;
}
body.glp-dark-mode .empty-node {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .dog-name {
    color: #e4e4e7;
}
body.glp-dark-mode .dog-breed {
    color: #9ca3af;
}
body.glp-dark-mode .pedigree-controls,
body.glp-dark-mode .pedigree-zoom-controls {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .health-badge {
    background: #16162a;
    color: #d1d5db;
}
body.glp-dark-mode .litter-modal {
    background: #1e1e36;
    color: #e4e4e7;
}
body.glp-dark-mode .litter-modal h3 {
    color: #e4e4e7;
}
body.glp-dark-mode .litter-modal .popup-footer {
    background: #16162a;
    border-color: #2a2a3e;
}

/* --- 19. Litter Planner --- */
body.glp-dark-mode .planner-wrapper {
    background: #111827;
    color: #e4e4e7;
}
body.glp-dark-mode .planner-header {
    background: #111827 !important;
    border-color: #2a2a3e;
}
body.glp-dark-mode .planner-header h1,
body.glp-dark-mode .planner-header h2 {
    color: #e4e4e7;
}
body.glp-dark-mode .planner-header p {
    color: #9ca3af;
}
body.glp-dark-mode .planner-dog-col {
    background: transparent;
    border-color: #2a2a3e;
}
body.glp-dark-mode .planner-search-results {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .planner-result-item {
    color: #e4e4e7;
    border-color: #2a2a3e;
}
body.glp-dark-mode .planner-result-item:hover {
    background: #252540;
}
body.glp-dark-mode .planner-selected-card {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .planner-x-divider {
    color: #9ca3af;
}

/* COI / Health panel */
body.glp-dark-mode .coi-health-panel {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .coi-panel-header {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .coi-panel-body {
    background: #1e1e36;
    color: #d1d5db;
}
body.glp-dark-mode .coi-bar-wrapper {
    background: #16162a;
}
body.glp-dark-mode .coi-interpretation {
    color: #9ca3af;
    background: #16162a;
}
body.glp-dark-mode .coi-interpretation.level-orange {
    background: #2a1a10;
    color: #fbbf24;
}
body.glp-dark-mode .coi-interpretation.level-red {
    background: #2a1010;
    color: #ef4444;
}

/* Floating controls */
body.glp-dark-mode .glp-floating-controls .glp-fab,
body.glp-dark-mode .glp-fab,
body.glp-dark-mode .fab-orange,
body.glp-dark-mode .fab-black,
body.glp-dark-mode .fab-white {
    background-color: #1e1e36 !important;
    color: #9ca3af;
    border: 1px solid #2a2a3e;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
body.glp-dark-mode .glp-fab:hover,
body.glp-dark-mode .fab-orange:hover,
body.glp-dark-mode .fab-black:hover,
body.glp-dark-mode .fab-white:hover {
    background-color: #252540 !important;
    color: #e4e4e7;
}
body.glp-dark-mode .fab-black.active {
    background-color: var(--glp-shell-brand) !important;
    color: #fff;
    border-color: var(--glp-shell-brand);
}
body.glp-dark-mode .fab-gen-menu {
    background: #1e1e36;
    border-color: #2a2a3e;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
body.glp-dark-mode .fab-gen-menu button {
    color: #e4e4e7;
    background: transparent;
}
body.glp-dark-mode .fab-gen-menu button:hover {
    background: #252540;
}

/* --- 20. Litters --- */
body.glp-dark-mode .litter-post {
    background: #1e1e36;
    border-color: #2a2a3e;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    color: #e4e4e7;
}
body.glp-dark-mode .litter-post-content {
    background: #1e1e36;
    color: #e4e4e7;
}
body.glp-dark-mode .litter-post-title { color: #e4e4e7; }
body.glp-dark-mode .litter-details-wrapper {
    border-color: #2a2a3e;
    color: #d1d5db;
}
body.glp-dark-mode .litter-breed {
    background: #1e1e36;
    color: #e4e4e7;
}
body.glp-dark-mode .selected-dog {
    color: #e4e4e7;
}
body.glp-dark-mode .selected-dog .dog-details strong {
    color: #e4e4e7 !important;
}

/* Litter card action buttons */
body.glp-dark-mode .pedigree-link-button {
    background: #D74709;
    color: #fff;
}
body.glp-dark-mode .edit-litter-button {
    background: #252540;
    color: #9ca3af;
    border-color: #2a2a3e;
}
body.glp-dark-mode .edit-litter-button:hover {
    background: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .delete-litter-button {
    background: #252540;
    color: #dc2626;
    border-color: #2a2a3e;
}
body.glp-dark-mode .add-puppy-button {
    background: #252540;
    color: #9ca3af;
    border-radius: 12px;
}
body.glp-dark-mode .add-puppy-button:hover {
    background: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .litter-post-field {
    color: #9ca3af;
}
body.glp-dark-mode .litter-post-field strong {
    color: #e4e4e7;
}
body.glp-dark-mode .toggle-litter-visibility {
    background: #252540;
    color: #9ca3af;
    border-color: #2a2a3e;
}
body.glp-dark-mode .toggle-litter-visibility.active {
    background: #D74709;
    color: #fff;
    border-color: #D74709;
}
body.glp-dark-mode .litter-parents img[src$=".svg"],
body.glp-dark-mode .puppy-item img[src$=".svg"] {
    background: #252540;
}
body.glp-dark-mode .add-new-litter {
    background: #16162a;
    border-color: #2a2a3e !important;
}
body.glp-dark-mode .add-new-litter .litter-post-content {
    background: transparent;
}
body.glp-dark-mode .add-new-litter:hover {
    background: #1e1e36;
}

/* Litter hero (frontend / public litter page) */
body.glp-dark-mode .litter-hero {
    background: #16162a !important;
}
body.glp-dark-mode .litter-hero-content .parent-profile h3 {
    color: #e4e4e7;
}
body.glp-dark-mode .x-divider {
    background: #1e1e36;
    color: #D74709;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
body.glp-dark-mode .health-badge {
    background: #252540;
    color: #9ca3af;
}
body.glp-dark-mode .timeline-step {
    color: #6b7280;
}
body.glp-dark-mode .timeline-step.active {
    color: #e4e4e7;
}
body.glp-dark-mode .litter-timeline::before {
    background: #2a2a3e;
}
body.glp-dark-mode .timeline-step .dot {
    background: #2a2a3e;
}
body.glp-dark-mode .btn-litter-interest {
    background: #1e1e36;
    color: #e4e4e7;
}
body.glp-dark-mode .btn-litter-interest:hover {
    background: #D74709;
}
/* Litter CRM modal */
body.glp-dark-mode .litter-modal {
    background: #1e1e36;
}
body.glp-dark-mode .litter-modal .popup-header {
    border-color: #2a2a3e;
}
body.glp-dark-mode .litter-modal h3 {
    color: #e4e4e7;
}
body.glp-dark-mode .litter-modal .popup-body {
    background: #1e1e36;
}
body.glp-dark-mode .litter-modal .popup-footer {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .litter-form-group label {
    color: #9ca3af;
}
body.glp-dark-mode .litter-form-group input,
body.glp-dark-mode .litter-form-group textarea,
body.glp-dark-mode .litter-form-group select {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}

/* --- 21. Search (Home, Bar, Advanced) --- */
body.glp-dark-mode .dog-search-container {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .dog-search-container input {
    background-color: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .dog-search-container input::placeholder {
    color: #6b6b80;
}
body.glp-dark-mode .dog-search-container input:focus {
    border-color: #3a3a4e;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
body.glp-dark-mode .dog-search-results-popup-skin {
    background: #1e1e36;
    border-color: #2a2a3e;
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}
body.glp-dark-mode .dog-search-results-popup-skin h4.search-category-title {
    color: #8b8ba0;
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .dog-search-results-popup-skin .dog-search-result {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .dog-search-results-popup-skin .dog-search-result:hover {
    background-color: #252540;
}
body.glp-dark-mode .dog-search-results-popup-skin .dog-search-result a {
    color: #e4e4e7;
}
body.glp-dark-mode .dog-search-results-popup-skin .dog-search-result span {
    color: #8b8ba0;
}
body.glp-dark-mode .dog-search-container .search-results,
body.glp-dark-mode .dog-search-results,
body.glp-dark-mode .search-results-dropdown {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .dog-search-container .search-results a,
body.glp-dark-mode .dog-search-container .search-results li,
body.glp-dark-mode .search-results-dropdown a {
    color: #e4e4e7;
    border-color: #2a2a3e;
}
body.glp-dark-mode .dog-search-container .search-results a:hover,
body.glp-dark-mode .dog-search-container .search-results li:hover,
body.glp-dark-mode .search-results-dropdown a:hover {
    background: #252540;
}
/* Search advanced filters */
body.glp-dark-mode .search-advanced-container,
body.glp-dark-mode .search-filters {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
/* Search home results */
body.glp-dark-mode .search-home-results,
body.glp-dark-mode .search-result-card {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}

/* --- Search Advanced: full dark mode --- */
/* Force transparent bg on Elementor wrappers around search-advanced */
body.glp-dark-mode .elementor-widget-container:has(.dog-search-container),
body.glp-dark-mode .elementor-widget-container:has(.dog-results-container),
body.glp-dark-mode .elementor-element:has(.dog-search-container),
body.glp-dark-mode .e-con:has(.dog-search-container),
body.glp-dark-mode .e-con-inner:has(.dog-search-container),
body.glp-dark-mode .elementor-section:has(.dog-search-container),
body.glp-dark-mode .elementor-widget-wrap:has(.dog-search-container) {
    background: transparent !important;
    background-color: transparent !important;
}
/* Filter inputs & selects */
body.glp-dark-mode .dog-search-container input,
body.glp-dark-mode .dog-search-container select {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
    box-shadow: none;
}
body.glp-dark-mode .dog-search-container input::placeholder {
    color: #6b6b80;
}
body.glp-dark-mode .dog-search-container input:focus,
body.glp-dark-mode .dog-search-container select:focus {
    border-color: #D74709;
    box-shadow: 0 0 0 4px rgba(215, 71, 9, 0.15);
}
body.glp-dark-mode .search-icon {
    color: #6b6b80;
}
body.glp-dark-mode .search-select-wrapper::after {
    color: #6b6b80;
}
/* Table header */
body.glp-dark-mode .dog-results-header {
    background-color: #1e1e36;
    color: #8b8ba0;
    border-color: #2a2a3e;
}
/* Result rows */
body.glp-dark-mode .dog-result {
    background-color: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
    box-shadow: none;
}
body.glp-dark-mode .dog-result:hover {
    border-color: #D74709;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    background-color: #1e1e36;
}
body.glp-dark-mode .dog-result .col-name {
    color: #e4e4e7;
}
body.glp-dark-mode .dog-result .col-sex,
body.glp-dark-mode .dog-result .col-dob,
body.glp-dark-mode .dog-result .col-height,
body.glp-dark-mode .dog-result .col-weight {
    color: #9ca3af;
}
body.glp-dark-mode .dog-result img {
    border-color: #2a2a3e;
}
/* Breed badge */
body.glp-dark-mode .dog-breed-badge {
    background-color: #252540;
    color: #9ca3af;
}
body.glp-dark-mode .dog-result:hover .dog-breed-badge {
    background-color: #D74709;
    color: #fff;
}
/* Section titles */
body.glp-dark-mode .glp-section-title {
    color: #e4e4e7;
}
/* Kennel cards */
body.glp-dark-mode .glp-kennel-card {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .glp-kennel-card:hover {
    border-color: #D74709;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    background: #1e1e36;
}
body.glp-dark-mode .glp-kennel-card img {
    border-color: #2a2a3e;
}
/* Pagination */
body.glp-dark-mode .dog-pagination-link {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .dog-pagination-link:hover {
    border-color: #D74709;
    color: #e4e4e7;
}
body.glp-dark-mode .dog-pagination-link.active {
    background-color: #D74709;
    border-color: #D74709;
    color: #fff;
}
/* Results container */
body.glp-dark-mode .dog-results-container {
    color: #e4e4e7;
}

/* --- 21b. Search Home (Hero) --- */
/* Dark background — keeps the nebula/particle animation intact */
body.glp-dark-mode .glp-search-hero-background {
    background: #111827;
}
/* Force transparent on Elementor wrappers around the hero */
body.glp-dark-mode .elementor-widget-container:has(.glp-search-hero),
body.glp-dark-mode .elementor-element:has(.glp-search-hero),
body.glp-dark-mode .e-con:has(.glp-search-hero),
body.glp-dark-mode .e-con-inner:has(.glp-search-hero),
body.glp-dark-mode .elementor-section:has(.glp-search-hero),
body.glp-dark-mode .elementor-widget-wrap:has(.glp-search-hero) {
    background: transparent !important;
    background-color: transparent !important;
}
body.glp-dark-mode .glp-search-hero-background::before {
    opacity: 0.25;
}
body.glp-dark-mode .glp-search-hero-background::after {
    opacity: 0.25;
}
/* Particles: JS handles color switch; disable blend mode on dark bg */
body.glp-dark-mode .glp-search-hero canvas.glp-search-hero-particles {
    mix-blend-mode: normal;
    opacity: 0.5;
}
/* Logo invert for dark mode */
body.glp-dark-mode .glp-search-logo {
    filter: brightness(0) invert(1);
}
/* Search bar — dark mode */
body.glp-dark-mode .dog-search-container-home {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .dog-search-container-home:focus-within {
    border-color: #D74709;
    box-shadow: 0 0 0 3px rgba(215, 71, 9, 0.15);
}
body.glp-dark-mode .dog-search-container-home input {
    background: transparent !important;
    color: #e4e4e7 !important;
    border-color: transparent !important;
}
body.glp-dark-mode .dog-search-container-home input::placeholder {
    color: #6b6b80 !important;
}
body.glp-dark-mode .dog-search-container-home button {
    color: #9ca3af;
    border-left-color: #2a2a3e;
    background: transparent;
}
body.glp-dark-mode .dog-search-container-home button:hover {
    background: #252540;
    color: #D74709;
}
/* Featured dog circles */
body.glp-dark-mode .featured-dog-circle {
    background-color: #1e1e36;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
body.glp-dark-mode .featured-dog-circle img {
    border-color: #2a2a3e;
}
body.glp-dark-mode .featured-dog-circle.add-new {
    background-color: #1e1e36;
    border-color: #2a2a3e;
    color: #6b6b80;
}
body.glp-dark-mode .featured-dog-circle.add-new:hover {
    background-color: #252540;
    color: #D74709;
    border-color: #D74709;
}
/* Homepage search results popup — dark mode */
body.glp-dark-mode .dog-search-results-popup-home .dog-search-results-popup {
    background: #1e1e36;
    border-color: #2a2a3e;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}
body.glp-dark-mode .dog-search-results-popup-home h4.search-category-title {
    color: #8b8ba0;
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .dog-search-results-popup-home .dog-search-result {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .dog-search-results-popup-home .dog-search-result:hover {
    background-color: #252540;
}
body.glp-dark-mode .dog-search-results-popup-home .dog-search-result a {
    color: #e4e4e7;
}
body.glp-dark-mode .dog-search-results-popup-home .dog-search-result span {
    color: #8b8ba0;
}

/* --- 22. CRM (Dashboard + Pipeline) --- */
body.glp-dark-mode .glp-dashboard-wrapper {
    background: #1e1e36 !important;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
/* Dashboard title */
body.glp-dark-mode .glp-dashboard-wrapper h2,
body.glp-dark-mode .glp-dashboard-wrapper h3 {
    color: #e4e4e7 !important;
}
/* Tabs — active tab should NOT be orange bg, just text */
body.glp-dark-mode .glp-dashboard-wrapper .dash-tab-btn {
    background: transparent !important;
    color: #9ca3af;
    border-color: transparent;
}
body.glp-dark-mode .glp-dashboard-wrapper .dash-tab-btn.active {
    color: var(--glp-shell-brand) !important;
    background: transparent !important;
    border-bottom-color: var(--glp-shell-brand) !important;
}
body.glp-dark-mode .glp-dashboard-wrapper .dash-tab-btn:hover {
    color: #e4e4e7;
    background: transparent !important;
}
/* Horizontal separators */
body.glp-dark-mode .glp-dashboard-wrapper .dash-header {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .glp-dashboard-wrapper .dash-tabs {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .glp-dashboard-wrapper hr {
    border-color: #2a2a3e !important;
}
/* Scroll gradient fade (right side) — dark instead of white */
body.glp-dark-mode .glp-dashboard-wrapper .dash-grid-scroll::after {
    background: linear-gradient(to left, #1e1e36 0%, transparent 100%) !important;
}
/* Financial stat cards */
body.glp-dark-mode .glp-dashboard-wrapper .dash-card {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .glp-dashboard-wrapper .dash-card .val {
    color: #e4e4e7;
}
/* Filter box ("Filtrar por Año/Mes") */
body.glp-dark-mode .glp-dashboard-wrapper .dash-time-filters {
    background: #16162a !important;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
/* Pipeline stage boxes */
body.glp-dark-mode .glp-dashboard-wrapper .stage-box {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .glp-dashboard-wrapper .stage-box:hover {
    background: #252540;
}
body.glp-dark-mode .glp-dashboard-wrapper .stage-box strong {
    color: #e4e4e7;
}
/* Funnel config popup (inline styles in JS) */
body.glp-dark-mode .config-stage-item,
body.glp-dark-mode [style*="background:#f9f9f9"],
body.glp-dark-mode [style*="background:#fff"] {
    background: #1e1e36 !important;
    border-color: #2a2a3e !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode .crm-container,
body.glp-dark-mode .crm-board {
    color: #e4e4e7;
}
body.glp-dark-mode .crm-column {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .crm-column-header {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .crm-card {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .crm-card:hover {
    border-color: #3a3a4e;
}
body.glp-dark-mode .pipeline-header {
    color: #e4e4e7;
}
body.glp-dark-mode .crm-tab {
    color: #9ca3af;
}
body.glp-dark-mode .crm-tab.active {
    color: var(--glp-shell-brand);
    border-color: var(--glp-shell-brand);
}

/* --- 23. User Profile --- */
body.glp-dark-mode .user-profile-container {
    color: #e4e4e7;
}
body.glp-dark-mode .user-profile-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .user-profile-image {
    border-color: #1e1e36;
}
body.glp-dark-mode .glp-alert.error {
    background: #2a1010;
    color: #fca5a5;
    border-color: #7f1d1d;
}

/* --- 24. Breed Standard --- */
body.glp-dark-mode .bs-highlighted {
    background-color: #2a2a10 !important;
    color: #fbbf24;
}

/* --- 25. Pricing --- */
body.glp-dark-mode .pricing-card {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}

/* --- 26. Color Selector Utility --- */
body.glp-dark-mode .color-selector-popup {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .color-option {
    color: #e4e4e7;
}

/* --- 27. Kennel Assign Utility --- */
body.glp-dark-mode .kennel-assign-container {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .kennel-assign-item {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .kennel-assign-item:hover {
    background: #252540;
}

/* --- 28. Wizard / Modals --- */
body.glp-dark-mode .glp-wizard-overlay {
    background: rgba(0, 0, 0, 0.7);
}
body.glp-dark-mode .glp-wizard-popup {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .glp-wizard-header {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .glp-wizard-body {
    background: #1e1e36;
    color: #d1d5db;
}
body.glp-dark-mode .glp-wizard-footer {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .glp-wizard-close {
    color: #9ca3af;
    background: transparent;
}
body.glp-dark-mode .glp-wizard-close:hover {
    color: #e4e4e7;
    background: transparent;
}

/* --- 29. Generic Catch-All for inline white backgrounds --- */
body.glp-dark-mode [style*="background: #fff"],
body.glp-dark-mode [style*="background:#fff"],
body.glp-dark-mode [style*="background: white"],
body.glp-dark-mode [style*="background:white"],
body.glp-dark-mode [style*="background-color: #fff"],
body.glp-dark-mode [style*="background-color:#fff"],
body.glp-dark-mode [style*="background-color: white"],
body.glp-dark-mode [style*="background-color:white"],
body.glp-dark-mode [style*="background-color: #ffffff"],
body.glp-dark-mode [style*="background-color:#ffffff"] {
    background: #1e1e36 !important;
}

/* White borders to dark */
body.glp-dark-mode [style*="border: 4px solid #fff"],
body.glp-dark-mode [style*="border: 3px solid #fff"],
body.glp-dark-mode [style*="border: 5px solid #fff"],
body.glp-dark-mode [style*="border: 2px solid #fff"] {
    border-color: #2a2a3e !important;
}

/* img borders that are white */
body.glp-dark-mode .dog-profile .parent-dog img,
body.glp-dark-mode .kennel-profile-image,
body.glp-dark-mode .notif-icon-stack img.main-pic,
body.glp-dark-mode .notif-icon-stack .fake-pic-1,
body.glp-dark-mode .notif-icon-stack .fake-pic-2 {
    border-color: #2a2a3e;
}
body.glp-dark-mode .notif-icon-stack .fake-pic-1 {
    background: #374151;
}
body.glp-dark-mode .notif-icon-stack .fake-pic-2 {
    background: #1e1e36;
}

/* --- 30. Kennel Desktop (role cards) --- */
body.glp-dark-mode .kennel-desktop-card {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}

/* --- 31. Calendar --- */
body.glp-dark-mode .fc,
body.glp-dark-mode .fc-theme-standard {
    color: #e4e4e7;
}
body.glp-dark-mode .fc-theme-standard td,
body.glp-dark-mode .fc-theme-standard th {
    border-color: #2a2a3e;
}
body.glp-dark-mode .fc-theme-standard .fc-scrollgrid {
    border-color: #2a2a3e;
}
body.glp-dark-mode .fc .fc-daygrid-day {
    background: #16162a;
}
body.glp-dark-mode .fc .fc-daygrid-day:hover {
    background: #1e1e36;
}
body.glp-dark-mode .fc .fc-col-header-cell {
    background: #1e1e36;
}

/* --- 32. Generic containers --- */
body.glp-dark-mode div[class*="-container"],
body.glp-dark-mode div[class*="-wrapper"] {
    color: #e4e4e7;
}
body.glp-dark-mode .card,
body.glp-dark-mode [class*="-card"]:not(.glp-user-card):not(.glp-dog-card):not(.glp-remove-fav) {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}

/* ==========================================================
 * 33. Contacts CRM Page (list view)
 * ======================================================== */
body.glp-dark-mode .genealogic-crm-page {
    color: #e4e4e7;
}
body.glp-dark-mode .crm-header {
    border-color: #2a2a3e;
}
body.glp-dark-mode .crm-header h2 {
    color: #e4e4e7;
}
body.glp-dark-mode .crm-search-box {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .crm-search-box input {
    color: #e4e4e7;
    background: transparent;
}
body.glp-dark-mode .crm-search-box input::placeholder {
    color: #6b7280;
}
body.glp-dark-mode .crm-contact-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .crm-contact-card:hover {
    border-color: #3a3a4e;
}
body.glp-dark-mode .contact-name {
    color: #e4e4e7;
}
body.glp-dark-mode .contact-details {
    color: #9ca3af;
}
body.glp-dark-mode .contact-source-badge {
    background: #252540;
    color: #9ca3af;
    border-color: #2a2a3e;
}
body.glp-dark-mode .contact-avatar-list {
    border-color: #2a2a3e;
}
body.glp-dark-mode .contact-selector-box {
    border-color: #3a3a4e;
}
body.glp-dark-mode .edit-contact-btn {
    background: #252540;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .edit-contact-btn:hover {
    background: #2a2a3e;
    border-color: #3a3a4e;
}
body.glp-dark-mode .btn-bulk-action {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .btn-bulk-action:hover {
    background: #252540;
    color: #e4e4e7;
}
/* Side panel */
body.glp-dark-mode #contact-side-panel {
    background: #1e1e36;
}
body.glp-dark-mode .panel-header {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .panel-header h3 {
    color: #e4e4e7;
}
body.glp-dark-mode .panel-body {
    background: #16162a;
}
body.glp-dark-mode .panel-footer {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .panel-form .form-group label {
    color: #d1d5db;
}
body.glp-dark-mode .panel-form .form-group input[type="text"],
body.glp-dark-mode .panel-form .form-group input[type="email"],
body.glp-dark-mode .panel-form .form-group textarea {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .panel-form .form-group input::placeholder,
body.glp-dark-mode .panel-form .form-group textarea::placeholder {
    color: #6b7280;
}
/* Pro feature overlay */
body.glp-dark-mode .pro-feature-overlay {
    background: rgba(0, 0, 0, 0.6);
}
body.glp-dark-mode .pro-feature-box {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}

/* ==========================================================
 * 34. Litter Planner — Input & Pedigree Nodes (missing)
 * ======================================================== */
body.glp-dark-mode .planner-input-icon input {
    background: #1e1e36 !important;
    border-color: #2a2a3e !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode .planner-input-icon input::placeholder {
    color: #6b7280 !important;
}
body.glp-dark-mode .planner-input-icon i {
    color: #6b7280;
}
body.glp-dark-mode .planner-dog-col label {
    color: #9ca3af;
}
body.glp-dark-mode .planner-sire label { color: #60a5fa; }
body.glp-dark-mode .planner-dam label  { color: #f472b6; }
body.glp-dark-mode .planner-result-name {
    color: #e4e4e7;
}
body.glp-dark-mode .planner-result-breed {
    color: #9ca3af;
}
body.glp-dark-mode .planner-card-name {
    color: #e4e4e7;
}
body.glp-dark-mode .planner-card-breed {
    color: #9ca3af;
}
body.glp-dark-mode .planner-deselect {
    background: #252540;
    color: #9ca3af;
}
body.glp-dark-mode .planner-deselect:hover {
    background: #e74c3c;
    color: #fff;
}
body.glp-dark-mode .planner-x-divider {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .planner-no-results {
    color: #6b7280;
}
body.glp-dark-mode .planner-pedigree-divider::before {
    background: #2a2a3e;
}
body.glp-dark-mode .planner-pedigree-divider span {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
/* Pedigree node cards in planner */
body.glp-dark-mode .node-content {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .node-content:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
body.glp-dark-mode .dog-name {
    color: #e4e4e7;
}
body.glp-dark-mode .dog-breed {
    color: #9ca3af;
}
body.glp-dark-mode .empty-node {
    background: #16162a;
    color: #6b7280;
}
body.glp-dark-mode .node-content img {
    background: #16162a;
}
/* Floating controls */
body.glp-dark-mode .glp-fab {
    background-color: #1e1e36;
    color: #9ca3af;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
body.glp-dark-mode .fab-orange:hover,
body.glp-dark-mode .fab-black:hover,
body.glp-dark-mode .fab-white:hover {
    background-color: #252540;
    color: #e4e4e7;
}
body.glp-dark-mode .fab-gen-menu {
    background: #1e1e36;
    border-color: #2a2a3e;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
body.glp-dark-mode .fab-menu-item {
    color: #9ca3af;
}
body.glp-dark-mode .fab-menu-item:hover {
    background: #252540;
    color: #e4e4e7;
}
/* COI panel */
body.glp-dark-mode #coi-health-panel {
    background: #1e1e36;
    box-shadow: -8px 0 40px rgba(0, 0, 0, 0.4);
}
body.glp-dark-mode .coi-panel-header {
    border-color: #2a2a3e;
}
body.glp-dark-mode .coi-panel-header h3 {
    color: #e4e4e7;
}
body.glp-dark-mode #coi-panel-collapse {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .coi-bar {
    background: #252540;
}
body.glp-dark-mode .coi-bar-labels {
    color: #6b7280;
}
body.glp-dark-mode .coi-gen-info {
    color: #6b7280;
}
body.glp-dark-mode #coi-panel-toggle {
    background: #1e1e36;
    color: #9ca3af;
    box-shadow: -2px 0 12px rgba(0, 0, 0, 0.3);
}
body.glp-dark-mode #coi-panel-toggle:hover {
    background: #252540;
}
/* Pedigree tree lines */
body.glp-dark-mode .layout-horizontal .pedigree-node::before,
body.glp-dark-mode .layout-horizontal .pedigree-node::after,
body.glp-dark-mode .layout-horizontal .pedigree-children::before,
body.glp-dark-mode .layout-vertical .pedigree-node::before,
body.glp-dark-mode .layout-vertical .pedigree-node::after,
body.glp-dark-mode .layout-vertical .node-content::before,
body.glp-dark-mode .layout-vertical .pedigree-children::before {
    background: #3a3a4e;
}

/* ==========================================================
 * 35. Account / Mi Cuenta Page
 * ======================================================== */
body.glp-dark-mode .glp-account-container {
    background: transparent !important;
}
body.glp-dark-mode .glp-account-tabs {
    border-bottom-color: #2a2a3e !important;
}
body.glp-dark-mode .glp-tab-btn {
    color: #6b7280 !important;
}
body.glp-dark-mode .glp-tab-btn:hover {
    color: #D74709 !important;
    background: none !important;
}
body.glp-dark-mode .glp-tab-btn.active {
    color: #D74709 !important;
    border-bottom-color: #D74709 !important;
    background: none !important;
}
body.glp-dark-mode .glp-tab-content {
    background: #22223a !important;
    border-color: #2a2a3e !important;
}
body.glp-dark-mode .glp-section-title {
    color: #e4e4e7;
}
body.glp-dark-mode .glp-form-group label {
    color: #6b7280 !important;
}
body.glp-dark-mode .glp-form-group input,
body.glp-dark-mode .glp-form-group select {
    background: #16162a !important;
    border-color: #2a2a3e !important;
    color: #e4e4e7 !important;
}
body.glp-dark-mode .glp-form-group input::placeholder {
    color: #6b7280;
}
body.glp-dark-mode .glp-form-group input:focus,
body.glp-dark-mode .glp-form-group select:focus {
    border-color: #D74709 !important;
    box-shadow: 0 0 0 3px rgba(215, 71, 9, 0.2) !important;
}
body.glp-dark-mode .glp-btn-submit {
    background: #D74709 !important;
    color: #fff !important;
}
body.glp-dark-mode .glp-btn-submit:hover {
    background: #c03d07 !important;
    color: #fff !important;
}
body.glp-dark-mode .glp-alert.success {
    background: #0a2a10;
    color: #86efac;
    border-color: #166534;
}

/* ==========================================================
 * 36. Login / Register Page
 * ======================================================== */
body.glp-dark-mode .glp-login-page {
    background: #111827;
}
body.glp-dark-mode .glp-login-title {
    color: #e4e4e7;
}
body.glp-dark-mode .glp-login-subtitle {
    color: #9ca3af;
}
body.glp-dark-mode .glp-login-tabs {
    background: #1e1e36;
}
body.glp-dark-mode .glp-login-tab {
    color: #9ca3af;
}
body.glp-dark-mode .glp-login-tab:hover {
    color: #d1d5db;
}
body.glp-dark-mode .glp-login-tab.active {
    background: #252540;
    color: #e4e4e7;
    box-shadow: none;
}
body.glp-dark-mode .glp-login-field label {
    color: #d1d5db;
}
body.glp-dark-mode .glp-login-input-wrap input {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .glp-login-input-wrap input::placeholder {
    color: #6b7280;
}
body.glp-dark-mode .glp-login-input-wrap input:focus {
    border-color: var(--glp-brand, #D74709);
    box-shadow: 0 0 0 4px rgba(215, 71, 9, 0.15);
}
body.glp-dark-mode .glp-login-input-wrap > i:first-child {
    color: #6b7280;
}
body.glp-dark-mode .glp-login-toggle-pw {
    color: #6b7280;
}
body.glp-dark-mode .glp-login-divider::before,
body.glp-dark-mode .glp-login-divider::after {
    background: #2a2a3e;
}
body.glp-dark-mode .glp-login-divider span {
    color: #6b7280;
}
body.glp-dark-mode .glp-login-social-btn {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .glp-login-social-btn:hover {
    background: #252540;
    border-color: #3a3a4e;
}
body.glp-dark-mode .glp-login-footer-text {
    color: #9ca3af;
}
body.glp-dark-mode .glp-login-page-image {
    background: linear-gradient(135deg, #1a1a2e 0%, #16162a 100%);
}
body.glp-dark-mode .glp-login-message.is-error {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
}
body.glp-dark-mode .glp-login-message.is-success {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.2);
    color: #86efac;
}

/* --- Vet Records / Cartilla Veterinaria --- */
body.glp-dark-mode .vet-standalone-header h2 { color: #e4e4e7; }
body.glp-dark-mode .vet-dog-selector {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .vet-filter {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .vet-filter:hover { border-color: #D74709; color: #D74709; }
body.glp-dark-mode .vet-filter.active { background: #D74709; color: #fff; border-color: #D74709; }
body.glp-dark-mode .vet-status-badge {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .vet-status-badge strong { color: #e4e4e7; }
body.glp-dark-mode .vet-badge-ok { border-left-color: #10B981; }
body.glp-dark-mode .vet-badge-upcoming { border-left-color: #F59E0B; }
body.glp-dark-mode .vet-badge-overdue { border-left-color: #EF4444; }
body.glp-dark-mode .vet-badge-empty { border-left-color: #374151; }
body.glp-dark-mode .vet-records-table-wrap {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .vet-records-table thead th {
    background: #16162a;
    color: #6b7280;
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .vet-records-table tbody tr { border-bottom-color: #2a2a3e; }
body.glp-dark-mode .vet-records-table tbody tr:hover { background: #16162a; }
body.glp-dark-mode .vet-records-table td { color: #e4e4e7; }
body.glp-dark-mode .vet-name-cell strong { color: #e4e4e7; }
body.glp-dark-mode .vet-name-cell small { color: #6b7280; }
body.glp-dark-mode .status-ok { background: rgba(16,185,129,0.15); color: #34d399; }
body.glp-dark-mode .status-upcoming { background: rgba(245,158,11,0.15); color: #fbbf24; }
body.glp-dark-mode .status-overdue { background: rgba(239,68,68,0.15); color: #f87171; }
body.glp-dark-mode .vet-record-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .vet-record-card:hover { border-color: #D74709; }
body.glp-dark-mode .vet-record-info strong { color: #e4e4e7; }
body.glp-dark-mode .vet-record-info span { color: #6b7280; }
body.glp-dark-mode .vet-record-date { color: #9ca3af; }
body.glp-dark-mode .vet-icon-vaccine { background: rgba(59,130,246,0.15); color: #60a5fa; }
body.glp-dark-mode .vet-icon-deworming { background: rgba(16,185,129,0.15); color: #34d399; }
body.glp-dark-mode .vet-icon-treatment { background: rgba(245,158,11,0.15); color: #fbbf24; }
body.glp-dark-mode .vet-icon-test { background: rgba(139,92,246,0.15); color: #a78bfa; }
body.glp-dark-mode .vet-icon-surgery { background: rgba(239,68,68,0.15); color: #f87171; }
body.glp-dark-mode .vet-row-action {
    background: #16162a;
    border-color: #2a2a3e;
    color: #6b7280;
}
body.glp-dark-mode .vet-row-action:hover { color: #D74709; border-color: #D74709; }
body.glp-dark-mode .vet-row-action.vet-delete:hover { color: #f87171; border-color: #f87171; }
body.glp-dark-mode .vet-modal {
    background: #1e1e36;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
body.glp-dark-mode .vet-modal-header { background: #1e1e36; border-bottom-color: #2a2a3e; }
body.glp-dark-mode .vet-modal-header h3 { color: #e4e4e7; }
body.glp-dark-mode .vet-modal-close { background: #16162a; color: #9ca3af; }
body.glp-dark-mode .vet-modal-close:hover { background: #2a2a3e; color: #e4e4e7; }
body.glp-dark-mode .vet-form-group label { color: #e4e4e7; }
body.glp-dark-mode .vet-form-group input,
body.glp-dark-mode .vet-form-group select,
body.glp-dark-mode .vet-form-group textarea {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .vet-form-group input:focus,
body.glp-dark-mode .vet-form-group select:focus,
body.glp-dark-mode .vet-form-group textarea:focus {
    border-color: #D74709;
    box-shadow: 0 0 0 3px rgba(215,71,9,0.2);
}
body.glp-dark-mode .vet-file-dropzone {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .vet-file-dropzone:hover { border-color: #D74709; }
body.glp-dark-mode .vet-file-dropzone span { color: #9ca3af; }
body.glp-dark-mode .vet-file-dropzone small { color: #6b7280; }
body.glp-dark-mode .vet-file-preview {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .vet-file-preview span { color: #e4e4e7; }
body.glp-dark-mode .vet-modal-footer { background: #1e1e36; border-top-color: #2a2a3e; }
body.glp-dark-mode .vet-btn-cancel {
    background: #16162a;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .vet-btn-cancel:hover { background: #2a2a3e; }
body.glp-dark-mode .vet-btn-full {
    background: #1e1e36;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .vet-btn-full:hover { border-color: #D74709; color: #D74709; }
body.glp-dark-mode .vet-empty-state,
body.glp-dark-mode .vet-login-required {
    background: #16162a;
    border-color: #2a2a3e;
    color: #6b7280;
}
body.glp-dark-mode .vet-empty-state i,
body.glp-dark-mode .vet-login-required i { color: #374151; }
body.glp-dark-mode .vet-certifications .vet-section-title { color: #e4e4e7; }
body.glp-dark-mode .vet-cert-item {
    background: #16162a;
    border-color: #2a2a3e;
}
body.glp-dark-mode .vet-cert-item span { color: #e4e4e7; }
body.glp-dark-mode .vet-cert-item strong { color: #6b7280; }
body.glp-dark-mode .vet-public-doc-item {
    background: #16162a;
    border-color: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .vet-public-doc-item:hover { border-color: #D74709; background: #1e1e36; }
body.glp-dark-mode .vet-public-doc-item strong { color: #e4e4e7; }
body.glp-dark-mode .vet-public-doc-item small { color: #6b7280; }
/* Public profile cards */
body.glp-dark-mode .vet-public-card { background: #1e1e36; border-color: #2a2a3e; }
body.glp-dark-mode .vet-public-card-body strong { color: #e4e4e7; }
body.glp-dark-mode .vet-public-card-type { color: #6b7280; }
body.glp-dark-mode .vet-public-card-date,
body.glp-dark-mode .vet-public-card-vet { color: #9ca3af; }
body.glp-dark-mode .vet-public-card-notes { color: #6b7280; }
body.glp-dark-mode .vet-public-card-download { background: #16162a; border-color: #2a2a3e; }
body.glp-dark-mode .vet-public-toggle { border-top-color: #2a2a3e; }
body.glp-dark-mode .vet-checkbox-label span { color: #e4e4e7; }
body.glp-dark-mode .vet-checkbox-label small { color: #6b7280; }
body.glp-dark-mode .vet-summary-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .vet-summary-card .vet-summary-data strong { color: #e4e4e7; }
body.glp-dark-mode .vet-summary-card .vet-summary-data small { color: #6b7280; }
body.glp-dark-mode .vet-form-feedback.success { background: rgba(16,185,129,0.15); color: #34d399; }
body.glp-dark-mode .vet-form-feedback.error { background: rgba(239,68,68,0.15); color: #f87171; }

/* --- Edit Dog Tabs & Form --- */
body.glp-dark-mode .dog-edit-tabs { border-bottom-color: #2a2a3e; }
body.glp-dark-mode .dog-edit-tab { color: #6b7280; }
body.glp-dark-mode .dog-edit-tab:hover { color: #D74709; }
body.glp-dark-mode .dog-edit-tab.active { color: #D74709; border-bottom-color: #D74709; }
body.glp-dark-mode .dog-form-section { background: #22223a; border-color: #2a2a3e; }
body.glp-dark-mode .dog-form-section-title { color: #e4e4e7; }
body.glp-dark-mode .dog-form-field label { color: #6b7280; }
body.glp-dark-mode .dog-form input[type="text"],
body.glp-dark-mode .dog-form input[type="date"],
body.glp-dark-mode .dog-form select,
body.glp-dark-mode .dog-form input[type="number"] {
    background: #16162a; border-color: #2a2a3e; color: #e4e4e7;
}
body.glp-dark-mode .dog-form input:focus,
body.glp-dark-mode .dog-form select:focus {
    border-color: #D74709; box-shadow: 0 0 0 3px rgba(215,71,9,0.2);
}
body.glp-dark-mode .dog-form input[readonly],
body.glp-dark-mode .dog-form select[disabled] { background: #16162a; color: #9ca3af; }
body.glp-dark-mode .selected-dog { background: #16162a; border-color: #2a2a3e; color: #e4e4e7; }
body.glp-dark-mode .selected-dog .dog-details strong { color: #e4e4e7; }
body.glp-dark-mode .selected-dog .dog-details span { color: #6b7280; }
body.glp-dark-mode .verification-block { background: #1e1e36; border-color: #2a2a3e; }
body.glp-dark-mode .verify-btn { background: #e4e4e7; color: #111; }
body.glp-dark-mode .verify-btn:hover { background: #fff; }
body.glp-dark-mode .dog-change-history { background: #1e1e36; border-color: #2a2a3e; }
body.glp-dark-mode .dog-change-history h3 { color: #e4e4e7; }
body.glp-dark-mode .dog-change-history li { background: #16162a; border-color: #2a2a3e; color: #9ca3af; }
body.glp-dark-mode .add-gallery-item { border-color: #2a2a3e; }
body.glp-dark-mode .add-gallery-item:hover { border-color: #D74709; }
body.glp-dark-mode .add-gallery-item i { color: #4b5563; }
/* Verification tab */
body.glp-dark-mode .verify-tab-info h3,
body.glp-dark-mode .verify-tab-status h3 { color: #e4e4e7; }
body.glp-dark-mode .verify-tab-info p,
body.glp-dark-mode .verify-tab-status p { color: #9ca3af; }
body.glp-dark-mode .verify-tab-icon-wrap.default { background: rgba(215, 71, 9, 0.15); }
body.glp-dark-mode .verify-tab-icon-wrap.verified { background: rgba(46, 204, 113, 0.15); }
body.glp-dark-mode .verify-tab-icon-wrap.pending { background: rgba(243, 156, 18, 0.15); }
body.glp-dark-mode .verify-step { background: #16162a; border-color: #2a2a3e; }
body.glp-dark-mode .verify-step strong { color: #e4e4e7; }
body.glp-dark-mode .verify-step span { color: #6b7280; }
body.glp-dark-mode .verify-tab-form { border-top-color: #2a2a3e; }
body.glp-dark-mode .verify-tab-form input[type="text"] { background: #16162a; border-color: #2a2a3e; color: #e4e4e7; }
body.glp-dark-mode .verify-tab-form input[type="text"]:focus { border-color: #D74709; box-shadow: 0 0 0 3px rgba(215,71,9,0.2); }
body.glp-dark-mode .verify-file-input { background: #16162a; border-color: #2a2a3e; color: #e4e4e7; }
body.glp-dark-mode #verification-error-message { color: #f87171; }
/* Fix form label in dark mode */
body.glp-dark-mode .dog-form label,
body.glp-dark-mode .verify-tab-form label { color: #6b7280; }
body.glp-dark-mode .dog-form input[type="submit"],
body.glp-dark-mode .new-dog-form input[type="submit"] {
    background: #D74709; color: #fff;
}
body.glp-dark-mode .dog-form input[type="submit"]:hover,
body.glp-dark-mode .new-dog-form input[type="submit"]:hover {
    background: #c03d07;
}

/* --- PDF Export Button --- */
body.glp-dark-mode .genealogic-btn-pdf {
    background: transparent; color: #f87171; border-color: #f87171;
}
body.glp-dark-mode .genealogic-btn-pdf:hover {
    background: #f87171; color: #fff;
}

/* --- Awards / Palmares Dark Mode --- */
body.glp-dark-mode .award-status-badge { background: #1e1e36; border-color: #2a2a3e; }
body.glp-dark-mode .award-status-badge strong { color: #e4e4e7; }
body.glp-dark-mode .award-badge-empty { border-left-color: #374151; }
body.glp-dark-mode .award-filter-bar { border-bottom-color: #2a2a3e; }
body.glp-dark-mode .award-filter { background: #1e1e36; border-color: #2a2a3e; color: #9ca3af; }
body.glp-dark-mode .award-filter:hover { border-color: #D74709; color: #D74709; }
body.glp-dark-mode .award-filter.active { background: #D74709; color: #fff; border-color: #D74709; }
body.glp-dark-mode .award-record-card { background: #1e1e36; border-color: #2a2a3e; }
body.glp-dark-mode .award-record-card:hover { border-color: #D74709; }
body.glp-dark-mode .award-record-info strong { color: #e4e4e7; }
body.glp-dark-mode .award-record-info span { color: #9ca3af; }
body.glp-dark-mode .award-record-date { color: #e4e4e7; }
body.glp-dark-mode .award-row-action { background: #16162a; border-color: #2a2a3e; color: #9ca3af; }
body.glp-dark-mode .award-row-action:hover { color: #D74709; border-color: #D74709; }
body.glp-dark-mode .award-row-action.award-delete:hover { color: #f87171; border-color: #f87171; }
body.glp-dark-mode .award-icon-cac   { background: rgba(205,127,50,0.15); }
body.glp-dark-mode .award-icon-cacib { background: rgba(192,192,192,0.12); }
body.glp-dark-mode .award-icon-bob   { background: rgba(59,130,246,0.15); }
body.glp-dark-mode .award-icon-bos   { background: rgba(236,72,153,0.15); }
body.glp-dark-mode .award-icon-bog   { background: rgba(245,158,11,0.15); }
body.glp-dark-mode .award-icon-bis   { background: rgba(255,215,0,0.15); }
body.glp-dark-mode .award-icon-other { background: rgba(107,114,128,0.15); }
body.glp-dark-mode .award-modal-overlay { background: rgba(0,0,0,0.75); }
body.glp-dark-mode .award-modal { background: #1e1e36; }
body.glp-dark-mode .award-modal-header { background: #1e1e36; border-bottom-color: #2a2a3e; }
body.glp-dark-mode .award-modal-header h3 { color: #e4e4e7; }
body.glp-dark-mode .award-modal-close { background: #16162a; color: #9ca3af; }
body.glp-dark-mode .award-modal-close:hover { background: #2a2a3e; color: #e4e4e7; }
body.glp-dark-mode .award-form-group label { color: #6b7280; }
body.glp-dark-mode .award-form-group input[type="text"],
body.glp-dark-mode .award-form-group input[type="date"],
body.glp-dark-mode .award-form-group select,
body.glp-dark-mode .award-form-group textarea { background: #16162a; border-color: #2a2a3e; color: #e4e4e7; }
body.glp-dark-mode .award-form-group input:focus,
body.glp-dark-mode .award-form-group select:focus,
body.glp-dark-mode .award-form-group textarea:focus { border-color: #D74709; box-shadow: 0 0 0 3px rgba(215,71,9,0.2); }
body.glp-dark-mode .award-file-dropzone { background: #16162a; border-color: #2a2a3e; }
body.glp-dark-mode .award-file-dropzone i { color: #4b5563; }
body.glp-dark-mode .award-file-dropzone span { color: #9ca3af; }
body.glp-dark-mode .award-file-preview { background: #16162a; border-color: #2a2a3e; }
body.glp-dark-mode .award-file-preview span { color: #e4e4e7; }
body.glp-dark-mode .award-public-toggle { border-top-color: #2a2a3e; }
body.glp-dark-mode .award-checkbox-label span { color: #e4e4e7; }
body.glp-dark-mode .award-modal-footer { background: #1e1e36; border-top-color: #2a2a3e; }
body.glp-dark-mode .award-btn-cancel { background: #16162a; border-color: #2a2a3e; color: #9ca3af; }
body.glp-dark-mode .award-btn-cancel:hover { background: #2a2a3e; }
body.glp-dark-mode .award-empty-state { color: #6b7280; }
body.glp-dark-mode .award-empty-state i { color: #374151; }

/* --- Pedigree PDF Tab Dark Mode --- */
body.glp-dark-mode #tab-pedigree-pdf h3 { color: #e4e4e7; }
body.glp-dark-mode #tab-pedigree-pdf p { color: #9ca3af; }
body.glp-dark-mode #tab-pedigree-pdf p strong { color: #e4e4e7; }
body.glp-dark-mode #tab-pedigree-pdf [style*="FFFBEB"] {
    background: rgba(146, 64, 14, 0.15) !important;
    border-color: #5a3a10 !important;
}
body.glp-dark-mode #tab-pedigree-pdf [style*="92400E"] { color: #fbbf24 !important; }

/* ==========================================================
 * User Desktop (Unified) — .ud-* components
 * ======================================================== */

/* Hero */
body.glp-dark-mode .ud-hero-overlay {
    background: linear-gradient(135deg, rgba(215,71,9,0.65) 0%, rgba(22,22,42,0.85) 100%);
}

/* Stats grid */
body.glp-dark-mode .ud-stat-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .ud-stat-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
body.glp-dark-mode .ud-stat-value {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-stat-label {
    color: #6b7280;
}
body.glp-dark-mode .ud-stat-icon {
    background: rgba(215,71,9,0.15);
}

/* Chart card */
body.glp-dark-mode .ud-chart-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .ud-chart-header h2 {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-chart-header h2 i {
    color: #6b7280;
}
body.glp-dark-mode .ud-chart-month {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-chart-nav-btn {
    background: #252540;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .ud-chart-nav-btn:hover {
    background: #2a2a3e;
    color: #e4e4e7;
}
body.glp-dark-mode .ud-chart-mobile-stat {
    color: #e4e4e7;
    border-bottom-color: #2a2a3e;
}

/* Activity cards */
body.glp-dark-mode .ud-activity-card {
    background: #1e1e36;
    border-color: #2a2a3e;
}
body.glp-dark-mode .ud-activity-card h3 {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-activity-card h3 i {
    color: #6b7280;
}
body.glp-dark-mode .ud-activity-item:hover {
    background: #252540;
}
body.glp-dark-mode .ud-activity-item + .ud-activity-item {
    border-top-color: #2a2a3e;
}
body.glp-dark-mode .ud-activity-name {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-activity-sub {
    color: #9ca3af;
}
body.glp-dark-mode .ud-activity-time {
    color: #6b7280;
}
body.glp-dark-mode .ud-activity-arrow {
    color: #6b7280;
}

/* Achievement row */
body.glp-dark-mode .ud-achievement {
    background: #1e1e36;
    border-color: #3a3a4e;
}
body.glp-dark-mode .ud-achievement.is-unlocked .ud-achievement-title {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-achievement.is-locked .ud-achievement-icon {
    background: #252540;
}
body.glp-dark-mode .ud-achievement.is-locked .ud-achievement-icon i {
    color: #6b7280;
}
body.glp-dark-mode .ud-achievement.is-locked .ud-achievement-title {
    color: #6b7280;
}

/* Empty state */
body.glp-dark-mode .ud-empty {
    color: #6b7280;
}
body.glp-dark-mode .ud-empty i {
    color: #374151;
}

/* Login required */
body.glp-dark-mode .ud-login-required {
    background: #1e1e36;
}
body.glp-dark-mode .ud-login-required i {
    color: #6b7280;
}
body.glp-dark-mode .ud-login-required p {
    color: #9ca3af;
}

/* Transaction list */
body.glp-dark-mode .ud-transaction-item {
    border-bottom-color: #2a2a3e;
}
body.glp-dark-mode .ud-trans-desc {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-trans-date {
    color: #6b7280;
}
body.glp-dark-mode .ud-trans-icon.is-income {
    background: rgba(16,185,129,0.15);
}
body.glp-dark-mode .ud-trans-icon.is-expense {
    background: rgba(239,68,68,0.15);
}

/* Activity card scrollbar */
body.glp-dark-mode .ud-activity-card::-webkit-scrollbar-thumb {
    background: #2a2a3e;
}
body.glp-dark-mode .ud-activity-card::-webkit-scrollbar-thumb:hover {
    background: #3a3a4e;
}

/* SVG placeholder dark mode */
body.glp-dark-mode .ud-activity-thumb[src$=".svg"] {
    background: #252540;
}

/* Achievement popup dark mode */
body.glp-dark-mode .ud-ach-popup-body h3 {
    color: #e4e4e7;
}
body.glp-dark-mode .ud-ach-popup-body p {
    color: #9ca3af;
}
body.glp-dark-mode .ud-ach-popup-status.is-locked {
    background: rgba(107,114,128,0.15);
    color: #6b7280;
}
body.glp-dark-mode .ud-ach-popup-status.is-unlocked {
    background: rgba(16,185,129,0.15);
}

/* Upload popup dark mode */
body.glp-dark-mode .ud-upload-dropzone {
    border-color: #2a2a3e;
}
body.glp-dark-mode .ud-upload-dropzone:hover {
    border-color: #D74709;
    background: rgba(215,71,9,0.05);
}
body.glp-dark-mode .ud-upload-dropzone i {
    color: #6b7280;
}
body.glp-dark-mode .ud-upload-dropzone p {
    color: #6b7280;
}
body.glp-dark-mode .ud-upload-footer {
    background: #16162a;
    border-top-color: #2a2a3e;
}
body.glp-dark-mode .ud-upload-btn-cancel {
    background: #252540;
    border-color: #2a2a3e;
    color: #9ca3af;
}
body.glp-dark-mode .ud-upload-btn-cancel:hover {
    background: #2a2a3e;
    color: #e4e4e7;
}
