/* themes.css - System-wide theme definitions */

@font-face {
  font-family: 'Great Vibes';
  src: url('/fonts/GreatVibes-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ============================================
   LIGHT THEME (Default)
   ============================================ */
:root {
  /* Primary Brand Colors */
  --primary-color: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-light: #3b82f6;
  --secondary-color: #ef4444;
  --secondary-hover: #dc2626;

  /* Background Colors */
  --bg-primary: #f4f7fa;
  --bg-surface: #ffffff;
  --bg-elevated: #ffffff;
  --bg-hover: #f8fafc;
  --bg-active: #ebf4ff;

  /* Text Colors */
  --text-primary: #1e293b;
  --text-secondary: #64748b;
  --text-tertiary: #94a3b8;
  --text-on-primary: #ffffff;
  --text-muted: #6b7280;

  /* Border Colors */
  --border-primary: #e2e8f0;
  --border-secondary: #d1d5db;
  --border-focus: #2563eb;

  /* Gray Scale */
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;

  /* Color Scale */
  --blue-50: #eff6ff;
  --red-50: #fef2f2;
  --green-50: #ecfdf5;
  --yellow-50: #fffbeb;

  /* Status Colors */
  --success-color: #10b981;
  --success-bg: #ecfdf5;
  --success-border: #a7f3d0;

  --error-color: #ef4444;
  --error-bg: #fef2f2;
  --error-border: #fecaca;

  --warning-color: #f59e0b;
  --warning-bg: #fffbeb;
  --warning-border: #fde68a;

  --info-color: #3b82f6;
  --info-bg: #eff6ff;
  --info-border: #bfdbfe;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

  /* Component-Specific Colors */
  --sidebar-bg: #ffffff;
  --sidebar-text: #111827;
  --sidebar-hover: #ebf4ff;
  --sidebar-active: #2563eb;

  --header-bg: #ffffff;
  --header-text: #1e293b;

  --card-bg: #ffffff;
  --card-border: #e2e8f0;

  --input-bg: #ffffff;
  --input-border: #e2e8f0;
  --input-focus-border: #2563eb;

  --dropdown-bg: #ffffff;
  --dropdown-border: #e2e8f0;
  --dropdown-hover: #f8fafc;

  --modal-overlay: rgba(0, 0, 0, 0.5);
  --modal-bg: #ffffff;

  /* Table Colors */
  --table-header-bg: #f8fafc;
  --table-border: #e2e8f0;
  --table-hover: #f8fafc;

  /* Button Colors */
  --btn-primary-bg: #2563eb;
  --btn-primary-hover: #1d4ed8;
  --btn-primary-text: #ffffff;

  --btn-secondary-bg: #64748b;
  --btn-secondary-hover: #475569;
  --btn-secondary-text: #ffffff;

  --btn-danger-bg: #ef4444;
  --btn-danger-hover: #dc2626;
  --btn-danger-text: #ffffff;

  --btn-ghost-bg: transparent;
  --btn-ghost-hover: #f8fafc;
  --btn-ghost-text: #64748b;

  /* Badge Colors */
  --badge-blue-bg: #dbeafe;
  --badge-blue-text: #1e40af;

  --badge-red-bg: #fee2e2;
  --badge-red-text: #dc2626;

  --badge-green-bg: #dcfce7;
  --badge-green-text: #166534;

  --badge-yellow-bg: #fef3c7;
  --badge-yellow-text: #d97706;

  --badge-gray-bg: #f3f4f6;
  --badge-gray-text: #4b5563;
}

/* ============================================
   DARK THEME
   ============================================ */
[data-theme="dark"] {
  /* Primary Brand Colors (keep same for consistency) */
  --primary-color: #2563eb;
  --primary-hover: #3b82f6;
  --primary-light: #60a5fa;
  --secondary-color: #ef4444;
  --secondary-hover: #f87171;

  /* Background Colors */
  --bg-primary: #0a0f1c;
  --bg-surface: #0d1424;
  --bg-elevated: #13182b;
  --bg-hover: #1a1f35;
  --bg-active: #1e2741;

  /* Text Colors */
  --text-primary: #ffffff;
  --text-secondary: #94a3b8;
  --text-tertiary: #64748b;
  --text-on-primary: #ffffff;
  --text-muted: #64748b;

  /* Border Colors */
  --border-primary: #1e293b;
  --border-secondary: #334155;
  --border-focus: #3b82f6;

  /* Gray Scale (inverted for dark theme) */
  --gray-50: #1e293b;
  --gray-100: #334155;
  --gray-200: #475569;
  --gray-300: #64748b;
  --gray-400: #94a3b8;
  --gray-500: #cbd5e1;
  --gray-600: #e2e8f0;
  --gray-700: #f1f5f9;
  --gray-800: #f8fafc;
  --gray-900: #ffffff;

  /* Color Scale (adjusted for dark backgrounds) */
  --blue-50: #1e3a5f;
  --red-50: #2d1414;
  --green-50: #0f2a1c;
  --yellow-50: #2d2410;

  /* Status Colors (adjusted for dark backgrounds) */
  --success-color: #22c55e;
  --success-bg: #0f2a1c;
  --success-border: #14532d;

  --error-color: #f87171;
  --error-bg: #2d1414;
  --error-border: #7f1d1d;

  --warning-color: #fbbf24;
  --warning-bg: #2d2410;
  --warning-border: #78350f;

  --info-color: #60a5fa;
  --info-bg: #1e3a5f;
  --info-border: #1e40af;

  /* Shadows (more subtle in dark theme) */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6), 0 10px 10px -5px rgba(0, 0, 0, 0.4);

  /* Component-Specific Colors */
  --sidebar-bg: #0d1424;
  --sidebar-text: #ffffff;
  --sidebar-hover: #1e2741;
  --sidebar-active: #2563eb;

  --header-bg: #0d1424;
  --header-text: #ffffff;

  --card-bg: #0d1424;
  --card-border: #1e293b;

  --input-bg: #13182b;
  --input-border: #1e293b;
  --input-focus-border: #3b82f6;

  --dropdown-bg: #0d1424;
  --dropdown-border: #1e293b;
  --dropdown-hover: #1a1f35;

  --modal-overlay: rgba(0, 0, 0, 0.8);
  --modal-bg: #0d1424;

  /* Table Colors */
  --table-header-bg: #13182b;
  --table-border: #1e293b;
  --table-hover: #1a1f35;

  /* Button Colors */
  --btn-primary-bg: #2563eb;
  --btn-primary-hover: #3b82f6;
  --btn-primary-text: #ffffff;

  --btn-secondary-bg: #475569;
  --btn-secondary-hover: #64748b;
  --btn-secondary-text: #ffffff;

  --btn-danger-bg: #ef4444;
  --btn-danger-hover: #f87171;
  --btn-danger-text: #ffffff;

  --btn-ghost-bg: transparent;
  --btn-ghost-hover: #1a1f35;
  --btn-ghost-text: #94a3b8;

  /* Badge Colors */
  --badge-blue-bg: #1e3a5f;
  --badge-blue-text: #93c5fd;

  --badge-red-bg: #2d1414;
  --badge-red-text: #fca5a5;

  --badge-green-bg: #0f2a1c;
  --badge-green-text: #86efac;

  --badge-yellow-bg: #2d2410;
  --badge-yellow-text: #fde047;

  --badge-gray-bg: #1e293b;
  --badge-gray-text: #cbd5e1;
}

/* ============================================
   THEME TRANSITION ANIMATIONS
   ============================================ */
body,
.sidebar,
.card,
.modal-content,
.dropdown,
input,
textarea,
select,
button {
  transition: background-color 0.3s ease,
              color 0.3s ease,
              border-color 0.3s ease;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  body,
  .sidebar,
  .card,
  .modal-content,
  .dropdown,
  input,
  textarea,
  select,
  button {
    transition: none;
  }
}

/* ============================================
   GLOBAL ELEMENT STYLES (Theme-Aware)
   ============================================ */

/* Form Elements - Ensure all inputs are readable */
input,
textarea,
select,
.form-control {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

input::placeholder,
textarea::placeholder {
  color: var(--text-muted);
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus {
  border-color: var(--border-focus);
  outline: none;
}

/* Labels */
label {
  color: var(--text-primary);
}

/* Tables */
table {
  border-color: var(--table-border);
}

th {
  background-color: var(--table-header-bg);
  color: var(--text-primary);
  border-color: var(--table-border);
}

td {
  color: var(--text-primary);
  border-color: var(--table-border);
}

tr:hover {
  background-color: var(--table-hover);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary);
}

/* Paragraphs and general text */
p {
  color: var(--text-primary);
}

/* Links */
a {
  color: var(--primary-color);
}

a:hover {
  color: var(--primary-hover);
}

/* ============================================
   DARK THEME GLOBAL OVERRIDES
   ============================================ */

/* Override any hardcoded dark text colors in dark theme */
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .form-control {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
  color: var(--text-muted) !important;
}

/* Fix select dropdowns */
[data-theme="dark"] select option {
  background-color: var(--dropdown-bg);
  color: var(--text-primary);
}

/* Labels in dark theme */
[data-theme="dark"] label {
  color: var(--text-primary);
}

/* Table headers */
[data-theme="dark"] th {
  background-color: var(--table-header-bg) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] td {
  color: var(--text-primary);
}

/* Cards and containers */
[data-theme="dark"] .card,
[data-theme="dark"] .form-container,
[data-theme="dark"] .container-box,
[data-theme="dark"] .section-card,
[data-theme="dark"] .modal-content {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  color: var(--text-primary);
}

/* Info/Alert boxes */
[data-theme="dark"] .info-box,
[data-theme="dark"] .alert-info,
[data-theme="dark"] .info-banner {
  background-color: var(--info-bg);
  border-color: var(--info-border);
  color: var(--info-color);
}

[data-theme="dark"] .success-box,
[data-theme="dark"] .alert-success {
  background-color: var(--success-bg);
  border-color: var(--success-border);
  color: var(--success-color);
}

[data-theme="dark"] .warning-box,
[data-theme="dark"] .alert-warning {
  background-color: var(--warning-bg);
  border-color: var(--warning-border);
  color: var(--warning-color);
}

[data-theme="dark"] .error-box,
[data-theme="dark"] .alert-error,
[data-theme="dark"] .alert-danger {
  background-color: var(--error-bg);
  border-color: var(--error-border);
  color: var(--error-color);
}

/* Status badges */
[data-theme="dark"] .status-badge,
[data-theme="dark"] .badge {
  color: var(--text-primary);
}

[data-theme="dark"] .status-badge.pending,
[data-theme="dark"] .status-badge.pending-approval,
[data-theme="dark"] .badge-warning {
  background-color: var(--badge-yellow-bg) !important;
  color: var(--badge-yellow-text) !important;
}

[data-theme="dark"] .status-badge.approved,
[data-theme="dark"] .status-badge.active,
[data-theme="dark"] .status-badge.completed,
[data-theme="dark"] .badge-success {
  background-color: var(--badge-green-bg) !important;
  color: var(--badge-green-text) !important;
}

[data-theme="dark"] .status-badge.declined,
[data-theme="dark"] .status-badge.rejected,
[data-theme="dark"] .status-badge.error,
[data-theme="dark"] .badge-danger {
  background-color: var(--badge-red-bg) !important;
  color: var(--badge-red-text) !important;
}

[data-theme="dark"] .status-badge.under-consideration,
[data-theme="dark"] .status-badge.in-progress,
[data-theme="dark"] .badge-info {
  background-color: var(--badge-blue-bg) !important;
  color: var(--badge-blue-text) !important;
}

/* Transaction badges */
[data-theme="dark"] .transaction-badge {
  color: var(--text-primary);
}

[data-theme="dark"] .transaction-badge.lessor,
[data-theme="dark"] .transaction-badge.lessee {
  background-color: var(--badge-yellow-bg) !important;
  color: var(--badge-yellow-text) !important;
}

[data-theme="dark"] .transaction-badge.buyer,
[data-theme="dark"] .transaction-badge.seller {
  background-color: var(--badge-blue-bg) !important;
  color: var(--badge-blue-text) !important;
}

/* Buttons - Secondary/Ghost styles */
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-ghost,
[data-theme="dark"] .neutral-btn {
  background-color: var(--bg-elevated);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-ghost:hover,
[data-theme="dark"] .neutral-btn:hover {
  background-color: var(--bg-hover);
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* Empty states */
[data-theme="dark"] .empty-state,
[data-theme="dark"] .no-data {
  color: var(--text-secondary);
}

/* Subsections and form sections */
[data-theme="dark"] .subsection,
[data-theme="dark"] .form-section {
  background-color: var(--bg-elevated);
  background: transparent;
  border-color: var(--card-border);
}

[data-theme="dark"] .subsection label,
[data-theme="dark"] .form-section label,
[data-theme="dark"] .form-group label {
  color: var(--text-primary);
}

/* Client cards and corp cards */
[data-theme="dark"] .client-card,
[data-theme="dark"] .corp-card {
  background-color: var(--card-bg);
  border-color: var(--border-secondary);
}

[data-theme="dark"] .client-card .client-info h4,
[data-theme="dark"] .corp-card .corp-info h4,
[data-theme="dark"] .client-card h4,
[data-theme="dark"] .corp-card h4 {
  color: var(--text-primary);
}

[data-theme="dark"] .client-card .client-info p,
[data-theme="dark"] .corp-card .corp-info p,
[data-theme="dark"] .client-card p,
[data-theme="dark"] .corp-card p {
  color: var(--text-secondary);
}

/* Log entries */
[data-theme="dark"] .log-entry,
[data-theme="dark"] .activity-item {
  border-color: var(--border-primary);
}

[data-theme="dark"] .log-description,
[data-theme="dark"] .log-title {
  color: var(--text-primary);
}

[data-theme="dark"] .log-meta,
[data-theme="dark"] .log-details,
[data-theme="dark"] .log-timestamp {
  color: var(--text-secondary);
}

/* Dropdown menus */
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .dropdown-content {
  background-color: var(--dropdown-bg);
  border-color: var(--dropdown-border);
}

[data-theme="dark"] .dropdown-item {
  color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover {
  background-color: var(--dropdown-hover);
}

/* Modals */
[data-theme="dark"] .modal-body {
  background-color: var(--card-bg);
  color: var(--text-primary);
}

[data-theme="dark"] .modal-footer {
  background-color: var(--bg-elevated);
  border-color: var(--border-primary);
}

/* Search inputs */
[data-theme="dark"] .search-input,
[data-theme="dark"] .client-search input,
[data-theme="dark"] .search-box input {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

/* Tab navigation */
[data-theme="dark"] .tab-button,
[data-theme="dark"] .nav-tab {
  color: var(--text-secondary);
}

[data-theme="dark"] .tab-button:hover,
[data-theme="dark"] .nav-tab:hover {
  color: var(--text-primary);
  background-color: var(--bg-hover);
}

[data-theme="dark"] .tab-button.active,
[data-theme="dark"] .nav-tab.active {
  color: var(--primary-color);
}

/* File upload sections */
[data-theme="dark"] .file-upload-section,
[data-theme="dark"] .upload-area {
  background-color: var(--bg-elevated);
  border-color: var(--border-secondary);
}

/* Position and ownership displays */
[data-theme="dark"] .position-display span,
[data-theme="dark"] .ownership-display span {
  color: var(--text-primary) !important;
}

/* Fix any remaining hardcoded text that might be dark */
[data-theme="dark"] [style*="color: #1f2937"],
[data-theme="dark"] [style*="color: #374151"],
[data-theme="dark"] [style*="color: #111827"],
[data-theme="dark"] [style*="color: #1e293b"],
[data-theme="dark"] [style*="color:#1f2937"],
[data-theme="dark"] [style*="color:#374151"],
[data-theme="dark"] [style*="color:#111827"],
[data-theme="dark"] [style*="color:#1e293b"] {
  color: var(--text-primary) !important;
}

[data-theme="dark"] [style*="color: #4b5563"],
[data-theme="dark"] [style*="color: #6b7280"],
[data-theme="dark"] [style*="color:#4b5563"],
[data-theme="dark"] [style*="color:#6b7280"] {
  color: var(--text-secondary) !important;
}

/* Preserve dark text colors inside Google Maps InfoWindows */
/* Google Maps InfoWindows have white backgrounds, so text must remain dark */
[data-theme="dark"] .gm-style [style*="color: #374151"],
[data-theme="dark"] .gm-style [style*="color:#374151"],
[data-theme="dark"] .gm-style [style*="color: #111827"],
[data-theme="dark"] .gm-style [style*="color:#111827"] {
  color: inherit !important;
}

[data-theme="dark"] .gm-style-iw,
[data-theme="dark"] .gm-style-iw-c,
[data-theme="dark"] .gm-style-iw-d {
  color: #374151 !important;
}

[data-theme="dark"] .gm-style-iw h4,
[data-theme="dark"] .gm-style-iw-c h4,
[data-theme="dark"] .gm-style-iw-d h4 {
  color: #111827 !important;
}

[data-theme="dark"] .gm-style-iw p,
[data-theme="dark"] .gm-style-iw-c p,
[data-theme="dark"] .gm-style-iw-d p {
  color: #374151 !important;
}

[data-theme="dark"] .gm-style-iw a,
[data-theme="dark"] .gm-style-iw-c a,
[data-theme="dark"] .gm-style-iw-d a {
  color: #2563eb !important;
}

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

/* Scrollbar styling for dark theme */
[data-theme="dark"] ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--bg-primary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: var(--border-secondary);
  border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: var(--text-muted);
}

/* ============================================
   TABS - GLOBAL UNDERLINE STYLE
   ============================================ */

/* Tabs container */
.tabs {
  display: inline-flex;
  gap: 8px;
  margin: 0 10px 12px;
  border-bottom: 2px solid var(--gray-200);
  overflow-x: auto;
}

/* Tab buttons */
.tab-btn {
  padding: 12px 18px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.9rem;
  color: var(--text-secondary);
  transition: color 0.15s, border-color 0.15s;
}

.tab-btn:hover {
  color: var(--primary-color);
  background: var(--bg-hover);
}

.tab-btn.active {
  color: var(--primary-color);
  border-bottom-color: var(--primary-color);
}

/* Tab panels */
.tab-panels .tab-panel.hidden {
  display: none;
}

/* Dark theme overrides for tabs */
[data-theme="dark"] .tabs {
  border-bottom-color: var(--border-primary);
}

[data-theme="dark"] .tab-btn,
[data-theme="dark"] .tab-btn:hover,
[data-theme="dark"] .tab-btn.active {
  background: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] .tab-btn {
  color: var(--text-secondary);
  border-color: transparent !important;
}

[data-theme="dark"] .tab-btn:hover {
  color: var(--primary-color);
}

[data-theme="dark"] .tab-btn.active {
  color: var(--primary-color);
  border-bottom-color: var(--primary-color) !important;
}

/* View Toggle - Dark mode styling */
[data-theme="dark"] .view-toggle {
  background: var(--bg-elevated);
  border-color: var(--border-primary);
}

[data-theme="dark"] .view-toggle-btn {
  color: var(--text-secondary);
}

[data-theme="dark"] .view-toggle-btn:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

[data-theme="dark"] .view-toggle-btn.active {
  background: var(--primary-color);
  color: #ffffff;
}

/* Button row - consistent height across all pages */
.button-row {
  height: 32px !important;
}

/* Ensure .btn-new buttons in button-row have consistent sizing */
.button-row .btn-new,
.button-row button.btn-new {
  padding: 8px 16px 8px 12px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  border: none !important;
  height: 32px !important;
  box-sizing: border-box !important;
}

/* Button row buttons (New Project, Filter buttons, etc.) */
[data-theme="dark"] .button-row button:not(.uf-dropdown-btn):not(.view-toggle-btn):not(.end-state-btn):not(.uf-clear-btn) {
  background-color: var(--card-bg);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .button-row button:not(.uf-dropdown-btn):not(.view-toggle-btn):not(.end-state-btn):not(.uf-clear-btn):hover {
  background-color: var(--bg-hover) !important;
  border-color: var(--primary-color);
  color: var(--primary-color);
}

[data-theme="dark"] .button-row button.active-filter,
[data-theme="dark"] .button-row button.active-filter i {
  color: var(--primary-color);
}

/* Table section header buttons (Add Manual Client, Add Corporation) */
[data-theme="dark"] .table-section-header .add-manual-client-btn,
[data-theme="dark"] .table-section-header .add-corporation-btn,
[data-theme="dark"] .table-section-header button {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary);
  border-color: var(--border-primary);
}

[data-theme="dark"] .table-section-header .add-manual-client-btn:hover,
[data-theme="dark"] .table-section-header .add-corporation-btn:hover,
[data-theme="dark"] .table-section-header button:hover {
  background-color: var(--bg-hover) !important;
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* Table section header background */
[data-theme="dark"] .table-section-header {
  background: var(--table-header-bg);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

/* Table pagination buttons */
[data-theme="dark"] .table-pagination button {
  background: var(--bg-elevated);
  color: var(--text-primary);
  border-color: transparent;
}

[data-theme="dark"] .table-pagination button:hover {
  background-color: var(--bg-hover) !important;
  border-color: var(--primary-color);
  color: var(--primary-color);
}


[data-theme="dark"] .dropdown-content div.selected-filter {
  background-color: var(--bg-active);
}

/* Search input specific */
[data-theme="dark"] .search-input {
  background: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border) !important;
}

/* Modal actions/footer background */
[data-theme="dark"] .modal-actions {
  background-color: var(--bg-elevated);
  border-color: var(--border-primary);
}

/* Gray light variable override for dark theme */
[data-theme="dark"] {
  --gray-light: var(--bg-elevated);
  --bg-tertiary: #1a2035;
}

/* ============================================
   SUBSECTION & CARD H4 DARK THEME FIXES
   ============================================ */

/* Subsection titles use var(--gray-700) which is hardcoded dark in page styles */
[data-theme="dark"] .subsection-title {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .subsection-title i {
  color: var(--primary-light);
}

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

/* Subsection backgrounds */
[data-theme="dark"] .subsection {
  background: var(--bg-elevated);
}

[data-theme="dark"] .client-name-section {
  background: var(--bg-elevated);
}

/* Status section dark theme (for any pages still using it) */
[data-theme="dark"] .status-section {
  background: var(--bg-elevated);
}

/* Corporation/MSG upload sections */
[data-theme="dark"] .msg-upload-section,
[data-theme="dark"] .corporation-selection-section {
  background: var(--bg-elevated);
}

[data-theme="dark"] .corporations-list-section {
  background: var(--card-bg);
}

[data-theme="dark"] .msg-file-item,
[data-theme="dark"] .corporation-item {
  background: var(--card-bg);
}

/* Modal content background */
[data-theme="dark"] .modal-content {
  background: var(--card-bg);
}

[data-theme="dark"] .modal-header {
  border-color: var(--border-primary);
}

[data-theme="dark"] .modal-header h3 {
  color: var(--text-primary);
}

[data-theme="dark"] .close-modal {
  color: var(--text-secondary);
}

[data-theme="dark"] .close-modal:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

/* ============================================
   CP-CORPORATION & CORPORATION-FORM DARK THEME
   ============================================ */

/* Notes section */
[data-theme="dark"] .notes-section {
  background: var(--bg-elevated);
}

[data-theme="dark"] .notes-section p {
  color: var(--text-secondary);
}

/* Document checkbox hover state */
[data-theme="dark"] .document-checkbox-item:hover {
  background: var(--bg-hover);
  border-color: var(--primary-color);
}

/* Ownership items */
[data-theme="dark"] .ownership-item {
  background: var(--bg-elevated);
  border-color: var(--border-primary);
}

[data-theme="dark"] .ownership-item-meta {
  color: var(--text-secondary);
}

[data-theme="dark"] .ownership-item.highest-owner {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2) 0%, rgba(245, 158, 11, 0.1) 100%);
  border-color: #f59e0b;
}

/* Org chart container */
[data-theme="dark"] .org-chart-container {
  background: var(--bg-elevated);
}

/* Org chart nodes - project-page style */
[data-theme="dark"] .chart-node {
  background: var(--card-bg);
  border-color: var(--border-secondary);
}

[data-theme="dark"] .chart-node.corporation {
  background: rgba(37, 99, 235, 0.15);
  border-color: var(--primary-color);
}

[data-theme="dark"] .chart-node.client {
  background: rgba(16, 185, 129, 0.15);
  border-color: #10b981;
}

[data-theme="dark"] .chart-node.manual-client {
  background: rgba(225, 29, 72, 0.15);
  border-color: #e11d48;
}

[data-theme="dark"] .chart-node.project {
  background: rgba(139, 92, 246, 0.15);
  border-color: #8b5cf6;
}

[data-theme="dark"] .chart-node.target-node {
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.25), var(--shadow-md);
}

[data-theme="dark"] .chart-node.top-investor-node {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25) 0%, rgba(245, 158, 11, 0.15) 100%) !important;
}

[data-theme="dark"] .node-name {
  color: var(--text-primary);
}

[data-theme="dark"] .node-type {
  color: var(--text-secondary);
}

/* Old org-node styles (backward compat) */
[data-theme="dark"] .org-node {
  background: var(--card-bg);
}

[data-theme="dark"] .org-node.corporation {
  background: rgba(37, 99, 235, 0.15);
  border-color: var(--primary-color);
}

[data-theme="dark"] .org-node.client {
  background: rgba(16, 185, 129, 0.15);
  border-color: #10b981;
}

[data-theme="dark"] .org-node.project {
  background: rgba(245, 158, 11, 0.15);
  border-color: #f59e0b;
}

[data-theme="dark"] .org-node-title {
  color: var(--text-primary);
}

[data-theme="dark"] .org-node-details {
  color: var(--text-secondary);
}

/* Tier labels */
[data-theme="dark"] .tier-label {
  background: var(--bg-elevated);
  color: var(--text-secondary);
}

/* Info box */
[data-theme="dark"] .info-box {
  background: rgba(37, 99, 235, 0.15);
  border-left-color: var(--primary-color);
  color: var(--text-primary);
}

[data-theme="dark"] .info-box i {
  color: var(--primary-light);
}

/* Info label (for info grids) */
[data-theme="dark"] .info-label {
  color: var(--text-secondary);
}

[data-theme="dark"] .info-value {
  color: var(--text-primary);
}

/* Entity type badge */
[data-theme="dark"] .entity-type-badge {
  background: var(--badge-gray-bg);
  color: var(--badge-gray-text);
}

/* Client type badges */
[data-theme="dark"] .client-type-badge.corporation {
  background: rgba(37, 99, 235, 0.2);
  color: #93c5fd;
}

[data-theme="dark"] .client-type-badge.registered-client {
  background: rgba(16, 185, 129, 0.2);
  color: #86efac;
}

[data-theme="dark"] .client-type-badge.manual-client {
  background: rgba(225, 29, 72, 0.2);
  color: #fda4af;
}

/* Search results dropdown */
[data-theme="dark"] .search-results,
[data-theme="dark"] .search-results-dropdown {
  background: var(--card-bg);
  border-color: var(--border-primary);
}

[data-theme="dark"] .search-result-item {
  border-color: var(--border-primary);
}

[data-theme="dark"] .search-result-item:hover {
  background: var(--bg-hover);
}

[data-theme="dark"] .search-result-item strong {
  color: var(--text-primary);
}

[data-theme="dark"] .search-result-item small {
  color: var(--text-secondary);
}

/* Selected items list */
[data-theme="dark"] .selected-item {
  background: var(--bg-elevated);
  border-color: var(--border-primary);
}

[data-theme="dark"] .selected-item-name {
  color: var(--text-primary);
}

[data-theme="dark"] .selected-item-meta {
  color: var(--text-secondary);
}

/* Ownership input group */
[data-theme="dark"] .ownership-input-group input,
[data-theme="dark"] .ownership-input-group select {
  background: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

/* Ownership warning */
[data-theme="dark"] .ownership-warning {
  background: rgba(245, 158, 11, 0.15);
  border-left-color: #f59e0b;
  color: var(--text-primary);
}

[data-theme="dark"] .ownership-warning i {
  color: #fbbf24;
}

/* File upload section */
[data-theme="dark"] .file-upload-section {
  background: var(--bg-elevated);
  border-color: var(--border-secondary);
}

[data-theme="dark"] .file-upload-section:hover {
  border-color: var(--primary-color);
  background: rgba(37, 99, 235, 0.05);
}

/* Action buttons */
[data-theme="dark"] .action-btn:hover {
  background: var(--bg-hover);
}

/* Table row hover */
[data-theme="dark"] #uploaded-files-table tbody tr:not(.empty-row):hover,
[data-theme="dark"] .table-wrapper tbody tr:hover {
  background: var(--bg-hover);
}

/* ============================================
   GEAR SETTINGS & NOTIFICATION BELL DARK THEME
   (Consistent across all pages)
   ============================================ */

/* Gear settings and notification bell buttons */
[data-theme="dark"] .gear-settings-btn,
[data-theme="dark"] .notification-bell-btn {
  background: var(--bg-elevated);
  border: 1px solid var(--border-primary) !important;
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .gear-settings-btn:hover,
[data-theme="dark"] .notification-bell-btn:hover {
  background: var(--bg-hover);
  border-color: var(--primary-color) !important;
  color: var(--primary-color) !important;
}

[data-theme="dark"] .gear-settings-btn.active {
  background: var(--primary-color);
  border-color: var(--primary-color) !important;
  color: white !important;
}

/* Gear dropdown menu */
[data-theme="dark"] .gear-dropdown {
  background: var(--card-bg);
  border-color: var(--border-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .gear-dropdown-item {
  color: var(--text-primary);
}

[data-theme="dark"] .gear-dropdown-item:hover {
  background: var(--bg-hover);
  color: var(--primary-color);
}

[data-theme="dark"] .gear-dropdown-item.logout-item:hover {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

[data-theme="dark"] .gear-dropdown-divider {
  background-color: var(--border-primary);
}

/* Notification count badge */
[data-theme="dark"] .notification-count-badge {
  border-color: var(--card-bg);
}

/* ============================================
   COMPS PAGES DARK THEME FIXES
   (comps-search, comps-form, comps-detail)
   ============================================ */

/* Filter chips */
[data-theme="dark"] .filter-chip {
  background-color: var(--bg-elevated);
  border-color: var(--border-primary);
  color: var(--text-primary);
}

[data-theme="dark"] .filter-chip:hover,
[data-theme="dark"] .filter-chip.active {
  background-color: var(--primary-color);
  color: white;
  border-color: var(--primary-color);
}

/* Search buttons */
[data-theme="dark"] .search-buttons button {
  background-color: var(--bg-elevated);
  border-color: var(--border-primary);
  color: var(--text-primary);
}

[data-theme="dark"] .search-buttons button:hover {
  background-color: var(--bg-hover);
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* Card action buttons */
[data-theme="dark"] .card-action-btn {
  background-color: var(--bg-elevated);
  border-color: var(--border-primary);
  color: var(--text-primary);
}

[data-theme="dark"] .card-action-btn:hover {
  background-color: var(--bg-hover);
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* Group card (main container in comps-form and comps-detail) */
[data-theme="dark"] .group-card {
  background-color: var(--bg-elevated);
  border-color: var(--border-primary);
}

/* Value display (read-only fields in comps-detail) */
[data-theme="dark"] .value-display {
  background-color: var(--bg-elevated);
  color: var(--text-primary);
  border-color: var(--border-primary);
}

/* Street view container */
[data-theme="dark"] .street-view-container {
  background: var(--bg-elevated);
  border-color: var(--border-primary);
}

[data-theme="dark"] .street-view-placeholder {
  color: var(--text-secondary);
}

/* Readonly inputs */
[data-theme="dark"] .form-group input[readonly] {
  background-color: var(--bg-tertiary);
  color: var(--text-secondary);
}

/* Editable array tables (rent roll, parking, etc.) */
[data-theme="dark"] .editable-array-table th {
  background: #26324d !important;
  color: var(--text-primary);
}

[data-theme="dark"] .editable-array-table td {
  background-color: #0b1220;
  color: var(--text-primary);
}

[data-theme="dark"] .editable-array-table tbody tr:nth-child(odd) td {
  background-color: #0f172a;
}

[data-theme="dark"] .editable-array-table tbody tr:nth-child(even) td {
  background-color: #0b1220;
}

[data-theme="dark"] .editable-array-table input {
  background-color: transparent !important;
  color: var(--text-primary);
  border-color: var(--input-border);
}

/* Neutral button hover for comps pages */
[data-theme="dark"] .neutral-btn:hover {
  background-color: var(--bg-hover);
}

/* Comparable cards */
[data-theme="dark"] .comparable-card {
  background-color: var(--card-bg);
}

[data-theme="dark"] .card-header {
  border-color: var(--border-primary);
}

[data-theme="dark"] .card-address {
  color: var(--text-primary);
}

[data-theme="dark"] .card-location {
  color: var(--text-secondary);
}

[data-theme="dark"] .detail-label {
  color: var(--text-secondary);
}

[data-theme="dark"] .detail-value {
  color: var(--text-primary);
}

[data-theme="dark"] .rent-roll-section {
  border-color: var(--border-primary);
}

[data-theme="dark"] .rent-roll-title {
  color: var(--text-primary);
}

[data-theme="dark"] .rent-roll-item span:first-child {
  color: var(--text-secondary);
}

[data-theme="dark"] .rent-roll-item span:last-child {
  color: var(--text-primary);
}

/* Map section */
[data-theme="dark"] .map-section {
  background-color: var(--card-bg);
}

[data-theme="dark"] .map-header {
  border-color: var(--border-primary);
}

/* Search section */
[data-theme="dark"] .search-section {
  background-color: var(--card-bg);
}

[data-theme="dark"] .search-input-group label {
  color: var(--text-primary);
}

[data-theme="dark"] .search-input-group input {
  background-color: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

/* Quick filters label */
[data-theme="dark"] .quick-filters span {
  color: var(--text-primary);
}

/* ============================================
   SUBMISSION-DETAIL PAGE DARK THEME FIXES
   (Task cards, benchmark/project details, status dropdown)
   ============================================ */

/* Task Cards */
[data-theme="dark"] .task-card {
  background: var(--bg-elevated);
  border-color: var(--border-secondary);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .task-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  border-color: var(--primary-color);
}

[data-theme="dark"] .task-user {
  color: var(--text-primary);
}

[data-theme="dark"] .task-category {
  background: var(--primary-color);
  color: white;
}

[data-theme="dark"] .task-details {
  color: var(--text-secondary);
}

[data-theme="dark"] .task-message {
  background: var(--bg-surface);
  color: var(--text-primary);
  border-left-color: var(--primary-light);
}

/* Task Status Badges - More vibrant in dark mode */
[data-theme="dark"] .task-status-badge {
  font-weight: 600;
}

[data-theme="dark"] .task-status-assigned {
  background-color: rgba(99, 102, 241, 0.2);
  color: #a5b4fc;
  border: 1px solid rgba(99, 102, 241, 0.4);
}

[data-theme="dark"] .task-status-in_progress {
  background-color: rgba(251, 191, 36, 0.2);
  color: #fde047;
  border: 1px solid rgba(251, 191, 36, 0.4);
}

[data-theme="dark"] .task-status-complete {
  background-color: rgba(34, 197, 94, 0.2);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.4);
}

/* Task Status Controls */
[data-theme="dark"] .status-controls-label {
  color: var(--text-secondary);
}

[data-theme="dark"] .status-btn {
  background: var(--bg-surface);
  color: var(--text-secondary);
  border: 1px solid var(--border-primary);
}

[data-theme="dark"] .status-btn:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
  border-color: var(--border-secondary);
}

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

/* Remove Task Button */
[data-theme="dark"] .remove-task-btn {
  color: var(--text-secondary);
}

[data-theme="dark"] .remove-task-btn:hover {
  background: var(--error-color);
  color: white;
}

/* Benchmark & Project Cards */
[data-theme="dark"] .group-card,
[data-theme="dark"] .benchmark-card,
[data-theme="dark"] .project-card {
  background-color: var(--bg-elevated);
  border-color: var(--border-secondary);
}

[data-theme="dark"] .group-card h3,
[data-theme="dark"] .benchmark-card h3,
[data-theme="dark"] .project-card h3 {
  color: var(--text-primary);
}

/* Display fields in dark mode */
[data-theme="dark"] .display-field {
  background: var(--bg-surface);
  border-color: var(--border-primary);
  color: var(--text-primary);
}

/* Read-only fields */
[data-theme="dark"] .read-only {
  background-color: var(--bg-surface) !important;
  color: var(--text-secondary) !important;
}

/* Status Dropdown - Vibrant colors with pop */
[data-theme="dark"] .status-dropdown {
  background: var(--bg-elevated);
  color: var(--text-primary);
  border: 1px solid var(--border-secondary);
}

[data-theme="dark"] .status-dropdown:hover {
  border-color: var(--primary-color);
}

[data-theme="dark"] .status-dropdown option {
  background: var(--bg-elevated);
  color: var(--text-primary);
}

/* Status-specific dropdown colors - Vibrant for dark theme */
[data-theme="dark"] .status-dropdown.status-under-consideration {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.25) 0%, rgba(251, 191, 36, 0.15) 100%);
  color: #fde047;
  border: 2px solid rgba(251, 191, 36, 0.5);
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.2);
}

[data-theme="dark"] .status-dropdown.status-term-sheet-issued {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.25) 0%, rgba(251, 191, 36, 0.15) 100%);
  color: #fde047;
  border: 2px solid rgba(251, 191, 36, 0.5);
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.2);
}

[data-theme="dark"] .status-dropdown.status-term-sheet-accepted {
  background: linear-gradient(135deg, rgba(96, 165, 250, 0.25) 0%, rgba(96, 165, 250, 0.15) 100%);
  color: #93c5fd;
  border: 2px solid rgba(96, 165, 250, 0.5);
  box-shadow: 0 0 12px rgba(96, 165, 250, 0.2);
}

[data-theme="dark"] .status-dropdown.status-pending-approval {
  background: linear-gradient(135deg, rgba(251, 146, 60, 0.25) 0%, rgba(251, 146, 60, 0.15) 100%);
  color: #fdba74;
  border: 2px solid rgba(251, 146, 60, 0.5);
  box-shadow: 0 0 12px rgba(251, 146, 60, 0.2);
}

[data-theme="dark"] .status-dropdown.status-commitment-letter-issued {
  background: linear-gradient(135deg, rgba(167, 139, 250, 0.25) 0%, rgba(167, 139, 250, 0.15) 100%);
  color: #c4b5fd;
  border: 2px solid rgba(167, 139, 250, 0.5);
  box-shadow: 0 0 12px rgba(167, 139, 250, 0.2);
}

[data-theme="dark"] .status-dropdown.status-commitment-letter-accepted {
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.25) 0%, rgba(45, 212, 191, 0.15) 100%);
  color: #5eead4;
  border: 2px solid rgba(45, 212, 191, 0.5);
  box-shadow: 0 0 12px rgba(45, 212, 191, 0.2);
}

