﻿html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

:root {
  --brand: #0d6efd; /* bootstrap primary */
  --brand-dark: #0b5ed7;
  --muted: #6c757d;
  --accent: #258cfb;
  --radius: .375rem;
  --container-max: 1250px; /* adjusted to requested 1250px */
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background-color: #f8f9fa;
  color: #212529;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

.container {
  max-width: var(--container-max);
}

/* focus outlines */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--accent);
}

/* Normalize buttons */
.btn {
  border-radius: var(--radius);
  padding: .45rem .75rem;
  font-weight: 600;
}

.btn-primary {
  background-color: var(--brand);
  border-color: var(--brand-dark);
}

.btn-outline-primary {
  color: var(--brand);
  border-color: var(--brand);
}

.btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-sm {
  padding: .25rem .5rem;
}

/* Table styles */
table.table {
  background: #ffffff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.04);
}

table.table thead th {
  background: linear-gradient(180deg, #f1f5f9, #ffffff);
  color: #212529;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  font-weight: 600;
}

table.table tbody tr td {
  vertical-align: middle;
}

/* Card styles for details sections */
.card-consistent {
  border: 0;
  border-radius: var(--radius);
  box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.04);
  overflow: hidden;
}

.card-consistent .card-header {
  background: linear-gradient(90deg, rgba(13,110,253,0.06), rgba(37,140,251,0.03));
  font-weight: 600;
}

.card-consistent .card-body {
  background: #fff;
}

/* Consistent small utility classes */
.btn-group-sm .btn {
  padding: .325rem .5rem;
}

/* Form field consistency */
.form-control {
  border-radius: .375rem;
}

/* Application select styling - use .app-select on native <select> to ensure consistent look */
.app-select,
.form-select.app-select {
  border-radius: .375rem;
  padding: .375rem .75rem;
  border: 1px solid #ced4da;
  background-color: #fff;
}

/* Alias hover tooltip - shows original name when hovering an alias value */
.alias-hover {
  position: relative;
  cursor: help;
}
.alias-hover::after {
  content: attr(data-original);
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(-110%);
  background: rgba(0,0,0,0.78);
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease-in-out, transform 0.12s ease-in-out;
}
.alias-hover:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(-125%);
}

/* Select2 integration styles to match application design */
.select2-container .select2-selection--single {
  border-radius: .375rem;
  border: 1px solid #ced4da;
  background-color: #fff;
  padding: .375rem .75rem;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #212529;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
  background-color: rgba(13,110,253,0.08);
  color: #0b5ed7;
}
.select2-dropdown {
  border-radius: .375rem;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.04);
}

/* focus state consistent with other controls */
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--single:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--accent);
}

/* Adjust navbar */
.navbar {
  padding: .5rem 1rem;
}

/* Utilities */
.text-muted-strong { color: var(--muted); font-weight: 600; }

/* Notes partial styling */
.notes-partial {
  margin-top: 1rem;
}

/* Make actions column consistent */
.table-actions {
  white-space: nowrap;
}

