/* Darkly-inspired Bootstrap palette adapted to Catchii's Bootstrap 4 markup.
 * Reference: https://bootswatch.com/darkly/ and Bootstrap 5.3 color modes.
 * Catchii blue is retained; semantic colours use Darkly hues with accessible text.
 */
html[data-theme="dark"] { color-scheme: dark; }

[data-theme="dark"] .catchii-app {
  --pill-base: #2a3a51;
  --pill-fill-weight: 30%;
  --pill-ink-base: #fff;
  --pill-ink-weight: 30%;
  --tag-button-border: #9589c2;
  --tag-button-border-hover: #b3a7df;
  --account-avatar-bg: #35445b;
  --account-avatar-fg: #b4c1d4;
  --on-primary: #fff;
  --shell-header-shadow: rgba(0, 0, 0, 0.15);
  --shell-card-shadow: rgba(0, 0, 0, 0.22);
  --primary: #496fba;
  --primary-hover: #5075bd;
  --primary-active: #385ca3;
  --primary-focus: #a7c2f7;
  --primary-ring: rgba(167, 194, 247, 0.3);
  --shell-canvas: #111827;
  --shell-sidebar: #1d2738;
  --shell-sidebar-border: #35445f;
  --shell-surface: #202d42;
  --shell-raised: #2a3a51;
  --shell-header: #26364c;
  --shell-card-border: #4a607c;
  --shell-submenu: #17243d;
  --shell-border: #415570;
  --shell-text: #e1e8f5;
  --shell-link: #bbc7db;
  --shell-muted: #aebbd2;
  --shell-accent: #a7c2f7;
  --shell-selected: #354b69;
  --shell-hover: #2b3b52;
}

[data-theme="dark"] .catchii-app .sidebar {
  --shell-sidebar: #1d2738;
  --shell-sidebar-border: #35445f;
  --shell-submenu: #17243d;
  --shell-border: #35445f;
  --shell-text: #e1e8f5;
  --shell-link: #bbc7db;
  --shell-muted: #aebbd2;
  --shell-accent: #a7c2f7;
  --shell-selected: #354b69;
  --shell-hover: #2b3b52;
}

[data-theme="dark"] .catchii-app {
  color: var(--shell-text);
  background-color: var(--shell-canvas);
}

[data-theme="dark"] .catchii-app :is(.topbar, .card, .card-header, .modal-content, .dropdown-menu, .list-group-item, .popover, .popover-header) {
  background-color: var(--shell-surface);
  color: var(--shell-text);
  border-color: var(--shell-border);
}

[data-theme="dark"] .catchii-app :is(.bg-white, .bg-light, .note-toolbar, .note-editing-area, .note-editable) {
  background-color: var(--shell-surface) !important;
  color: var(--shell-text);
}

[data-theme="dark"] .catchii-app :is(.form-control, .custom-select, .custom-file-label, .input-group-text, .page-link) {
  background-color: var(--shell-canvas);
  color: var(--shell-text);
  border-color: var(--shell-border);
}

[data-theme="dark"] .catchii-app .form-control::placeholder {
  color: var(--shell-muted);
  opacity: 1;
}

[data-theme="dark"] .catchii-app :is(.form-control:disabled, .form-control[readonly]) {
  background-color: var(--shell-hover);
}

[data-theme="dark"] .catchii-app :is(.text-gray-700, .text-gray-800, .text-gray-900, .text-dark, .dropdown-item, .table, .close, .popover-body) {
  color: var(--shell-text) !important;
}

[data-theme="dark"] .catchii-app :is(.text-muted, .text-gray-500, .text-gray-600, .text-dark-50) {
  color: var(--shell-muted) !important;
}

[data-theme="dark"] .catchii-app a:not(.btn):not(.nav-link):not(.collapse-item):not(.dropdown-item):not(.page-link):not([class*="text-"]) {
  color: var(--shell-accent);
}

[data-theme="dark"] .catchii-app .text-primary {
  color: var(--shell-accent) !important;
}

[data-theme="dark"] .catchii-app :is(.table td, .table th, .modal-header, .modal-footer, .dropdown-divider, .topbar-divider, .collapse-divider, hr, .border) {
  border-color: var(--shell-border) !important;
}

[data-theme="dark"] .catchii-app :is(.table thead th, .table .thead-light th) {
  background-color: var(--shell-hover);
  color: var(--shell-text);
}

[data-theme="dark"] .catchii-app :is(.table-hover tbody tr:hover, .table-striped tbody tr:nth-of-type(odd), .dropdown-item:hover, .dropdown-item:focus, .page-link:hover) {
  background-color: var(--shell-hover);
  color: var(--shell-text);
}