[data-theme="dark"] .status-dropdown.status-transaction-closed {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.3) 0%, rgba(34, 197, 94, 0.15) 100%);
  color: #86efac;
  border: 2px solid rgba(34, 197, 94, 0.6);
  box-shadow: 0 0 16px rgba(34, 197, 94, 0.3);
}

[data-theme="dark"] .status-dropdown.status-declined {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.25) 0%, rgba(239, 68, 68, 0.15) 100%);
  color: #fca5a5;
  border: 2px solid rgba(239, 68, 68, 0.5);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.2);
}

/* No Tasks Message */
[data-theme="dark"] #no-tasks-message {
  background: var(--bg-elevated);
  border-color: var(--border-secondary);
  color: var(--text-secondary);
}

/* Comment Modal */
[data-theme="dark"] .comments-container {
  background: var(--bg-surface);
  border-color: var(--border-primary);
}

[data-theme="dark"] .comment {
  border-color: var(--border-primary);
}

[data-theme="dark"] .comment p {
  color: var(--text-primary);
}

[data-theme="dark"] .comment small {
  color: var(--text-secondary);
}

[data-theme="dark"] .comment-input textarea {
  background: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

/* Log Modal */
[data-theme="dark"] .log-container {
  background: var(--bg-surface);
  border-color: var(--border-primary);
}

[data-theme="dark"] .log-entry {
  border-color: var(--border-primary);
}

[data-theme="dark"] .log-icon.appointment {
  background-color: rgba(37, 99, 235, 0.2);
  color: #60a5fa;
}

[data-theme="dark"] .log-icon.status-change {
  background-color: rgba(251, 146, 60, 0.2);
  color: #fb923c;
}

[data-theme="dark"] .log-icon.task-status {
  background-color: rgba(34, 197, 94, 0.2);
  color: #4ade80;
}

[data-theme="dark"] .log-icon.comment {
  background-color: rgba(167, 139, 250, 0.2);
  color: #a78bfa;
}

/* Client Cards in modal */
[data-theme="dark"] .client-card {
  background: var(--bg-elevated);
  border-color: var(--border-secondary);
}

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

[data-theme="dark"] .client-card-name {
  color: var(--text-primary);
}

[data-theme="dark"] .client-card-type {
  color: var(--text-secondary);
}

[data-theme="dark"] .client-type-badge.account {
  background: rgba(99, 102, 241, 0.2);
  color: #a5b4fc;
}

[data-theme="dark"] .client-type-badge.manual {
  background: rgba(251, 191, 36, 0.2);
  color: #fde047;
}

/* Detailed Rent Roll Modal */
[data-theme="dark"] #detailedRentRollSummary {
  background: rgba(37, 99, 235, 0.1) !important;
  border: 1px solid var(--border-primary);
}

