/* =========================================
   Valor - Global CSS (use for all pages)
   Path: /assets/css/app.css
   ========================================= */

/* ---- Base ---- */
:root {
  --bg: #f4f6fb;
  --card: #ffffff;
  --text: #111827;
  --muted: rgba(0, 0, 0, .55);
  --border: rgba(0, 0, 0, .08);
  --shadow-soft: 0 10px 25px rgba(0, 0, 0, .05);
  --shadow-deep: 0 12px 30px rgba(0, 0, 0, .15);
  --radius: 14px;

  --brand-dark-1: #2f3b4a;
  --brand-dark-2: #263141;
}

html,
body {
  height: 100%;
}

body {
  background: var(--bg);
  color: var(--text);
}

/* ---- Cards / Containers ---- */
.card-soft {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.shadow-soft {
  box-shadow: var(--shadow-soft);
}

.rounded-4 {
  border-radius: 1rem !important;
}

/* keep your existing usage */
.subtle {
  color: var(--muted);
}

/* ---- KPI ---- */
.kpi-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.kpi-title {
  color: var(--muted);
  font-size: .85rem;
  letter-spacing: .2px;
}

.kpi-number {
  font-size: 2.0rem;
  font-weight: 800;
  line-height: 1.1;
}

/* ---- Admin top bar ---- */
.topbar {
  background: linear-gradient(180deg, var(--brand-dark-1) 0%, var(--brand-dark-2) 100%);
  color: #fff;
  border-radius: var(--radius);
  padding: 14px 18px;
  box-shadow: var(--shadow-deep);
}

.topbar .btn-outline-light {
  border-color: rgba(255, 255, 255, .35);
}

/* ---- Buttons ---- */
.btn-pill {
  border-radius: 999px !important;
}

.rating-btn {
  min-width: 38px;
}

/* ---- Tables ---- */
.table thead.text-muted th {
  color: rgba(0, 0, 0, .55) !important;
  font-weight: 600;
}

.table td,
.table th {
  vertical-align: middle;
}

/* ---- Forms ---- */
.form-control,
.form-select {
  border-radius: 12px;
}

.form-control:focus,
.form-select:focus {
  box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .12);
}

/* ---- Map container ---- */
#thMap {
  height: 420px;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
}

/* ---- Small helpers ---- */
.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.logos {
  text-align: center;
}

.logos>img.d-inline-block.align-middle {
  height: auto;
  width: 200px;
}

a.nav-link {
  color: #fff;
}

.small.text-muted-menu {
  color: #ffff;

}

.small.text-muted {
  color: #212529;
}

.btn-pill {
  border-color: #ffff;
}


/* .btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: #000000;
    border-color: #fff;
} */
.bg-white {
  background-color: #000000 !important;
}

a.btn.btn-outline-light.btn-sm {
  width: 150px;
}

a.btn.btn-outline-dark.btn-sm.btn-pill {
  color: #fff !important;
}

form.d-flex.align-items-center.gap-2>.small {
  width: 150px;
}

a.navbar-brand.fw-bold>img.d-inline-block.align-middle {
  width: 98px;
  height: auto;
}

.nav-link:focus,
.nav-link:hover {
  color: #ffc107;
}

.prompt-thin {
  font-family: "Prompt", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.prompt-extralight {
  font-family: "Prompt", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.prompt-light {
  font-family: "Prompt", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.prompt-regular {
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.prompt-medium {
  font-family: "Prompt", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.prompt-semibold {
  font-family: "Prompt", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.prompt-bold {
  font-family: "Prompt", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.prompt-extrabold {
  font-family: "Prompt", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.prompt-black {
  font-family: "Prompt", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.prompt-thin-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.prompt-extralight-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.prompt-light-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.prompt-regular-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.prompt-medium-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.prompt-semibold-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.prompt-bold-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.prompt-extrabold-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.prompt-black-italic {
  font-family: "Prompt", sans-serif;
  font-weight: 900;
  font-style: italic;
}


body {
    font-family: "Prompt"!important;
}


:root {
  --bg: #f4f6fb;
  --card: #fff;
  --text: #0f152a;
  --muted: rgba(15, 23, 42, .65);
  --border: rgba(15, 23, 42, .10);
  --shadow: 0 10px 28px rgba(2, 6, 23, .06);
}

body {
  background: var(--bg);
  color: var(--text);
}

.card-soft {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.section-title {
  font-weight: 800;
}

.hint {
  color: var(--muted);
}

.ch-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ch-pill {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
  background: var(--card);
  font-weight: 800;
  transition: .15s ease;
  user-select: none;
}

.btn-check:checked+.ch-pill {
  background: #111825;
  color: #fff;
  border-color: #111825;
}

.question-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px;
  background: rgba(255, 255, 255, .5);
}

.rating-scale {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-top: 8px;
}

.rating-pill {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px 6px;
  text-align: center;
  font-weight: 900;
  cursor: pointer;
  background: var(--card);
  transition: all .15s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  user-select: none;
  min-height: 52px;
}

.rating-pill small {
  font-size: 11px;
  font-weight: 500;
  opacity: .65;
  margin-top: 2px;
  line-height: 1.15;
}

.btn-check:checked+.rating-pill {
  background: var(--bs-yellow);
  color: var(--bs-black);
  border-color: var(--bs-white);
}

.hidden {
  display: none !important;
}

@media (max-width: 556px) {
  .rating-scale {
    grid-template-columns: repeat(3, 1fr);
  }
}

