/* ===== Viagens — Blue primary, Green accent (Light + Dark) ===== */
:root{
  /* Primary (BLUE) */
  --primary-500:#3b82f6; --primary-600:#2563eb; --primary-700:#1d4ed8; --primary-800:#1e40af;

  /* Accent (GREEN) */
  --accent-500:#22c55e; --accent-600:#16a34a; --accent-700:#15803d;

  /* App surfaces (LIGHT) */
  --page-bg:#f4f7f9;
  --card-bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;

  /* Lines (stronger so they’re visible) */
  --line:#d6dee7;          /* default */
  --line-strong:#c4d0dc;   /* inputs/panels */

  /* Inputs */
  --input-bg:#ffffff;
  --input-text:#0f172a;
  --input-border:#cbd5e1;
  --placeholder:#94a3b8;

  /* Buttons */
  --btn-primary:var(--primary-600);
  --btn-primary-hover:var(--primary-700);
  --btn-success:var(--accent-600);
  --btn-success-hover:var(--accent-700);
  --btn-ghost-bg:#f8fafc;

  /* Effects */
  --r-sm:10px; --r-md:12px; --r-lg:16px;
  --shadow-sm:0 1px 3px rgba(2,6,23,.10);
  --shadow:0 2px 8px rgba(2,6,23,.14);
  --shadow-lg:0 10px 30px rgba(2,6,23,.18);
  --focus-ring:0 0 0 3px rgba(37,99,235,.30); /* blue focus */
}

/* DARK */
[data-theme="dark"]{
  --page-bg:#0b1020;
  --card-bg:#0e1426;
  --text:#e5e7eb;
  --muted:#9aa4b2;

  --line:#2a3346;          /* stronger borders in dark */
  --line-strong:#3b455f;

  --input-bg:#0f172a;
  --input-text:#e5e7eb;
  --input-border:#3b455f;
  --placeholder:#a6b1c2;

  --btn-primary:#3b82f6;           /* slightly brighter in dark */
  --btn-primary-hover:#2563eb;
  --btn-success:#22c55e;
  --btn-success-hover:#16a34a;

  --shadow-sm:0 1px 4px rgba(0,0,0,.35);
  --shadow:0 2px 10px rgba(0,0,0,.45);
  --shadow-lg:0 12px 34px rgba(0,0,0,.55);
  --focus-ring:0 0 0 3px rgba(37,99,235,.45);
}

/* Base */
html,body{ background:var(--page-bg); color:var(--text); }
.text-muted{ color:var(--muted); }

/* Cards / panels */
.card,.panel,.widget,.box,.module,.settings-section,.form-card,.list-group,.dashboard-card,.vx-card{
  background:var(--card-bg);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);
}

/* Inputs */
input[type=text],input[type=email],input[type=tel],input[type=date],
input[type=number],input[type=password],select,textarea,.vx-input{
  background:var(--input-bg); color:var(--input-text);
  border:1px solid var(--input-border);
  border-radius:var(--r-md);
  padding:.625rem .75rem; outline:0;
  transition:border-color .15s, box-shadow .15s;
  box-shadow:var(--shadow-sm);
}
input::placeholder,textarea::placeholder{ color:var(--placeholder); }
input:focus,select:focus,textarea:focus,.vx-input:focus{
  border-color:var(--primary-600);
  box-shadow:var(--focus-ring);
}

/* Buttons */
button,.btn,.vx-btn,.iconbtn,.tb__submit,.tb__lyp{
  border-radius:var(--r-md);
  box-shadow:var(--shadow);
  transition:box-shadow .18s, transform .1s, background-color .15s, border-color .15s;
}
button:hover,.btn:hover,.vx-btn:hover,.iconbtn:hover,.tb__submit:hover,.tb__lyp:hover{
  box-shadow:var(--shadow-lg); transform:translateY(-1px);
}

/* Primary (blue) */
.btn-primary,.vx-btn-primary{
  background:var(--btn-primary); color:#fff; border:1px solid var(--btn-primary-hover);
}
.btn-primary:hover{ background:var(--btn-primary-hover); }

/* Success (green) – for “Book”, “Save” etc. */
.btn-success,.vx-btn-accent{
  background:var(--btn-success); color:#fff; border:1px solid var(--btn-success-hover);
}
.btn-success:hover{ background:var(--btn-success-hover); }

/* Ghost / secondary */
.btn-ghost{
  background:var(--btn-ghost-bg); color:var(--text); border:1px solid var(--line);
}
[data-theme="dark"] .btn-ghost{ background:#111827; color:#e5e7eb; border-color:#2a3346; }

/* Sidebar/menu items */
.menu .item,.sidebar .item,.nav-list .item{ border-radius:var(--r-md); border:1px solid transparent; }
.menu .item:hover,.sidebar .item:hover,.nav-list .item:hover{
  background:#f1f5f9; border-color:var(--line); box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .menu .item:hover{ background:#111827; }
.menu .item.active,.sidebar .item.active{
  background:#e9f2ff; border-color:#c7dbff;   /* subtle blue tint for active */
}
[data-theme="dark"] .menu .item.active{ background:#0f1a33; border-color:#1f2b4d; }

/* Tables */
.table-container table{ width:100%; border-collapse:separate; border-spacing:0; }
.table-container thead th{
  font-weight:600; color:var(--muted);
  background:#f8fafc; border-bottom:1px solid var(--line);
}
[data-theme="dark"] .table-container thead th{ background:#0f172a; }
.table-container td,.table-container th{ padding:.75rem 1rem; }
.table-container tbody tr+tr td{ border-top:1px solid var(--line); }
.table-container tbody tr:hover{ background:#f7fafc; }
[data-theme="dark"] .table-container tbody tr:hover{ background:#111827; }

/* Make generic “clickable” things pop */
.is-clickable,[data-clickable],a.card,.card[href],.vx-card[href],.list-row[data-href],
.table-container tbody tr[data-href]{
  cursor:pointer; box-shadow:var(--shadow);
}
.is-clickable:hover,[data-clickable]:hover,a.card:hover,.card[href]:hover,
.vx-card[href]:hover,.list-row[data-href]:hover,.table-container tbody tr[data-href]:hover{
  box-shadow:var(--shadow-lg); transform:translateY(-1px); border-color:var(--line-strong);
}
