/* Dark theme variables - IMPROVED COLORS */
[data-theme="dark"] {
  --bs-body-color: #e9ecef;
  --bs-body-bg: #121212;
  --bs-card-bg: #1e1e1e;
  --bs-card-border-color: #2d2d2d;
  --bs-border-color: #2d2d2d;
  --bs-light-bg: #2d2d2d;
  --bs-text-muted: #b0b0b0; /* Brighter muted text */
  --bs-heading-color: #ffffff;
  --bs-link-color: #ffffff; /* Green links instead of blue */
  --bs-link-hover-color: #ffffff;
  --bs-primary: #4CAF50;
  --bs-secondary: #6c757d;
  --bs-success: #28a745;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #2d2d2d;
  --bs-dark: #121212;
  --bs-label-color: #e0e0e0; /* New variable for labels */
}

/* ===== IMPROVED LABEL STYLES ===== */



[data-theme="dark"] .form-label.small {
  font-size: 0.95rem !important; /* Slightly larger for small labels */
  font-weight: 500 !important;
}

[data-theme="dark"] .form-label.fw-semibold {
  font-weight: 600 !important;
}

/* Filter section labels */
[data-theme="dark"] .filter-group .form-label {
  color: #f0f0f0 !important; /* Even brighter for filter labels */
  font-size: 1.05rem !important;
  font-weight: 600 !important;
}

/* Input group text labels */
[data-theme="dark"] .input-group-text {
  background-color: #3d3d3d !important;
  border-color: #3d3d3d !important;
  color: #f0f0f0 !important; /* Brighter text */
  font-weight: 500 !important;
}

/* ===== IMPROVED TEXT READABILITY ===== */

/* Body text - better contrast */
[data-theme="dark"] body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: 1rem; /* Ensure base font size is good */
  line-height: 1.6; /* Better line spacing */
}

/* Headings - better hierarchy */
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6 {
  color: var(--bs-heading-color) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

[data-theme="dark"] .h1, [data-theme="dark"] .h2, [data-theme="dark"] .h3,
[data-theme="dark"] .h4, [data-theme="dark"] .h5, [data-theme="dark"] .h6 {
  color: var(--bs-heading-color) !important;
  font-weight: 600 !important;
}

/* Text colors - improved contrast */
[data-theme="dark"] .text-muted {
  color: #b0b0b0 !important; /* Brighter muted text */
  font-size: 0.95rem !important; /* Slightly larger */
}

[data-theme="dark"] .text-dark,
[data-theme="dark"] .text-black {
  color: var(--bs-body-color) !important;
}

/* Small text - make it more readable */
[data-theme="dark"] .small {
  font-size: 0.9rem !important; /* Larger small text */
  color: #c0c0c0 !important; /* Better contrast */
}

[data-theme="dark"] p.small,
[data-theme="dark"] span.small,
[data-theme="dark"] div.small {
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
}

/* Detail View Styles */
.pet-avatar-large, .task-icon-large {
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--accent), var(--purple));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: white;
}

.task-icon-large.overdue {
    background: linear-gradient(135deg, var(--danger), #ff6b6b);
}

.detail-section {
    padding: 1.5rem;
    background: var(--light-card);
    border-radius: 12px;
    border: 1px solid var(--light-border);
}

.section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--light-text);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--accent);
}

.detail-label {
    font-weight: 600;
    color: var(--light-muted);
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
}

.detail-value {
    color: var(--light-text);
    font-size: 1rem;
    margin: 0;
}

.health-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
}

.stat-item {
    text-align: center;
    padding: 1rem;
    background: rgba(67, 97, 238, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(67, 97, 238, 0.1);
}

.stat-label {
    display: block;
    font-size: 0.875rem;
    color: var(--light-muted);
    margin-bottom: 0.5rem;
}

.stat-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--accent);
}

.countdown {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--accent);
}

.countdown.text-danger {
    color: var(--danger);
}

/* Dark theme support */
[data-theme="dark"] .detail-section {
    background: var(--dark-card);
    border-color: var(--dark-border);
}

[data-theme="dark"] .stat-item {
    background: rgba(67, 97, 238, 0.1);
    border-color: rgba(67, 97, 238, 0.2);
}

/* ===== SPECIFIC DASHBOARD ELEMENTS ===== */

