/* ====== Palet & Reset ====== */
* { box-sizing: border-box; margin: 0; padding: 0 }
:root{
  --bg:#f7f9f8;
  --text:#0f172a;
  --muted:#475569;

  --green-700:#046d41;
  --green-600:#04724d;
  --green-100:#e8f5e9;
  --green-150:#c8ecd2;

  --surface:#ffffff;
  --border:#cbd5e1;
  --divider:#e2e8f0;

  --shadow:0 6px 18px rgba(0,0,0,.06);
  --radius-lg:16px;
  --radius-xl:18px;
  --radius-pill:999px;

  --ring:#22c55e;
}
html,body{height:100%}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
}

/* ====== Header & Nav ====== */
.site-header{
  background:var(--green-700);
  color:#fff;
  padding:14px;
  border-bottom-left-radius:var(--radius-xl);
  border-bottom-right-radius:var(--radius-xl);
  text-align:center;
}
.site-header h1{font-size:1.25rem;margin-bottom:6px}
.nav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.nav a{
  color:#fff;text-decoration:none;
  background:rgba(255,255,255,.12);
  padding:.45rem .7rem;border-radius:8px;
  transition:background .2s ease, transform .06s ease;
}
.nav a:hover{background:rgba(255,255,255,.18)}
.nav a:active{transform:translateY(1px)}
.nav a:focus-visible{
  outline:2px solid #fff; outline-offset:2px;
  box-shadow:0 0 0 3px rgba(255,255,255,.35);
}

/* ====== Layout ====== */
.container{max-width:980px;margin:18px auto;padding:0 14px}
.card{
  background:var(--surface); border-radius:var(--radius-lg);
  box-shadow:var(--shadow); padding:16px; margin:12px 0
}
.grid{display:grid;gap:12px}
.grid-2{grid-template-columns:1fr 1fr}

/* ====== Badges / Text ====== */
.badge{
  display:inline-block; background:var(--green-100); color:var(--green-700);
  border-radius:var(--radius-pill); padding:2px 10px; margin-left:6px; font-size:.8rem
}
.small{opacity:.88;font-size:.92rem;color:var(--muted)}

/* ====== Forms ====== */
label{display:block;margin:10px 0 6px}
input[type="file"],
input[type="number"],
input[type="text"],
select,textarea{
  width:100%; padding:.75rem; border:1px solid var(--border);
  border-radius:10px; background:#fff; transition:border-color .15s, box-shadow .15s
}
input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:none; border-color:var(--ring);
  box-shadow:0 0 0 3px rgba(34,197,94,.25)
}

/* ====== Buttons ====== */
.btn{
  display:inline-block; background:var(--green-600); color:#fff;
  border:0; border-radius:12px; padding:.75rem 1rem; text-decoration:none; cursor:pointer;
  font-weight:600; transition:background .2s ease, transform .06s ease, opacity .2s ease
}
.btn:hover{background:var(--green-700)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6; cursor:not-allowed}
.btn.secondary{background:#334155}
.btn.secondary:hover{background:#283548}
.btn.block{display:block;width:100%;text-align:center}

/* ====== Results / Tables ====== */
.result{
  background:var(--green-100); border:1px solid var(--green-150);
  border-radius:14px; padding:12px
}
table{width:100%;border-collapse:collapse}
th,td{padding:.6rem;border-bottom:1px solid var(--divider);text-align:left}
tbody tr:nth-child(even){background:rgba(4,109,65,.025)}

/* ====== Footer ====== */
.site-footer{text-align:center;padding:16px;color:var(--muted)}

/* ====== Responsive ====== */
@media (max-width: 900px){
  .grid-2{grid-template-columns:1fr}
  .site-header h1{font-size:1.1rem}
}
@media (max-width: 480px){
  .container{padding:0 10px}
  .card{padding:14px}
  .btn{padding:.85rem 1rem}
  .nav a{padding:.38rem .6rem}
}

/* ====== Optional: Dark Mode ====== */
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b1220; --text:#e6edf3; --muted:#9fb0c3;
    --surface:#0f172a; --border:#203047; --divider:#1e2a3a;
    --shadow:0 8px 24px rgba(0,0,0,.35);
  }
  .nav a:focus-visible{outline-color:var(--ring); box-shadow:0 0 0 3px rgba(34,197,94,.35)}
}
