/* Light theme styles for my.24tour portal */
:root {
  --brand: #2c5bd3; /* calm blue accent */
  --bg: #f7f9fc;    /* airy background */
  --card: #ffffff;
  --border: #e6ebf2; /* soft blue-gray border */
  --text: #0f172a;   /* deep blue slate */
  --muted: #64748b;  /* slate for secondary text */
}
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial; background: var(--bg); color: var(--text); letter-spacing: 0; }
.header { padding: 1rem; background: var(--card); border-bottom: 2px solid var(--brand); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.nav-left { display:flex; align-items:center; gap:0.75rem; }
.nav-logo { height:36px; border-radius:6px; }
.nav-links { display:flex; align-items:center; gap:0.75rem; }
.nav a { color: var(--text); text-decoration:none; font-weight:500; }
.nav a.active { color: var(--brand); }
.icon-btn { background: transparent; border: none; cursor: pointer; color: var(--brand); font-size: 1.25rem; }
.container { max-width: 900px; margin: 2rem auto; padding: 0 1rem; }
.card { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; box-shadow: 0 8px 20px rgba(17, 24, 39, 0.04); }
.input { width: 100%; padding: 0.75rem; border: 1px solid var(--border); border-radius: 6px; background:#fff; color: var(--text); }
.label { font-size: 1rem; color: var(--muted); margin-bottom: 0.35rem; display:block; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.btn { background: var(--brand); color: #fff; padding: 0.75rem 1rem; border-radius: 6px; border: none; cursor: pointer; }
.btn-outline { background: transparent; color: var(--brand); border: 1px solid var(--brand); }
.list { display: grid; gap: 0.75rem; }
.item { padding: 0.75rem; border: 1px solid var(--border); border-radius: 6px; background: #fff; display:flex; justify-content: space-between; align-items:center; }
.notice { padding: 0.75rem; border-radius:6px; background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; margin-bottom:1rem; }
.error { padding: 0.75rem; border-radius:6px; background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; margin-bottom:1rem; }
.list-item { padding: .8rem 0; border-bottom:1px solid var(--border); }
.muted { color: var(--muted); font-size:.85rem; margin-top:.2rem; }
/* Headings inside cards */
.card-title { font-size: 1.75rem; font-weight:700; line-height:1.2; margin-bottom: .75rem; }
/* Labels slightly smaller and muted */
.label { font-size: .95rem; color: var(--muted); }
/* Rows separated like in screenshot */
.row { border-top: 1px solid var(--border); padding-top: 1rem; margin-top: 1rem; }
/* Section separators */
.section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }

/* Hero header */
.hero { position: relative; background-size: cover; background-position: center; min-height: 220px; margin-bottom: 1rem; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.35), rgba(0,0,0,0.05)); display:flex; align-items:center; }
.hero-row { width:100%; max-width: 1000px; margin: 0 auto; padding: 1rem; display:flex; justify-content: space-between; align-items:flex-end; }
.hero-title { color:#fff; font-size: 1.6rem; font-weight: 700; }
.hero-subtitle { color:#f3f4f6; font-size: 1rem; margin-top:.25rem; }
.hero-contained { border-radius: 12px; overflow: hidden; }
.desktop-only { display:block; }
.mobile-only { display:none; }
@media (max-width: 640px) {
  .desktop-only { display:none; }
  .mobile-only { display:block; }
}

/* Responsive: stack cards on mobile */
@media (max-width: 640px) {
  .row { grid-template-columns: 1fr; }
}

/* Status pills */
.status-pill { display:inline-block; padding:.2rem .5rem; border-radius:999px; font-weight:600; font-size:.8rem; border:1px solid var(--border); }
.status-green { color:#0f766e; background:#f0fdf4; }
.status-red { color:#b45309; background:#fff7ed; }
.status-orange { color:#c2410c; background:#fff7ed; }

/* Footer */
.footer { margin-top: 2rem; background: var(--card); border-top: 1px solid var(--border); }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding: 2rem 1rem; }
.footer-heading { font-weight: 600; font-size: 1.05rem; margin: 0 0 .75rem; color: var(--text); }
.footer-section ul { list-style: none; padding: 0; margin: 0; }
.footer-section li { margin: .35rem 0; }
.footer-section a { color: var(--muted); text-decoration: none; }
.footer-section a:hover { color: var(--brand); }
.footer-menu { display:flex; gap:1rem; padding: 0 1rem 1rem; border-top: 1px dashed var(--border); }
.footer-menu a { color: var(--muted); text-decoration:none; }
.footer-menu a:hover { color: var(--brand); }
.footer-logos { background: #f7f7f7; border-top: 1px solid var(--border); }
.logos-row { display:flex; align-items:center; gap:1rem; padding: 1rem; }
.anpc-row { display:flex; align-items:center; gap:1rem; padding: 1rem; justify-content: center; }
@media (max-width: 640px) {
  .footer-grid { grid-template-columns: 1fr; }
  .logos-row, .anpc-row { flex-wrap: wrap; justify-content: center; }
}
