/* --- START: Replace entire css/style.css with this --- */

/* Force top-level background before anything else */
html, html * { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
html, body {
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: linear-gradient(180deg, #d8f3dc 0%, #b7e4c7 40%, #74c69d 100%) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
}

/* Basic reset */
* { box-sizing: border-box; }

/* Layout container */
:root{
  --max-width: 1100px;
  --card-bg: #ffffff;
  --text: #081c15;
  --accent: #2b6cb0;
}
body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--text);
  line-height: 1.45;
  -webkit-font-smoothing:antialiased;
}

/* Ensure hero does NOT cover gradient with white */
.hero {
  padding: 3rem 0;
  background: transparent !important;
}

/* Header */
.site-header { background: rgba(255,255,255,0.85); border-bottom: 1px solid rgba(0,0,0,0.04); }
.site-header .container { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.logo { font-weight:700; color: #1b4332; text-decoration:none; font-size:1.1rem; }
.main-nav a { margin-left:1rem; color: rgba(11,33,23,0.8); text-decoration:none; }
.button, .btn, .btn-like { display:inline-block; padding:.45rem .9rem; border-radius:8px; background:#2b6cb0; color:#fff; text-decoration:none; border:none; }
.button.outline { background:transparent; border:1px solid #2b6cb0; color:#2b6cb0; }

/* Panels and cards */
.panel, .card { background: var(--card-bg) !important; border: 1px solid rgba(0,0,0,0.06) !important; border-radius:8px; padding:1rem; margin-top:1rem; }

/* Forms */
input, textarea, select { width:100%; padding:.6rem; border:1px solid #cbd5e1; border-radius:6px; margin: .4rem 0 1rem; }

/* Modal */
.modal { position:fixed; left:0; right:0; top:0; bottom:0; display:none; align-items:center; justify-content:center; background:rgba(2,6,23,0.5) !important; }
.modal[aria-hidden="false"] { display:flex !important; }
.modal-content { background: white !important; padding:1rem; border-radius:8px; max-width:520px; width:100%; position:relative; }

/* Tables in transactions */
table { border-collapse:collapse; width:100%; margin-top:.6rem; background: transparent; }
table th, table td { padding:.5rem; border:1px solid rgba(0,0,0,0.06); text-align:left; background: #fff; }

/* Footer */
footer.site-footer { padding:1rem 0; background: transparent; border-top: 1px solid rgba(0,0,0,0.03); margin-top:2rem; }

/* Small screens */
@media (max-width: 700px) {
  .main-nav { display:none; }
}

/* Accessibility focus */
a:focus, button:focus, input:focus, textarea:focus { outline: 3px solid rgba(20,80,50,0.12); outline-offset: 2px; }

/* --- END --- */
