/* Dark theme overrides */

[data-theme="dark"] {
  --page-bg: #0B1220;
  --card-bg: #1E293B;
  --text-1: #F1F5F9;
  --text-2: #94A3B8;
  --border: #334155;
  --shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  --input-bg: #0F172A;
  --form-surface: #1E293B;
  --form-surface-muted: #0F172A;
  --dropdown-bg: #1E293B;
  --dropdown-hover: #334155;
  --dropdown-border-light: #334155;
  --file-browse-bg: #334155;
  --file-browse-hover: #475569;
  --placeholder: #64748B;
  --group-header-bg: #334155;
  --info-banner-bg: #0F172A;
  --info-banner-text: #A5B4FC;
  --panel-header-bg: #475569;
  --section-header-bg: #1E3A5F;
  --section-header-text: #E2E8F0;
  color-scheme: dark;
}

[data-theme="dark"] body {
  background: var(--page-bg);
  color: var(--text-1);
}

[data-theme="dark"] .navbar {
  background: var(--card-bg);
  border-bottom: 1px solid var(--border);
}

[data-theme="dark"] .search-box input,
[data-theme="dark"] .form-input,
[data-theme="dark"] .settings-input,
[data-theme="dark"] .table-search-input {
  background: #0F172A;
  color: var(--text-1);
  border-color: var(--border);
}

[data-theme="dark"] .search-box input::placeholder {
  color: var(--text-2);
}

[data-theme="dark"] .user-profile {
  background: #0F172A;
  border-color: var(--border);
}

[data-theme="dark"] .btn-outline {
  background: #0F172A;
  border-color: var(--border);
  color: var(--text-1);
}

[data-theme="dark"] .btn-outline:hover {
  background: #1E293B;
}

[data-theme="dark"] .btn-icon {
  color: var(--text-2);
}

[data-theme="dark"] .btn-icon:hover {
  background: #334155;
  color: var(--text-1);
}

[data-theme="dark"] .card,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .panel.card,
[data-theme="dark"] .page-stat-card,
[data-theme="dark"] .page-table-card,
[data-theme="dark"] .form-page-card,
[data-theme="dark"] .profile-dropdown,
[data-theme="dark"] .notification-dropdown,
[data-theme="dark"] .quick-action-menu,
[data-theme="dark"] .modal,
[data-theme="dark"] .alerts-panel,
[data-theme="dark"] .alerts-panel-reopen,
[data-theme="dark"] .login-card {
  background: var(--card-bg);
  border-color: var(--border);
}

[data-theme="dark"] .data-table th {
  background: #0F172A;
  color: var(--text-2);
  border-color: var(--border);
}

[data-theme="dark"] .page-data-table thead th {
  background: #0F172A;
  color: var(--text-2);
  border-color: var(--border);
}

[data-theme="dark"] .data-table td {
  border-color: var(--border);
  color: var(--text-1);
}

[data-theme="dark"] .data-table tbody tr:hover {
  background: #0F172A;
}

[data-theme="dark"] .dashboard-footer,
[data-theme="dark"] .page-table-footer,
[data-theme="dark"] .table-info {
  color: var(--text-2);
}

[data-theme="dark"] .breadcrumb,
[data-theme="dark"] .navbar-date,
[data-theme="dark"] .page-stat-label,
[data-theme="dark"] .kpi-label,
[data-theme="dark"] .panel-title {
  color: var(--text-2);
}

[data-theme="dark"] .page-title,
[data-theme="dark"] .kpi-value,
[data-theme="dark"] .page-stat-value {
  color: var(--text-1);
}

[data-theme="dark"] .quick-action-btn,
[data-theme="dark"] .approval-card,
[data-theme="dark"] .alert-item,
[data-theme="dark"] .login-demo-account {
  background: #0F172A;
  border-color: var(--border);
}

[data-theme="dark"] .quick-action-btn:hover {
  background: #1E293B;
}