[data-theme="dark"] .catchii-app .page-item.disabled .page-link {
  background-color: var(--shell-surface);
  color: var(--shell-muted);
  border-color: var(--shell-border);
}

[data-theme="dark"] .catchii-app .page-item.active .page-link {
  background-color: var(--primary);
  color: #fff;
}

[data-theme="dark"] .catchii-app .progress {
  background-color: var(--shell-hover);
}

[data-theme="dark"] .catchii-app a.text-primary:hover,
[data-theme="dark"] .catchii-app a.text-primary:focus {
  color: #d0e0ff !important;
}

[data-theme="dark"] .catchii-app #content .card {
  background-color: var(--shell-surface);
  border-color: var(--shell-card-border);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22) !important;
}

[data-theme="dark"] .catchii-app #content .card :where(.card) {
  background-color: var(--shell-raised);
}

[data-theme="dark"] .catchii-app #content .card > .card-header {
  background-color: var(--shell-header);
  border-bottom-color: var(--shell-card-border);
}

[data-theme="dark"] .catchii-app :is(.modal-content, .dropdown-menu, .popover) {
  background-color: var(--shell-raised);
  border-color: var(--shell-card-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="dark"] .catchii-app :is(.bg-light, .alert-light, .alert-dark, .alert-secondary) {
  background-color: var(--shell-raised) !important;
  color: var(--shell-text);
  border-color: var(--shell-card-border);
}

[data-theme="dark"] .catchii-app :is(.text-secondary, .text-gray-400) {
  color: var(--shell-muted) !important;
}

[data-theme="dark"] .catchii-app #content :is(.card-primary, .card-secondary, .card-dark, .card-success, .card-danger, .card-info, .card-warning) {
  border-top-color: var(--shell-card-border) !important;
  border-right-color: var(--shell-card-border) !important;
  border-bottom-color: var(--shell-card-border) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18) !important;
}

[data-theme="dark"] .catchii-app #content .card-primary { background-color: #293c5a; }

[data-theme="dark"] .catchii-app #content .card-secondary { background-color: #2a3649; }

[data-theme="dark"] .catchii-app #content .card-dark {
  background-color: #334761;
  border-left-color: #a7c2f7 !important;
}

[data-theme="dark"] .catchii-app .alert-primary {
  background-color: #293c5a;
  color: #cbdcfa;
  border-color: #5877a5;
}

