:root{--g:#15803d;--gd:#14532d;--cream:#faf7ef;--ink:#1c2a22}
*{font-family:'Vazirmatn',sans-serif}
body{background:var(--cream);color:var(--ink);
background-image:radial-gradient(circle at 10% 0%,#dcfce7 0,transparent 40%),radial-gradient(circle at 100% 100%,#fef3c7 0,transparent 35%);background-attachment:fixed;min-height:100vh}
.card{background:#fff;border-radius:1.25rem;box-shadow:0 1px 0 #e7e2d3,0 8px 24px -12px rgba(20,83,45,.18);border:1px solid #ede8da}
.btn{min-height:48px;padding:0 1.1rem;border-radius:.9rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:.15s}
.btn:active{transform:scale(.97)}
.bp{background:var(--g);color:#fff}.bp:hover{background:var(--gd)}
.bs{background:#f1efe6;color:var(--ink)}.bs:hover{background:#e6e2d3}
.br{background:#dc2626;color:#fff}
.inp{width:100%;min-height:48px;border:1.5px solid #e2ddcd;border-radius:.8rem;padding:.5rem .8rem;background:#fffdf8}
.inp:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px #bbf7d0}
.lbl{font-size:.85rem;font-weight:700;margin-bottom:.25rem;display:block;color:#475a4e}
.fade{animation:fade .35s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1}}
.shake{animation:shake .4s}
@keyframes shake{25%{transform:translateX(8px)}50%{transform:translateX(-8px)}75%{transform:translateX(4px)}}
.navi{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:.8rem;font-weight:700;width:100%;text-align:right}
.navi.on{background:var(--g);color:#fff}
.navi:not(.on):hover{background:#ecfdf3}
@media print{.noprint{display:none!important}body{background:#fff}.card{box-shadow:none;border:1px solid #ccc}.printonly{display:block!important}}
.printonly{display:none}