:root{
  --utc-blue:#1e3a5f;
  --utc-blue-dark:#0f243e;
  --utc-blue-soft:#eaf3ff;

  --utc-gold:#f2b01e;
  --utc-red:#e84c4c;

  --utc-bg:#f5fbff;
  --utc-card:#ffffff;
  --utc-border:#e2e8f0;
  --utc-text:#0f172a;

  --utc-shadow:0 10px 30px rgba(0,0,0,.10);
  --utc-radius:16px;
}

html,body{height:100%}
body{
  font-family:'Kanit',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:linear-gradient(180deg, var(--utc-bg), #ffffff 45%, #ffffff);
  color:var(--utc-text);
}

/* ===== Navbar UTC ===== */
.utc-navbar{
  background:linear-gradient(90deg, var(--utc-blue-dark), var(--utc-blue));
  border-bottom:1px solid rgba(255,255,255,.12);
}
.utc-navbar .navbar-brand{
  color:#fff !important;
  font-weight:800;
  letter-spacing:.2px;
}
.utc-navbar .utc-sub{
  font-weight:500;
  color:rgba(255,255,255,.78);
  font-size:.85rem;
}
.utc-navbar .nav-link,
.utc-navbar .btn,
.utc-navbar .text-light{
  color:#fff !important;
}
.utc-navbar .btn-outline-light{
  border-color:rgba(255,255,255,.55);
}
.utc-navbar .btn-outline-light:hover{
  background:rgba(255,255,255,.12);
}

/* ===== Brand logo ===== */
.utc-logo{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:10px;
  background:rgba(255,255,255,.10);
  padding:6px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

/* ===== Cards / Buttons ===== */
.card{
  border:1px solid var(--utc-border);
  border-radius:var(--utc-radius);
  box-shadow:var(--utc-shadow);
}
.card .card-header{
  border-bottom:1px solid var(--utc-border);
}
.btn{
  border-radius:12px;
  font-weight:600;
}
.btn-primary{
  background:var(--utc-blue);
  border-color:var(--utc-blue);
}
.btn-primary:hover{
  background:var(--utc-blue-dark);
  border-color:var(--utc-blue-dark);
}
.btn-outline-primary{
  color:var(--utc-blue);
  border-color:rgba(30,58,95,.35);
}
.btn-outline-primary:hover{
  background:var(--utc-blue);
  border-color:var(--utc-blue);
  color:#fff;
}

/* badges สถานะ */
.badge.text-bg-secondary{ background:#64748b !important; }
.badge.text-bg-warning{ background:var(--utc-gold) !important; color:#1b1b1b !important; }
.badge.text-bg-success{ background:#0ea34a !important; }
.badge.text-bg-danger{ background:var(--utc-red) !important; }

/* ตาราง */
.table thead th{
  font-weight:700;
}
.table-hover tbody tr:hover{
  background:rgba(30,58,95,.05);
}

/* ===== Page container spacing ===== */
.utc-container{
  padding-top:22px;
  padding-bottom:28px;
}

/* ===== 작은 breadcrumb-like info box ===== */
.utc-info{
  background:var(--utc-blue-soft);
  border:1px dashed rgba(30,58,95,.25);
  color:var(--utc-blue-dark);
  border-radius:14px;
  padding:14px 16px;
}

/* ===== FullCalendar tweaks ===== */
.fc .fc-toolbar-title{
  font-size:1.15rem;
  font-weight:800;
  color:var(--utc-blue-dark);
}
.fc .fc-button{
  border-radius:12px !important;
  font-weight:700;
}
