:root{
  --green:#2e7d32; --green2:#1b5e20; --leaf:#66bb6a;
  --cream:#fdf6e3; --card:#fffdf7; --ink:#2b2418; --brown:#7a5230; --line:#e6d9b8;
  --g:#2e7d32; --gbg:#e7f4e8; --y:#b7791f; --ybg:#fff4d6; --r:#c62828; --rbg:#fde7e7;
}
body.dark{
  --cream:#17140f; --card:#221d16; --ink:#f3ead6; --brown:#d9a66b; --line:#3d3326;
  --gbg:#1f3321; --ybg:#3a2f12; --rbg:#3d1a1a;
}
html,body{margin:0}
body{
  font-family:'Vazirmatn',Tahoma,sans-serif; color:var(--ink); background:var(--cream);
  background-image:
    repeating-linear-gradient(115deg, rgba(183,121,31,.05) 0 2px, transparent 2px 22px),
    radial-gradient(circle at 10% 0%, rgba(102,187,106,.15), transparent 40%);
  font-size:18px;
}
body.xl{font-size:21px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 0 var(--line),0 8px 24px rgba(60,40,10,.06);padding:16px}
.btn{min-height:48px;padding:8px 18px;border-radius:12px;font-weight:700;border:2px solid transparent;cursor:pointer;transition:transform .1s,filter .15s}
.btn:active{transform:scale(.97)}
.btn-p{background:var(--green);color:#fff}
.btn-p:hover{filter:brightness(1.1)}
.btn-o{background:transparent;border-color:var(--green);color:var(--green)}
body.dark .btn-o{color:var(--leaf);border-color:var(--leaf)}
.btn-b{background:var(--brown);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}
.inp{min-height:46px;border:2px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--card);color:var(--ink);width:100%;font-family:inherit;font-size:1em}
.inp:focus{outline:none;border-color:var(--green)}
label.lb{display:block;font-weight:700;margin-bottom:4px;color:var(--brown)}
.st-g{color:var(--g);background:var(--gbg)}
.st-y{color:var(--y);background:var(--ybg)}
.st-r{color:var(--r);background:var(--rbg)}
.bar{height:10px;border-radius:6px;background:var(--line);overflow:hidden}
.bar>div{height:100%;border-radius:6px;transition:width .3s}
.nav a{white-space:nowrap}
.navbtn{padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}
.navbtn.on{background:var(--green);color:#fff}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:right}
.tbl th{color:var(--brown);font-weight:900}
input[type=range]{accent-color:var(--green);width:100%}
.fade{animation:fadeUp .45s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-title{font-weight:900;letter-spacing:-1px}
.chip{display:inline-block;padding:4px 12px;border-radius:999px;font-weight:700;font-size:.85em}
.only-print{display:none}
@media print{
  .no-print{display:none!important}
  .only-print{display:block}
  body{background:#fff;font-size:13px;color:#000}
  .card{box-shadow:none;border:1px solid #999}
}