:root {
  --cs-green: #0f6b50;
  --cs-green-dark: #084c39;
  --cs-green-soft: #e8f6ef;
  --cs-green-muted: #4f7669;
  --cs-yellow: #f4c542;
  --cs-yellow-dark: #e0af20;
  --cs-yellow-soft: #fff7da;
  --cs-cream: #fbfdf8;
  --cs-ink: #19362d;
  --cs-line: rgba(15, 107, 80, 0.12);
  --cs-shadow: 0 18px 60px rgba(8, 76, 57, 0.09);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.app-body, body {
  font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: linear-gradient(180deg, #f7fcf7 0%, #f1f7f2 100%);
  color: var(--cs-ink);
  min-height: 100vh;
}
a { color: var(--cs-green); text-decoration: none; }
a:hover { color: var(--cs-green-dark); }
.fw-800 { font-weight: 800; }
.site-main { min-height: 60vh; }
.site-header { z-index: 1040; }
.main-nav {
  background: rgba(8, 76, 57, 0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.brand-badge {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .85rem;
  background: linear-gradient(135deg, var(--cs-yellow), #ffe58c);
  color: #3f3100;
  font-weight: 800;
  box-shadow: 0 8px 24px rgba(244, 197, 66, 0.3);
}
.brand-mark { color: var(--cs-yellow); font-weight: 800; }
.navbar-brand, .navbar-brand:hover { color: #fff; font-weight: 800; }
.navbar-toggler { background: rgba(255,255,255,0.92); border-radius: .9rem; }
.nav-link {
  color: rgba(255,255,255,0.82);
  font-weight: 600;
  padding: .8rem 1rem !important;
  border-radius: 999px;
}
.nav-link:hover, .nav-link.active { color: #fff; background: rgba(255,255,255,0.12); }
.header-actions .btn { font-weight: 700; }
.btn-sun {
  background: linear-gradient(135deg, var(--cs-yellow), #ffd866);
  border-color: transparent;
  color: #3c2d00;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(244, 197, 66, 0.28);
}
.btn-sun:hover { background: linear-gradient(135deg, var(--cs-yellow-dark), #f6cd4d); color: #3c2d00; }
.btn-success {
  background: linear-gradient(135deg, var(--cs-green), #178761);
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(15, 107, 80, 0.18);
}
.btn-success:hover { background: linear-gradient(135deg, var(--cs-green-dark), var(--cs-green)); }
.btn-outline-success { border-color: var(--cs-green); color: var(--cs-green); }
.btn-outline-success:hover { background: var(--cs-green); color: #fff; }
.btn-outline-light:hover { color: var(--cs-green-dark); }
.card, .feature-card, .showcase-card, .hero-panel, .mini-stat, .dashboard-tile, .listing-card, .inquiry-card, .page-hero, .section-shell, .empty-state-card {
  border: 1px solid rgba(255,255,255,0.55);
  border-radius: 1.4rem;
  background: rgba(255,255,255,0.94);
  box-shadow: var(--cs-shadow);
}
.table, .table > :not(caption) > * > * { color: var(--cs-ink); }
.table thead th {
  white-space: nowrap;
  border-bottom: 1px solid var(--cs-line);
  color: var(--cs-green-dark);
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.table tbody tr { border-color: rgba(15,107,80,0.08); }
.metric { font-size: 2rem; font-weight: 800; color: var(--cs-green-dark); }
.message-box { max-height: 420px; overflow-y: auto; }
.homepage-hero {
  position: relative;
  padding: 3rem;
  border-radius: 2rem;
  background:
    radial-gradient(circle at top right, rgba(244,197,66,.26), transparent 28%),
    radial-gradient(circle at bottom left, rgba(15,107,80,.13), transparent 25%),
    linear-gradient(180deg, #ffffff, #f6fcf6);
  box-shadow: var(--cs-shadow);
}
.eyebrow-badge, .section-kicker {
  background: var(--cs-yellow-soft);
  border: 1px solid rgba(244,197,66,.55);
  color: #7c5c00;
  border-radius: 999px;
  padding: .45rem .9rem;
  font-size: .9rem;
  font-weight: 700;
}
.section-kicker { display: inline-block; margin-bottom: .8rem; }
.hero-panel { padding: 2rem; }
.step-item { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.step-item span {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cs-yellow), #ffe176);
  color: #3f3100;
  font-weight: 800;
  flex-shrink: 0;
}
.hero-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.mini-stat { padding: 1rem 1.1rem; background: rgba(255,255,255,.9); }
.feature-card { padding: 2rem; }
.feature-icon {
  width: 3rem; height: 3rem; border-radius: .9rem; display: flex; align-items: center; justify-content: center;
  background: var(--cs-yellow-soft); font-size: 1.5rem; margin-bottom: 1rem;
}
.showcase-card, .section-shell { padding: 2rem; background: linear-gradient(180deg, #ffffff, #f9fffb); }
.check-list { list-style: none; padding-left: 0; margin: 0; }
.check-list li { padding: .55rem 0 .55rem 1.7rem; position: relative; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--cs-green); font-weight: 800; }
.dashboard-tile { padding: 1.25rem; min-height: 110px; border: 1px solid rgba(15,107,80,.08); }
.dashboard-tile strong { display: block; color: var(--cs-green-dark); }
.dashboard-tile span { color: #5b7268; font-size: .95rem; }
.badge { border-radius: 999px; padding: .6rem .8rem; font-weight: 700; }
.badge.bg-warning { color: #3a2d00; }
.form-control, .form-select {
  border-radius: .95rem;
  border: 1px solid rgba(15,107,80,0.12);
  padding: .85rem 1rem;
}
.form-control:focus, .form-select:focus {
  border-color: #8dccb4;
  box-shadow: 0 0 0 .25rem rgba(15,107,80,.15);
}
.page-hero {
  padding: 2.4rem;
  background: linear-gradient(135deg, rgba(15,107,80,0.98), rgba(20,132,96,0.95));
  color: #fff;
}
.page-hero p.lead { color: rgba(255,255,255,0.86); }
.page-hero-listings {
  background: radial-gradient(circle at right top, rgba(244,197,66,.25), transparent 25%), linear-gradient(135deg, rgba(8,76,57,1), rgba(15,107,80,.94));
}
.page-hero-inquiries {
  background: radial-gradient(circle at right top, rgba(244,197,66,.18), transparent 26%), linear-gradient(135deg, rgba(15,107,80,.95), rgba(8,76,57,1));
}
.section-heading .section-title { margin: 0; font-weight: 800; }
.listing-card, .inquiry-card { padding: 1.6rem; position: relative; overflow: hidden; }
.listing-card::after, .inquiry-card::after {
  content: '';
  position: absolute;
  inset: auto -20% -35% auto;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,197,66,.12), transparent 65%);
}
.listing-card h3, .inquiry-card h3 { font-size: 1.3rem; font-weight: 800; }
.listing-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem .8rem;
  border-radius: 999px;
  background: var(--cs-yellow-soft);
  color: #6f5300;
  font-size: .82rem;
  font-weight: 800;
}
.bg-soft-green { background: var(--cs-green-soft); }
.listing-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .8rem;
}
.listing-meta span, .budget-pill {
  display: inline-flex;
  align-items: center;
  padding: .45rem .8rem;
  border-radius: 999px;
  background: #f3f8f4;
  border: 1px solid var(--cs-line);
  color: var(--cs-green-dark);
  font-size: .85rem;
  font-weight: 700;
}
.price-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  margin-top: 1.3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--cs-line);
}
.price-row strong { font-size: 1.15rem; }
.price-row small { color: var(--cs-green-muted); }
.listing-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 1.2rem;
}
.listing-footer small { display: block; color: var(--cs-green-muted); }
.rating-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4rem;
  padding: .5rem .8rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cs-yellow), #ffe07c);
  color: #513d00;
  font-weight: 800;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .8rem;
}
.detail-grid div {
  padding: .85rem .95rem;
  border-radius: 1rem;
  background: #f7fbf8;
  border: 1px solid rgba(15,107,80,0.08);
}
.detail-grid strong { display: block; font-size: .8rem; color: var(--cs-green-muted); text-transform: uppercase; letter-spacing: .03em; }
.detail-grid span { display: block; margin-top: .25rem; font-weight: 700; }
.empty-state-card {
  padding: 2.4rem;
  text-align: center;
  color: var(--cs-green-muted);
  font-weight: 600;
}
.promo-band {
  padding: 2.2rem;
  border-radius: 1.8rem;
  background: linear-gradient(135deg, rgba(8,76,57,1), rgba(15,107,80,.95));
  box-shadow: var(--cs-shadow);
}
.site-footer {
  background: linear-gradient(180deg, #0c4737, #072e23);
  color: #fff;
}
.footer-brand strong { color: #fff; }
.footer-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.footer-pills span {
  padding: .45rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: #fff7da;
  font-size: .85rem;
}
.site-footer h6 {
  color: #fff7da;
  font-weight: 800;
  margin-bottom: 1rem;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li + li { margin-top: .65rem; }
.footer-links a { color: rgba(255,255,255,0.8); }
.footer-links a:hover { color: #fff; }
.footer-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .9rem;
}
.footer-stat-grid div {
  padding: .9rem;
  border-radius: 1rem;
  background: rgba(255,255,255,0.06);
}
.footer-stat-grid strong { display: block; color: #fff5c8; }
.footer-stat-grid span { color: rgba(255,255,255,0.8); font-size: .9rem; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.68);
}
.sidebar .list-group-item {
  border: 0;
  margin-bottom: .4rem;
  border-radius: 1rem !important;
  font-weight: 700;
}
.sidebar .list-group-item.active, .sidebar .list-group-item:hover {
  background: var(--cs-green);
  color: #fff;
}
@media (max-width: 991.98px) {
  .homepage-hero, .page-hero, .section-shell { padding: 1.5rem; }
  .hero-mini-grid, .detail-grid, .footer-stat-grid { grid-template-columns: 1fr; }
  .header-actions { margin-top: 1rem; flex-wrap: wrap; }
}
@media (max-width: 767.98px) {
  .homepage-hero { padding: 1.25rem; }
  .display-3 { font-size: 2.4rem; }
  .price-row, .listing-footer { flex-direction: column; align-items: flex-start; }
}

.top-strip {
  background: linear-gradient(90deg, rgba(8,76,57,1), rgba(19,120,87,.95));
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: .55rem 0;
}
.site-main {
  background: radial-gradient(circle at top left, rgba(244,197,66,.08), transparent 20%), radial-gradient(circle at bottom right, rgba(15,107,80,.07), transparent 22%);
}
.homepage-hero-rich { position: relative; }
.hero-glow { position: absolute; width: 260px; height: 260px; border-radius: 50%; filter: blur(12px); opacity: .7; }
.hero-glow-one { right: -60px; top: -40px; background: radial-gradient(circle, rgba(244,197,66,.24), transparent 62%); }
.hero-glow-two { left: -40px; bottom: -80px; background: radial-gradient(circle, rgba(15,107,80,.18), transparent 60%); }
.hero-stack-card { background: linear-gradient(180deg, #ffffff, #f4fbf7); border: 1px solid rgba(15,107,80,.08); }
.video-frame { position: relative; overflow: hidden; border-radius: 1.6rem; padding-top: 56.25%; background: #0b3d2e; box-shadow: var(--cs-shadow); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.auth-card { border-radius: 1.8rem; background: linear-gradient(180deg, #ffffff, #f8fcf8); }
.sidebar-card { border-radius: 1.4rem; background: linear-gradient(180deg, rgba(8,76,57,.98), rgba(19,120,87,.94)); color: #fff; }
.sidebar-title { font-weight: 800; letter-spacing: .03em; }
.sidebar-menu { gap: .45rem; }
.sidebar-menu .list-group-item { border: 0; border-radius: 1rem !important; background: rgba(255,255,255,.08); color: rgba(255,255,255,.88); font-weight: 700; margin-bottom: .45rem; }
.sidebar-menu .list-group-item:hover, .sidebar-menu .list-group-item.active { background: linear-gradient(135deg, var(--cs-yellow), #ffdf79); color: #402f00; }
.card .card-body { padding: 1.5rem; }
.site-footer { position: relative; overflow: hidden; background: radial-gradient(circle at top right, rgba(244,197,66,.15), transparent 16%), linear-gradient(135deg, #072f24, #0f6b50 62%, #168261 100%); color: #fff; }
.site-footer::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 30%); pointer-events: none; }
.footer-links li { margin-bottom: .65rem; }
.footer-pills, .footer-stat-grid { display: flex; flex-wrap: wrap; gap: .75rem; }
.footer-stat-grid div { width: calc(50% - .4rem); }
.whatsapp-widget { position: fixed; right: 20px; bottom: 20px; z-index: 1055; display: inline-flex; align-items: center; gap: .7rem; padding: .9rem 1.15rem; border-radius: 999px; background: linear-gradient(135deg, #1fbf6b, #15a55b); color: #fff; font-weight: 800; box-shadow: 0 18px 34px rgba(9, 78, 44, .28); }
.whatsapp-widget:hover { color: #fff; transform: translateY(-2px); }
.whatsapp-icon { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.15); }
.detail-grid-single { grid-template-columns: 1fr; }
@media (max-width: 991px) { .footer-stat-grid div { width: 100%; } }
@media (max-width: 767px) { .whatsapp-text { display: none; } .whatsapp-widget { padding: .95rem; } }

.admin-sidebar-card {
  position: sticky;
  top: 120px;
  background: linear-gradient(180deg, #083d2f, #0f6b50 55%, #168261 100%);
}
.sidebar-icon { width: 1.55rem; display: inline-flex; justify-content: center; margin-right: .45rem; }
.admin-hero-card, .admin-stat-card, .admin-review-card, .admin-search-card {
  border-radius: 1.5rem;
  border: 1px solid rgba(15,107,80,.08);
  background: linear-gradient(180deg, #ffffff, #f8fcf9);
  box-shadow: var(--cs-shadow);
}
.admin-hero-card { padding: 2rem; }
.admin-search-card { padding: 1.25rem; }
.admin-stat-card { padding: 1.35rem; }
.admin-filter-bar {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 220px auto auto;
  gap: .9rem;
}
.admin-table td, .admin-table th { vertical-align: middle; }
.admin-inline-select { min-width: 140px; }
.admin-review-card { padding: 1.35rem; }
.admin-detail-badges { display: flex; flex-wrap: wrap; gap: .6rem; align-items: flex-start; }
.admin-detail-badges span {
  padding: .5rem .8rem;
  border-radius: 999px;
  background: #f6faf7;
  border: 1px solid var(--cs-line);
  color: var(--cs-green-dark);
  font-weight: 700;
  font-size: .88rem;
}
.admin-list-stack { display: grid; gap: .9rem; }
.admin-list-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  background: #f8fcf9;
  border: 1px solid rgba(15,107,80,.08);
}
@media (max-width: 991.98px) {
  .admin-filter-bar { grid-template-columns: 1fr; }
  .admin-sidebar-card { position: static; }
}

.dashboard-sidebar {
  padding: 1.1rem !important;
}
.dashboard-sidebar-top {
  padding: 1rem;
  border-radius: 1.1rem;
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border: 1px solid rgba(255,255,255,.08);
}
.dashboard-sidebar .sidebar-menu .list-group-item {
  display: flex;
  align-items: center;
  min-height: 50px;
}
.dashboard-sidebar .sidebar-menu .list-group-item.active {
  box-shadow: 0 14px 24px rgba(244,197,66,.18);
}
.dashboard-page-card {
  border-radius: 1.5rem;
  border: 1px solid rgba(15,107,80,.08);
  background: linear-gradient(180deg, #ffffff, #f8fcf9);
  box-shadow: var(--cs-shadow);
}
.dashboard-page-card > .card-body {
  padding: 1.75rem;
}
.dashboard-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.dashboard-topbar h1,
.dashboard-topbar h2,
.dashboard-topbar h3,
.dashboard-topbar h4 {
  margin: 0;
}
.message-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 1.25rem;
}
.chat-panel,
.chat-sidebar-card {
  border-radius: 1.4rem;
  border: 1px solid rgba(15,107,80,.08);
  background: linear-gradient(180deg, #ffffff, #f8fcf9);
  box-shadow: var(--cs-shadow);
}
.chat-sidebar-card { padding: 1.2rem; }
.chat-booking-list {
  display: grid;
  gap: .85rem;
}
.chat-booking-link {
  display: block;
  padding: 1rem;
  border-radius: 1rem;
  background: #f6fbf8;
  border: 1px solid rgba(15,107,80,.08);
  color: var(--cs-ink);
}
.chat-booking-link:hover,
.chat-booking-link.active {
  background: linear-gradient(135deg, rgba(15,107,80,.10), rgba(244,197,66,.14));
  color: var(--cs-green-dark);
}
.chat-panel-header {
  padding: 1.25rem 1.4rem 0;
}
.chat-thread {
  padding: 1.1rem 1.4rem 1.35rem;
  max-height: 500px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.chat-bubble {
  max-width: 78%;
  padding: 1rem 1rem .8rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(15,107,80,.08);
  background: #f7fbf8;
}
.chat-bubble.mine {
  align-self: flex-end;
  background: linear-gradient(135deg, rgba(15,107,80,.96), rgba(20,132,96,.95));
  color: #fff;
}
.chat-bubble.mine .chat-meta,
.chat-bubble.mine .small { color: rgba(255,255,255,.85) !important; }
.chat-meta { font-size: .85rem; color: var(--cs-green-muted); margin-bottom: .35rem; font-weight: 700; }
.chat-form {
  padding: 1rem 1.4rem 1.4rem;
  border-top: 1px solid rgba(15,107,80,.08);
  background: rgba(255,255,255,.76);
  border-radius: 0 0 1.4rem 1.4rem;
}
.chat-form textarea {
  min-height: 120px;
  resize: vertical;
}
.email-template-tip {
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  background: #f6fbf8;
  border: 1px solid rgba(15,107,80,.08);
}
@media (max-width: 991.98px) {
  .message-layout { grid-template-columns: 1fr; }
}


.dashboard-shell { align-items: flex-start; }
.dashboard-shell > [class*="col-"] { position: relative; }
@media (min-width: 1200px) {
  .dashboard-shell > .col-xl-3 { width: 300px; }
  .dashboard-shell > .col-xl-9 { width: calc(100% - 300px); }
}
.sidebar-menu .list-group-item span:last-child { flex: 1; }
.package-thumb-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .85rem;
}
.package-thumb-item {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: .65rem;
  border-radius: 1rem;
  background: #f7fbf8;
  border: 1px solid rgba(15,107,80,.08);
}
.package-thumb-item img,
.listing-cover {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 1rem;
  display: block;
}
.listing-cover-wrap {
  position: relative;
}
.listing-cover-placeholder,
.package-media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(15,107,80,.14), rgba(244,197,66,.2));
  color: var(--cs-green-dark);
  font-weight: 800;
  text-align: center;
  padding: 1rem;
}
.listing-cover-badges {
  position: absolute;
  inset: 1rem 1rem auto 1rem;
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: .75rem;
}
.listing-card-media { padding-top: 1rem; }
.package-list-stack { display: grid; gap: 1rem; }
.package-summary-card {
  display: grid;
  grid-template-columns: 170px minmax(0,1fr);
  gap: 1rem;
  padding: 1rem;
  border-radius: 1.2rem;
  background: #fbfefc;
  border: 1px solid rgba(15,107,80,.08);
}
.package-summary-media img,
.package-summary-media .package-media-placeholder {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 1rem;
}
.package-summary-content { min-width: 0; }
.message-layout { min-height: 640px; }
.chat-panel { display: flex; flex-direction: column; min-height: 640px; }
.chat-thread { flex: 1; background: linear-gradient(180deg, rgba(247,251,248,.9), rgba(255,255,255,.95)); }
.chat-form textarea { min-height: 140px; }
@media (max-width: 1199.98px) {
  .message-layout { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .package-summary-card,
  .package-thumb-grid,
  .detail-grid { grid-template-columns: 1fr; }
  .listing-cover,
  .package-thumb-item img { height: 200px; }
}


.dashboard-shell { --bs-gutter-x: 1.5rem; }
.dashboard-sidebar-col { position: relative; }
.dashboard-sidebar {
  padding: 1.25rem;
  position: sticky;
  top: 135px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 24px 50px rgba(8, 76, 57, 0.18);
}
.dashboard-sidebar::after {
  content: '';
  position: absolute;
  right: -32px;
  bottom: -32px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,197,66,.28), transparent 70%);
}
.dashboard-sidebar-top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.sidebar-mini-badge {
  padding: .45rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff4bf;
  font-size: .75rem;
  font-weight: 800;
  white-space: nowrap;
}
.sidebar-menu .list-group-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .95rem 1rem;
}
.sidebar-icon {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .8rem;
  background: rgba(255,255,255,.12);
  flex-shrink: 0;
}
.sidebar-menu .list-group-item.active .sidebar-icon,
.sidebar-menu .list-group-item:hover .sidebar-icon {
  background: rgba(64,47,0,.12);
}
.dashboard-main-col { min-width: 0; }
.dashboard-hero, .dashboard-panel, .dashboard-stat-card, .quick-panel {
  border-radius: 1.6rem;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,249,.98));
  border: 1px solid rgba(15,107,80,.08);
  box-shadow: var(--cs-shadow);
}
.dashboard-hero { padding: 2rem; }
.dashboard-title {
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.1;
  font-weight: 800;
  color: var(--cs-green-dark);
}
.dashboard-lead {
  color: #5d7269;
  font-size: 1.05rem;
  max-width: 58rem;
}
.guide-hero-card {
  background: radial-gradient(circle at top right, rgba(244,197,66,.18), transparent 24%), linear-gradient(180deg, #ffffff, #f4fbf7);
}
.traveler-hero-card {
  background: radial-gradient(circle at top right, rgba(244,197,66,.18), transparent 24%), linear-gradient(180deg, #ffffff, #f7fcf6);
}
.quick-panel { padding: 1.4rem; }
.dashboard-stat-card { padding: 1.4rem; }
.stat-label {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--cs-green-muted);
  font-weight: 800;
}
.dashboard-panel { padding: 1.5rem; }
.admin-list-stack { display: grid; gap: .8rem; }
.admin-list-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  background: #f6fbf8;
  border: 1px solid rgba(15,107,80,.08);
}
@media (max-width: 991.98px) {
  .dashboard-sidebar { position: static; top: auto; }
}

/* Dashboard v2 */
.dashboard-v2-shell { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 1.5rem; align-items: start; }
.dashboard-v2-main { min-width: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.dashboard-sidebar-col { min-width: 0; }
.dashboard-sidebar-v2 { position: sticky; top: 130px; display: flex; flex-direction: column; gap: 1rem; }
.sidebar-profile-card,
.sidebar-nav-card,
.sidebar-help-card,
.dashboard-v2-topbar,
.metric-card-v2,
.content-card-v2,
.mini-tour-card {
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(15,107,80,.12);
  border-radius: 1.5rem;
  box-shadow: 0 18px 50px rgba(8,76,57,.08);
}
.sidebar-profile-card {
  padding: 1.3rem;
  background: linear-gradient(180deg,#0b5b44,#0f6b50);
  color: #fff;
}
.sidebar-profile-top { display: flex; gap: 1rem; align-items: center; }
.sidebar-avatar { width: 3.5rem; height: 3.5rem; border-radius: 1rem; background: linear-gradient(135deg,var(--cs-yellow),#ffe58d); color:#4a3700; display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:800; }
.sidebar-role-pill, .sidebar-help-badge { display:inline-flex; align-items:center; padding:.35rem .75rem; border-radius:999px; background:rgba(255,255,255,.14); color:#fff2b6; font-size:.75rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.sidebar-role-title { font-size: 1.2rem; font-weight: 800; margin: .4rem 0 .2rem; }
.sidebar-role-desc, .sidebar-user-subline { color: rgba(255,255,255,.78); font-size: .92rem; }
.sidebar-user-line { margin-top: 1rem; font-weight: 700; }
.sidebar-nav-card { padding: 1rem; }
.sidebar-nav-title { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--cs-green-muted); font-weight: 800; margin-bottom: .8rem; }
.sidebar-nav-list { display: flex; flex-direction: column; gap: .55rem; }
.sidebar-nav-link { display:flex; align-items:center; gap:.8rem; padding:.95rem 1rem; border-radius:1rem; color:var(--cs-ink); font-weight:700; border:1px solid rgba(15,107,80,.06); background:#f8fcf9; }
.sidebar-nav-link:hover { background: #edf8f1; color: var(--cs-green-dark); }
.sidebar-nav-link.active { background: linear-gradient(135deg,var(--cs-yellow),#ffe58d); color:#4b3800; box-shadow: 0 14px 28px rgba(244,197,66,.25); }
.sidebar-nav-icon { width: 2.2rem; height: 2.2rem; border-radius: .8rem; display:flex; align-items:center; justify-content:center; background: rgba(15,107,80,.09); color: var(--cs-green-dark); flex-shrink:0; }
.sidebar-nav-link.active .sidebar-nav-icon { background: rgba(255,255,255,.4); color: #4b3800; }
.sidebar-nav-icon svg { width: 1.1rem; height: 1.1rem; }
.sidebar-help-card { padding: 1.2rem; background: linear-gradient(180deg,#ffffff,#f7fcf8); }
.sidebar-help-card h3 { font-size: 1.05rem; font-weight: 800; margin: .9rem 0 .5rem; }
.sidebar-help-card p { color: var(--cs-green-muted); margin-bottom: 1rem; }
.dashboard-v2-topbar { padding: 1.8rem; display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; overflow:hidden; position:relative; }
.dashboard-v2-topbar::after { content:''; position:absolute; right:-40px; top:-40px; width:180px; height:180px; border-radius:50%; background: radial-gradient(circle, rgba(244,197,66,.22), transparent 65%); }
.dashboard-v2-topbar h1 { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.1; font-weight: 800; margin: .4rem 0 .65rem; max-width: 14ch; }
.dashboard-v2-topbar p { max-width: 58ch; color: #4f6d61; margin: 0; }
.dashboard-v2-eyebrow { display:inline-flex; padding:.38rem .8rem; border-radius:999px; background:#eef8f1; color:var(--cs-green-dark); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.dashboard-v2-actions { display:flex; gap:.75rem; flex-wrap:wrap; position:relative; z-index:1; }
.admin-theme { background: linear-gradient(135deg,#ffffff,#f9fcfa); }
.guide-theme { background: linear-gradient(135deg,#ffffff,#f6fbf7); }
.traveler-theme { background: linear-gradient(135deg,#ffffff,#fbfdf7); }
.dashboard-v2-grid { display:grid; gap:1.25rem; }
.metrics-6 { grid-template-columns: repeat(6, minmax(0,1fr)); }
.metrics-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.two-up { grid-template-columns: repeat(2, minmax(0,1fr)); }
.cards-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.cards-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.metric-card-v2 { padding: 1.2rem; }
.metric-card-v2 span { display:block; color: var(--cs-green-muted); font-size:.88rem; font-weight:700; }
.metric-card-v2 strong { display:block; font-size:2rem; line-height:1.1; margin:.45rem 0; color:var(--cs-green-dark); }
.metric-card-v2 small { color: var(--cs-green-muted); }
.content-card-v2 { padding: 1.3rem; }
.card-head-v2 { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.card-head-v2 h3 { margin:0; font-size:1.15rem; font-weight:800; }
.card-head-v2 p, .card-head-v2 a { margin: .2rem 0 0; color: var(--cs-green-muted); }
.quick-search-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:1rem; }
.shortcut-stack { display:grid; gap:.8rem; }
.shortcut-stack a { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.05rem; border-radius:1rem; background:#f7fbf8; border:1px solid rgba(15,107,80,.08); color:var(--cs-green-dark); font-weight:700; }
.shortcut-stack a::after { content:'→'; }
.shortcut-stack a:hover { background:#edf8f1; }
.kyc-highlight-card { padding:1rem; border-radius:1rem; background:#f8fcf9; border:1px solid rgba(15,107,80,.08); }
.mini-tour-card { padding: 1rem; }
.mini-tour-card h4 { font-size: 1rem; font-weight: 800; margin: .9rem 0 .45rem; }
.mini-tour-card p { color: var(--cs-green-muted); font-size: .92rem; min-height: 2.8rem; }
@media (max-width: 1399px) { .metrics-6 { grid-template-columns: repeat(3, minmax(0,1fr)); } .cards-4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 1199px) { .dashboard-v2-shell { grid-template-columns: 1fr; } .dashboard-sidebar-v2 { position: static; } .metrics-4, .metrics-6, .two-up, .quick-search-grid, .cards-2, .cards-4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 767px) { .dashboard-v2-topbar { flex-direction: column; align-items: flex-start; } .metrics-4, .metrics-6, .two-up, .quick-search-grid, .cards-2, .cards-4 { grid-template-columns: 1fr; } }


/* dashboard rebuild */
.dashboard-shell-alt{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}.dashboard-shell-aside{min-width:0}.dashboard-side-panel{position:sticky;top:112px;display:flex;flex-direction:column;gap:18px;padding:22px;border-radius:28px;background:linear-gradient(180deg,#0d3d31,#115845 55%,#0f6b50 100%);color:#fff;box-shadow:0 25px 70px rgba(8,76,57,.24);border:1px solid rgba(255,255,255,.08)}.dashboard-shell-aside.accent-traveler .dashboard-side-panel{background:linear-gradient(180deg,#0c4e3c,#11674d 55%,#1b7c5d 100%)}.dashboard-shell-aside.accent-guide .dashboard-side-panel{background:linear-gradient(180deg,#133c4b,#12576b 55%,#0e748f 100%)}.dashboard-shell-aside.accent-admin .dashboard-side-panel{background:linear-gradient(180deg,#232a4d,#19385d 55%,#13516f 100%)}.dashboard-side-brand{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}.dashboard-side-brand strong{display:block;font-size:1.2rem}.dashboard-side-brand small{display:block;color:rgba(255,255,255,.72);margin-top:4px;line-height:1.5}.dashboard-side-chip{display:inline-flex;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffe6a4;margin-bottom:6px}.dashboard-side-user{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}.dashboard-side-avatar{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffd55e,#fff0ab);color:#513b00;font-weight:800;font-size:1.2rem;flex-shrink:0}.dashboard-side-name{font-weight:800}.dashboard-side-email{font-size:.88rem;color:rgba(255,255,255,.72);word-break:break-word}.dashboard-side-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55);font-weight:800;margin-bottom:10px}.dashboard-side-nav{display:flex;flex-direction:column}.dashboard-side-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;color:rgba(255,255,255,.84);font-weight:700;border:1px solid transparent;transition:all .18s ease}.dashboard-side-link:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.08)}.dashboard-side-link.active{background:linear-gradient(135deg,#ffd157,#ffe695);color:#463200;box-shadow:0 16px 30px rgba(244,197,66,.25)}.dashboard-side-icon{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);flex-shrink:0}.dashboard-side-link.active .dashboard-side-icon{background:rgba(255,255,255,.5)}.dashboard-side-icon svg{width:18px;height:18px}.dashboard-side-footer-card{padding:16px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}.dashboard-side-quicklist{display:grid;gap:10px}.dashboard-side-quicklist a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.07);color:#fff}.dashboard-side-quicklist a:after{content:"→";opacity:.8}.dashboard-main-alt{min-width:0;display:flex;flex-direction:column;gap:24px}.dash-hero{position:relative;overflow:hidden;padding:28px;border-radius:30px;background:linear-gradient(180deg,#ffffff,#f8fcf8);box-shadow:var(--cs-shadow);border:1px solid rgba(15,107,80,.08)}.dash-hero:before{content:"";position:absolute;right:-50px;top:-50px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(244,197,66,.20), transparent 65%)}.dash-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:24px;align-items:start}.dash-hero h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.02;margin:.35rem 0 .8rem;max-width:12ch}.dash-hero p{color:#587366;max-width:62ch}.dash-kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:#eef7f1;color:var(--cs-green-dark);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.dash-action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.dash-focus-panel{padding:22px;border-radius:24px;background:linear-gradient(180deg,#103b31,#0f6b50);color:#fff;box-shadow:0 18px 38px rgba(8,76,57,.18)}.dash-focus-panel h3{font-size:1.15rem;font-weight:800;margin-bottom:8px}.dash-focus-panel p{color:rgba(255,255,255,.75);margin-bottom:16px}.dash-focus-list{display:grid;gap:10px}.dash-focus-list div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08)}.dash-focus-list span:last-child{font-weight:800;color:#ffe9a8}.metrics-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.metrics-ribbon.metrics-6{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-tile-alt{padding:22px;border-radius:24px;background:#fff;border:1px solid rgba(15,107,80,.08);box-shadow:var(--cs-shadow)}.metric-tile-alt .tile-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#628073;font-weight:800}.metric-tile-alt strong{display:block;font-size:2.2rem;line-height:1;margin:14px 0 10px;color:#113d30}.metric-tile-alt small{color:#678074}.dash-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dash-card-alt{padding:24px;border-radius:26px;background:linear-gradient(180deg,#ffffff,#f9fcfa);border:1px solid rgba(15,107,80,.08);box-shadow:var(--cs-shadow)}.dash-card-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px}.dash-card-head h3{margin:0;font-size:1.3rem;font-weight:800}.dash-card-head p{margin:4px 0 0;color:#678074}.dash-shortcuts{display:grid;gap:12px}.dash-shortcuts a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:18px;background:#f5faf7;border:1px solid rgba(15,107,80,.08);font-weight:700;color:#174537}.dash-shortcuts a:after{content:"→";font-weight:800}.dash-stack-list{display:grid;gap:14px}.dash-list-item{padding:16px 18px;border-radius:18px;background:#f7fbf8;border:1px solid rgba(15,107,80,.08)}.dash-list-item-top{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:8px}.dash-list-item h4{margin:0;font-size:1.03rem;font-weight:800}.dash-list-item p{margin:0;color:#678074}.dash-inline-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.dash-inline-meta span{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(15,107,80,.08);font-size:.85rem;font-weight:700;color:#1a493a}.dash-table-shell{padding:0;overflow:hidden}.dash-table-shell .dash-card-head{padding:24px 24px 0}.dash-table-shell .table{margin-bottom:0}.dash-table-shell .table th,.dash-table-shell .table td{padding:16px 20px}.role-highlight-admin .dash-focus-panel{background:linear-gradient(180deg,#1e3555,#1c5577)}.role-highlight-guide .dash-focus-panel{background:linear-gradient(180deg,#113c55,#0d7186)}.role-highlight-traveler .dash-focus-panel{background:linear-gradient(180deg,#0d5343,#11745a)}@media (max-width:1199px){.dashboard-shell-alt{grid-template-columns:1fr}.dashboard-side-panel{position:static}.dash-hero-grid,.dash-grid-2,.metrics-ribbon,.metrics-ribbon.metrics-6{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.dash-hero-grid,.dash-grid-2,.metrics-ribbon,.metrics-ribbon.metrics-6{grid-template-columns:1fr}.dash-hero{padding:22px}.dashboard-side-panel{padding:18px}}
/* Dashboard redesign v3 */
.dashboard-app-body{background:#eef3ef}
.dashboard-app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}
.dash-sidebar{min-height:100vh;padding:22px 20px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(180deg,#164c3a 0%,#0f3f31 100%);color:#eef7f1;box-shadow:20px 0 40px rgba(11,38,28,.12)}
.dash-sidebar.theme-guide{background:linear-gradient(180deg,#175946 0%,#124837 100%)}
.dash-sidebar.theme-tourist{background:linear-gradient(180deg,#1d5f4b 0%,#144b3a 100%)}
.dash-sidebar.theme-admin{background:linear-gradient(180deg,#123f32 0%,#0d3127 100%)}
.dash-sidebar-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.dash-sidebar-brand{display:flex;align-items:center;gap:12px}.dash-sidebar-brand h2{margin:0;font-size:1rem;font-weight:800;color:#fff}.dash-sidebar-brand p{margin:4px 0 0;color:rgba(255,255,255,.7);font-size:.88rem}
.dash-sidebar-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#ffd24f,#ffedab);display:flex;align-items:center;justify-content:center;color:#463200;font-weight:900;font-size:1.1rem}
.dash-sidebar-collapse{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1;color:#fff}
.dash-sidebar-summary{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.dash-sidebar-summary-title{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#ffd86a;margin-bottom:8px}.dash-sidebar-summary p{margin:0;color:rgba(255,255,255,.72);line-height:1.6}
.dash-sidebar-nav{display:grid;gap:8px}.dash-nav-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;color:rgba(255,255,255,.82);font-weight:700;transition:all .18s ease;border:1px solid transparent}.dash-nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.dash-nav-item.active{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,210,79,.35);box-shadow:inset 3px 0 0 #ffd24f}.dash-nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}.dash-nav-icon svg{width:20px;height:20px}
.dash-sidebar-footer{margin-top:auto;padding:16px 14px;border-radius:16px;background:rgba(255,255,255,.08);display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}.dash-user-avatar{width:48px;height:48px;border-radius:50%;background:#4b8c75;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}.dash-sidebar-footer strong{display:block;color:#fff}.dash-sidebar-footer span{display:block;color:rgba(255,255,255,.7);font-size:.85rem;word-break:break-word}.dash-logout-btn{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;padding:12px 14px;margin-top:6px;border-radius:12px;background:rgba(255,89,89,.12);border:1px solid rgba(255,127,127,.15);color:#ffb6b6;font-weight:800}
.dash-page{padding:26px 30px 32px;min-width:0}
.dash-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 28px;margin-bottom:24px;background:#fff;border-bottom:1px solid #e6ede9;border-radius:0 0 22px 22px;box-shadow:0 10px 30px rgba(18,63,50,.06)}
.dash-topbar h1{margin:0;font-size:1.3rem;font-weight:800;color:#18382f}.dash-topbar p{margin:8px 0 0;color:#789085}.dash-date-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:#f6f9f7;border:1px solid #e4ece7;font-weight:700;color:#2e5246}.dash-date-badge:before{content:'📅'}
.dash-section-title{margin:0 0 18px;font-size:1.95rem;font-weight:800;color:#1b392f}.dash-subtext{margin:6px 0 0;color:#7a9387}
.dash-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:26px}.dash-stat-grid.stats-5{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-stat-card{background:#fff;border-radius:22px;padding:22px 18px;min-height:146px;box-shadow:0 12px 30px rgba(18,63,50,.07);position:relative;border:1px solid #e7eeea}.dash-stat-card:before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:12px;background:#0f3f31}.dash-stat-card.stat-gold:before{background:#f2b51d}.dash-stat-card.stat-lime:before{background:#39b86a}.dash-stat-card.stat-orange:before{background:#ff9e17}.dash-stat-card.stat-red:before{background:#ef5a55}.dash-stat-card.stat-blue:before{background:#4f8e8e}.dash-stat-value{font-size:3rem;line-height:1;font-weight:800;color:#253f35;margin:18px 0 12px}.dash-stat-label{font-weight:800;color:#5e786c;text-transform:uppercase;letter-spacing:.04em}.dash-stat-note{display:block;color:#91a498;margin-top:10px}
.dash-content-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:24px}.dash-panel{background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(18,63,50,.07);border:1px solid #e7eeea}.dash-panel h3{margin:0 0 6px;font-size:1.45rem;font-weight:800;color:#18382f}.dash-panel p{margin:0 0 18px;color:#789085}.dash-action-list,.dash-quick-list{display:grid;gap:14px}.dash-action-list a,.dash-quick-list a{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:16px;background:#f7faf8;border:1px solid #e7efea;color:#1f473b;font-weight:700}.dash-action-list a:after,.dash-quick-list a:after{content:'→';font-weight:900}
.dash-list-table{display:grid;gap:14px}.dash-row-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#f7faf8;border:1px solid #e7efea}.dash-row-card h4{margin:0 0 6px;font-size:1rem;font-weight:800;color:#1f4035}.dash-row-card p{margin:0;color:#7b9388}.dash-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.dash-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eef5ef;color:#245141;font-size:.8rem;font-weight:800;border:1px solid #dde8e1}
.dash-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#113d30,#1d5a47);color:#fff;margin-bottom:24px;box-shadow:0 16px 36px rgba(15,63,49,.18)}.dash-banner h2{margin:0 0 8px;font-size:2.1rem;font-weight:800}.dash-banner p{margin:0;color:rgba(255,255,255,.76);max-width:640px}.dash-banner-actions{display:flex;gap:12px;flex-wrap:wrap}.dash-banner .btn-light{font-weight:800}
@media (max-width: 1200px){.dashboard-app-shell{grid-template-columns:240px minmax(0,1fr)}.dash-stat-grid.stats-5{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-content-grid{grid-template-columns:1fr}}
@media (max-width: 900px){.dashboard-app-shell{grid-template-columns:1fr}.dash-sidebar{min-height:auto}.dash-page{padding:18px}.dash-topbar{padding:18px 20px;border-radius:18px}.dash-banner{flex-direction:column;align-items:flex-start}.dash-stat-grid,.dash-stat-grid.stats-5{grid-template-columns:1fr}.dash-content-grid{grid-template-columns:1fr}}


/* Inner dashboard pages */
.dash-page > .card,
.dash-page > .dashboard-page-card,
.dash-page > .admin-hero-card,
.dash-page > .row,
.dash-page > .message-layout,
.dash-page > .package-list-stack {
  min-width: 0;
}
.dash-page > .card,
.dash-page > .dashboard-page-card,
.dash-page > .admin-hero-card { border-radius: 24px; }
.dash-page .card.shadow-sm,
.dash-page .card.border-0,
.dash-page .dashboard-page-card,
.dash-page .admin-hero-card,
.dash-page .admin-review-card,
.dash-page .chat-panel,
.dash-page .chat-sidebar-card {
  border: 1px solid rgba(15,107,80,.08);
  box-shadow: var(--cs-shadow);
  background: linear-gradient(180deg,#ffffff,#f8fcf9);
}
.dash-topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dash-page > .card > .card-body { padding: 1.6rem; }
.dashboard-shell.row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  margin: 0;
  min-height: 100vh;
}
.dashboard-shell.row > .dash-sidebar { min-height: 100vh; }
.dashboard-shell.row > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 26px 30px 32px;
}
.package-summary-card {
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:18px;border-radius:22px;
  background:#f8fcf9;border:1px solid rgba(15,107,80,.08);
}
.package-summary-media img,.package-summary-media .package-media-placeholder{width:100%;height:180px;object-fit:cover;border-radius:18px;background:#eef6f1;display:flex;align-items:center;justify-content:center;color:var(--cs-green-muted);font-weight:700}
.package-list-stack,.package-thumb-grid{display:grid;gap:14px}
.package-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.package-thumb-item{display:grid;gap:8px;padding:10px;border:1px solid rgba(15,107,80,.08);border-radius:16px;background:#f8fcf9}
.package-thumb-item img{width:100%;height:110px;object-fit:cover;border-radius:12px}
@media (max-width: 991px){
  .dashboard-shell.row{grid-template-columns:1fr}
  .dashboard-shell.row > [class*="col-"]{padding:18px}
  .package-summary-card{grid-template-columns:1fr}
}


/* Flash toasts and compact public grids */
.cs-toast-stack{z-index:2000}.cs-toast{min-width:320px;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.18)}
.dashboard-app-shell{align-items:start}.dash-page{overflow:hidden}
.page-search-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:24px;padding:18px 20px;border-radius:22px;background:#fff;border:1px solid rgba(15,107,80,.08);box-shadow:var(--cs-shadow)}
.page-search-bar .form-control,.page-search-bar .form-select{min-height:52px;border-radius:16px}.page-search-bar .btn{min-height:52px;border-radius:16px;padding-inline:22px;font-weight:800}
.listing-grid-compact,.inquiry-grid-compact{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.listing-grid-compact .listing-card,.inquiry-grid-compact .inquiry-card{height:100%}.listing-grid-compact .listing-card{padding:16px;border-radius:22px}.listing-grid-compact .listing-cover-wrap{margin-bottom:12px}.listing-grid-compact .listing-cover{height:145px;width:100%;object-fit:cover;border-radius:16px}.listing-grid-compact .listing-cover-placeholder{display:flex;align-items:center;justify-content:center;height:145px;border-radius:16px;background:#eaf4ee;color:#5d7e72;font-weight:700}.listing-grid-compact .listing-card h3,.inquiry-grid-compact .inquiry-card h3{font-size:1.1rem;line-height:1.25;margin-bottom:8px}.listing-grid-compact .listing-card p,.inquiry-grid-compact .inquiry-card p{font-size:.9rem}.listing-grid-compact .detail-grid,.inquiry-grid-compact .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.listing-grid-compact .detail-grid div,.inquiry-grid-compact .detail-grid div{padding:10px 12px;border-radius:14px;background:#f7fbf8;border:1px solid rgba(15,107,80,.08)}.listing-grid-compact .detail-grid strong,.inquiry-grid-compact .detail-grid strong{display:block;font-size:.72rem;text-transform:uppercase;color:#6f8c80;letter-spacing:.08em;margin-bottom:4px}.listing-grid-compact .detail-grid span,.inquiry-grid-compact .detail-grid span{font-weight:700;color:#153c31}.listing-card-actions,.inquiry-card-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:16px}.listing-card-actions .btn,.inquiry-card-actions .btn{border-radius:999px;font-weight:800;padding:.7rem 1rem}.listing-card-actions small,.inquiry-card-actions small{color:#6c847a}.cs-pagination{display:flex;justify-content:center;margin-top:28px}.cs-pagination .pagination{gap:8px;flex-wrap:wrap}.cs-pagination .page-link{border:none;border-radius:14px;padding:.8rem 1rem;color:var(--cs-green-dark);background:#fff;box-shadow:var(--cs-shadow)}.cs-pagination .page-item.active .page-link{background:linear-gradient(135deg,var(--cs-yellow),#ffdf74);color:#463200}.search-result-note{color:#678074;font-weight:700}
@media (max-width:1600px){.listing-grid-compact,.inquiry-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1200px){.listing-grid-compact,.inquiry-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.listing-grid-compact,.inquiry-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575px){.listing-grid-compact,.inquiry-grid-compact{grid-template-columns:1fr}.page-search-bar{padding:16px}}

.notification-dropdown-wrap .btn{font-weight:800}
.notification-badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ef5a55;color:#fff;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.notification-dropdown{width:min(380px,92vw);border-radius:18px;background:#fff}
.notification-dropdown-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;background:#f7fbf8;border-bottom:1px solid rgba(15,107,80,.08);font-size:.92rem}
.notification-dropdown-body{max-height:360px;overflow:auto}
.notification-item{display:flex;flex-direction:column;gap:4px;padding:14px 16px;color:#17372d;border-bottom:1px solid rgba(15,107,80,.08)}
.notification-item:hover{background:#f7fbf8;color:#17372d}.notification-item.unread{background:#eef8f1}.notification-item span{color:#5f786d;font-size:.92rem}.notification-item small{color:#87a095}.notification-empty{padding:18px;color:#6a8278}

/* logo assets */
.brand-icon-image{width:48px;height:48px;object-fit:contain;border-radius:14px;box-shadow:0 10px 24px rgba(244,197,66,.24);background:rgba(255,255,255,.08);padding:0}
.brand-icon-image-footer{width:54px;height:54px}
.dash-sidebar-logo{padding:0;background:transparent;overflow:hidden;box-shadow:0 10px 24px rgba(244,197,66,.18)}
.dash-sidebar-logo img{width:100%;height:100%;display:block;object-fit:contain}

/* public header/footer polish */
.main-nav .navbar-brand{font-size:1.95rem;line-height:1}
.footer-brand strong{font-size:1.7rem;line-height:1.1}
.footer-brand .brand-mark,.navbar-brand .brand-mark{margin-right:4px}

/* sidebar full-height fit */
.dashboard-app-shell{align-items:stretch;min-height:100dvh}
.dash-sidebar{min-height:100dvh;height:100dvh;position:sticky;top:0;overflow-y:auto;padding-bottom:24px}
.dash-sidebar-nav{flex:1 1 auto;align-content:start}
.dash-sidebar-footer{margin-top:auto}
@media (max-width: 900px){
  .dash-sidebar{position:static;height:auto;min-height:auto}
}

/* availability page */
.cs-package-picker{display:grid;gap:.7rem}
.cs-package-picker .list-group-item{border:1px solid rgba(15,107,80,.1);border-radius:1rem;padding:1rem 1rem;background:#f7fbf8}
.cs-package-picker .list-group-item strong{display:block;color:var(--cs-green-dark)}
.cs-package-picker .list-group-item small{display:block;color:var(--cs-green-muted);margin-top:.25rem}
.cs-package-picker .list-group-item.active{background:linear-gradient(135deg, rgba(15,107,80,.12), rgba(244,197,66,.16));border-color:rgba(15,107,80,.2);color:var(--cs-green-dark)}

.inquiry-card-finished { opacity: .96; }
.inquiry-card-finished::after { background: linear-gradient(180deg, rgba(191,146,0,.22), rgba(255,255,255,0)); }
.bg-soft-gold { background: rgba(255, 215, 0, .14); }
.popup-ad .modal-content, .popup-ad { background: #fff; border-radius: 22px; }
.popup-ad-dialog { max-width: 760px; }
#sitePopupAd .modal-content { border-radius: 22px; }
#sitePopupAd .modal-backdrop, .modal-backdrop.show { opacity: .65; }
.popup-ad { position: relative; padding: 1.25rem; }
.popup-ad-close {
  position: absolute; right: 1rem; top: .8rem; z-index: 5; border: 0; background: transparent;
  color: #202020; font-size: 2rem; line-height: 1; width: 2.5rem; height: 2.5rem;
}
.popup-ad-body { display:grid; grid-template-columns: 1fr; gap: 1rem; padding: 1.25rem; }
.popup-ad-body-centered { min-height: 0; }
.popup-ad-copy-centered { text-align: center; max-width: 520px; margin: 0 auto; }
.popup-ad-copy h3 { font-size: clamp(2rem, 3vw, 3.4rem); font-weight: 800; margin-bottom: .75rem; color: #114fbd; line-height: 1.1; }
.popup-ad-copy p { color: #5b6572; margin-bottom: 1rem; font-size: 1rem; }
.popup-ad-media-centered { max-width: 480px; margin-left: auto; margin-right: auto; }
.popup-ad-media img, .popup-ad-placeholder, .popup-ad-video iframe, .popup-uploaded-video {
  width:100%; height:100%; min-height:280px; border-radius:18px; background:#eef1f4;
}
.popup-ad-media img, .popup-uploaded-video { object-fit:cover; max-height: 320px; }
.popup-ad-placeholder { display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg, rgba(15,107,80,.1), rgba(255,214,74,.26)); color:#0f6b50; font-weight:800; }
.popup-ad-cta { min-width: 180px; border-radius: 0.6rem; font-weight: 800; padding: .9rem 1.6rem; box-shadow: 0 10px 24px rgba(19,79,189,.14); }
.popup-ad-secondary { display: block; margin-top: .85rem; font-weight: 700; color: #1c1c1c; text-decoration: underline; }
.popup-ad-timer { display:block; margin-top: 1rem; color:#6f8c80; }
@media (max-width: 991px) {
  .popup-ad { padding: .8rem; }
  .popup-ad-body { padding: .85rem; }
  .popup-ad-copy h3 { font-size: 2rem; }
}



.popup-ad-dialog-image-only { max-width: 720px; }
.popup-ad-image-only { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; padding: 0; }
.popup-ad-image-only .popup-ad-close { background: rgba(0,0,0,.72); color: #fff; border-radius: 999px; right: .75rem; top: .75rem; }
.popup-ad-image-only-media { display:block; width:100%; height:auto; max-height: 82vh; object-fit: contain; border-radius: 0; background: transparent; }


.popup-ad-dialog-media-only { max-width: 760px; }
.popup-ad-media-only { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.popup-ad-close,
.popup-ad-never {
  position: absolute; z-index: 6; border: 0; border-radius: 999px; padding: .55rem .95rem;
  background: rgba(15,107,80,.92); color: #fff; font-weight: 800; box-shadow: 0 10px 26px rgba(0,0,0,.22);
  transition: transform .18s ease, background .18s ease, opacity .18s ease;
}
.popup-ad-close:hover,
.popup-ad-never:hover { background: rgba(10,82,60,.96); transform: translateY(-1px); }
.popup-ad-close:focus-visible,
.popup-ad-never:focus-visible { outline: 3px solid rgba(255,210,79,.75); outline-offset: 2px; }
.popup-ad-media-only .popup-ad-close,
.popup-ad-media-only .popup-ad-never { background: rgba(15,107,80,.92); color: #fff; }
.popup-ad-close {
  right: .7rem; top: .7rem; width: 2.45rem; height: 2.45rem; padding: 0; font-size: 1.75rem; line-height: 1;
}
.popup-ad-never { left: .7rem; top: .75rem; font-size: .82rem; }
.popup-ad-video-only-wrap { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.popup-ad-video-only-embed,
.popup-ad-video-only-media {
  display: block; width: 100%; height: 100%; min-height: 50vh; max-height: 72vh; border: 0; border-radius: 0; background: #000;
}
.popup-ad-video-only-media { object-fit: contain; }
.popup-ad-image-only-media { max-height: 72vh; width: auto; max-width: 100%; margin: 0 auto; }
@media (max-width: 767px) {
  .popup-ad-video-only-embed,
  .popup-ad-video-only-media { min-height: 34vh; max-height: 58vh; }
  .popup-ad-never { font-size: .76rem; padding: .48rem .75rem; }
  .popup-ad-close { width: 2.2rem; height: 2.2rem; font-size: 1.55rem; }
}

.kyc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1rem;
}
.kyc-grid-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.kyc-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.kyc-mini-box {
  padding: .9rem 1rem;
  border-radius: 1rem;
  background: #f8fcf9;
  border: 1px solid rgba(15,107,80,.08);
}
.kyc-certs {
  line-height: 1.6;
}
@media (max-width: 575.98px) {
  .kyc-grid { grid-template-columns: 1fr; }
  .kyc-mini-grid { grid-template-columns: 1fr; }
}

.kyc-table-wrap {
  border-radius: 1.35rem;
  overflow: hidden;
  border: 1px solid rgba(15,107,80,.10);
  box-shadow: var(--cs-shadow);
  background: #fff;
}
.kyc-admin-table thead th {
  background: linear-gradient(135deg, #0f6b50, #148460);
  color: #fff;
  border: 0;
  font-size: .86rem;
  letter-spacing: .02em;
  white-space: nowrap;
  padding: 1rem .9rem;
}
.kyc-admin-table tbody td {
  padding: .95rem .9rem;
  border-color: rgba(15,107,80,.08);
  vertical-align: middle;
}
.kyc-admin-table tbody tr:nth-child(even) { background: #fbfefc; }
.kyc-admin-table tbody tr:hover { background: #f4fbf7; }


/* KYC horizontal table grid */
.kyc-table-shell{border:1px solid rgba(15,107,80,.08);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--cs-shadow)}
.kyc-table-grid thead th{background:linear-gradient(180deg,#0f6b50,#0d5a43);color:#fff;border:0!important;padding:1rem .9rem;font-size:.86rem;font-weight:800;white-space:nowrap}
.kyc-table-grid tbody td{padding:1rem .9rem;border-color:#edf2ef;color:#23463b;vertical-align:middle}
.kyc-table-grid tbody tr:hover{background:#f8fcf9}
.kyc-user-cell{display:flex;align-items:center;gap:.8rem;min-width:220px}
.kyc-user-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ffd24f,#ffe89a);color:#4a3600;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kyc-doc-count .badge{font-weight:700;padding:.45rem .7rem}
.kyc-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.kyc-modal-box{padding:1rem;border-radius:1rem;border:1px solid rgba(15,107,80,.08);background:#f8fcf9}
.kyc-modal-box small{display:block;color:#72897d;margin-bottom:.35rem;font-weight:700}
.kyc-modal-box strong{display:block;color:#1c4035}
@media (max-width: 991.98px){.kyc-modal-grid{grid-template-columns:1fr}.kyc-table-grid thead th,.kyc-table-grid tbody td{padding:.8rem .65rem}.kyc-user-cell{min-width:180px}}

.site-popup-ad{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:1rem}.site-popup-ad.is-hidden{display:none!important}.site-popup-backdrop{position:absolute;inset:0;background:rgba(10,16,12,.62)}.site-popup-card{position:relative;z-index:2;max-width:760px;width:100%}.site-popup-card-media-only{max-width:760px;background:transparent;border-radius:0;box-shadow:none}.site-popup-card-post.site-popup-card-media-only{max-width:min(84vw,760px)}body.popup-open{overflow:hidden}