[data-theme="dark"] #detailedRentRollValidation {
  background: rgba(239, 68, 68, 0.15) !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
  color: #fca5a5 !important;
}

/* Bulk Edit Modal */
[data-theme="dark"] #bulk-edit-modal h4 {
  color: var(--text-primary) !important;
}

[data-theme="dark"] #bulk-edit-count {
  color: var(--text-primary) !important;
}

/* Comparable Modal */
[data-theme="dark"] #comparableModal .form-section h3 {
  color: var(--text-primary) !important;
}

[data-theme="dark"] #comp-rentRoll-table th,
[data-theme="dark"] #comp-commercialRentRoll-table th {
  background: var(--table-header-bg) !important;
  color: var(--text-primary);
  border-color: var(--border-primary) !important;
}

[data-theme="dark"] #comp-rentRoll-table td,
[data-theme="dark"] #comp-commercialRentRoll-table td {
  border-color: var(--border-primary) !important;
}

/* Signature previews */
.typed-signature-preview span {
  font-family: 'Great Vibes', cursive;
}

/* Signature tabs (internal signing) */
.sig-tabs {
  display: flex;
  border-bottom: 1px solid var(--border-primary);
}

.sig-tab {
  flex: 1;
  padding: 12px;
  background: none;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
}

.sig-tab:hover {
  color: var(--text-primary);
}

