/* ========================================= */
/*      UNIFIED THEME OVERRIDES SYSTEM       */
/*          BLUE AND GREEN THEMES            */
/* ========================================= */

/* ====================== */
/*       BASE STYLES      */
/* ====================== */

[data-theme="blue"] h4 {
  color: var(--my-darkblue);
}

[data-theme="green"] h4 {
  color: var(--my-darkgreen);
}

[data-theme="blue"] .title {
  color: var(--my-darkblue);
}

[data-theme="green"] .title {
  color: var(--my-darkgreen);
}

/* ====================== */
/*         HEADER         */
/* ====================== */

[data-theme="blue"] .header {
  background: linear-gradient(135deg, var(--my-darkblue), var(--my-blue));
}

[data-theme="green"] .header {
  background: linear-gradient(135deg, var(--my-darkgreen), var(--my-green));
}

/* ====================== */
/*    WORKFLOW BADGES     */
/* ====================== */

[data-theme="blue"] .workflow-step {
  background: rgba(36, 36, 189, 0.269);
}

[data-theme="green"] .workflow-step {
  background: rgba(235, 175, 175, 0.1);
}

[data-theme="blue"] .workflow-download {
  background: rgb(240, 243, 240) !important;
  -webkit-text-fill-color: rgb(4, 0, 0) !important;
}

[data-theme="green"] .workflow-step-filter {
  background: rgb(240, 243, 240) !important;
  -webkit-text-fill-color: rgb(4, 0, 0) !important;
}

[data-theme="green"] .workflow-step-2 {
  background: rgba(11, 104, 5, 0.4) !important;
}

/* ====================== */
/*     FORM COMPONENTS    */
/* ====================== */

[data-theme="blue"] .form-check-input:checked {
  background: linear-gradient(
    135deg,
    var(--my-blue) 0%,
    var(--my-darkblue) 100%
  );
  border-color: var(--my-blue);
  box-shadow: 0 4px 12px rgba(0, 122, 204, 0.4),
    inset 0 1px 2px rgba(255, 255, 255, 0.3);
}

[data-theme="green"] .form-check-input:checked {
  background: linear-gradient(
    135deg,
    var(--my-green) 0%,
    var(--my-darkgreen) 100%
  );
  border-color: var(--my-green);
  box-shadow: 0 4px 12px rgba(0, 122, 204, 0.4),
    inset 0 1px 2px rgba(255, 255, 255, 0.3);
}

[data-theme="blue"] .form-check-input:hover {
  border-color: var(--my-blue);
}

[data-theme="green"] .form-check-input:hover {
  border-color: var(--my-green);
}

[data-theme="blue"] .form-check-input:focus-visible {
  outline: 3px solid var(--my-blue);
}

[data-theme="green"] .form-check-input:focus-visible {
  outline: 3px solid var(--my-green);
}

/* PubMed specific - PMID field lock */
[data-theme="blue"] #field-pmid:disabled {
  opacity: 1 !important;
  filter: none !important;
  cursor: not-allowed;
}

[data-theme="blue"] #field-pmid {
  pointer-events: none;
}

[data-theme="blue"] label[for="field-pmid"],
[data-theme="blue"] label[for="field-pmid"] .tooltip-container,
[data-theme="blue"] label[for="field-pmid"] .tooltip-icon {
  opacity: 1 !important;
  filter: none !important;
  cursor: not-allowed;
  pointer-events: auto;
}

[data-theme="blue"] .tooltip-container .tooltip-text {
  pointer-events: auto;
}

[data-theme="blue"] .pmid-lock:hover {
  cursor: not-allowed;
}

/* ==================== */
/*      DRAG & DROP     */
/* ==================== */

[data-theme="blue"] #dropZone.dragover {
  border-color: var(--my-darkblue) !important;
  background: rgba(227, 242, 253, 0.9) !important;
}

[data-theme="green"] #dropZone.dragover {
  border-color: var(--my-darkgreen) !important;
  background: rgba(232, 245, 233, 0.9) !important;
}

[data-theme="blue"] #dropZone:hover:not(.disabled) {
  border-color: var(--my-blue) !important;
  transform: translateY(-2px);
  transition: all 0.3s ease;
}

[data-theme="green"] #dropZone:hover:not(.disabled) {
  border-color: var(--my-green) !important;
  transform: translateY(-2px);
  transition: all 0.3s ease;
}

[data-theme="blue"] #dropZone.has-file {
  background: rgba(240, 249, 255, 0.9) !important;
  border-color: var(--my-blue) !important;
  box-shadow: 0 8px 32px rgba(0, 122, 204, 0.15),
    inset 0 1px 3px rgba(255, 255, 255, 0.7);
}

[data-theme="green"] #dropZone.has-file {
  background: rgba(232, 245, 233, 0.9) !important;
  border-color: var(--my-green) !important;
  box-shadow: 0 8px 32px rgba(76, 175, 80, 0.15),
    inset 0 1px 3px rgba(255, 255, 255, 0.7);
}

