@font-face{font-family:IRANSans;src:url("/IRANSansWeb(FaNum)_UltraLight-hW-WDKY9.woff2") format("woff2"),url("/IRANSansWeb(FaNum)_UltraLight-X2tWVnbe.woff") format("woff");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url("/IRANSansWeb(FaNum)_Light-B637MNLG.woff2") format("woff2"),url("/IRANSansWeb(FaNum)_Light-Blhumvhg.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url("/IRANSansWeb(FaNum)-BLA2CtIC.woff2") format("woff2"),url("/IRANSansWeb(FaNum)-C2LCNwav.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url("/IRANSansWeb(FaNum)_Medium-C2CKjrKB.woff2") format("woff2"),url("/IRANSansWeb(FaNum)_Medium-DJxlPmBM.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url("/IRANSansWeb(FaNum)_Bold-C8urhp07.woff2") format("woff2"),url("/IRANSansWeb(FaNum)_Bold-DFiUzN7v.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IRANSans;src:url("/IRANSansWeb(FaNum)_Black-BFAfOkt4.woff2") format("woff2"),url("/IRANSansWeb(FaNum)_Black-BZZZWzNZ.woff") format("woff");font-weight:900;font-style:normal;font-display:swap}:root{--zn-font: "IRANSans", "Tahoma", system-ui, sans-serif;--zn-font-fa: "IRANSans", "Tahoma", system-ui, sans-serif;--zn-bg: #e9efe6;--zn-app-bg: #f5f8f3;--zn-surface: #ffffff;--zn-surface-2: #f0f4ed;--zn-surface-3: #e8eee4;--zn-text: #15231b;--zn-text-2: #5a6a60;--zn-text-3: #66756b;--zn-border: #e5ebe1;--zn-border-2: #d8e0d2;--zn-primary: #1f8a5b;--zn-primary-press: #18714a;--zn-primary-tint: #e7f3ec;--zn-primary-tint-2: #d6ebde;--zn-on-primary: #ffffff;--zn-protein: #2a9d6a;--zn-carbs: #e0a23a;--zn-fat: #df6a4a;--zn-water: #4a86d6;--zn-protein-tint: #e4f3ec;--zn-carbs-tint: #f8efdd;--zn-fat-tint: #f8e6e0;--zn-water-tint: #e2ecf8;--zn-carbs-text: #976a14;--zn-fat-text: #c0492e;--zn-gold: #e0a23a;--zn-shadow-1: 0 1px 2px rgba(20, 40, 28, .05), 0 2px 8px rgba(20, 40, 28, .04);--zn-shadow-2: 0 4px 16px rgba(20, 40, 28, .08), 0 1px 3px rgba(20, 40, 28, .05);--zn-shadow-3: 0 12px 36px rgba(20, 40, 28, .16), 0 4px 12px rgba(20, 40, 28, .08);--zn-shadow-fab: 0 8px 22px rgba(31, 138, 91, .38);--zn-r-xs: 8px;--zn-r-sm: 12px;--zn-r-md: 18px;--zn-r-lg: 24px;--zn-r-xl: 30px;--zn-r-pill: 999px;--zn-r-btn: 16px;--zn-r-seg: 14px;--zn-r-seg-btn: 10px;--zn-r-thumb: 14px;--zn-r-fab: 20px;--zn-r-tabbar: 26px;--zn-r-sheet-top: 30px;--zn-space-xs: 4px;--zn-space-sm: 8px;--zn-space-md: 12px;--zn-space-lg: 16px;--zn-space-xl: 18px;--zn-space-2xl: 24px;--zn-space-3xl: 32px;--zn-scrim: rgba(8, 16, 11, .42)}.ion-palette-dark{--zn-bg: #080b09;--zn-app-bg: #0e1310;--zn-surface: #161d18;--zn-surface-2: #1d251f;--zn-surface-3: #232d26;--zn-text: #eaf2ec;--zn-text-2: #9bab9f;--zn-text-3: #8b9a90;--zn-border: #232c26;--zn-border-2: #2c382f;--zn-primary: #47c585;--zn-primary-press: #3bb074;--zn-primary-tint: #16271d;--zn-primary-tint-2: #1b3326;--zn-on-primary: #06140c;--zn-protein: #45c585;--zn-carbs: #e6b150;--zn-fat: #ec8062;--zn-water: #5c9aec;--zn-protein-tint: #15271d;--zn-carbs-tint: #2a2417;--zn-fat-tint: #2c1f1a;--zn-water-tint: #16222f;--zn-carbs-text: #e6b150;--zn-fat-text: #ec8062;--zn-gold: #e6b150;--zn-shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--zn-shadow-2: 0 6px 18px rgba(0, 0, 0, .45);--zn-shadow-3: 0 16px 40px rgba(0, 0, 0, .6);--zn-shadow-fab: 0 8px 22px rgba(0, 0, 0, .5);--zn-scrim: rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:var(--zn-font);background:var(--zn-app-bg);color:var(--zn-text);direction:rtl;font-size:14px}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}.shell{display:flex;height:100%}.shell-nav{width:220px;flex-shrink:0;background:var(--zn-surface);border-inline-end:1px solid var(--zn-surface-3);display:flex;flex-direction:column;padding:16px 12px;gap:4px}.shell-nav .brand{font-weight:900;font-size:18px;padding:8px 12px 20px}.shell-nav a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;color:var(--zn-text-2, #4a5b50)}.shell-nav a.active{background:var(--zn-surface-2);color:var(--zn-text);font-weight:700}.shell-nav a .badge{margin-inline-start:auto}.shell-nav .nav-footer{margin-top:auto;border-top:1px solid var(--zn-surface-3);padding-top:12px;font-size:12px}.shell-main{flex:1;overflow:auto;padding:24px}.page-title{font-size:20px;font-weight:900;margin:0 0 16px}.btn{border:none;border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer;background:var(--zn-surface-2);color:var(--zn-text)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--zn-primary, #2e7d4f);color:#fff}.btn.danger{background:#c62828;color:#fff}.btn.ghost{background:transparent}.btn.sm{padding:5px 10px;font-size:12px}.input,select.input,textarea.input{width:100%;border:1px solid var(--zn-surface-3);border-radius:10px;padding:9px 12px;background:var(--zn-surface);outline:none}.input:focus{border-color:var(--zn-primary, #2e7d4f)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field>label{font-size:12px;font-weight:700;color:var(--zn-text-2, #4a5b50)}.card{background:var(--zn-surface);border:1px solid var(--zn-surface-3);border-radius:14px;padding:16px}.table{width:100%;border-collapse:collapse;background:var(--zn-surface);border-radius:14px;overflow:hidden}.table th,.table td{text-align:right;padding:10px 12px;border-bottom:1px solid var(--zn-surface-3);font-size:13px}.table th{background:var(--zn-surface-2);font-weight:700}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--zn-surface-2)}.badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;background:var(--zn-surface-2)}.badge.green{background:#e3f2e8;color:#1b5e20}.badge.red{background:#fdecea;color:#b71c1c}.badge.gray{background:var(--zn-surface-2);color:var(--zn-text-2, #4a5b50)}.badge.amber{background:#fff3e0;color:#a05a00}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--zn-surface);border-radius:16px;padding:20px;width:min(480px,calc(100vw - 32px));max-height:85vh;overflow:auto}.modal h3{margin:0 0 12px}.modal .actions{display:flex;gap:8px;justify-content:flex-start;margin-top:16px}.toast{position:fixed;bottom:24px;inset-inline-start:50%;transform:translate(50%);background:var(--zn-text);color:var(--zn-surface);border-radius:12px;padding:10px 18px;z-index:200;font-weight:700}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.muted{color:var(--zn-text-2, #4a5b50);font-size:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.empty{text-align:center;padding:48px 16px;color:var(--zn-text-2, #4a5b50)}.error-box{background:#fdecea;color:#b71c1c;border-radius:10px;padding:10px 14px;margin:8px 0;font-size:13px}.field-error{color:#b71c1c;font-size:12px;margin-top:4px}.photo-grid{display:flex;gap:8px;flex-wrap:wrap}.photo-grid img{width:160px;height:160px;object-fit:cover;border-radius:12px;cursor:zoom-in}.photo-full img{max-width:100%;border-radius:12px}.tag-input{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--zn-surface-3);border-radius:10px;padding:6px;background:var(--zn-surface)}.tag-input input{border:none;outline:none;flex:1;min-width:100px;background:transparent;padding:4px}.tag-input .tag{background:var(--zn-surface-2);border-radius:8px;padding:3px 8px;font-size:12px;display:inline-flex;gap:4px;align-items:center}.tag-input .tag button{border:none;background:none;cursor:pointer;padding:0;font-size:12px}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center}.login-card{width:min(380px,calc(100vw - 32px))}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--zn-surface-3)}.tabs button{border:none;background:none;padding:10px 16px;cursor:pointer;font-weight:700;color:var(--zn-text-2, #4a5b50);border-bottom:2px solid transparent}.tabs button.active{color:var(--zn-text);border-bottom-color:var(--zn-primary, #2e7d4f)}pre.json{direction:ltr;text-align:left;background:var(--zn-surface-2);border-radius:10px;padding:10px;font-size:12px;overflow:auto;max-height:320px}
