@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  --hs-bg: #f5f1e8;
  --hs-bg-strong: #efe7d9;
  --hs-panel: #ffffff;
  --hs-panel-alt: #fcfaf6;
  --hs-text: #24312c;
  --hs-muted: #6a7a72;
  --hs-border: #e3dbcc;
  --hs-accent: #1f6f5b;
  --hs-accent-2: #b36a3b;
  --hs-accent-3: #caa25a;
  --hs-shadow: 0 12px 30px rgba(36, 49, 44, 0.08);
  --hs-shadow-soft: 0 8px 18px rgba(36, 49, 44, 0.06);
  --hs-radius: 16px;
  --hs-radius-sm: 10px;
  --hs-auth-bg: radial-gradient(circle at top left, #fff6e7 0%, #f6efe3 45%, #efe3cf 100%);
}

html.theme-hospitality,
body.theme-hospitality {
  font-family: "Poppins", "Segoe UI", system-ui, sans-serif;
  color: var(--hs-text);
  background-color: var(--hs-bg);
  background-image:
    radial-gradient(circle at 10% 10%, rgba(255, 255, 255, 0.65), transparent 50%),
    radial-gradient(circle at 85% 5%, rgba(255, 240, 220, 0.7), transparent 45%),
    linear-gradient(180deg, var(--hs-bg) 0%, #f3ebdd 100%);
  background-attachment: fixed;
}

body.theme-hospitality * {
  font-family: inherit;
}

body.theme-hospitality input,
body.theme-hospitality select,
body.theme-hospitality textarea,
body.theme-hospitality button,
body.theme-hospitality .tw-font-sans {
  font-family: "Poppins", "Segoe UI", system-ui, sans-serif !important;
}

body.theme-hospitality a {
  color: var(--hs-accent);
}

body.theme-hospitality h1,
body.theme-hospitality h2,
body.theme-hospitality h3,
body.theme-hospitality h4,
body.theme-hospitality .page-header {
  font-family: "Poppins", "Segoe UI", system-ui, sans-serif;
  color: var(--hs-text);
  font-weight: 700;
  letter-spacing: -0.2px;
}

body.theme-hospitality .content-wrapper,
body.theme-hospitality .right-side,
body.theme-hospitality .content {
  background: transparent;
}

body.theme-hospitality .content-wrapper {
  padding: 16px 16px 40px;
}

body.theme-hospitality .main-header .navbar,
body.theme-hospitality .main-header .logo {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--hs-border);
  color: var(--hs-text);
}

body.theme-hospitality .main-header .logo {
  border-right: 1px solid var(--hs-border);
  font-family: "Playfair Display", "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: 0.4px;
}