[data-theme="dark"] .dashboard-role-welcome {
  background: linear-gradient(135deg, #1E293B 0%, #0F172A 100%);
  border-color: var(--border);
}

[data-theme="dark"] .alerts-tab.active {
  background: #334155;
}

[data-theme="dark"] .alerts-tab {
  color: var(--text-2);
}

[data-theme="dark"] .alerts-panel-tabs {
  background: #0F172A;
}

[data-theme="dark"] .profile-dropdown-item:hover,
[data-theme="dark"] .dropdown-item:hover {
  background: #334155;
}

[data-theme="dark"] .progress-bar {
  background: #334155;
}

[data-theme="dark"] .login-demo-hint {
  background: #0F172A;
  border-color: var(--border);
}

[data-theme="dark"] .login-demo-note code {
  background: #334155;
  color: var(--text-1);
}

[data-theme="dark"] .theme-navbar-btn {
  color: var(--text-2);
}

[data-theme="dark"] .theme-navbar-btn:hover {
  background: #334155;
  color: #FBBF24;
}

/* Form pages — inputs, placeholders, pickers */
[data-theme="dark"] .form-page-field input::placeholder,
[data-theme="dark"] .form-page-field textarea::placeholder,
[data-theme="dark"] .form-field input::placeholder,
[data-theme="dark"] .form-field textarea::placeholder {
  color: var(--placeholder);
}

[data-theme="dark"] .form-page-field input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] .form-page-field input[type="time"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] .form-page-field input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(0.85);
}

[data-theme="dark"] .form-page-field select option,
[data-theme="dark"] .form-field select option {
  background: var(--dropdown-bg);
  color: var(--text-1);
}

[data-theme="dark"] .page-table-toolbar,
[data-theme="dark"] .settings-row,
[data-theme="dark"] .main-content {
  background: transparent;
  color: var(--text-1);
}

[data-theme="dark"] .settings-label {
  color: var(--text-1);
}

[data-theme="dark"] .btn-action.btn-delete:hover {
  background: rgba(239, 68, 68, 0.15);
}

[data-theme="dark"] .searchable-select-chevron,
[data-theme="dark"] .searchable-ms-chevron {
  color: var(--text-2);
}

[data-theme="dark"] .modal-close:hover {
  background: #334155;
}

/* Module permissions panel */
[data-theme="dark"] .emp-access-card.module-permissions-card,
[data-theme="dark"] .module-permissions-card .form-page-body {
  background: var(--form-surface);
}

[data-theme="dark"] .emp-access-label input[type="checkbox"],
[data-theme="dark"] .emp-access-all-label input[type="checkbox"] {
  accent-color: var(--nav-active);
}

[data-theme="dark"] .emp-role-picker-field select option {
  background: var(--dropdown-bg);
  color: var(--text-1);
}

[data-theme="dark"] .form-page-card {
  border: 1px solid var(--border);
  overflow: visible;
}

[data-theme="dark"] .form-section-header:first-child {
  border-radius: var(--radius) var(--radius) 0 0;
}

/* =========================================================
   FORM PAGES — comprehensive dark mode
   ========================================================= */

/* Card & body */
[data-theme="dark"] .form-page-body {
  background: var(--form-surface);
}
[data-theme="dark"] .form-section-header {
  background: var(--section-header-bg);
  color: var(--section-header-text);
}

/* Inputs */
[data-theme="dark"] .form-page-field input,
[data-theme="dark"] .form-page-field select,
[data-theme="dark"] .form-page-field textarea,
[data-theme="dark"] .form-field input,
[data-theme="dark"] .form-field select,
[data-theme="dark"] .form-field textarea {
  background: var(--input-bg);
  color: var(--text-1);
  border-color: var(--border);
}

/* Labels */
[data-theme="dark"] .form-page-field label,
[data-theme="dark"] .form-page-field .form-label,
[data-theme="dark"] .form-field label {
  color: var(--text-1);
}

/* File inputs */
[data-theme="dark"] .form-file-display {
  background: var(--input-bg);
  color: var(--text-2);
  border-color: var(--border);
}
[data-theme="dark"] .form-file-browse {
  background: var(--file-browse-bg);
  color: var(--text-1);
  border-color: var(--border);
}

/* CRUD modal */
[data-theme="dark"] .modal {
  background: var(--card-bg);
  border: 1px solid var(--border);
}
[data-theme="dark"] .modal-header {
  background: var(--card-bg);
  border-color: var(--border);
}
[data-theme="dark"] .modal-footer {
  background: var(--card-bg);
  border-color: var(--border);
}
[data-theme="dark"] .modal-body {
  background: var(--form-surface);
}
[data-theme="dark"] .modal-title { color: var(--text-1); }

/* Buttons inside modals */
[data-theme="dark"] .btn-outline-secondary,
[data-theme="dark"] .btn-cancel-modal {
  background: var(--form-surface-muted);
  color: var(--text-1);
  border-color: var(--border);
}

/* Form hint / helper text */
[data-theme="dark"] .form-hint,
[data-theme="dark"] .form-page-field .form-text {
  color: var(--text-2);
}

/* Searchable select dropdown */
[data-theme="dark"] .searchable-select-trigger,
[data-theme="dark"] .searchable-ms-trigger {
  background: var(--input-bg);
  color: var(--text-1);
  border-color: var(--border);
}

