body          { font-family: 'Sarabun', 'TH SarabunNew', sans-serif; background: #f0f2f5; }
.navbar       { box-shadow: 0 2px 8px rgba(0,0,0,.3); }
.table thead th { background: #1e3a5f; color: #fff; white-space: nowrap; }
.card         { border: none; border-radius: 12px; }
.page-title   { font-size: 1.1rem; font-weight: 600; }
.committee-card { border-left: 4px solid #0d6efd; }

/* Dashboard stat cards */
.stat-card        { border-radius: 12px; color: #fff; padding: 1.2rem 1.5rem; }
.stat-card .number { font-size: 2rem; font-weight: 700; line-height: 1; }
.stat-card .label  { font-size: .85rem; opacity: .9; }

/* Step tracker */
.step-item        { border-left: 3px solid #dee2e6; padding: 0 0 1rem 1.2rem; position: relative; }
.step-item:last-child { border-left-color: transparent; padding-bottom: 0; }
.step-dot         {
  width: 24px; height: 24px; border-radius: 50%;
  background: #dee2e6; border: 2px solid #adb5bd;
  display: flex; align-items: center; justify-content: center;
  position: absolute; left: -13px; top: 0; font-size: .65rem; font-weight: 700; color: #fff;
}
.step-item.done .step-dot   { background: #198754; border-color: #198754; }
.step-item.active .step-dot { background: #ffc107; border-color: #ffc107; color: #000; }
.step-item.skip .step-dot   { background: #adb5bd; border-color: #adb5bd; }
.step-item.done  { border-left-color: #198754; }
.step-item.active { border-left-color: #ffc107; }

/* File list */
.file-item { border: 1px solid #e9ecef; border-radius: 8px; padding: .5rem .75rem; }
.file-icon { font-size: 1.3rem; }

/* Search bar */
.search-bar { background: #fff; border-radius: 12px; padding: 1rem; box-shadow: 0 1px 4px rgba(0,0,0,.08); }

/* Status pill in table */
.badge { font-size: .75rem; }

/* Print */
@media print {
  .navbar, .btn, .no-print { display: none !important; }
  .card { box-shadow: none; border: 1px solid #dee2e6 !important; }
}
