@font-face{font-family:"Phetsarath OT";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/phetsarath-ot/PhetsarathOT-Regular.woff2?v=4103") format("woff2")}
@font-face{font-family:"Phetsarath OT";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/phetsarath-ot/PhetsarathOT-Medium.woff2?v=4103") format("woff2")}
@font-face{font-family:"Phetsarath OT";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/phetsarath-ot/PhetsarathOT-SemiBold.woff2?v=4103") format("woff2")}
@font-face{font-family:"Phetsarath OT";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/phetsarath-ot/PhetsarathOT-Bold.woff2?v=4103") format("woff2")}
:root{--pos-primary:#17594a;--pos-accent:#e9b824;--bs-body-font-family:"Phetsarath OT","Noto Sans Lao","Segoe UI",sans-serif}body{font-family:var(--bs-body-font-family)}.navbar-pos{background:linear-gradient(120deg,#12372a,var(--pos-primary))}.app-shell{min-height:100vh}.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#e9ecef}.avatar-lg{width:88px;height:88px}.table>:not(caption)>*>*{vertical-align:middle}.required:after{content:" *";color:#dc3545}.card-stat{border:0;box-shadow:0 .125rem .5rem rgba(0,0,0,.075)}.login-cover{min-height:100vh;background:radial-gradient(circle at top right,#dff4eb,transparent 45%),#f8f9fa}.upload-overlay{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:2000;display:none;align-items:center;justify-content:center}.upload-overlay.show{display:flex}.empty-state{padding:3rem 1rem;text-align:center;color:#6c757d}.offcanvas{--bs-offcanvas-width:280px}@media(max-width:767.98px){.table-responsive{font-size:.9rem}.page-title{font-size:1.35rem}}

/* ==========================================================================
   Dark Mode System & Component Overrides
   ========================================================================== */
[data-bs-theme="dark"] {
  --bs-body-bg: #121416;
  --bs-body-bg-rgb: 18, 20, 22;
  --bs-body-color: #e2e8f0;
  --bs-secondary-bg: #1a1d21;
  --bs-tertiary-bg: #22262b;
  --bs-border-color: #2e343b;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.12);
  --bs-card-bg: #1a1d21;
  --bs-card-color: #e2e8f0;
  --bs-modal-bg: #1a1d21;
  --bs-modal-color: #e2e8f0;
}

[data-bs-theme="dark"] .bg-body-tertiary {
  background-color: #121416 !important;
}

[data-bs-theme="dark"] .navbar-pos {
  background: linear-gradient(120deg, #091a14, #12372a);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

[data-bs-theme="dark"] .card {
  background-color: #1a1d21;
  border-color: #2e343b;
  color: #e2e8f0;
}

[data-bs-theme="dark"] .bg-white {
  background-color: #1a1d21 !important;
  color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .text-dark {
  color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .bg-light {
  background-color: #22262b !important;
  color: #cbd5e1 !important;
}

[data-bs-theme="dark"] .card-header.bg-white,
[data-bs-theme="dark"] .card-footer.bg-white {
  background-color: #1e2227 !important;
  color: #e2e8f0 !important;
  border-color: #2e343b !important;
}

[data-bs-theme="dark"] .input-group-text.bg-white {
  background-color: #22262b !important;
  color: #cbd5e1 !important;
  border-color: #2e343b !important;
}

[data-bs-theme="dark"] .list-group-item.bg-white {
  background-color: #1a1d21 !important;
  color: #e2e8f0 !important;
  border-color: #2e343b !important;
}

[data-bs-theme="dark"] .border-light-subtle {
  border-color: #2e343b !important;
}

[data-bs-theme="dark"] .modal-header.bg-light,
[data-bs-theme="dark"] .modal-footer.bg-light {
  background-color: #22262b !important;
  border-color: #2e343b !important;
  color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .modal-content {
  background-color: #1a1d21;
  border-color: #2e343b;
  color: #e2e8f0;
}

[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: #e2e8f0;
  --bs-table-border-color: #2e343b;
  --bs-table-hover-bg: rgba(255, 255, 255, 0.04);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: #16191c;
  border-color: #2e343b;
  color: #e2e8f0;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: #16191c;
  border-color: #198754;
  color: #f8fafc;
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

[data-bs-theme="dark"] .login-cover {
  background: radial-gradient(circle at top right, rgba(23, 89, 74, 0.15), transparent 45%), #121416;
}

[data-bs-theme="dark"] .avatar {
  background-color: #2e343b;
}

[data-bs-theme="dark"] .card-stat {
  box-shadow: 0 .125rem .5rem rgba(0, 0, 0, 0.4);
}

/* Customer Web Specific in Dark Mode */
[data-bs-theme="dark"] .variant-btn-block {
  background-color: #22262b;
  border-color: #2e343b;
}

[data-bs-theme="dark"] .variant-btn-block:hover {
  border-color: #20c997;
}

[data-bs-theme="dark"] .variant-btn-block.active {
  background-color: rgba(25, 135, 84, 0.2);
  border-color: #20c997;
  box-shadow: 0 0 0 2px rgba(32, 201, 151, 0.35);
}

[data-bs-theme="dark"] .variant-scroll-container {
  background-color: #16191c;
  border-top-color: #2e343b;
}

[data-bs-theme="dark"] .variant-row {
  background-color: #1e2227 !important;
  border-color: #2e343b !important;
}

/* Map tiles in Dark Mode */
[data-bs-theme="dark"] .leaflet-tile-pane {
  filter: brightness(0.7) invert(1) contrast(3) hue-rotate(200deg) saturate(0.3) brightness(0.75);
}

[data-bs-theme="dark"] .leaflet-container {
  background: #1a1d21 !important;
}

/* Theme toggle button styling */
.theme-toggle-btn {
  border-radius: 9999px;
  padding: 0.25rem 0.65rem;
  transition: all 0.2s ease-in-out;
}
.theme-toggle-btn:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