[data-theme="dark"] .searchable-select.open .searchable-select-trigger,
[data-theme="dark"] .searchable-ms.open .searchable-ms-trigger {
  border-color: var(--info);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

[data-theme="dark"] .searchable-select-value.is-empty,
[data-theme="dark"] .searchable-ms-value.is-empty {
  color: var(--placeholder);
}

[data-theme="dark"] .searchable-select-panel,
[data-theme="dark"] .searchable-ms-panel,
[data-theme="dark"] .searchable-select-dropdown,
[data-theme="dark"] .searchable-ms-dropdown {
  background: var(--dropdown-bg);
  border-color: var(--border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .searchable-ms-search-wrap {
  background: var(--form-surface-muted);
  border-bottom-color: var(--border);
}

[data-theme="dark"] .searchable-ms-search-wrap:focus-within {
  background: var(--input-bg);
}

[data-theme="dark"] .searchable-ms-search,
[data-theme="dark"] .searchable-select-search {
  color: var(--text-1);
}

[data-theme="dark"] .searchable-ms-search::placeholder,
[data-theme="dark"] .searchable-select-search::placeholder {
  color: var(--placeholder);
}

[data-theme="dark"] .searchable-select-option,
[data-theme="dark"] .ms-tags-option {
  color: var(--text-1);
  border-bottom-color: var(--dropdown-border-light);
  background: transparent;
}

[data-theme="dark"] .searchable-select-option:hover,
[data-theme="dark"] .searchable-select-option.is-selected,
[data-theme="dark"] .searchable-ms-option:hover,
[data-theme="dark"] .ms-tags-option:hover,
[data-theme="dark"] .ms-tags-option.is-selected {
  background: var(--dropdown-hover);
  color: var(--text-1);
}

[data-theme="dark"] .ms-tags-input {
  background: var(--input-bg);
  color: var(--text-1);
  border-color: var(--border);
}

[data-theme="dark"] .ms-tags-field.open .ms-tags-input {
  border-color: var(--info);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

[data-theme="dark"] .ms-tags-panel {
  background: var(--dropdown-bg);
  border-color: var(--border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .ms-tags-box {
  background: var(--input-bg);
  border-color: var(--border);
}

[data-theme="dark"] .emp-role-picker {
  background: var(--form-surface-muted);
  border-color: var(--border);
}

[data-theme="dark"] .emp-role-picker-hint {
  color: var(--text-2);
}

/* Colored option labels – brighter tones for dark backgrounds */
[data-theme="dark"] .searchable-select-option[data-value="Active"],
[data-theme="dark"] .searchable-select-option[data-value="Approved"],
[data-theme="dark"] .searchable-select-option[data-value="Fulfilled"],
[data-theme="dark"] .searchable-select-option[data-value="Disbursed"],
[data-theme="dark"] .searchable-select-option[data-value="Paid"],
[data-theme="dark"] .searchable-select-option[data-value="Received"],
[data-theme="dark"] .searchable-select-option[data-value="Present"],
[data-theme="dark"] .searchable-select-option[data-value="Yes"],
[data-theme="dark"] .searchable-select-option[data-value="Completed"],
[data-theme="dark"] .searchable-select-option[data-value="On Track"],
[data-theme="dark"] .searchable-select-option[data-value="Manager"],
[data-theme="dark"] .searchable-select-option[data-value="Project Manager"] { color: #4ADE80; }

[data-theme="dark"] .searchable-select-option[data-value="Admin"],
[data-theme="dark"] .searchable-select-option[data-value="Super Admin"],
[data-theme="dark"] .searchable-select-option[data-value="In Use"],
[data-theme="dark"] .searchable-select-option[data-value="Order Placed"],
[data-theme="dark"] .searchable-select-option[data-value="Bank Transfer"] { color: #60A5FA; }

[data-theme="dark"] .searchable-select-option[data-value="Pending"],
[data-theme="dark"] .searchable-select-option[data-value="Partial"],
[data-theme="dark"] .searchable-select-option[data-value="Late"],
[data-theme="dark"] .searchable-select-option[data-value="Half Day"],
[data-theme="dark"] .searchable-select-option[data-value="On Hold"],
[data-theme="dark"] .searchable-select-option[data-value="Maintenance Due"],
[data-theme="dark"] .searchable-select-option[data-value="Supervisor"],
[data-theme="dark"] .searchable-select-option[data-value="Site Supervisor"] { color: #FBBF24; }

[data-theme="dark"] .searchable-select-option[data-value="Rejected"],
[data-theme="dark"] .searchable-select-option[data-value="Inactive"],
[data-theme="dark"] .searchable-select-option[data-value="Unpaid"],
[data-theme="dark"] .searchable-select-option[data-value="Absent"],
[data-theme="dark"] .searchable-select-option[data-value="Overdue"],
[data-theme="dark"] .searchable-select-option[data-value="At Risk"],
[data-theme="dark"] .searchable-select-option[data-value="No"] { color: #F87171; }

[data-theme="dark"] .searchable-select-option[data-value="Employee"],
[data-theme="dark"] .searchable-select-option[data-value="Site Engineer"],
[data-theme="dark"] .searchable-select-option[data-value="Accountant"],
[data-theme="dark"] .searchable-select-option[data-value="HR Manager"] { color: #A78BFA; }

[data-theme="dark"] .searchable-select-option[data-value="Viewer"],
[data-theme="dark"] .searchable-select-option[data-value="Idle"],
[data-theme="dark"] .searchable-select-option[data-value="Cash"],
[data-theme="dark"] .searchable-select-option[data-value="On Leave"],
[data-theme="dark"] .searchable-select-option[data-value="National"],
[data-theme="dark"] .searchable-select-option[data-value="Regional"],
[data-theme="dark"] .searchable-select-option[data-value="Delayed"] { color: #94A3B8; }

/* PO / Requirement table inputs */
[data-theme="dark"] .po-cell-input,
[data-theme="dark"] .po-cell-select,
[data-theme="dark"] .req-item-input {
  background: var(--input-bg);
  color: var(--text-1);
  border-color: var(--border);
}

/* Form page actions bar */
[data-theme="dark"] .form-page-actions {
  background: var(--form-surface-muted);
  border-color: var(--border);
}

/* Ledger entry form dark mode */
[data-theme="dark"] .lef-input {
  background: var(--input-bg);
  color: var(--text-1);
  border-color: var(--border);
}
[data-theme="dark"] .lef-input::placeholder { color: var(--placeholder); }
[data-theme="dark"] .lef-net-display { background: var(--form-surface-muted); }
[data-theme="dark"] .lef-section-body { background: var(--form-surface); }
/* lef-btn-cancel uses dark #1E293B in both modes — no override needed */

/* =========================================================
   ATTENDANCE MONTH — modals & salary slip dark mode
   ========================================================= */

[data-theme="dark"] .att-modal {
  background: var(--card-bg);
  border-color: var(--border);
}
[data-theme="dark"] .att-modal-header,
[data-theme="dark"] .att-modal-footer {
  background: var(--card-bg);
  border-color: var(--border);
}
[data-theme="dark"] .att-edit-day { background: #0F172A; border-color: var(--border); }
[data-theme="dark"] .att-day-opt  { background: var(--card-bg); color: var(--text-2); border-color: var(--border); }
[data-theme="dark"] .att-edit-summary { background: #0F172A; border-color: var(--border); }
[data-theme="dark"] .att-modal-emp-summary { background: #0F172A; border-color: var(--border); }
[data-theme="dark"] .att-btn-secondary { background: #0F172A; color: var(--text-1); border-color: var(--border); }
[data-theme="dark"] .att-btn-secondary:hover { background: #1E293B; }
[data-theme="dark"] .att-info-approved { background: rgba(22,163,74,.2); color: #4ADE80; }
[data-theme="dark"] .att-info-rejected { background: rgba(220,38,38,.2); color: #F87171; }
[data-theme="dark"] .att-info-pending  { background: rgba(180,83,9,.2);  color: #FCD34D; }
[data-theme="dark"] .slip-meta { background: #0F172A; border-color: var(--border); }
[data-theme="dark"] .slip-th-earn  { background: #166534; color: #BBF7D0; }
[data-theme="dark"] .slip-th-deduc { background: #7F1D1D; color: #FECACA; }
[data-theme="dark"] .slip-total-row td { background: #0F172A; }

/* =========================================================
   ATTENDANCE MONTH REPORT — dark mode
   ========================================================= */

/* Filter card */
[data-theme="dark"] .att-filter-body {
  background: var(--card-bg);
}

[data-theme="dark"] .att-filter-field label {
  color: var(--text-2);
}

[data-theme="dark"] .att-filter-field select,
[data-theme="dark"] .att-filter-field input {
  background: #0F172A;
  color: var(--text-1);
  border-color: var(--border);
}

[data-theme="dark"] .att-filter-field select option {
  background: var(--card-bg);
  color: var(--text-1);
}

/* Month report card */
[data-theme="dark"] .month-report-header {
  background: var(--card-bg);
  border-color: var(--border);
}

[data-theme="dark"] .month-report-title {
  color: var(--text-1);
}

[data-theme="dark"] .att-legend {
  background: #0F172A;
  border-color: var(--border);
  color: var(--text-2);
}

/* Table header rows */
[data-theme="dark"] .month-report-table thead th {
  background: #0F172A;
  color: var(--text-2);
  border-color: var(--border);
}

[data-theme="dark"] .month-report-table .head-row-3 th {
  background: #1E293B;
}

[data-theme="dark"] .month-report-table .head-days {
  background: #1E3A5F !important;
  color: #93C5FD !important;
}

[data-theme="dark"] .month-report-table thead .sticky-col {
  background: #0F172A;
}

/* Sticky employee column */
[data-theme="dark"] .month-report-table .head-emp,
[data-theme="dark"] .month-report-table .sticky-col {
  background: var(--card-bg);
}

/* Table body */
[data-theme="dark"] .month-report-table tbody td {
  border-color: var(--border);
  color: var(--text-1);
}

[data-theme="dark"] .month-report-table tbody tr:nth-child(even) td {
  background: #0F172A;
}

[data-theme="dark"] .month-report-table tbody tr:nth-child(even) .sticky-col {
  background: #0F172A;
}

[data-theme="dark"] .month-report-table tbody tr:hover td {
  background: #1E293B;
}

[data-theme="dark"] .month-report-table tbody tr:hover .sticky-col {
  background: #1E293B;
}

[data-theme="dark"] .att-emp-name {
  color: var(--text-1);
}

/* Day badges — keep colours but darken slightly */
[data-theme="dark"] .att-p,
[data-theme="dark"] .att-badge-p  { background: #166534; color: #BBF7D0; }
[data-theme="dark"] .att-a,
[data-theme="dark"] .att-badge-a  { background: #7F1D1D; color: #FECACA; }
[data-theme="dark"] .att-hd,
[data-theme="dark"] .att-badge-hd { background: #1E3A5F; color: #BFDBFE; }
[data-theme="dark"] .att-h,
[data-theme="dark"] .att-legend-dot.att-h { background: #3B0764; color: #DDD6FE; }
[data-theme="dark"] .att-badge-pl { background: #78350F; color: #FDE68A; }

/* Day number header */
[data-theme="dark"] .att-day-num {
  background: #1E293B !important;
  color: var(--text-2) !important;
}

/* Generated salary cell */
[data-theme="dark"] .att-generated {
  background: #1E3A5F !important;
  color: #93C5FD !important;
}

[data-theme="dark"] .month-report-table tbody tr:nth-child(even) .att-generated,
[data-theme="dark"] .month-report-table tbody tr:hover .att-generated {
  background: #1E3A5F !important;
}

/* Textarea in table */
[data-theme="dark"] .att-textarea {
  background: #0F172A;
  color: var(--text-1);
  border-color: var(--border);
}

/* View slip button */
[data-theme="dark"] .btn-view-slip {
  background: #0F172A;
  color: #60A5FA;
  border-color: #334155;
}

[data-theme="dark"] .btn-view-slip:hover {
  background: #1E293B;
}

[data-theme="dark"] .form-page-field input.field-calculated {
  background: #0F172A;
  color: #60A5FA;
  border-color: #334155;
}

[data-theme="dark"] .data-table tbody tr.row-linked-highlight {
  background: #1E3A5F;
  outline-color: #60A5FA;
}

@keyframes linked-pulse-dark {
  0%   { background: #1E3A5F; }
  60%  { background: #1E293B; }
  100% { background: transparent; outline-color: transparent; }
}

[data-theme="dark"] .data-table tbody tr.row-linked-highlight {
  animation-name: linked-pulse-dark;
}

[data-theme="dark"] .searchable-select-option[data-value="GPay"],
[data-theme="dark"] .searchable-select-option[data-value="PhonePe"],
[data-theme="dark"] .searchable-select-option[data-value="NEFT"],
[data-theme="dark"] .searchable-select-option[data-value="RTGS"] { color: #38BDF8; }

[data-theme="dark"] .searchable-select-option[data-value="Paytm"] { color: #93C5FD; }

[data-theme="dark"] .searchable-select-option[data-value="Cheque"] { color: #C4B5FD; }

/* Documents panel – dark mode */
[data-theme="dark"] .doc-cat-row {
  background: #1E293B;
  border-color: #334155;
}

[data-theme="dark"] .doc-file-chip {
  background: #0F172A;
  border-color: #334155;
  color: #CBD5E1;
}