body.theme-hospitality .main-sidebar,
body.theme-hospitality .left-side,
body.theme-hospitality .sidebar {
  background: linear-gradient(180deg, #1f2723 0%, #1b221f 70%, #171c1a 100%);
  color: #e8e3d6;
  border-right: 1px solid rgba(255, 255, 255, 0.06);
}

body.theme-hospitality .sidebar-menu > li > a,
body.theme-hospitality .sidebar-menu > li > a span,
body.theme-hospitality .sidebar-menu > li > a i {
  color: #e8e3d6;
}

body.theme-hospitality .sidebar-menu > li.active > a,
body.theme-hospitality .sidebar-menu > li:hover > a {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border-left: 3px solid var(--hs-accent-3);
}

body.theme-hospitality .sidebar-menu .treeview-menu {
  background: rgba(0, 0, 0, 0.15);
}

body.theme-hospitality .box,
body.theme-hospitality .box-solid,
body.theme-hospitality .info-box,
body.theme-hospitality .small-box,
body.theme-hospitality .modal-content,
body.theme-hospitality .panel {
  background: var(--hs-panel);
  border: 1px solid var(--hs-border);
  border-radius: var(--hs-radius);
  box-shadow: var(--hs-shadow);
}

body.theme-hospitality .box-header,
body.theme-hospitality .box-footer,
body.theme-hospitality .panel-heading,
body.theme-hospitality .modal-header {
  border-color: var(--hs-border);
  background: var(--hs-panel-alt);
}

body.theme-hospitality .box-header .box-title {
  font-weight: 600;
}

body.theme-hospitality .box-header.with-border {
  border-bottom: 1px solid var(--hs-border);
}

body.theme-hospitality .table {
  background: var(--hs-panel);
  border: 1px solid var(--hs-border);
  border-radius: var(--hs-radius-sm);
  overflow: hidden;
}

body.theme-hospitality .table > thead > tr > th {
  background: #f6efe2;
  color: var(--hs-text);
  border-bottom: 1px solid var(--hs-border);
}

body.theme-hospitality .table > tbody > tr:hover {
  background: #fbf7ee;
}

body.theme-hospitality .form-control,
body.theme-hospitality .select2-container--default .select2-selection--single,
body.theme-hospitality .select2-container--default .select2-selection--multiple {
  border-radius: var(--hs-radius-sm);
  border: 1px solid var(--hs-border);
  box-shadow: none;
  background: #fff;
}

body.theme-hospitality .form-control:focus,
body.theme-hospitality .select2-container--default .select2-selection--single:focus {
  border-color: var(--hs-accent);
  box-shadow: 0 0 0 3px rgba(31, 111, 91, 0.12);
}

body.theme-hospitality .btn {
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.2px;
  border: none;
}

body.theme-hospitality .btn-primary,
body.theme-hospitality .btn-success {
  background: linear-gradient(135deg, var(--hs-accent) 0%, #2c8a73 100%);
  color: #fff;
}

body.theme-hospitality .btn-warning {
  background: linear-gradient(135deg, var(--hs-accent-2) 0%, #c47a48 100%);
  color: #fff;
}

body.theme-hospitality .btn-danger {
  background: linear-gradient(135deg, #a6453c 0%, #c95a4d 100%);
  color: #fff;
}

body.theme-hospitality .btn-default,
body.theme-hospitality .btn-secondary {
  background: #f8f2e6;
  color: var(--hs-text);
  border: 1px solid var(--hs-border);
}

body.theme-hospitality .nav-tabs-custom > .nav-tabs > li.active > a,
body.theme-hospitality .nav-tabs-custom > .nav-tabs > li.active:hover > a {
  border-top-color: var(--hs-accent);
}

body.theme-hospitality .nav-tabs-custom {
  border-radius: var(--hs-radius);
  overflow: hidden;
  box-shadow: var(--hs-shadow-soft);
}

body.theme-hospitality .main-footer {
  background: rgba(255, 255, 255, 0.6);
  border-top: 1px solid var(--hs-border);
  color: var(--hs-muted);
}

body.theme-hospitality .login-box,
body.theme-hospitality .register-box {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 20px;
  box-shadow: var(--hs-shadow);
  border: 1px solid var(--hs-border);
}

body.theme-hospitality .login-box-body,
body.theme-hospitality .register-box-body {
  border-radius: 20px;
  background: transparent;
}

body.theme-hospitality .auth-page {
  background: var(--hs-auth-bg);
}

body.theme-hospitality .tw-bg-gray-100,
body.theme-hospitality .tw-bg-white {
  background-color: transparent !important;
}

body.theme-hospitality .tw-text-gray-900,
body.theme-hospitality .tw-text-gray-700 {
  color: var(--hs-text) !important;
}

body.theme-hospitality .tw-text-gray-500 {
  color: var(--hs-muted) !important;
}

body.theme-hospitality .tw-bg-blue-700,
body.theme-hospitality .tw-bg-blue-600 {
  background: linear-gradient(135deg, var(--hs-accent) 0%, #2c8a73 100%) !important;
}

body.theme-hospitality .tw-text-white {
  color: #fff !important;
}
