/* User Preferences Page Styling */

.preferences-page {
  min-height: calc(100vh - 250px);
}

.preferences-page .library-card {
  border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-soft);
}

.preferences-page .card-header {
  border-bottom: 1px solid var(--border-soft);
  background-color: var(--surface-muted) !important;
}

.preferences-page .form-label {
  color: var(--brown-dark);
  margin-bottom: 0.75rem;
}

.preferences-page .form-label i {
  color: var(--emerald);
}

.preferences-page .form-select,
.preferences-page .form-control {
  border: 1px solid var(--border-strong);
  border-radius: 0.375rem;
  padding: 0.625rem 0.875rem;
  font-size: 0.95rem;
}

.preferences-page .form-select:focus,
.preferences-page .form-control:focus {
  border-color: var(--emerald);
  box-shadow: 0 0 0 0.2rem rgba(18, 113, 81, 0.15);
}

.preferences-page .form-check {
  padding-left: 2rem;
}

.preferences-page .form-check-input {
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.25em;
  accent-color: var(--emerald);
  cursor: pointer;
}

.preferences-page .form-check-label {
  cursor: pointer;
  color: var(--brown-dark);
  margin-bottom: 0;
}

.preferences-page .form-text {
  font-size: 0.875rem;
  color: var(--text-muted-theme);
}

.preferences-page hr {
  border-color: var(--border-soft);
  margin: 1.5rem 0;
}

.preferences-page .btn {
  padding: 0.625rem 1.25rem;
  font-weight: 500;
  border-radius: 0.375rem;
}

.preferences-page .btn-library {
  background-color: var(--emerald);
  border-color: var(--emerald);
  color: white;
  transition: all 0.2s ease;
}

.preferences-page .btn-library:hover {
  background-color: var(--emerald-dark);
  border-color: var(--emerald-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(18, 113, 81, 0.2);
}

.preferences-page .btn-outline-secondary {
  color: var(--text-muted-theme);
  border-color: var(--border-strong);
}

.preferences-page .btn-outline-secondary:hover {
  background-color: var(--surface-muted);
  border-color: var(--border-strong);
  color: var(--brown-dark);
}

.preferences-page .btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.preferences-page .alert {
  border-radius: 0.375rem;
  padding: 0.875rem 1rem;
  margin-top: 1rem;
  display: none;
}

.preferences-page .alert.show {
  display: block;
}

.preferences-page .alert-success {
  background-color: rgba(29, 169, 122, 0.16);
  color: var(--text-primary);
  border: 1px solid rgba(29, 169, 122, 0.28);
}

.preferences-page .alert-danger {
  background-color: rgba(207, 102, 121, 0.16);
  color: var(--text-primary);
  border: 1px solid rgba(207, 102, 121, 0.28);
}

.text-emerald {
  color: var(--emerald);
}

.text-brown-dark {
  color: var(--brown-dark);
}
