/**
 * Dark Mode Styles
 * Applied when [data-theme="dark"] is set on the html element
 */

/* ============================================
   Light Mode Overrides
   Force light mode even when system is in dark mode
   ============================================ */

[data-theme="light"] body {
    background-color: #ffffff !important;
    color: #212529 !important;
}

/* ============================================
   Navbar/Header - Light Mode
   ============================================ */
[data-theme="light"] .navbar.bg-dark {
    background-color: #e2e6ea !important;
    border-bottom: 1px solid #ced4da !important;
}

[data-theme="light"] .navbar.navbar-dark .navbar-brand,
[data-theme="light"] .navbar.navbar-dark .nav-link,
[data-theme="light"] .navbar.navbar-dark .navbar-text {
    color: #212529 !important;
}

[data-theme="light"] .navbar.navbar-dark .nav-link:hover,
[data-theme="light"] .navbar.navbar-dark .nav-link:focus {
    color: #007bff !important;
}

[data-theme="light"] .navbar.navbar-dark .dropdown-menu {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .navbar.navbar-dark .dropdown-item {
    color: #212529 !important;
}

[data-theme="light"] .navbar.navbar-dark .dropdown-item:hover,
[data-theme="light"] .navbar.navbar-dark .dropdown-item:focus {
    background-color: #f8f9fa !important;
    color: #007bff !important;
}

[data-theme="light"] .navbar.navbar-dark .dropdown-divider {
    border-top-color: #dee2e6 !important;
}

[data-theme="light"] .navbar .custom-select.bg-secondary {
    background-color: #e9ecef !important;
    color: #212529 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .navbar .navbar-toggler {
    border-color: rgba(0, 0, 0, 0.1) !important;
}

[data-theme="light"] .navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Navbar icons in light mode */
[data-theme="light"] .navbar .nav-link i,
[data-theme="light"] .navbar .navbar-text i {
    color: #495057 !important;
}

[data-theme="light"] .navbar .nav-link:hover i {
    color: #007bff !important;
}

[data-theme="light"] .card {
    background-color: #ffffff !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .card .card-header {
    background-color: #f8f9fa !important;
    color: #212529 !important;
    border-bottom: 1px solid #dee2e6 !important;
}

[data-theme="light"] .card .card-header.bg-light {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

[data-theme="light"] .card .card-header h5 {
    color: #212529 !important;
}

[data-theme="light"] .card .card-header i {
    color: #6c757d !important;
}

[data-theme="light"] .card .card-body {
    background-color: #ffffff !important;
    color: #212529 !important;
}

/* Heading class for pages like Rotations */
[data-theme="light"] .heading {
    color: #212529 !important;
}

/* headingAdd button (Add User, Add Contact, etc.) */
[data-theme="light"] .headingAdd {
    background: #90EE90 !important;
    color: #212529 !important;
}

/* ============================================
   User/Contact Profile Pages - Light Mode
   ============================================ */
[data-theme="light"] .profile-card {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .profile-card-header {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
    color: #495057 !important;
}

[data-theme="light"] .profile-card-header i {
    color: #007bff !important;
}

[data-theme="light"] .profile-card-body {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] .profile-field-label {
    color: #6c757d !important;
}

[data-theme="light"] .role-badge {
    background-color: #f8f9fa !important;
    color: #212529 !important;
    border: 1px solid #dee2e6 !important;
}

[data-theme="light"] .role-badge:hover {
    background-color: #e9ecef !important;
}

/* Clickable table rows */
[data-theme="light"] .clickable_row tr {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] .clickable_row tr:hover {
    background-color: #f0f0f0 !important;
}

[data-theme="light"] tbody.clickable_row tr td {
    color: #212529 !important;
}

/* List styles for forms */
[data-theme="light"] .list-group-item {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
    color: #212529 !important;
}

[data-theme="light"] .handles.list li {
    background-color: #f8f9fa !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

/* Rotation list items */
[data-theme="light"] .frot {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] .frot:hover {
    background-color: #e9ecef !important;
}

/* Form labels */
[data-theme="light"] label,
[data-theme="light"] .control-label,
[data-theme="light"] .form-label {
    color: #495057 !important;
}

[data-theme="light"] .form-control {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .form-control:focus {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #80bdff !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* Fix autofill/autocomplete styling in LIGHT mode - override dark mode autofill */
[data-theme="light"] .form-control:-webkit-autofill,
[data-theme="light"] .form-control:-webkit-autofill:hover,
[data-theme="light"] .form-control:-webkit-autofill:focus,
[data-theme="light"] .form-control:-webkit-autofill:active,
[data-theme="light"] input:-webkit-autofill,
[data-theme="light"] input:-webkit-autofill:hover,
[data-theme="light"] input:-webkit-autofill:focus,
[data-theme="light"] input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
    box-shadow: 0 0 0 30px #ffffff inset !important;
    -webkit-text-fill-color: #495057 !important;
    caret-color: #495057 !important;
    -webkit-transition: background-color 5000s ease-in-out 0s !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

/* Force light mode for all input types - override prefers-color-scheme: dark media queries */
[data-theme="light"] input.form-control,
[data-theme="light"] input[type="text"],
[data-theme="light"] input[type="password"],
[data-theme="light"] input[type="email"],
[data-theme="light"] input[type="number"],
[data-theme="light"] input[type="date"],
[data-theme="light"] input[type="tel"],
[data-theme="light"] select.form-control,
[data-theme="light"] textarea.form-control {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] input.form-control:focus,
[data-theme="light"] input[type="text"]:focus,
[data-theme="light"] input[type="password"]:focus,
[data-theme="light"] input[type="email"]:focus,
[data-theme="light"] select.form-control:focus,
[data-theme="light"] textarea.form-control:focus {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #80bdff !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* Input group addons */
[data-theme="light"] .input-group-text {
    background-color: #e9ecef !important;
    border-color: #ced4da !important;
    color: #495057 !important;
}

[data-theme="light"] .input-group .form-control {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .input-group .form-control:focus {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #80bdff !important;
}

[data-theme="light"] .input-group input,
[data-theme="light"] .input-group input[type="text"],
[data-theme="light"] .input-group input[type="password"],
[data-theme="light"] .input-group input[type="email"] {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .input-group input:focus,
[data-theme="light"] .input-group input[type="password"]:focus {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #80bdff !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* Ensure input-group button/addon styling */
[data-theme="light"] .input-group-append .btn,
[data-theme="light"] .input-group-prepend .btn,
[data-theme="light"] .input-group > .btn {
    background-color: #e9ecef !important;
    border-color: #ced4da !important;
    color: #495057 !important;
}

[data-theme="light"] .table {
    color: #212529 !important;
}

[data-theme="light"] .table thead th {
    background-color: #f8f9fa !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .table td,
[data-theme="light"] .table th {
    border-color: #dee2e6 !important;
}

[data-theme="light"] select,
[data-theme="light"] input,
[data-theme="light"] textarea {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}

/* Allocation Requirements - subtle blue background (light mode) */
[data-theme="light"] input.form-control.allocation-requirement,
[data-theme="light"] input.form-control.allocation-requirement:disabled,
[data-theme="light"] input.form-control.allocation-requirement[disabled],
[data-theme="light"] input.allocation-requirement:disabled {
    background-color: rgba(70, 130, 180, 0.15) !important;
    border-color: rgba(100, 149, 200, 0.35) !important;
    color: #495057 !important;
}

/* Allocation Balance - subtle purple background (light mode) */
[data-theme="light"] input.form-control.allocation-balance,
[data-theme="light"] input.form-control.allocation-balance:disabled,
[data-theme="light"] input.form-control.allocation-balance[disabled],
[data-theme="light"] input.allocation-balance:disabled {
    background-color: rgba(138, 100, 170, 0.15) !important;
    border-color: rgba(160, 120, 190, 0.35) !important;
    color: #495057 !important;
}

/* Management Implication colors - light mode */
[data-theme="light"] .NBASED,
[data-theme="light"] input.NBASED {
    color: #28a745 !important;
    font-weight: bold;
}

[data-theme="light"] .PBASED,
[data-theme="light"] input.PBASED {
    color: #fd7e14 !important;
    font-weight: bold;
}

[data-theme="light"] .ZBASED,
[data-theme="light"] input.ZBASED {
    color: #dc3545 !important;
    font-weight: bold;
}

[data-theme="light"] .ui-dialog {
    background-color: #ffffff !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .ui-dialog-titlebar {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

[data-theme="light"] .ui-dialog-content {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] .ui-dialog-buttonpane {
    background-color: #f8f9fa !important;
    border-top: 1px solid #dee2e6 !important;
}

[data-theme="light"] .ui-dialog-buttonpane .ui-button {
    background-color: #e9ecef !important;
    color: #212529 !important;
    border: 1px solid #ced4da !important;
}

[data-theme="light"] .ui-dialog-buttonpane .ui-button:hover {
    background-color: #dee2e6 !important;
}

/* ============================================
   System Messages Dialog - Light Mode
   ============================================ */
[data-theme="light"] #SystemMessagesDialog,
[data-theme="light"] #SystemMessagesDialog.ui-widget-content {
    background: #f5f5f5 !important;
    color: #212529 !important;
}

[data-theme="light"] #SystemMessagesDialog .system-messages-content {
    background: #f5f5f5 !important;
}

[data-theme="light"] #SystemMessagesDialog .message-item {
    background: #ffffff !important;
    border-color: #ddd !important;
    border-left-color: #0066cc !important;
}

[data-theme="light"] #SystemMessagesDialog .message-title {
    color: #222 !important;
    border-bottom-color: rgba(0,0,0,0.10) !important;
}

[data-theme="light"] #SystemMessagesDialog .message-title > .message-text {
    color: #222 !important;
}

[data-theme="light"] #SystemMessagesDialog .message-date {
    color: #666 !important;
}

[data-theme="light"] #SystemMessagesDialog .message-body {
    color: #444 !important;
}

[data-theme="light"] #SystemMessagesDialog .message-body a {
    color: #166bb7 !important;
}

[data-theme="light"] #SystemMessagesDialog .messages-footer {
    color: #888 !important;
    border-top-color: #ddd !important;
    background: #eee !important;
}

[data-theme="light"] #SystemMessagesDialog .message-body pre,
[data-theme="light"] #SystemMessagesDialog .message-body code {
    background: rgba(0,0,0,0.04) !important;
    color: #333 !important;
}

/* System Messages Dialog Header/Titlebar */
[data-theme="light"] .ui-dialog[aria-describedby="SystemMessagesDialog"] .ui-dialog-titlebar {
    background: linear-gradient(135deg, #0066cc 0%, #004999 100%) !important;
    color: #ffffff !important;
    border-bottom: none !important;
}

[data-theme="light"] .ui-dialog[aria-describedby="SystemMessagesDialog"] .ui-dialog-title {
    color: #ffffff !important;
    font-weight: 600 !important;
}

[data-theme="light"] .ui-dialog[aria-describedby="SystemMessagesDialog"] .ui-dialog-titlebar-close {
    color: #ffffff !important;
}

/* ============================================
   Quill RTE - Light Mode
   ============================================ */
[data-theme="light"] .ql-container {
    background: #ffffff !important;
    color: #212529 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .ql-editor {
    background: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] .ql-editor p,
[data-theme="light"] .ql-editor li,
[data-theme="light"] .ql-editor span {
    color: #333 !important;
}

[data-theme="light"] .ql-toolbar {
    background: #f8f9fa !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .ql-toolbar button,
[data-theme="light"] .ql-toolbar .ql-picker-label {
    color: #495057 !important;
    background: transparent !important;
}

[data-theme="light"] .ql-toolbar .ql-formats {
    background: transparent !important;
}

[data-theme="light"] .ql-toolbar .ql-picker {
    background: transparent !important;
    color: #495057 !important;
}

[data-theme="light"] .ql-toolbar .ql-picker .ql-picker-label {
    background: #e9ecef !important;
    border-color: #ced4da !important;
    color: #495057 !important;
}

[data-theme="light"] .ql-toolbar .ql-picker .ql-picker-label::before {
    color: #495057 !important;
}

[data-theme="light"] .ql-toolbar button:hover,
[data-theme="light"] .ql-toolbar .ql-picker-label:hover {
    color: #007bff !important;
    background: #e9ecef !important;
}

[data-theme="light"] .ql-toolbar .ql-stroke {
    stroke: #495057 !important;
}

[data-theme="light"] .ql-toolbar .ql-fill {
    fill: #495057 !important;
}

[data-theme="light"] .ql-toolbar button:hover .ql-stroke,
[data-theme="light"] .ql-toolbar button.ql-active .ql-stroke {
    stroke: #007bff !important;
}

[data-theme="light"] .ql-toolbar button:hover .ql-fill,
[data-theme="light"] .ql-toolbar button.ql-active .ql-fill {
    fill: #007bff !important;
}

[data-theme="light"] .ql-picker-options {
    background: #ffffff !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .ql-picker-item {
    color: #212529 !important;
}

/* Additional Quill toolbar icon fixes */
[data-theme="light"] .ql-toolbar .ql-picker-label .ql-stroke {
    stroke: #495057 !important;
}

[data-theme="light"] .ql-toolbar .ql-formats button svg .ql-stroke {
    stroke: #495057 !important;
}

[data-theme="light"] .ql-toolbar .ql-formats button svg .ql-fill {
    fill: #495057 !important;
}

[data-theme="light"] .ql-snow .ql-stroke {
    stroke: #495057 !important;
}

[data-theme="light"] .ql-snow .ql-fill,
[data-theme="light"] .ql-snow .ql-stroke.ql-fill {
    fill: #495057 !important;
}

[data-theme="light"] .ql-snow.ql-toolbar button:hover .ql-stroke,
[data-theme="light"] .ql-snow .ql-toolbar button:hover .ql-stroke {
    stroke: #007bff !important;
}

[data-theme="light"] .ql-snow.ql-toolbar button:hover .ql-fill,
[data-theme="light"] .ql-snow .ql-toolbar button:hover .ql-fill {
    fill: #007bff !important;
}

[data-theme="light"] .ql-snow .ql-picker {
    color: #495057 !important;
}

[data-theme="light"] .ql-snow .ql-picker-label {
    color: #495057 !important;
}

/* Override .quill-dark in light mode */
[data-theme="light"] .quill-dark .ql-container,
[data-theme="light"] .quill-dark .ql-editor {
    background: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] .quill-dark .ql-toolbar {
    background: #f8f9fa !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .quill-dark .ql-toolbar .ql-stroke {
    stroke: #495057 !important;
}

[data-theme="light"] .quill-dark .ql-toolbar .ql-fill {
    fill: #495057 !important;
}

[data-theme="light"] .quill-dark .ql-editor p,
[data-theme="light"] .quill-dark .ql-editor li,
[data-theme="light"] .quill-dark .ql-editor span {
    color: #333 !important;
}

/* ============================================
   Quill RTE - Dark Mode
   ============================================ */
[data-theme="dark"] .ql-toolbar {
    background: #3a3a3a !important;
    border-color: #555 !important;
}

[data-theme="dark"] .ql-toolbar button,
[data-theme="dark"] .ql-toolbar .ql-picker-label {
    color: #e0e0e0 !important;
    background: transparent !important;
}

[data-theme="dark"] .ql-toolbar .ql-formats {
    background: transparent !important;
}

[data-theme="dark"] .ql-toolbar .ql-picker {
    background: transparent !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .ql-toolbar .ql-picker .ql-picker-label {
    background: #4a4a4a !important;
    border-color: #666 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .ql-toolbar .ql-picker .ql-picker-label::before {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .ql-toolbar button:hover,
[data-theme="dark"] .ql-toolbar .ql-picker-label:hover {
    color: #7fb4ff !important;
    background: #555 !important;
}

[data-theme="dark"] .ql-toolbar .ql-stroke {
    stroke: #e0e0e0 !important;
}

[data-theme="dark"] .ql-toolbar .ql-fill {
    fill: #e0e0e0 !important;
}

[data-theme="dark"] .ql-toolbar button:hover .ql-stroke,
[data-theme="dark"] .ql-toolbar button.ql-active .ql-stroke {
    stroke: #7fb4ff !important;
}

[data-theme="dark"] .ql-toolbar button:hover .ql-fill,
[data-theme="dark"] .ql-toolbar button.ql-active .ql-fill {
    fill: #7fb4ff !important;
}

[data-theme="dark"] .ql-snow .ql-stroke {
    stroke: #e0e0e0 !important;
}

[data-theme="dark"] .ql-snow .ql-fill {
    fill: #e0e0e0 !important;
}

[data-theme="dark"] .ql-picker-options {
    background: #3a3a3a !important;
    border-color: #555 !important;
}

[data-theme="dark"] .ql-picker-item {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .ql-container {
    background: #2e2e2e !important;
    color: #e8e8e8 !important;
    border-color: #555 !important;
}

[data-theme="dark"] .ql-editor {
    background: #2e2e2e !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .ql-editor p,
[data-theme="dark"] .ql-editor li,
[data-theme="dark"] .ql-editor span {
    color: #dcdcdc !important;
}

/* ============================================
   System Messages Details/Preview Page - Light Mode
   ============================================ */
[data-theme="light"] .message-preview {
    background: #ffffff !important;
    border-color: #ddd !important;
    border-left-color: #0066cc !important;
}

[data-theme="light"] .message-preview .message-title {
    color: #222 !important;
}

[data-theme="light"] .message-preview .message-meta {
    color: #666 !important;
}

[data-theme="light"] .message-preview .message-body {
    color: #444 !important;
}

[data-theme="light"] .message-preview .message-header {
    border-bottom-color: rgba(0,0,0,0.10) !important;
}

/* ============================================
   Login Page - Light Mode
   ============================================ */
[data-theme="light"] .login-container,
[data-theme="light"] body.login-page {
    background-color: #f5f5f5 !important;
}

[data-theme="light"] .card.shadow-sm {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .card.shadow-sm .card-body {
    background-color: #ffffff !important;
}

[data-theme="light"] .card.shadow-sm h3 {
    color: #212529 !important;
}

[data-theme="light"] .card.shadow-sm .form-control {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .card.shadow-sm .form-control:focus {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #80bdff !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

[data-theme="light"] .card.shadow-sm input[type="text"],
[data-theme="light"] .card.shadow-sm input[type="password"],
[data-theme="light"] .card.shadow-sm select {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .card.shadow-sm .input-group-text {
    background-color: #e9ecef !important;
    border-color: #ced4da !important;
    color: #495057 !important;
}

[data-theme="light"] .card.shadow-sm .form-label {
    color: #495057 !important;
}

[data-theme="light"] .card.shadow-sm .form-check-label {
    color: #495057 !important;
}

[data-theme="light"] .card.shadow-sm a {
    color: #007bff !important;
}

[data-theme="light"] .card.shadow-sm .text-muted {
    color: #6c757d !important;
}

[data-theme="light"] .login-card h3,
[data-theme="light"] .card h3 {
    color: #212529 !important;
}

/* ============================================
   Login Page - Dark Mode
   ============================================ */
[data-theme="dark"] .login-container,
[data-theme="dark"] body.login-page {
    background-color: #1a1a1a !important;
}

[data-theme="dark"] .card.shadow-sm {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
}

[data-theme="dark"] .card.shadow-sm .card-body {
    background-color: #2d2d2d !important;
}

[data-theme="dark"] .card.shadow-sm h3 {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .card.shadow-sm .form-control {
    background-color: #3b3b3b !important;
    color: #ffffff !important;
    border-color: #555 !important;
}

[data-theme="dark"] .card.shadow-sm .form-control:focus {
    background-color: #454545 !important;
    color: #ffffff !important;
    border-color: #7fb4ff !important;
    box-shadow: 0 0 0 0.2rem rgba(127, 180, 255, 0.25) !important;
}

[data-theme="dark"] .card.shadow-sm input[type="text"],
[data-theme="dark"] .card.shadow-sm input[type="password"],
[data-theme="dark"] .card.shadow-sm select {
    background-color: #3b3b3b !important;
    color: #ffffff !important;
    border-color: #555 !important;
}

[data-theme="dark"] .card.shadow-sm .input-group-text {
    background-color: #3a3a3a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .card.shadow-sm .form-label {
    color: #b0b8c1 !important;
}

[data-theme="dark"] .card.shadow-sm .form-check-label {
    color: #b0b8c1 !important;
}

[data-theme="dark"] .card.shadow-sm a {
    color: #7fb4ff !important;
}

[data-theme="dark"] .card.shadow-sm a:hover {
    color: #a0c8ff !important;
}

[data-theme="dark"] .card.shadow-sm .text-muted {
    color: #adb5bd !important;
}

[data-theme="dark"] .card.shadow-sm .alert-danger {
    background-color: #4a2c2c !important;
    border-color: #6a3a3a !important;
    color: #ffb8b8 !important;
}

[data-theme="dark"] .card.shadow-sm .alert-warning {
    background-color: #4a4230 !important;
    border-color: #6a5a40 !important;
    color: #ffd89b !important;
}

/* ============================================
   Help Request Dialog - Light Mode
   ============================================ */
[data-theme="light"] #quickHelpDialog {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] #quickHelpDialog .lead {
    color: #007bff !important;
}

[data-theme="light"] #quickHelpDialog label {
    color: #495057 !important;
}

[data-theme="light"] #quickHelpDialog .alert-info {
    background-color: #cce5ff !important;
    border-color: #b8daff !important;
    color: #004085 !important;
}

[data-theme="light"] #quickHelpDialog .list-group {
    background-color: #ffffff !important;
}

[data-theme="light"] #quickHelpDialog .list-group-item {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
    color: #212529 !important;
}

[data-theme="light"] .field-section-card {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .field-section-header {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%) !important;
    color: #495057 !important;
}

[data-theme="light"] .field-section-header i {
    color: #6c757d !important;
}

[data-theme="light"] .field-section-body {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] .field-toolbar {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
}

/* Light mode button fixes */
[data-theme="light"] .btn-outline-secondary {
    color: #6c757d !important;
    border-color: #6c757d !important;
    background-color: transparent !important;
}

[data-theme="light"] .btn-outline-secondary:hover {
    color: #fff !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

[data-theme="light"] .btn-success {
    color: #fff !important;
    background-color: #28a745 !important;
    border-color: #28a745 !important;
}

[data-theme="light"] .btn-info {
    color: #fff !important;
    background-color: #17a2b8 !important;
    border-color: #17a2b8 !important;
}

[data-theme="light"] .btn-outline-primary {
    color: #007bff !important;
    border-color: #007bff !important;
    background-color: transparent !important;
}

[data-theme="light"] .btn-outline-primary:hover {
    color: #fff !important;
    background-color: #007bff !important;
}

[data-theme="light"] .btn-outline-danger {
    color: #dc3545 !important;
    border-color: #dc3545 !important;
    background-color: transparent !important;
}

[data-theme="light"] .btn-outline-danger:hover {
    color: #fff !important;
    background-color: #dc3545 !important;
}

/* ============================================
   MaxRate Tab - Light Mode Styles
   ============================================ */
[data-theme="light"] .maxrate-header {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%) !important;
    color: #495057 !important;
}

[data-theme="light"] .maxrate-header h5 {
    color: #495057 !important;
}

[data-theme="light"] .maxrate-header small {
    color: #6c757d !important;
}

[data-theme="light"] .maxrate-body {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .maxrate-body table thead th {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

[data-theme="light"] .maxrate-body table tbody td {
    color: #212529 !important;
}

[data-theme="light"] .target-info {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

[data-theme="light"] .target-badge {
    color: #212529 !important;
}

[data-theme="light"] .target-badge.n-target {
    background-color: #d4edda !important;
    color: #155724 !important;
}

[data-theme="light"] .target-badge.p-target {
    background-color: #cce5ff !important;
    color: #004085 !important;
}

[data-theme="light"] .target-badge.rate-type {
    background-color: #fff3cd !important;
    color: #856404 !important;
}

[data-theme="light"] .no-data-message {
    color: #6c757d !important;
}

/* ============================================
   Crops Tab - Light Mode Styles  
   ============================================ */
[data-theme="light"] .field-list-group .list-group-item {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
    color: #212529 !important;
}

[data-theme="light"] .field-list-group .list-group-item:hover {
    background-color: #f8f9fa !important;
}

[data-theme="light"] .field-list-group .list-group-item.active-year {
    background-color: #fff3cd !important;
    border-color: #ffc107 !important;
    color: #212529 !important;
}

[data-theme="light"] .field-list-group .list-group-item strong,
[data-theme="light"] .field-list-group .list-group-item span {
    color: #212529 !important;
}

/* ============================================
   Audit Tab - Light Mode Styles  
   ============================================ */
[data-theme="light"] .audit-header {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%) !important;
    color: #495057 !important;
}

[data-theme="light"] .audit-header h5 {
    color: #495057 !important;
}

[data-theme="light"] .audit-header .badge {
    background-color: #6c757d !important;
    color: #fff !important;
}

[data-theme="light"] .audit-card {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
}

[data-theme="light"] .audit-item {
    background-color: #ffffff !important;
    border-bottom-color: #e9ecef !important;
}

[data-theme="light"] .audit-item:hover {
    background-color: #f8f9fa !important;
}

[data-theme="light"] .audit-user {
    color: #212529 !important;
}

[data-theme="light"] .audit-user i {
    color: #007bff !important;
}

[data-theme="light"] .audit-description {
    color: #495057 !important;
}

[data-theme="light"] .audit-date {
    color: #6c757d !important;
}

[data-theme="light"] .audit-empty {
    color: #6c757d !important;
}

[data-theme="light"] .audit-empty i {
    color: #dee2e6 !important;
}

[data-theme="light"] .field-table thead th {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

[data-theme="light"] .field-stat-item {
    background-color: #f8f9fa !important;
}

[data-theme="light"] .field-stat-item .value {
    color: #212529 !important;
}

[data-theme="light"] .soil-test-summary {
    background-color: #e9ecef !important;
    border-color: #ced4da !important;
}

[data-theme="light"] .soil-test-item {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
    color: #212529 !important;
}

[data-theme="light"] #AllocationTable {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-theme="light"] #AllocationTable thead th {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

[data-theme="light"] #AllocationTable tbody td {
    background-color: #ffffff !important;
    color: #212529 !important;
}

/* ============================================
   Dark Mode Styles
   ============================================ */

/* Base body styles */
[data-theme="dark"] body {
    background-color: #333333;
    color: #e6eef8;
}

/* Card styling */
[data-theme="dark"] .card {
    background-color: #2b2b2b;
    color: #e6eef8;
    border-color: #444;
}

[data-theme="dark"] .card .card-header {
    background-color: #555555;
    color: #ffffff;
    border-bottom: 2px solid #666;
}

[data-theme="dark"] .card .card-header h5 {
    color: #ffffff;
}

[data-theme="dark"] .card .card-header.bg-light {
    background-color: #555555 !important;
    color: #ffffff;
}

[data-theme="dark"] .card .card-body {
    background-color: #2b2b2b;
    color: #e6eef8;
}

/* Form controls */
[data-theme="dark"] .form-control {
    background-color: #3b3b3b;
    color: #ffffff;
    border-color: #555;
}

[data-theme="dark"] .form-control:focus {
    background-color: #454545;
    color: #ffffff;
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly] {
    background-color: #2f2f2f;
    color: #b0b8c1;
    border-color: #4a4a4a;
    opacity: 1;
}

/* Allocation Requirements - light teal/blue background */
[data-theme="dark"] .allocation-requirement,
[data-theme="dark"] .allocation-requirement:disabled,
[data-theme="dark"] .allocation-requirement[readonly],
[data-theme="dark"] input.allocation-requirement,
[data-theme="dark"] input.allocation-requirement:disabled {
    background-color: #1a3a4a !important;
    border-color: #5bc0de !important;
    color: #e0e0e0 !important;
}

/* Allocation Balance - light purple background */
[data-theme="dark"] .allocation-balance,
[data-theme="dark"] .allocation-balance:disabled,
[data-theme="dark"] .allocation-balance[readonly],
[data-theme="dark"] input.allocation-balance,
[data-theme="dark"] input.allocation-balance:disabled {
    background-color: #2d1a3d !important;
    border-color: #9b59b6 !important;
    color: #e0e0e0 !important;
}

/* Autofill styling */
[data-theme="dark"] .form-control:-webkit-autofill,
[data-theme="dark"] .form-control:-webkit-autofill:hover,
[data-theme="dark"] .form-control:-webkit-autofill:focus,
[data-theme="dark"] .form-control:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #3b3b3b inset !important;
    box-shadow: 0 0 0 30px #3b3b3b inset !important;
    -webkit-text-fill-color: #ffffff !important;
}

[data-theme="dark"] .form-control:-webkit-autofill {
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
    -webkit-transition: background-color 5000s ease-in-out 0s !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

/* Password toggle button */
[data-theme="dark"] .password-toggle-btn {
    color: #b0b8c1;
    border-color: #555;
    background-color: #3b3b3b;
}

[data-theme="dark"] .password-toggle-btn:hover {
    color: #ffffff;
    background-color: #454545;
    border-color: #666;
}

[data-theme="dark"] .password-toggle-btn:focus {
    color: #ffffff;
    background-color: #454545;
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

[data-theme="dark"] .form-label {
    color: #b0b8c1;
}

[data-theme="dark"] .input-group .form-control {
    background-color: #3b3b3b;
}

/* Buttons */
[data-theme="dark"] .btn {
    color: #fff;
    border-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .btn-warning {
    background-color: #d39e00;
    border-color: #a97800;
    color: #212529;
}

[data-theme="dark"] .btn-warning:hover,
[data-theme="dark"] .btn-warning:focus {
    background-color: #b88600;
    border-color: #8f6500;
}

[data-theme="dark"] .btn-info {
    background-color: #0d6efd;
    border-color: #0a58ca;
    color: #fff;
}

[data-theme="dark"] .btn-info:hover,
[data-theme="dark"] .btn-info:focus {
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

/* jQuery UI Dialogs */
[data-theme="dark"] .ui-dialog {
    background-color: #3d3d3d !important;
    color: #e8e8e8 !important;
    border: 1px solid #555 !important;
    border-radius: 4px !important;
}

[data-theme="dark"] .ui-dialog-titlebar {
    background-color: #2d2d2d !important;
    color: #e8e8e8 !important;
    border-bottom: 1px solid #555 !important;
    border-radius: 4px 4px 0 0 !important;
}

[data-theme="dark"] .ui-dialog-titlebar .ui-dialog-titlebar-close {
    background-color: transparent !important;
    border-color: transparent !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .ui-dialog-titlebar .ui-dialog-titlebar-close:hover {
    background-color: #444 !important;
    color: #ffffff !important;
}

[data-theme="dark"] .ui-dialog-titlebar .ui-icon {
    background-color: transparent !important;
}

[data-theme="dark"] .ui-dialog-title {
    color: #e8e8e8 !important;
}

[data-theme="dark"] .ui-dialog-content {
    background-color: #3d3d3d !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .ui-dialog-content label {
    color: #c0c8d1 !important;
}

[data-theme="dark"] .ui-dialog-content .form-control {
    background-color: #4a4a4a !important;
    border-color: #666 !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .ui-dialog-content .form-control:focus {
    background-color: #555 !important;
    color: #ffffff !important;
    border-color: #0d6efd !important;
}

/* Links in dialogs */
[data-theme="dark"] .ui-dialog-content a,
[data-theme="dark"] .ui-dialog-content a:link {
    color: #64b5f6 !important;
}

[data-theme="dark"] .ui-dialog-content a:visited {
    color: #9575cd !important;
}

[data-theme="dark"] .ui-dialog-content a:hover {
    color: #90caf9 !important;
}

/* Dialog buttons */
[data-theme="dark"] .ui-dialog-buttonpane {
    background-color: #3d3d3d !important;
    border-top: 1px solid #555 !important;
}

[data-theme="dark"] .ui-dialog-buttonpane .ui-button {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
}

[data-theme="dark"] .ui-dialog-buttonpane .ui-button:hover,
[data-theme="dark"] .ui-dialog-buttonpane .ui-button:focus {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
}

/* Tables in dialogs */
[data-theme="dark"] .ui-dialog .table {
    color: #e8e8e8 !important;
    background-color: transparent !important;
}

[data-theme="dark"] .ui-dialog .table thead {
    background-color: #2d2d2d !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .ui-dialog .table thead th {
    background-color: #2d2d2d !important;
    color: #e8e8e8 !important;
    border-color: #555 !important;
}

[data-theme="dark"] .ui-dialog .table tbody {
    background-color: #3d3d3d !important;
}

[data-theme="dark"] .ui-dialog .table tbody td {
    background-color: #3d3d3d !important;
    color: #e8e8e8 !important;
    border-color: #555 !important;
}

[data-theme="dark"] .ui-dialog .table tbody tr {
    background-color: #3d3d3d !important;
}

[data-theme="dark"] .ui-dialog .table-hover tbody tr:hover,
[data-theme="dark"] .ui-dialog .table tbody tr:hover {
    background-color: #7a7a7a !important;
    box-shadow: inset 0 0 15px rgba(100, 181, 246, 0.4) !important;
    cursor: pointer;
}

[data-theme="dark"] .ui-dialog .table tbody tr:hover td {
    background-color: #7a7a7a !important;
    color: #ffffff !important;
}

/* Alerts in dialogs */
[data-theme="dark"] .ui-dialog .alert-info {
    background-color: #1e3a5f !important;
    border-color: #2a5a8f !important;
    color: #b3d9ff !important;
}

[data-theme="dark"] .ui-dialog .alert-warning {
    background-color: #5f4a1e !important;
    border-color: #8f6a2a !important;
    color: #ffd9b3 !important;
}

/* Textareas in dialogs */
[data-theme="dark"] .ui-dialog textarea {
    background-color: #4a4a4a !important;
    border-color: #666 !important;
    color: #e8e8e8 !important;
}

[data-theme="dark"] .ui-dialog textarea:focus {
    background-color: #555 !important;
    color: #ffffff !important;
    border-color: #0d6efd !important;
}

/* Dialog overlay */
[data-theme="dark"] .ui-widget-overlay {
    background-color: #000 !important;
    opacity: 0.5 !important;
}

/* Scrollbar styling for dialogs */
[data-theme="dark"] .ui-dialog ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="dark"] .ui-dialog ::-webkit-scrollbar-track {
    background: #3d3d3d !important;
}

[data-theme="dark"] .ui-dialog ::-webkit-scrollbar-thumb {
    background: #666 !important;
    border-radius: 4px;
}

[data-theme="dark"] .ui-dialog ::-webkit-scrollbar-thumb:hover {
    background: #777 !important;
}

/* Admin card styling */
[data-theme="dark"] .card-admin-muted {
    border-color: #444;
    background-color: #2a2a2a;
}

[data-theme="dark"] .card-admin-muted .card-header {
    background-color: #232323;
    color: #dfefff;
    border-bottom: 1px solid #3a3a3a;
}

/* SOD Mix Dropdown - Dark Mode */
[data-theme="dark"] .sod-mix-dropdown option {
    background-color: #333333;
    color: #ffffff;
    font-size: 14px;
}

[data-theme="dark"] .sod-mix-dropdown:disabled {
    color: #888;
}

/* Focus state for SOD Mix Dropdown */
[data-theme="dark"] .sod-mix-dropdown:focus {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #4da3ff !important;
}

/* Row outline highlight */
[data-theme="dark"] .row-outline-highlight {
    outline-color: #66b0ff;
    background-color: #3b3b3b !important;
}

/* Tables - General */
[data-theme="dark"] .table {
    color: #e6eef8;
}

[data-theme="dark"] .table thead th {
    background-color: #444;
    color: #ffffff;
    border-color: #555;
}

[data-theme="dark"] .table td,
[data-theme="dark"] .table th {
    border-color: #444;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

/* Selected table rows - Fields Index */
[data-theme="dark"] .table tr.selected td,
[data-theme="dark"] .table tr.ui-selected td,
[data-theme="dark"] .table tr.active td {
    background-color: #5a5a5a !important; /* Lighter gray for contrast in dark mode */
    color: #212529 !important; /* Dark text for readability */
    font-weight: bold !important;
    border-color: #666 !important;
}

/* Hover state for selected rows in dark mode */
[data-theme="dark"] .table tr.selected:hover td,
[data-theme="dark"] .table tr.ui-selected:hover td,
[data-theme="dark"] .table tr.active:hover td {
    background-color: #6a6a6a !important; /* Slightly lighter gray on hover */
    color: #212529 !important;
}

/* Text colors */
[data-theme="dark"] .text-muted {
    color: #a0a8b0 !important;
}

[data-theme="dark"] .text-dark {
    color: #e6eef8 !important;
}

/* Background utilities */
[data-theme="dark"] .bg-light {
    background-color: #3b3b3b !important;
}

[data-theme="dark"] .bg-white {
    background-color: #2b2b2b !important;
}

/* Border colors */
[data-theme="dark"] .border {
    border-color: #444 !important;
}

[data-theme="dark"] .border-secondary {
    border-color: #555 !important;
}

/* Select elements */
[data-theme="dark"] select.form-control,
[data-theme="dark"] .custom-select {
    background-color: #3b3b3b;
    color: #ffffff;
    border-color: #555;
}

[data-theme="dark"] select.form-control option,
[data-theme="dark"] .custom-select option {
    background-color: #3b3b3b;
    color: #ffffff;
}

/* Links */
[data-theme="dark"] a {
    color: #64b5f6;
}

[data-theme="dark"] a:hover {
    color: #90caf9;
}

/* Footer */
[data-theme="dark"] .app-footer {
    color: #b0b8c1;
}

[data-theme="dark"] hr {
    border-color: #444;
}

/* Dropdown menus */
[data-theme="dark"] .dropdown-menu {
    background-color: #3b3b3b;
    border-color: #555;
}

[data-theme="dark"] .dropdown-item {
    color: #e6eef8;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: #4a4a4a;
    color: #ffffff;
}

[data-theme="dark"] .dropdown-divider {
    border-color: #555;
}

/* Modal styling */
[data-theme="dark"] .modal-content {
    background-color: #3b3b3b;
    border-color: #555;
    color: #e6eef8;
}

[data-theme="dark"] .modal-header {
    border-bottom-color: #555;
}

[data-theme="dark"] .modal-footer {
    border-top-color: #555;
}

[data-theme="dark"] .close {
    color: #e6eef8;
    text-shadow: none;
}

/* List groups */
[data-theme="dark"] .list-group-item {
    background-color: #3b3b3b;
    border-color: #555;
    color: #e6eef8;
}

[data-theme="dark"] .list-group-item:hover {
    background-color: #4a4a4a;
}

/* Alerts */
[data-theme="dark"] .alert-info {
    background-color: #1e3a5f;
    border-color: #2a5a8f;
    color: #b3d9ff;
}

[data-theme="dark"] .alert-warning {
    background-color: #5f4a1e;
    border-color: #8f6a2a;
    color: #ffd9b3;
}

[data-theme="dark"] .alert-danger {
    background-color: #5f1e1e;
    border-color: #8f2a2a;
    color: #ffb3b3;
}

[data-theme="dark"] .alert-success {
    background-color: #1e5f2e;
    border-color: #2a8f4a;
    color: #b3ffcc;
}

/* Badges */
[data-theme="dark"] .badge-secondary {
    background-color: #555;
}

[data-theme="dark"] .badge-light {
    background-color: #444;
    color: #e6eef8;
}

/* Input groups */
[data-theme="dark"] .input-group-text {
    background-color: #444;
    border-color: #555;
    color: #e6eef8;
}

/* Pagination */
[data-theme="dark"] .page-link {
    background-color: #3b3b3b;
    border-color: #555;
    color: #64b5f6;
}

[data-theme="dark"] .page-link:hover {
    background-color: #4a4a4a;
    color: #90caf9;
}

[data-theme="dark"] .page-item.active .page-link {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

[data-theme="dark"] .page-item.disabled .page-link {
    background-color: #2b2b2b;
    color: #666;
}

/* Nav tabs */
[data-theme="dark"] .nav-tabs {
    border-bottom-color: #555;
}

[data-theme="dark"] .nav-tabs .nav-link {
    color: #b0b8c1;
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
    border-color: #555;
    color: #ffffff;
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: #3b3b3b;
    border-color: #555 #555 #3b3b3b;
    color: #ffffff;
}

/* Fieldset and legend */
[data-theme="dark"] fieldset {
    border-color: #555;
}

[data-theme="dark"] legend {
    color: #e6eef8;
}

/* Clickable rows */
[data-theme="dark"] tbody.clickable_row tr:hover {
    background: #4a4a4a;
    cursor: pointer;
}

/* Theme toggle button styling */
#themeToggle {
    cursor: pointer;
    transition: transform 0.2s ease;
}

#themeToggle:hover {
    transform: scale(1.1);
}

#themeToggle i {
    transition: color 0.2s ease;
}

/* Sun icon in dark mode (shows when dark is active) */
[data-theme="dark"] #themeToggle i.fa-sun {
    color: #ffc107;
}

/* Moon icon in light mode (shows when light is active) */
[data-theme="light"] #themeToggle i.fa-moon,
#themeToggle i.fa-moon {
    color: #6c757d;
}

/* Adjust icon for auto mode (half-sun/half-moon) */
#themeToggle i.fa-adjust {
    color: #6c757d;
}

[data-theme="dark"] #themeToggle i.fa-adjust {
    color: #e0e0e0;
}

/* ============================================
   Field Tabs - Dark Mode Styles
   ============================================ */

[data-theme="dark"] .field-section-card {
    border-color: #444;
}

[data-theme="dark"] .field-section-body {
    background-color: #2b2b2b;
}

[data-theme="dark"] .field-section-header.orange {
    color: #fff;
}

[data-theme="dark"] .field-form-group label {
    color: #b0b8c1;
}

[data-theme="dark"] .field-table thead th {
    background-color: #3a3a3a;
    color: #e0e0e0;
}

[data-theme="dark"] .field-table tbody tr:hover {
    background-color: #3a3a3a;
}

[data-theme="dark"] .field-info-badge.success {
    background-color: #1e4620;
    color: #98d89e;
}

[data-theme="dark"] .field-info-badge.info {
    background-color: #1a365d;
    color: #90cdf4;
}

[data-theme="dark"] .field-info-badge.warning {
    background-color: #5c4813;
    color: #faf089;
}

[data-theme="dark"] .field-info-badge.danger {
    background-color: #5c1f1f;
    color: #feb2b2;
}

[data-theme="dark"] .field-stat-item {
    background-color: #3a3a3a;
}

[data-theme="dark"] .field-stat-item .value {
    color: #e0e0e0;
}

[data-theme="dark"] .field-stat-item .label {
    color: #a0a8b0;
}

[data-theme="dark"] .field-legend {
    color: #e0e0e0;
    border-bottom-color: #667eea;
}

[data-theme="dark"] .field-list-group .list-group-item {
    background-color: #2b2b2b;
    border-color: #444;
    color: #e0e0e0;
}

[data-theme="dark"] .field-list-group .list-group-item:hover {
    background-color: #3a3a3a;
}

[data-theme="dark"] .field-list-group .list-group-item.active-year {
    background-color: #5c4813;
}

[data-theme="dark"] .field-empty-state {
    color: #a0a0a0;
}

[data-theme="dark"] .field-empty-state i {
    color: #555;
}

[data-theme="dark"] .field-toolbar {
    background-color: #2d3748;
    border-color: #4a5568 !important;
}

/* Soil Test Summary - Dark Mode */
[data-theme="dark"] .soil-test-summary {
    background-color: #2d3748;
    border-color: #4a5568;
}

[data-theme="dark"] .soil-test-item {
    background-color: #374151;
    border-color: #4b5563;
    color: #e5e7eb;
}

[data-theme="dark"] .soil-test-item .label {
    color: #60a5fa;
}

[data-theme="dark"] .soil-test-item .value {
    color: #f3f4f6;
}

/* ============================================
   Allocation Tab Specific - Dark Mode
   ============================================ */

[data-theme="dark"] #AllocationTable {
    background-color: #2b2b2b;
    color: #e6eef8;
}

[data-theme="dark"] #AllocationTable thead th {
    background-color: #3a3a3a;
    color: #e0e0e0;
    border-color: #555;
}

[data-theme="dark"] #AllocationTable tbody td {
    background-color: #2b2b2b;
    color: #e6eef8;
    border-color: #444;
}

[data-theme="dark"] #AllocationTable tbody tr:hover td {
    background-color: #3a3a3a;
}

[data-theme="dark"] .allocationRate {
    background-color: #3b3b3b;
    color: #ffffff;
    border-color: #555;
}

/* Labels in allocation tab */
[data-theme="dark"] .control-label,
[data-theme="dark"] label.control-label {
    color: #b0b8c1;
}

/* Small text helpers */
[data-theme="dark"] small.text-muted {
    color: #a0a8b0 !important;
}

/* Custom controls (checkboxes) */
[data-theme="dark"] .custom-control-label {
    color: #e6eef8;
}

[data-theme="dark"] .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

/* Comments textarea */
[data-theme="dark"] .CommentsArea,
[data-theme="dark"] #comment_textarea1,
[data-theme="dark"] #listbox {
    background-color: #3b3b3b;
    color: #e6eef8;
    border-color: #555;
}

[data-theme="dark"] #listbox option {
    background-color: #3b3b3b;
    color: #e6eef8;
}

[data-theme="dark"] #listbox option:hover,
[data-theme="dark"] #listbox option:checked {
    background-color: #4a4a4a;
}

/* ============================================
   General Form Elements - Dark Mode Overrides
   ============================================ */

/* Ensure all disabled inputs in dark mode are styled correctly */
[data-theme="dark"] input:disabled,
[data-theme="dark"] input[disabled],
[data-theme="dark"] input.form-control:disabled,
[data-theme="dark"] input.form-control[disabled] {
    background-color: #2f2f2f !important;
    color: #b0b8c1 !important;
    border-color: #4a4a4a !important;
    opacity: 1;
}

/* Allocation Requirements - subtle blue background - MUST be after general disabled styles */
[data-theme="dark"] input.form-control.allocation-requirement,
[data-theme="dark"] input.form-control.allocation-requirement:disabled,
[data-theme="dark"] input.form-control.allocation-requirement[disabled],
[data-theme="dark"] input.allocation-requirement:disabled {
    background-color: rgba(70, 130, 180, 0.25) !important;
    border-color: rgba(100, 149, 200, 0.4) !important;
    color: #e0e0e0 !important;
}

/* Allocation Balance - subtle purple background - MUST be after general disabled styles */
[data-theme="dark"] input.form-control.allocation-balance,
[data-theme="dark"] input.form-control.allocation-balance:disabled,
[data-theme="dark"] input.form-control.allocation-balance[disabled],
[data-theme="dark"] input.allocation-balance:disabled {
    background-color: rgba(138, 100, 170, 0.25) !important;
    border-color: rgba(160, 120, 190, 0.4) !important;
    color: #e0e0e0 !important;
}

/* Management Implication colors - dark mode */
[data-theme="dark"] .NBASED,
[data-theme="dark"] input.NBASED {
    color: #5cb85c !important;
    font-weight: bold;
}

[data-theme="dark"] .PBASED,
[data-theme="dark"] input.PBASED {
    color: #f0ad4e !important;
    font-weight: bold;
}

[data-theme="dark"] .ZBASED,
[data-theme="dark"] input.ZBASED {
    color: #ff6b6b !important;
    font-weight: bold;
}

/* All select elements */
[data-theme="dark"] select,
[data-theme="dark"] select.form-control,
[data-theme="dark"] select.form-control-sm,
[data-theme="dark"] .custom-select,
[data-theme="dark"] .custom-select-sm {
    background-color: #3b3b3b;
    color: #ffffff;
    border-color: #555;
}

[data-theme="dark"] select option,
[data-theme="dark"] select.form-control option,
[data-theme="dark"] .custom-select option {
    background-color: #3b3b3b;
    color: #ffffff;
}

/* All inputs */
[data-theme="dark"] input,
[data-theme="dark"] input.form-control,
[data-theme="dark"] input.form-control-sm {
    background-color: #3b3b3b;
    color: #ffffff;
    border-color: #555;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] input.form-control:focus {
    background-color: #454545;
    color: #ffffff;
    border-color: #0d6efd;
}

/* Textareas */
[data-theme="dark"] textarea,
[data-theme="dark"] textarea.form-control {
    background-color: #3b3b3b;
    color: #ffffff;
    border-color: #555;
}

[data-theme="dark"] textarea:focus,
[data-theme="dark"] textarea.form-control:focus {
    background-color: #454545;
    color: #ffffff;
    border-color: #0d6efd;
}

/* Row styling */
[data-theme="dark"] .row {
    color: #e6eef8;
}

/* Font weight bold text should be visible */
[data-theme="dark"] .font-weight-bold {
    color: #e6eef8;
}

/* Specific treatment row links */
[data-theme="dark"] .TreatmentRow a {
    color: #64b5f6;
}

[data-theme="dark"] .TreatmentRow a:hover {
    color: #90caf9;
}

/* Delete icons should remain visible */
[data-theme="dark"] .DeleteManureUse,
[data-theme="dark"] .DeleteFertilizerUse {
    color: #f56565 !important;
}

[data-theme="dark"] .DeleteManureUse:hover,
[data-theme="dark"] .DeleteFertilizerUse:hover {
    color: #fc8181 !important;
}

/* Heading add buttons (green) */
[data-theme="dark"] .headingAdd,
[data-theme="dark"] .headingAddSmall {
    background: #38a169;
    color: white;
}

[data-theme="dark"] .headingAdd:hover,
[data-theme="dark"] .headingAddSmall:hover {
    background: #2f855a;
    color: white;
}
