body {
  background: var(--ui-color-canvas);
  color: var(--ui-color-text);
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--ui-color-text);
  font-weight: 650;
  letter-spacing: -0.015em;
}

a,
.btn-link {
  color: var(--ui-color-accent);
  transition: color var(--ui-transition);
}

a:hover,
a:focus,
.btn-link:hover,
.btn-link:focus {
  color: var(--ui-color-primary-hover);
}

.panel,
.modal-content,
.well {
  background: var(--ui-color-surface);
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  box-shadow: var(--ui-shadow-sm);
}

.panel { overflow: hidden; }

.panel-heading,
.modal-header,
.modal-footer {
  border-color: var(--ui-color-border);
}

.panel-heading {
  background: var(--ui-color-surface);
  padding: var(--ui-space-4) var(--ui-space-5);
}

.panel-body {
  padding: var(--ui-space-5);
}

.btn {
  border-radius: var(--ui-radius-sm);
  font-weight: 600;
  min-height: 36px;
  transition: background-color var(--ui-transition), border-color var(--ui-transition), box-shadow var(--ui-transition), transform var(--ui-transition);
}

.btn-default { box-shadow: 0 1px 1px rgba(15, 23, 42, .04); }

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary,
.btn-primary:focus {
  background: var(--ui-color-primary);
  border-color: var(--ui-color-primary);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.active {
  background: var(--ui-color-primary-hover);
  border-color: var(--ui-color-primary-hover);
}

.btn-success { background: var(--ui-color-success); border-color: var(--ui-color-success); }
.btn-warning { background: var(--ui-color-warning); border-color: var(--ui-color-warning); }
.btn-danger { background: var(--ui-color-danger); border-color: var(--ui-color-danger); }

.form-control,
.select2-container .select2-choice {
  background: var(--ui-color-surface);
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  color: var(--ui-color-text);
  min-height: 38px;
  transition: border-color var(--ui-transition), box-shadow var(--ui-transition);
}

.form-control:focus {
  border-color: var(--ui-color-accent);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.form-material .floating-label {
  color: var(--ui-color-muted);
}

.table {
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
}

.table > thead > tr > th {
  background: #f1f5f9;
  border-bottom: 1px solid var(--ui-color-border);
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.table > tbody > tr > td {
  border-color: var(--ui-color-border);
  vertical-align: middle;
}

.table > tbody > tr:nth-child(even) { background: rgba(248, 250, 252, .55); }

.table-hover > tbody > tr:hover {
  background: #f8fafc;
}

.pagination > li > a,
.pagination > li > span {
  border-color: var(--ui-color-border);
  color: var(--ui-color-text);
}

.pagination > .active > a,
.pagination > .active > span {
  background: var(--ui-color-primary);
  border-color: var(--ui-color-primary);
}

.dropdown-menu {
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  box-shadow: var(--ui-shadow-md);
  padding: var(--ui-space-2);
}

.dropdown-menu > li > a {
  border-radius: var(--ui-radius-sm);
  padding: 9px 12px;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background: #eff6ff;
  color: var(--ui-color-primary);
}

.alert {
  border: 1px solid transparent;
  border-radius: var(--ui-radius-md);
}

.label,
.badge {
  border-radius: 999px;
  font-weight: 650;
}

.btn-floating {
  box-shadow: var(--ui-shadow-md);
}

.empty-state {
  color: var(--ui-color-muted);
  padding: 48px 24px;
  text-align: center;
}
