/* Color tokens are centralized in /assets/css/theme_colors.css */
:root{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}

html[data-theme="dark"] .bg-white{background:var(--surface-color) !important}
html[data-theme="dark"] .bg-light{background:var(--surface-color) !important}
html[data-theme="dark"] .text-dark{color:var(--dark-color) !important}
html[data-theme="dark"] .text-black{color:var(--dark-color) !important}
html[data-theme="dark"] .border{border-color:var(--border-color) !important}
html[data-theme="dark"] .border-top{border-top-color:var(--border-color) !important}
html[data-theme="dark"] .border-bottom{border-bottom-color:var(--border-color) !important}
html[data-theme="dark"] .border-start{border-left-color:var(--border-color) !important}
html[data-theme="dark"] .border-end{border-right-color:var(--border-color) !important}

body{
  background:var(--light-color);
  color:var(--text-primary);
}

.page-content,
.main-content{background:var(--light-color)}

.topbar,
.topbar-md{background:var(--surface-color);border-bottom-color:var(--border-color)}

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

.text-muted{color:var(--text-muted) !important}

.card,
.modal-content,
.dropdown-menu,
.table-responsive,
.bl-content-card,
.premium-card,
.premium-table-wrap{
  background:var(--surface-color);
  border-color:var(--border-color);
  color:var(--text-primary);
}

.table > :not(caption) > * > *,
.premium-table > :not(caption) > * > *{
  border-left:0;
  border-right:0;
  border-bottom-color:var(--divider-color);
}

.table > thead > tr > th,
.premium-table > thead > tr > th{
  background:var(--bl-table-head-bg);
  border-bottom-color:var(--divider-color);
}

.table-hover > tbody > tr:hover > *{
  background:var(--bl-table-row-hover);
}

.btn-primary{
  background:var(--primary-solid);
  border-color:var(--primary-solid);
}

.btn-primary:hover{
  background:var(--primary-solid-hover);
  border-color:var(--primary-solid-hover);
}

.btn-primary:disabled,
.btn-primary.disabled{
  background:var(--primary-disabled-bg);
  border-color:var(--primary-disabled-bg);
  color:var(--primary-disabled-text);
  opacity:1;
}

.btn-danger:disabled,
.btn-danger.disabled{
  background:var(--danger-disabled-bg);
  border-color:var(--danger-disabled-bg);
  color:var(--danger-disabled-text);
  opacity:1;
}

.btn:disabled,
.btn.disabled{
  cursor:not-allowed;
}

.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:none;
  box-shadow:var(--focus-ring);
}

.badge-soft-success{background:var(--success-bg);border-color:rgba(34,197,94,.18);color:var(--success-color)}
.badge-soft-warning{background:var(--warning-bg);border-color:rgba(245,158,11,.22);color:var(--warning-color)}
.badge-soft-danger{background:var(--danger-bg);border-color:rgba(239,68,68,.18);color:var(--danger-color)}
.badge-soft-info{background:var(--info-bg);border-color:rgba(56,189,248,.22);color:var(--info-color)}

.form-control,
.form-select{
  background:var(--input-bg);
  border-color:var(--input-border);
  color:var(--input-text);
}

.form-control::placeholder,
textarea::placeholder,
input::placeholder{
  color:var(--input-placeholder);
  opacity:1;
}

.input-group-text{
  background:var(--input-addon-bg);
  border-color:var(--input-border);
  color:var(--input-addon-text);
}

.form-control:disabled,
.form-select:disabled{
  background:var(--bl-table-head-bg);
  color:var(--text-disabled);
}

.invalid-feedback,
.form-text.text-danger{
  color:var(--danger-color) !important;
}