/* Pet info text */
[data-theme="dark"] .pet-card .text-muted.small {
  color: #c0c0c0 !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
}

/* Filter results text */
[data-theme="dark"] .filter-results {
  color: #d0d0d0 !important; /* Brighter filter text */
  font-size: 0.95rem !important;
  font-weight: 500 !important;
}

/* Card header subtitles */
[data-theme="dark"] .card-header .text-muted {
  color: #c0c0c0 !important;
  font-size: 0.95rem !important;
}

/* Badge text */
[data-theme="dark"] .badge {
  font-size: 0.85rem !important; /* Make badge text more readable */
  font-weight: 500 !important;
}

/* Button text */
[data-theme="dark"] .btn {
  font-weight: 500 !important;
}

[data-theme="dark"] .btn-sm {
  font-size: 0.9rem !important;
}

/* ===== IMPROVED FORM CONTROLS ===== */

[data-theme="dark"] .form-control {
  background-color: #2d2d2d;
  border-color: #4d4d4d; /* Lighter border for better visibility */
  color: #f0f0f0; /* Brighter text */
  font-size: 1rem !important; /* Larger font in inputs */
}

[data-theme="dark"] .form-control:focus {
  background-color: #2d2d2d;
  border-color: #4CAF50;
  color: #f0f0f0;
  box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.25);
}

[data-theme="dark"] .form-select {
  background-color: #2d2d2d;
  border-color: #4d4d4d;
  color: #f0f0f0;
  font-size: 1rem !important;
}

[data-theme="dark"] .form-control::placeholder {
  color: #a0a0a0 !important; /* Better placeholder contrast */
  font-size: 0.95rem !important;
}

/* ===== IMPROVED COLOR SCHEME ===== */

/* Links - green instead of blue */
[data-theme="dark"] a {
  color: var(--bs-link-color) !important;
  font-weight: 500 !important;
}

[data-theme="dark"] a:hover {
  color: var(--bs-link-hover-color) !important;
}

/* Text utilities with better colors */
[data-theme="dark"] .text-primary {
  color: #4CAF50 !important; /* Green instead of pink */
}

[data-theme="dark"] .text-success {
  color: #28a745 !important;
}

[data-theme="dark"] .text-warning {
  color: #ffc107 !important;
}

[data-theme="dark"] .text-danger {
  color: #dc3545 !important;
}

[data-theme="dark"] .text-info {
  color: #17a2b8 !important; /* Proper info color */
}

/* ===== REST OF YOUR EXISTING STYLES (keeping them but with better colors) ===== */

[data-theme="dark"] .card {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-card-border-color);
  color: var(--bs-body-color);
}

[data-theme="dark"] .card-custom {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-card-border-color);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
  color: var(--bs-body-color);
}

[data-theme="dark"] .card-header {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border-bottom-color: var(--bs-border-color) !important;
  color: var(--bs-heading-color) !important;
}

/* Background utilities */
[data-theme="dark"] .bg-light {
  background-color: var(--bs-light-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-theme="dark"] .bg-white {
  background-color: var(--bs-card-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-theme="dark"] .bg-opacity-10 {
  background-color: rgba(76, 175, 80, 0.1) !important;
}

/* ... rest of your existing styles remain the same ... */

/* Mobile adjustments with better readability */
@media (max-width: 768px) {
  [data-theme="dark"] {
    --bs-body-font-size: 1rem; /* Keep readable on mobile */
  }
  
  [data-theme="dark"] .card-body {
    padding: 1.25rem; /* More padding on mobile */
  }
  
  [data-theme="dark"] .form-label {
    font-size: 1.05rem !important; /* Larger labels on mobile */
  }
  
  [data-theme="dark"] .small {
    font-size: 0.92rem !important; /* Larger small text on mobile */
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  [data-theme="dark"] {
    --bs-body-color: #ffffff;
    --bs-text-muted: #e0e0e0;
    --bs-label-color: #ffffff;
  }
}





/* Dark theme styles */
[data-theme="dark"] body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

/* Fix all text colors that might be hardcoded */
[data-theme="dark"],
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] .h1,
[data-theme="dark"] .h2,
[data-theme="dark"] .h3,
[data-theme="dark"] .h4,
[data-theme="dark"] .h5,
[data-theme="dark"] .h6 {
  color: var(--bs-heading-color) !important;
}

[data-theme="dark"] p,
[data-theme="dark"] span,
[data-theme="dark"] div,
[data-theme="dark"] li,
[data-theme="dark"] td,
[data-theme="dark"] th {
  color: var(--bs-body-color) !important;
}

[data-theme="dark"] a {
  color: var(--bs-link-color) !important;
}

[data-theme="dark"] a:hover {
  color: var(--bs-link-hover-color) !important;
}

/* Card styling for dashboard */
[data-theme="dark"] .card {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-card-border-color);
  color: var(--bs-body-color);
}

[data-theme="dark"] .card-custom {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-card-border-color);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
  color: var(--bs-body-color);
}

