:root{
  --bg:#eef3ef; --card:#ffffff; --ink:#13231d; --muted:#61736b;
  --brand:#0f3d2e; --brand2:#1c6b4f; --line:#d8e2dc; --warn:#fff2cc; --good:#dff5e8; --bad:#ffe4df;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#dfeee4, var(--bg));color:var(--ink)}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px;max-width:1100px;margin:0 auto}
.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:var(--brand2);font-weight:800}
h1{margin:.1rem 0 0;font-size:clamp(30px,5vw,52px);line-height:1}
h2{margin:0 0 10px;font-size:24px}
.app{max-width:1100px;margin:0 auto;padding:0 18px 40px;display:grid;gap:18px}
.card{background:rgba(255,255,255,.86);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(15,61,46,.08)}
.hero{border-top:6px solid var(--brand)}
.muted{color:var(--muted)}
.pill{background:var(--brand);color:white;border-radius:999px;padding:12px 18px;font-weight:800;white-space:nowrap}
label{display:block;font-weight:700;color:#20352c;margin:10px 0 6px}
input,select,textarea,button{width:100%;font:inherit;border-radius:14px;border:1px solid var(--line);padding:12px;background:white}
textarea{resize:vertical}
button{cursor:pointer;background:#f6faf7;font-weight:800}
button.primary{background:var(--brand);color:white;border-color:var(--brand)}
button.ghost{background:transparent}
.buttonrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}
.filebox{border:2px dashed var(--line);border-radius:18px;padding:14px;background:#f9fbfa}
.filebox input{border:0;padding:8px 0}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.mini{border-radius:18px;padding:16px;border:1px solid var(--line);background:#f8fbf9}
.mini strong{display:block;font-size:26px;margin-top:6px}
.good{background:var(--good)} .warn{background:var(--warn)} .bad{background:var(--bad)}
.result{margin-top:16px;border-radius:18px;background:#f8fbf9;border:1px solid var(--line);padding:16px;min-height:56px}
.editor{border:1px solid var(--line);background:#fbfdfc;border-radius:18px;padding:14px;margin:10px 0}
.hidden{display:none}
table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:14px}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px}
th{background:#f3f8f5}
.best{font-weight:900;color:var(--brand)}
footer{max-width:1100px;margin:0 auto 30px;color:var(--muted);padding:0 18px}
@media(max-width:760px){
  .topbar{padding:18px;align-items:flex-start;flex-direction:column}
  .grid2,.grid3,.grid4,.buttonrow,.cards3{grid-template-columns:1fr}
  .card{border-radius:18px;padding:16px}
}
