:root{
  --nu-blue:#0d47a1;
  --nu-blue-2:#1565c0;
  --nu-yellow:#fbc02d;
  --nu-yellow-2:#ffd54f;

  --bg:#f5f7fb;
  --text:#1f2937;
  --muted:#64748b;

  --radius:18px;
}

/* =====================
   Base
===================== */
html,body{height:100%;}

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

  /* ข้อความทั่วไป = TH Sarabun */
  font-family: 'Sarabun', 'TH Sarabun New', system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.6;
}

/* =====================
   Headings / Titles
===================== */
h1,h2,h3,h4,h5,h6,
.section-title{
  font-family: 'Prompt', sans-serif;
  font-weight: 600;
  letter-spacing: .2px;
}

.section-title{
  font-weight: 800;
  color: var(--nu-blue);
}

/* =====================
   Text / Content
===================== */
p, li, span, small,
.table, .alert,
.form-control, .form-select, .form-check-label,
.small, .small-muted{
  font-family: 'Sarabun', 'TH Sarabun New', sans-serif;
}

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

/* =====================
   Navbar
===================== */
.navbar{
  background: linear-gradient(90deg, var(--nu-blue), var(--nu-blue-2));
}

.navbar-brand{
  font-family: 'Prompt', sans-serif;
  font-weight: 700;
  letter-spacing: .6px;
  color:#fff !important;
}

.navbar .nav-link{
  font-family: 'Prompt', sans-serif;
  font-weight: 500;
  color:#fff !important;
  opacity:.92;
}

.navbar .nav-link:hover{
  opacity:1;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.navbar-toggler{
  border: 0;
}

.navbar-toggler:focus{
  box-shadow: none;
}

/* =====================
   Cards
===================== */
.card{
  border:0;
  border-radius: var(--radius);
}

.shadow-soft{
  box-shadow: 0 12px 30px rgba(13,71,161,.12);
}

/* =====================
   Buttons
===================== */
.btn{
  font-family: 'Prompt', sans-serif;
  border-radius: 14px;
  font-weight: 500;
  letter-spacing: .2px;
}

.btn-primary{
  background: linear-gradient(180deg, var(--nu-blue), var(--nu-blue-2));
  border: none;
}

.btn-primary:hover{
  filter: brightness(.98);
}

.btn-accent{
  background: linear-gradient(180deg, var(--nu-yellow), var(--nu-yellow-2));
  border: none;
  color:#1b1b1b;
  font-weight: 700;
}

.btn-accent:hover{
  filter: brightness(.98);
}

/* =====================
   Badges / Status
===================== */
.badge-status{
  font-family: 'Prompt', sans-serif;
  font-weight: 700;
  letter-spacing: .2px;
}

.badge-draft{ background:#94a3b8; }
.badge-submitted{
  background: var(--nu-yellow);
  color:#1b1b1b;
}
.badge-received{ background:#16a34a; }

/* =====================
   Forms
===================== */
.form-label{
  font-family: 'Prompt', sans-serif;
  font-weight: 600;
  letter-spacing: .3px;
}

.form-control, .form-select{
  border-radius: 14px;
  padding-top: .6rem;
  padding-bottom: .6rem;
}

.form-control:focus, .form-select:focus{
  border-color: rgba(13,71,161,.45);
  box-shadow: 0 0 0 .25rem rgba(13,71,161,.15);
}

.form-check-input{
  cursor: pointer;
}

.form-check-input:focus{
  box-shadow: 0 0 0 .25rem rgba(13,71,161,.15);
}

/* =====================
   Tables
===================== */
.table thead th{
  font-family: 'Prompt', sans-serif;
  font-weight: 600;
}

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

/* =====================
   Footer
===================== */
.footer{
  font-family: 'Sarabun', 'TH Sarabun New', sans-serif;
  color:#6b7280;
  font-size: .95rem;
}

/* =====================
   Links
===================== */
a{
  color: var(--nu-blue-2);
  text-decoration: none;
}

a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =====================
   Responsive
===================== */
@media (max-width: 576px){
  .btn{ border-radius: 12px; }
  .card{ border-radius: 16px; }
}