/* ====================== */
/*     PROCESS BUTTON     */
/* ====================== */

[data-theme="blue"] .btn-process,
[data-theme="blue"] .btn-export-xlsx,
[data-theme="blue"] .btn-export-json {
  padding: 12px 20px !important;
  background: linear-gradient(135deg, var(--my-darkblue), var(--my-blue));
}

[data-theme="green"] .btn-process {
  background: linear-gradient(135deg, var(--my-darkgreen), var(--my-green));
}

/* ====================== */
/*    CARD COMPONENTS     */
/* ====================== */

[data-theme="blue"] .header-primary {
  background: linear-gradient(
    135deg,
    rgba(0, 122, 204, 0.95) 0%,
    rgba(31, 81, 137, 0.95) 100%
  );
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  text-align: center;
  color: white;
  border-radius: 20px 20px 0 0;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.2);
}

/* ======================= */
/*   PROGRESS COMPONENTS   */
/* ======================= */

[data-theme="blue"] .progress-bar {
  background: linear-gradient(
    90deg,
    var(--my-blue) 0%,
    var(--my-darkblue) 100%
  );
}

[data-theme="green"] .progress-bar {
  background: linear-gradient(
    90deg,
    var(--my-green) 0%,
    var(--my-darkgreen) 100%
  );
}

/* ====================== */
/*    EXPORT SECTION      */
/* ====================== */

[data-theme="blue"] .export-select:hover {
  border-color: var(--my-blue);
}

[data-theme="green"] .export-select:hover {
  border-color: var(--my-green);
}

[data-theme="blue"] .export-button {
  background: linear-gradient(
    135deg,
    var(--my-darkblue) 0%,
    var(--my-blue) 100%
  );
}

[data-theme="green"] .export-button {
  background: linear-gradient(
    135deg,
    var(--my-darkgreen) 0%,
    var(--my-green) 100%
  );
}

/* ====================== */
/*     EXPORT BUTTONS     */
/* ====================== */

[data-theme="blue"] .btn-export {
  background: linear-gradient(
    135deg,
    var(--my-darkblue) 0%,
    var(--my-blue) 100%
  );
}

[data-theme="green"] .btn-export {
  background: linear-gradient(
    135deg,
    var(--my-darkgreen) 0%,
    var(--my-green) 100%
  );
}

/* ======================== */
/*    FLOATING BUTTONS      */
/* ======================== */

[data-theme="blue"] .floating-refresh-button,
[data-theme="blue"] .floating-home-button {
  background: linear-gradient(
    135deg,
    rgba(31, 81, 137, 0.95) 0%,
    rgba(0, 122, 204, 0.95) 100%
  );
}

[data-theme="green"] .floating-refresh-button,
[data-theme="green"] .floating-home-button {
  background: linear-gradient(135deg, #1b5e20 0%, #69be28 100%);
}

[data-theme="blue"] .floating-refresh-button:hover,
[data-theme="blue"] .floating-home-button:hover,
[data-theme="green"] .floating-refresh-button:hover,
[data-theme="green"] .floating-home-button:hover {
  background: linear-gradient(135deg, var(--my-yellow) 0%, #ffb300 100%);
}

/* ====================== */
/*       TOOLTIPS         */
/* ====================== */

[data-theme="blue"] .tooltip-icon {
  background: linear-gradient(
    135deg,
    var(--my-blue) 0%,
    var(--my-darkblue) 100%
  );
  color: white;
}

[data-theme="green"] .tooltip-icon {
  background: linear-gradient(
    135deg,
    var(--my-green) 0%,
    var(--my-darkgreen) 100%
  );
  color: white;
}

/* ====================== */
/*        FOOTER          */
/* ====================== */

[data-theme="blue"] .custom-footer {
  background: var(--my-darkblue);
}

[data-theme="green"] .custom-footer {
  background: var(--my-darkgreen);
}

/* ====================== */
/*   FORM INPUT FIELDS    */
/* ====================== */

[data-theme="blue"] input[type="text"]:focus,
[data-theme="blue"] input[type="email"]:focus,
[data-theme="blue"] input[type="number"]:focus,
[data-theme="blue"] input[type="file"]:focus,
[data-theme="blue"] select:focus,
[data-theme="blue"] textarea:focus {
  border-color: var(--my-blue);
}

[data-theme="green"] input[type="text"]:focus,
[data-theme="green"] input[type="email"]:focus,
[data-theme="green"] input[type="number"]:focus,
[data-theme="green"] input[type="file"]:focus,
[data-theme="green"] select:focus,
[data-theme="green"] textarea:focus {
  border-color: var(--my-green);
}

/* ====================== */
/*   SCROLLBAR STYLING    */
/* ====================== */

[data-theme="blue"] ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    135deg,
    var(--my-blue) 0%,
    var(--my-darkblue) 100%
  );
}

[data-theme="green"] ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    135deg,
    var(--my-green) 0%,
    var(--my-darkgreen) 100%
  );
}
