@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --teal-50: #E1F5EE;
  --teal-100: #9FE1CB;
  --teal-200: #5DCAA5;
  --teal-400: #1D9E75;
  --teal-600: #0F6E56;
  --teal-800: #085041;
  --teal-900: #04342C;
  --coral: #D85A30;
  --coral-bg: #FAECE7;
  --amber: #BA7517;
  --amber-bg: #FAEEDA;
  --bg: #F3F7F5;
  --surface: #FFFFFF;
  --surface-2: #EDF4F1;
  --text-1: #0F1F1B;
  --text-2: #4B5C57;
  --text-3: #8B9A95;
  --border: #DCE6E2;
  --border-strong: #C2D2CC;
  --font-d: 'Space Grotesk', sans-serif;
  --font-b: 'Inter', sans-serif;
  --font-m: 'JetBrains Mono', monospace;
  --bubble: 4px 16px 16px 16px;
  --bubble-own: 16px 4px 16px 16px;
  --notch: 4px 14px 14px 14px;
  --navbar-h: 60px;
}

.navbar {
  min-height: var(--navbar-h);
  display: flex;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1030;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.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(--teal-400);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background: var(--bg);
  color: var(--text-1);
  font-family: var(--font-b);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-d);
  color: var(--text-1);
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* ---- Bootstrap re-skin so every page (chat, dashboards, auth) follows the new palette ---- */

.btn {
  font-family: var(--font-b);
  font-weight: 500;
  border-radius: 9px;
}

.btn-primary {
  background-color: var(--teal-600);
  border-color: var(--teal-600);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: var(--teal-800) !important;
  border-color: var(--teal-800) !important;
}

.btn-outline-secondary {
  color: var(--text-2);
  border-color: var(--border-strong);
}
.btn-outline-secondary:hover {
  background-color: var(--surface-2);
  border-color: var(--border-strong);
  color: var(--text-1);
}

.btn-danger {
  background-color: var(--coral);
  border-color: var(--coral);
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
  background-color: #B8471F !important;
  border-color: #B8471F !important;
}

.btn-light {
  background-color: transparent;
  border-color: transparent;
  color: var(--teal-100);
}
.btn-light:hover {
  background-color: rgba(255, 255, 255, .08);
  color: #fff;
}

.text-danger { color: var(--coral) !important; }
.text-success { color: var(--teal-600) !important; }
.text-muted { color: var(--text-3) !important; }

.form-control {
  font-family: var(--font-b);
  border-radius: 9px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-1);
}
.form-control:focus {
  border-color: var(--teal-600);
}

.card {
  border: 1px solid var(--border);
  border-radius: var(--notch);
  background: var(--surface);
}

.table {
  font-size: 13.5px;
}
.table thead th {
  text-transform: uppercase;
  font-size: 11.5px;
  letter-spacing: .03em;
  color: var(--text-3);
  font-weight: 500;
  border-bottom: 1px solid var(--border);
}
.table td {
  border-bottom: 1px solid var(--border);
}

a {
  color: var(--teal-800);
}
a:hover {
  color: var(--teal-900);
}
