:root{--ink:#0f2e2c;--teal:#0d6b63;--teal2:#14a394;--mint:#eef7f3;--amber:#d98a1c;--red:#c2352b;--paper:#fbfdf9}
*{font-family:'Vazirmatn',sans-serif}
body{margin:0;color:var(--ink);background:
radial-gradient(circle at 10% 0%,#d9f0e6 0,transparent 40%),
radial-gradient(circle at 100% 30%,#fdf0dc 0,transparent 35%),
repeating-linear-gradient(0deg,transparent 0 27px,rgba(13,107,99,.05) 27px 28px),var(--paper);min-height:100vh}
.card{background:#fff;border:1px solid #d7e8e1;border-radius:18px;box-shadow:0 2px 0 #d7e8e1,0 10px 30px -18px rgba(13,107,99,.35)}
.inp{width:100%;border:1.5px solid #cfe2da;border-radius:12px;padding:9px 12px;background:#fcfffd;outline:none;transition:.15s}
.inp:focus{border-color:var(--teal2);box-shadow:0 0 0 3px rgba(20,163,148,.15)}
.chip{border:1.5px solid #cfe2da;border-radius:999px;padding:6px 14px;cursor:pointer;transition:.15s;background:#fff;white-space:nowrap}
.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.btn{background:var(--teal);color:#fff;border-radius:12px;padding:10px 18px;font-weight:700;transition:.15s}
.btn:hover{background:#0a554f}.btn:disabled{opacity:.5}
.btn2{border:1.5px solid var(--teal);color:var(--teal);border-radius:12px;padding:8px 14px;font-weight:700;background:#fff}
.ck{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;border:1.5px solid #e3efea;cursor:pointer;user-select:none;transition:.12s;font-size:14px}
.ck.on{background:#e5f6f0;border-color:var(--teal2)}
.ck .box{width:22px;height:22px;border-radius:7px;border:2px solid #9cc9bd;flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:14px}
.ck.on .box{background:var(--teal);border-color:var(--teal)}
.tip{background:#fff8ea;border:1px dashed var(--amber);border-radius:14px;padding:10px 14px;font-size:13.5px}
.fade{animation:fade .35s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.drop{border:2.5px dashed #9cc9bd;border-radius:18px;padding:22px;text-align:center;cursor:pointer;transition:.15s;background:#f7fcfa}
.drop.over{background:#e0f4ec;border-color:var(--teal)}
.conf{position:fixed;top:-10px;width:10px;height:14px;animation:fall 2.8s linear forwards;z-index:99}
@keyframes fall{to{transform:translateY(105vh) rotate(720deg)}}
.scrollx{overflow-x:auto;scrollbar-width:thin}
@media print{header,nav,.noprint{display:none!important}.card{box-shadow:none;break-inside:avoid}}