.sig-tab.active {
  color: var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
}

.sig-clear-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 4px 8px;
  font-size: 12px;
  background: var(--bg-surface);
  border: 1px solid var(--border-primary);
  border-radius: 4px;
  color: var(--text-primary);
  cursor: pointer;
}

.sig-clear-btn:hover {
  background: var(--bg-hover);
}

.sig-canvas {
  width: 100%;
  height: 150px;
  border: 2px solid var(--border-primary);
  border-radius: 6px;
  cursor: crosshair;
  background: var(--bg-surface);
}

/* ============================================
   GLOBAL "NEW" BUTTON STYLE
   Use .btn-new for all "New X" action buttons
   ============================================ */
.btn-new {
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 16px 8px 12px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 500;
  background: linear-gradient(135deg, var(--btn-primary-bg) 0%, var(--btn-primary-hover) 100%) !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
  line-height: 1 !important;
  height: 32px !important;
  box-sizing: border-box !important;
}

.btn-new i {
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 1em;
}

.btn-new:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.btn-new:active {
  transform: translateY(0);
}

/* Files modal dark mode fixes */
[data-theme="dark"] .modal-file-upload-section {
  background: var(--card-bg);
}

[data-theme="dark"] .modal-file-upload-section:hover {
  background: rgba(37, 99, 235, 0.05);
}

[data-theme="dark"] .modal-file-input-wrapper input[type="file"] {
  color-scheme: dark;
}

[data-theme="dark"] #modal-download-all-files {
  color: #1e293b !important;
}

[data-theme="dark"] .modal-file-count {
  color: #1e293b !important;
}

[data-theme="dark"] .modal-files-table tbody tr:hover {
  background: var(--bg-hover);
}

[data-theme="dark"] .modal-files-table tbody tr:hover td {
  color: var(--text-color);
}
