/* Base styles */
body {
  font-family: 'Poppins', sans-serif;
  font-size: var(--base-font, 18px);
  line-height: 1.6;
  color: #07311a;

  /* Dashboard background: fixed leaf texture + green gradient (no animation) */
  background: linear-gradient(135deg, #a8ff78 0%, #78ffd6 100%);
  background-attachment: fixed;
  background-image: url('https://www.transparenttextures.com/patterns/leaf.png'), linear-gradient(135deg, #a8ff78 0%, #78ffd6 100%);
  background-size: cover;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding: 0;
  margin: 0;
}

.bg-blur {
  backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.curve-bg {
  border-radius: 2rem;
  box-shadow: 
    0 8px 32px 0 rgba(34,197,94,0.15),
    inset 0 0 0 1px rgba(255,255,255,0.5);
}

.quote {
  font-size: 1.15rem;
  font-style: italic;
  color: #166534;
  margin-bottom: 1.5rem;
  animation: fadeIn 1.5s;
}

.login-btn-anim {
  transition: transform 0.2s, box-shadow 0.2s;
}

.login-btn-anim:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 16px 0 rgba(34,197,94,0.18);
}

/* Card styling */
.card-hover {
  transition: all 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 40px rgba(34,197,94,0.2);
}

/* Custom container styles */
.glass-container {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 
    0 8px 32px 0 rgba(34,197,94,0.15),
    inset 0 0 0 1px rgba(255,255,255,0.5);
}

/* User-friendly accessible theme for all pages (post-login included) */
:root{
  --bg-1: #f6fff5;
  --panel: #ffffff;
  --accent: #16a34a; /* green-600 */
  --accent-2: #059669; /* green-700 */
  --muted: #64748b;
  --card-shadow: 0 10px 30px rgba(6,95,70,0.06);
  --radius: 16px;
  --base-font: 18px;
}

/* Base */
html { font-size: 100%; -webkit-text-size-adjust: 100%; }
body{
  font-family: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-size: var(--base-font);
  line-height: 1.6;
  color: #07311a;
  background: linear-gradient(180deg, #f0fff5 0%, #e8fff9 100%);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding: 0;
  margin: 0;
}

/* Header / Nav */
header {
  padding: 14px 20px;
  border-bottom: 1px solid rgba(6,95,70,0.06);
}
header .flex { align-items:center; }
header img[alt] { width:48px; height:48px; border-radius:50%; }
header nav ul { gap: 14px; display:flex; align-items:center; margin:0; padding:0; list-style:none; }
header nav a { color:var(--accent-2); font-weight:600; font-size:1rem; padding:6px 10px; border-radius:10px; }
header nav a:hover, header nav a:focus { background: rgba(6,95,70,0.06); outline: none; }

/* Big, accessible CTA buttons */
.uf-btn, button, .nature-cta, .login-btn-anim {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  background: linear-gradient(90deg,var(--accent) 0%, var(--accent-2) 100%);
  color: #fff;
  padding: .9rem 1.4rem;
  border-radius: 9999px;
  border: none;
  font-weight:700;
  font-size:1rem;
  cursor:pointer;
  box-shadow: 0 8px 20px rgba(6,95,70,0.12);
  transition: transform .14s ease, box-shadow .14s ease;
}
.uf-btn:active { transform: translateY(1px); }
.uf-btn:focus { outline: 3px solid rgba(34,197,94,0.22); outline-offset:3px; }

/* Form inputs - bigger and clearer */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select {
  width:100%;
  padding: .9rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(6,95,70,0.12);
  background: #fff;
  font-size: 1rem;
  box-shadow: none;
}
label { display:block; font-weight:600; margin-bottom:.35rem; color:#064e3b; }

/* Card style */
.uf-card, .glass-card, .bg-white {
  background: var(--panel);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--card-shadow);
  border: 1px solid rgba(6,95,70,0.05);
}

/* Larger, readable table for rates */
table { border-collapse: collapse; width:100%; font-size:1rem; }
th, td { padding: 12px 14px; border-bottom: 1px solid rgba(15,23,42,0.05); }
th { background: rgba(34,197,94,0.05); text-align:left; font-weight:700; }

/* Order history entries */
.order-entry { padding:12px; border-radius:10px; background: linear-gradient(180deg, #f8fffa 0%, #ffffff 100%); border: 1px solid rgba(6,95,70,0.04); }
.order-entry strong{ color:#064e3b; }

/* Utility spacing */
.container { max-width:1100px; margin: 0 auto; padding: 20px; }
.grid { display:grid; gap:16px; }
.grid-3 { grid-template-columns: repeat(3, 1fr); }

/* Accessibility helpers */
a:focus, button:focus, input:focus, select:focus, textarea:focus { outline-offset: 3px; }
[aria-hidden="true"] { display:none!important; }

/* Responsive adjustments */
@media (max-width: 768px) {
  :root { --base-font: 16px; }
  .grid-3 { grid-template-columns: 1fr; }
  .hero-nature { padding: 2rem; }
  header nav ul { gap:10px; }
  .uf-btn { width:100%; padding: .9rem; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}