/* Semantic controls: Bootstrap names and Catchii decision aliases. */
[data-theme="dark"] .catchii-app :is(.btn-primary, .btn-outline-primary) {
  --control-bg: #496fba;
  --control-hover: #5075bd;
  --control-fg: #fff;
  --control-ink: #a7c2f7;
}
[data-theme="dark"] .catchii-app :is(.text-primary) { color: #a7c2f7 !important; }
[data-theme="dark"] .catchii-app .bg-primary { background-color: #496fba !important; }
[data-theme="dark"] .catchii-app .badge-primary { background-color: #7898d0; color: #101f36; }
[data-theme="dark"] .catchii-app .border-primary { border-color: #a7c2f7 !important; }
[data-theme="dark"] .catchii-app :is(.btn-secondary, .btn-comment, .btn-outline-secondary, .btn-outline-comment) {
  --control-bg: #46536a;
  --control-hover: #56647c;
  --control-fg: #fff;
  --control-ink: #bdc9dd;
}
[data-theme="dark"] .catchii-app :is(.text-secondary, .text-comment) { color: #bdc9dd !important; }
[data-theme="dark"] .catchii-app .bg-secondary { background-color: #46536a !important; }
[data-theme="dark"] .catchii-app .badge-secondary { background-color: #56647b; color: #fff; }
[data-theme="dark"] .catchii-app .border-secondary { border-color: #bdc9dd !important; }
[data-theme="dark"] .catchii-app :is(.btn-success, .btn-accept, .btn-outline-success, .btn-outline-accept) {
  --control-bg: #00bc8c;
  --control-hover: #20c99f;
  --control-fg: #052c25;
  --control-ink: #6cddbe;
}
[data-theme="dark"] .catchii-app :is(.text-success, .text-accept) { color: #6cddbe !important; }
[data-theme="dark"] .catchii-app .bg-success { background-color: #00bc8c !important; }
[data-theme="dark"] .catchii-app .badge-success { background-color: #1fc49a; color: #052c25; }
[data-theme="dark"] .catchii-app .border-success { border-color: #6cddbe !important; }
[data-theme="dark"] .catchii-app :is(.btn-info, .btn-outline-info) {
  --control-bg: #3e6c89;
  --control-hover: #477592;
  --control-fg: #fff;
  --control-ink: #a9c9df;
}
[data-theme="dark"] .catchii-app :is(.text-info) { color: #8ac9f4 !important; }
[data-theme="dark"] .catchii-app .bg-info { background-color: #3498db !important; }
[data-theme="dark"] .catchii-app .badge-info { background-color: #4aa3df; color: #071c2a; }
[data-theme="dark"] .catchii-app .border-info { border-color: #8ac9f4 !important; }
[data-theme="dark"] .catchii-app :is(.btn-warning, .btn-favourite, .btn-outline-warning, .btn-outline-favourite) {
  --control-bg: #f39c12;
  --control-hover: #ffb43c;
  --control-fg: #2c1c02;
  --control-ink: #ffd185;
}
[data-theme="dark"] .catchii-app :is(.text-warning, .text-favourite) { color: #ffd185 !important; }
[data-theme="dark"] .catchii-app .bg-warning { background-color: #f39c12 !important; }
[data-theme="dark"] .catchii-app .badge-warning { background-color: #f5aa35; color: #2c1c02; }
[data-theme="dark"] .catchii-app .border-warning { border-color: #ffd185 !important; }
[data-theme="dark"] .catchii-app :is(.btn-danger, .btn-reject, .btn-outline-danger, .btn-outline-reject) {
  --control-bg: #a7565b;
  --control-hover: #984950;
  --control-fg: #fff;
  --control-ink: #ffb4ac;
}
[data-theme="dark"] .catchii-app :is(.text-danger, .text-reject) { color: #ffb4ac !important; }
[data-theme="dark"] .catchii-app .bg-danger { background-color: #e74c3c !important; }
[data-theme="dark"] .catchii-app .badge-danger { background-color: #ec6254; color: #210704; }
[data-theme="dark"] .catchii-app .border-danger { border-color: #ffb4ac !important; }
[data-theme="dark"] .catchii-app :is(.btn-light, .btn-outline-light) {
  --control-bg: #35445b;
  --control-hover: #465973;
  --control-fg: #e1e8f5;
  --control-ink: #bdc9dd;
}
[data-theme="dark"] .catchii-app :is(.text-light) { color: #bdc9dd !important; }
[data-theme="dark"] .catchii-app .bg-light { background-color: #35445b !important; }
[data-theme="dark"] .catchii-app .badge-light { background-color: #45556d; color: #e1e8f5; }
[data-theme="dark"] .catchii-app .border-light { border-color: #bdc9dd !important; }
[data-theme="dark"] .catchii-app :is(.btn-dark, .btn-outline-dark) {
  --control-bg: #182234;
  --control-hover: #25334a;
  --control-fg: #e1e8f5;
  --control-ink: #bdc9dd;
}
[data-theme="dark"] .catchii-app :is(.text-dark) { color: #bdc9dd !important; }
[data-theme="dark"] .catchii-app .bg-dark { background-color: #182234 !important; }
[data-theme="dark"] .catchii-app .badge-dark { background-color: #29364b; color: #e1e8f5; }
[data-theme="dark"] .catchii-app .border-dark { border-color: #bdc9dd !important; }

/* Darkly semantic accents, with subdued backgrounds for large areas. */
[data-theme="dark"] .catchii-app .alert-success { background-color: #123c35; color: #91e8d2; border-color: #276d5d; }
[data-theme="dark"] .catchii-app .alert-info { background-color: #1d374b; color: #b0d9f5; border-color: #3c7094; }
[data-theme="dark"] .catchii-app .alert-warning { background-color: #463721; color: #ffdaa3; border-color: #8f692d; }
[data-theme="dark"] .catchii-app .alert-danger { background-color: #492d31; color: #ffc3bd; border-color: #95544d; }
[data-theme="dark"] .catchii-app #content .card-success { background-color: #123c35; border-left-color: #00bc8c !important; }
[data-theme="dark"] .catchii-app #content .card-danger { background-color: #492d31; border-left-color: #e74c3c !important; }
[data-theme="dark"] .catchii-app #content .card-info { background-color: #1d374b; border-left-color: #3498db !important; }
[data-theme="dark"] .catchii-app #content .card-warning { background-color: #463721; border-left-color: #f39c12 !important; }
[data-theme="dark"] .catchii-app .bg-decision-accept { background-color: #527e6b !important; }
[data-theme="dark"] .catchii-app .bg-decision-reject { background-color: #9a6264 !important; }
[data-theme="dark"] .catchii-app .progress-bar:is(.bg-progress-3, .bg-progress-4, .bg-success) {
  background-color: #527e6b !important;
  color: #fff !important;
}
[data-theme="dark"] .catchii-app .progress-bar.bg-danger {
  background-color: #9a6264 !important;
  color: #fff !important;
}
[data-theme="dark"] .catchii-app .btn-link { color: var(--shell-accent); }
[data-theme="dark"] .catchii-app .btn-link:hover { color: #d0e0ff; }
[data-theme="dark"] .catchii-app .note-btn { background-color: var(--shell-hover); color: var(--shell-text); border-color: var(--shell-border); }
[data-theme="dark"] .catchii-app .btn-success .text-white { color: var(--control-fg) !important; }
[data-theme="dark"] .catchii-app .btn-accept .text-white { color: var(--control-fg) !important; }
[data-theme="dark"] .catchii-app .btn-info .text-white { color: var(--control-fg) !important; }
[data-theme="dark"] .catchii-app .btn-warning .text-white { color: var(--control-fg) !important; }
[data-theme="dark"] .catchii-app .btn-favourite .text-white { color: var(--control-fg) !important; }
[data-theme="dark"] .catchii-app .btn-danger .text-white { color: var(--control-fg) !important; }
[data-theme="dark"] .catchii-app .btn-reject .text-white { color: var(--control-fg) !important; }
[data-theme="dark"] .catchii-app :is(.bg-primary.text-white, .progress-bar.bg-primary) { color: #fff !important; }
[data-theme="dark"] .catchii-app :is(.bg-secondary.text-white, .progress-bar.bg-secondary) { color: #fff !important; }
[data-theme="dark"] .catchii-app :is(.bg-success.text-white, .progress-bar.bg-success) { color: #052c25 !important; }
[data-theme="dark"] .catchii-app :is(.bg-info.text-white, .progress-bar.bg-info) { color: #071c2a !important; }
[data-theme="dark"] .catchii-app :is(.bg-warning.text-white, .progress-bar.bg-warning) { color: #2c1c02 !important; }
[data-theme="dark"] .catchii-app :is(.bg-danger.text-white, .progress-bar.bg-danger) { color: #210704 !important; }
[data-theme="dark"] .catchii-app :is(.bg-light.text-white, .progress-bar.bg-light) { color: #e1e8f5 !important; }
[data-theme="dark"] .catchii-app :is(.bg-dark.text-white, .progress-bar.bg-dark) { color: #e1e8f5 !important; }

[data-theme="dark"] .catchii-app .phase-proceed-button {
  --control-bg: #247b65;
  --control-hover: #1d6b57;
  --control-fg: #fff;
  --control-ink: #bce5d8;
  --phase-icon-bg: rgba(0, 0, 0, 0.12);
}

[data-theme="dark"] .catchii-app .tag-badge.tag-style-1 { --tag-bg: #b8bdc6; --tag-border: #9ba3af; --tag-color: #ded7f4; }

/* Link controls and disclosure buttons use dark surfaces in every palette. */
html[data-theme="dark"] #page-top.catchii-app .rounded-img-button {
  background-color: transparent;
  border-color: var(--shell-muted) !important;
  color: var(--shell-text);
}
html[data-theme="dark"] #page-top.catchii-app .rounded-img-button:is(:hover, :focus) {
  background-color: var(--shell-hover);
  border-color: var(--shell-muted) !important;
}
html[data-theme="dark"] #page-top.catchii-app :is(.btn-light.text-secondary, .kw-toggle.btn-light) {
  color: var(--shell-text) !important;
}
html[data-theme="dark"] #page-top.catchii-app .abstract {
  color: color-mix(in srgb, var(--shell-text) 85%, transparent);
}
html[data-theme="dark"][data-palette] #page-top.catchii-app .corner_number > .badge {
  background-color: #35445b !important;
  color: #c4d1ed !important;
  border-color: #617493 !important;
}
html[data-theme="dark"] #page-top.catchii-app [id^="article"] a.font-weight-bold[data-toggle="collapse"] {
  color: var(--shell-text) !important;
}
html[data-theme="dark"] #page-top.catchii-app .custom-control-label::before {
  background-color: var(--shell-canvas);
  border-color: var(--shell-muted);
}
html[data-theme="dark"] #page-top.catchii-app .custom-switch .custom-control-label::after {
  background-color: var(--shell-muted);
}
html[data-theme="dark"] #page-top.catchii-app .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--primary);
  border-color: var(--primary);
}
html[data-theme="dark"] #page-top.catchii-app .custom-control-input:checked ~ .custom-control-label::after {
  background-color: var(--shell-text);
}
