/* Bootstrap + Metronic-inspired bridge styles */

:root {
  --kt-primary: #3699ff;
  --kt-primary-light: #e1f0ff;
  --kt-success: #1bc5bd;
  --kt-warning: #ffa800;
  --kt-danger: #f64e60;
  --kt-text: #3f4254;
  --kt-muted: #7e8299;
  --kt-surface: #ffffff;
  --kt-border: #eff2f5;
  --kt-radius: 0.625rem;
  --kt-shadow: 0 0 20px rgba(76, 87, 125, 0.08);
}

.portal-surface {
  background: color-mix(in oklab, var(--kt-surface) 88%, #f6f8fc 12%);
}

.memory-add-form .form-control,
.memory-add-form .form-select,
.memory-search,
.memory-bank-child-select select,
.memory-bank-add select {
  border: 1px solid var(--kt-border);
  border-radius: var(--kt-radius);
  color: var(--kt-text);
  box-shadow: none;
}

.memory-add-form .form-control:focus,
.memory-add-form .form-select:focus,
.memory-search:focus,
.memory-bank-child-select select:focus,
.memory-bank-add select:focus {
  border-color: color-mix(in oklab, var(--kt-primary) 75%, #fff 25%);
  box-shadow: 0 0 0 0.2rem rgba(54, 153, 255, 0.16);
}

.memory-add-form .form-label,
.memory-bank-child-select label,
.memory-bank-add label {
  color: var(--kt-muted);
  font-size: 0.82rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-weight: 700;
}

.memory-add-form .card,
.memory-bank-toolbar,
.memory-bank-hero,
.memory-card {
  border: 1px solid var(--kt-border);
  box-shadow: var(--kt-shadow);
}

.memory-filter {
  border-color: var(--kt-border);
  color: var(--kt-muted);
}

.memory-filter.is-active {
  background: linear-gradient(135deg, var(--kt-primary), #6aaeff);
  color: #fff;
}

.memory-chip {
  background: var(--kt-primary-light);
  color: var(--kt-primary);
  border-color: color-mix(in oklab, var(--kt-primary) 20%, #fff 80%);
}

.btn.btn-primary {
  background: linear-gradient(135deg, var(--kt-primary), #5fabff);
  border: none;
}

.btn.btn-secondary {
  background: linear-gradient(135deg, #8f95b2, #6d738f);
  border: none;
}

.memory-add-grid > .col-12,
.memory-add-grid > .col-md-6 {
  min-width: 0;
}