[data-theme="dark"] .card-header {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border-bottom-color: var(--bs-border-color) !important;
  color: var(--bs-heading-color) !important;
}

/* Text utilities */
[data-theme="dark"] .text-muted {
  color: var(--bs-text-muted) !important;
}

[data-theme="dark"] .text-dark {
  color: var(--bs-body-color) !important;
}

[data-theme="dark"] .text-black {
  color: var(--bs-body-color) !important;
}

/* Background utilities */
[data-theme="dark"] .bg-light {
  background-color: var(--bs-light-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-theme="dark"] .bg-white {
  background-color: var(--bs-card-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-theme="dark"] .bg-opacity-10 {
  background-color: rgba(76, 175, 80, 0.1) !important;
}

/* Border utilities */
[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-end,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start {
  border-color: var(--bs-border-color) !important;
}

/* List group items */
[data-theme="dark"] .list-group-item {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

[data-theme="dark"] .list-group-item:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Button styling */
[data-theme="dark"] .btn-outline-secondary {
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

[data-theme="dark"] .btn-outline-secondary:hover {
  background-color: var(--bs-border-color);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

[data-theme="dark"] .btn-custom {
  background: var(--bs-primary);
  border-color: var(--bs-primary);
  color: white;
}

[data-theme="dark"] .btn-custom:hover {
  background: #45a049;
  border-color: #45a049;
  color: white;
}

[data-theme="dark"] .btn-outline-custom {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}

[data-theme="dark"] .btn-outline-custom:hover {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}


[data-theme="dark"] .pet-card {
  border-color: var(--bs-border-color) !important;
}

[data-theme="dark"] .pet-card:hover {
  background-color: rgba(255, 255, 255, 0.02) !important;
}

/* Task description */
[data-theme="dark"] .task-description {
  background-color: #2d2d2d !important;
  border-left-color: var(--bs-warning) !important;
}

/* Edit forms */
[data-theme="dark"] .edit-form,
[data-theme="dark"] .edit-task-form {
  background-color: #2d2d2d !important;
  border-left-color: var(--bs-primary) !important;
}

/* Alert styles */
[data-theme="dark"] .alert-info {
  background-color: rgba(32, 84, 147, 0.2);
  border-color: rgba(32, 84, 147, 0.3);
  color: #9fcdff;
}

[data-theme="dark"] .alert-success {
  background-color: rgba(40, 167, 69, 0.2);
  border-color: rgba(40, 167, 69, 0.3);
  color: #9fdfb4;
}

[data-theme="dark"] .alert-warning {
  background-color: rgba(255, 193, 7, 0.2);
  border-color: rgba(255, 193, 7, 0.3);
  color: #ffeaa7;
}

[data-theme="dark"] .alert-danger {
  background-color: rgba(220, 53, 69, 0.2);
  border-color: rgba(220, 53, 69, 0.3);
  color: #f8d7da;
}

/* Form controls */
[data-theme="dark"] .form-control {
  background-color: #2d2d2d;
  border-color: #3d3d3d;
  color: #e9ecef;
}

[data-theme="dark"] .form-control:focus {
  background-color: #2d2d2d;
  border-color: #4CAF50;
  color: #e9ecef;
  box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.25);
}

[data-theme="dark"] .form-select {
  background-color: #2d2d2d;
  border-color: #3d3d3d;
  color: #e9ecef;
}

[data-theme="dark"] .input-group-text {
  background-color: #3d3d3d;
  border-color: #3d3d3d;
  color: #e9ecef;
}

/* Table styles */
[data-theme="dark"] table {
  color: #e9ecef;
}

[data-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: #e9ecef;
  --bs-table-border-color: #3d3d3d;
}

[data-theme="dark"] .table-hover tbody tr:hover {
  color: #e9ecef;
  background-color: rgba(255, 255, 255, 0.075);
}

/* Modal styles */
[data-theme="dark"] .modal-content {
  background-color: #1e1e1e;
  border-color: #2d2d2d;
  color: #e9ecef;
}

[data-theme="dark"] .modal-header {
  border-bottom-color: #2d2d2d;
}

[data-theme="dark"] .modal-footer {
  border-top-color: #2d2d2d;
}

[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* Badge styles */
[data-theme="dark"] .badge.bg-light {
  background-color: #3d3d3d !important;
  color: #e9ecef !important;
}

[data-theme="dark"] .badge.bg-dark {
  background-color: #e9ecef !important;
  color: #121212 !important;
}

[data-theme="dark"] .badge.bg-primary {
  background-color: var(--bs-primary) !important;
}

/* Specific component fixes */
[data-theme="dark"] .navbar-text {
  color: white !important;
}

[data-theme="dark"] .text-primary {
  color: #d30996 !important;
}

[data-theme="dark"] .text-success {
  color: #75b798 !important;
}

[data-theme="dark"] .text-warning {
  color: #ffda6a !important;
}

[data-theme="dark"] .text-danger {
  color: #ea868f !important;
}

[data-theme="dark"] .text-info {
  color: #ec0b0b !important;
}

/* Fix for any hardcoded black text */
[data-theme="dark"] [style*="color: black"],
[data-theme="dark"] [style*="color: #000"],
[data-theme="dark"] [style*="color: #000000"] {
  color: var(--bs-body-color) !important;
}

/* Fix for any hardcoded white backgrounds that should change */
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background-color: #ffffff"] {
  background-color: var(--bs-card-bg) !important;
}

/* No pets/tasks message */
[data-theme="dark"] .no-pets-message {
  color: var(--bs-text-muted) !important;
}

[data-theme="dark"] .no-pets-message .bg-light {
  background-color: var(--bs-light-bg) !important;
}

/* Toggle description */
[data-theme="dark"] .toggle-description {
  color: var(--bs-text-muted) !important;
}

[data-theme="dark"] .toggle-description:hover {
  color: var(--bs-body-color) !important;
}

/* Remove button specific styling */
[data-theme="dark"] .remove-btn {
  background-color: var(--bs-danger) !important;
  color: white !important;
  border-color: var(--bs-danger) !important;
}

[data-theme="dark"] .remove-btn:hover {
  background-color: #bb2d3b !important;
  border-color: #b02a37 !important;
}

/* Smooth transitions */
body, .card, .btn, .form-control, .alert, 
h1, h2, h3, h4, h5, h6, p, span, div,
.badge, .table, .modal-content,
.list-group-item, .filter-section {
  transition: background-color 0.3s ease, 
              color 0.3s ease, 
              border-color 0.3s ease,
              box-shadow 0.3s ease;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  [data-theme="dark"] {
    --bs-body-font-size: 0.9rem;
  }
  
  [data-theme="dark"] .card-body {
    padding: 1rem;
  }
}

/* Footer specific styles for dark mode */
[data-theme="dark"] .footer {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
  border-top: 1px solid var(--bs-border-color);
}

[data-theme="dark"] .footer p,
[data-theme="dark"] .footer .mb-0 {
  color: var(--bs-body-color) !important;
}

/* Ensure all text in footer is visible in dark mode */
[data-theme="dark"] .footer * {
  color: inherit !important;
}

/* Placeholder styles for dark theme */
[data-theme="dark"] ::placeholder {
  color: #adb5bd !important;
  opacity: 0.7 !important;
}

[data-theme="dark"] ::-webkit-input-placeholder {
  color: #adb5bd !important;
  opacity: 0.7 !important;
}

[data-theme="dark"] ::-moz-placeholder {
  color: #adb5bd !important;
  opacity: 0.7 !important;
}

[data-theme="dark"] :-ms-input-placeholder {
  color: #adb5bd !important;
  opacity: 0.7 !important;
}

[data-theme="dark"] :-moz-placeholder {
  color: #adb5bd !important;
  opacity: 0.7 !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
  color: #adb5bd !important;
  opacity: 0.7 !important;
}

/* Quick actions buttons */
[data-theme="dark"] .btn-flex {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

[data-theme="dark"] .btn-flex:hover {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: white;
}