@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{--gold: #c9a227;--gold-dark: #a8861c;--gold-soft: #f7efd8;--ink: #23211c;--ink-soft: #6b6455;--bg: #faf7f0;--card: #ffffff;--line: #e7e0d0;--danger: #b3402f;--ok: #2e7d4f;--navy: #1c2230;--radius: 12px;--shadow: 0 1px 3px rgba(35, 33, 28, .08), 0 4px 16px rgba(35, 33, 28, .05)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.7}h1,h2,h3,h4{margin:0;font-weight:700}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--navy);color:#f4efe2;padding:.6rem 1rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow)}.topbar .brand{font-weight:700;color:var(--gold);letter-spacing:.02em}.topbar nav{display:flex;gap:.25rem;flex:1;flex-wrap:wrap}.topbar nav a{padding:.35rem .75rem;border-radius:var(--radius);text-decoration:none;color:#cfc8b8}.topbar nav a:hover{background:#ffffff0f;color:#f4efe2}.topbar nav a.active{background:var(--gold);color:var(--navy);font-weight:500}.content{flex:1;padding:1rem;max-width:1200px;width:100%;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--radius);padding:.5rem 1rem;cursor:pointer}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--gold);border-color:var(--gold-dark);color:var(--navy);font-weight:500}.btn.primary:hover{background:var(--gold-dark);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label{color:var(--ink-soft);font-size:.9em}.field input,.field select{border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .7rem;background:#fff}.field input:focus,.field select:focus{outline:2px solid var(--gold-soft);border-color:var(--gold)}.msg{border-radius:var(--radius);padding:.6rem .9rem;margin-bottom:.9rem}.msg.error{background:#fbecea;color:var(--danger);border:1px solid #f0cdc7}.msg.ok{background:#eaf5ef;color:var(--ok);border:1px solid #c7e4d3}.centered{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%)}.muted{color:var(--ink-soft)}.num{unicode-bidi:plaintext}.center-msg{text-align:center;padding:60px 20px;color:var(--ink-soft)}.form-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.form-col{min-width:0}.notice{background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;font-size:13.5px}.section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;overflow:visible}.section-head{padding:12px 16px}.section-title{display:flex;align-items:center;gap:12px}.section-title h3{font-size:15.5px}.badge{background:var(--gold-soft);color:var(--gold-dark);border-radius:20px;padding:2px 12px;font-size:12.5px;font-weight:700;margin-inline-start:auto}.section-body{padding:4px 16px 16px;border-top:1px dashed var(--line)}.section:not(.open){opacity:.75}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px;margin:8px 0;min-width:0}.field>span{font-size:12.5px;color:var(--ink-soft);font-weight:500}.hint{color:var(--ink-soft);font-size:13px;margin:8px 0}.sub-title{font-size:13.5px;margin:14px 0 8px;color:var(--ink)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.pill{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);background:#fff;border-radius:22px;padding:6px 14px;font-size:13.5px;color:var(--ink);transition:all .15s}.pill:hover{border-color:var(--gold)}.pill.on{background:var(--gold);border-color:var(--gold);color:#211e18;font-weight:700}.pill-check{display:inline-flex;width:16px;height:16px;border-radius:50%;background:#00000014;align-items:center;justify-content:center;font-size:11px}.pill.on .pill-check{background:#211e18;color:var(--gold)}.pill-sub{font-size:11.5px;opacity:.75}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{display:none}.toggle-track{width:40px;height:22px;border-radius:20px;background:#d5cdba;position:relative;transition:background .2s;flex-shrink:0}.toggle-thumb{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #00000040}.toggle input:checked+.toggle-track{background:var(--gold)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(-18px)}.money-input{display:inline-flex;flex-direction:column;gap:2px;min-width:0}.money-input input{text-align:left;min-width:130px}.money-input.compact input{min-width:110px;padding:5px 8px;font-size:13px}.money-hint{font-size:11.5px;color:var(--gold-dark)}.num-input,.time-input{max-width:140px}.custom-items{display:flex;flex-direction:column;gap:8px}.custom-item-row{display:flex;gap:8px;align-items:center}.custom-item-row .grow{flex:1}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.icon-btn.danger{color:var(--danger)}.icon-btn:hover{border-color:var(--gold)}.add-btn{align-self:flex-start;background:none;border:1.5px dashed var(--gold);color:var(--gold-dark);border-radius:8px;padding:6px 14px;font-size:13px;margin-top:4px}.add-btn:hover{background:var(--gold-soft)}.link-btn{background:none;border:none;color:var(--gold-dark);text-decoration:underline;font-size:13px;padding:2px 4px}.link-btn.danger{color:var(--danger)}.adv{margin:8px 0;font-size:13px}.adv summary{cursor:pointer;color:var(--ink-soft)}.adv[open]{background:#faf7ee;border-radius:8px;padding:8px 10px}.date-info{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:#f0f6ef;border:1px solid #cfe3cd;border-radius:8px;padding:7px 12px;font-size:13px;margin:8px 0}.date-info.peak{background:var(--gold-soft);border-color:var(--gold)}.inline-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.ff-extras{display:flex;flex-direction:column;gap:6px}.ff-extra-row{display:flex;align-items:center;gap:10px}.menu-groups{margin-top:10px}.menu-group h4{font-size:13px;color:var(--ink-soft);margin:10px 0 2px}.calc-col{position:sticky;top:70px}.calc-card{background:#211e18;color:#f4eeda;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.calc-card h3{color:var(--gold);font-size:15px;margin-bottom:10px}.calc-lines{display:flex;flex-direction:column;gap:6px;max-height:44vh;overflow-y:auto;padding-inline-end:4px}.calc-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;border-bottom:1px dashed rgba(244,238,218,.15);padding-bottom:5px}.cl-label{display:flex;flex-direction:column}.cl-detail{font-size:11px;opacity:.65}.cl-amount{font-weight:700;white-space:nowrap;direction:ltr}.est{color:var(--gold);margin-inline-start:4px}.calc-discount{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 4px;font-size:13px}.calc-discount input{background:#ffffff14;border-color:#fff3;color:#f4eeda}.calc-total{display:flex;justify-content:space-between;align-items:center;font-size:16px;border-top:2px solid var(--gold);margin-top:10px;padding-top:10px}.calc-total b{color:var(--gold);font-size:17px}.calc-million{text-align:left;font-size:12px;opacity:.7}.calc-deposit{margin-top:12px;background:#ffffff0f;border-radius:10px;padding:10px 12px;font-size:13px;display:flex;flex-direction:column;gap:8px}.calc-deposit input{background:#ffffff14;border-color:#fff3;color:#f4eeda;width:100%}.calc-deposit .money-hint{color:var(--gold)}.remainder b{direction:ltr}.calc-actions{display:flex;gap:8px;margin-top:14px}.calc-actions .btn{flex:1;justify-content:center}.calc-actions .btn:not(.primary){background:transparent;color:#f4eeda;border-color:#ffffff4d}.save-msg{margin-top:8px;font-size:13px;color:var(--ok);text-align:center}.calc-card .save-msg{color:#9fd8b3}.datepicker{position:relative}.date-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13.5px}.date-btn:hover{border-color:var(--gold)}.date-sub{color:var(--ink-soft);font-size:12px}.date-placeholder{color:#a9a190}.cal-pop{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:100;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 32px #23211c2e;padding:10px;width:280px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-title{display:flex;gap:6px}.cal-title select{padding:4px 6px;font-size:13px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-wd{text-align:center;font-size:11px;color:var(--ink-soft);padding:4px 0}.cal-wd.weekend{color:var(--danger)}.cal-day{border:none;background:none;border-radius:8px;padding:6px 0;font-size:13px;font-family:inherit}.cal-day:hover{background:var(--gold-soft)}.cal-day.weekend{color:var(--danger)}.cal-day.today{outline:1.5px dashed var(--gold)}.cal-day.selected{background:var(--gold);color:#211e18;font-weight:700}.cal-foot{display:flex;justify-content:space-between;margin-top:8px}.mini-btn.danger{color:var(--danger)}.settings-head,.settings-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.settings-foot{margin-top:16px;justify-content:flex-start}.settings-head h2{font-size:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.tier-editor{display:flex;flex-direction:column;gap:6px}.tier-row{display:grid;grid-template-columns:90px 90px 1fr 34px;gap:8px;align-items:center}.tier-row .num-input{max-width:none;width:100%}.tier-head{font-size:11.5px;color:var(--ink-soft)}.music-row{display:grid;grid-template-columns:1fr auto 34px;gap:8px;align-items:center;margin-bottom:6px}.special-date{font-weight:700;background:var(--gold-soft);border-radius:7px;padding:4px 10px;text-align:center}.special-add{margin-top:8px}.special-add input[type=text]{flex:1;min-width:120px}.archive-page{display:flex;flex-direction:column;gap:14px}.archive-head,.archive-search,.archive-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.archive-head h2{font-size:18px}.archive-search{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}.archive-search .field{flex:1;min-width:240px;margin:0}.archive-table-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.archive-table{width:100%;border-collapse:collapse;min-width:820px}.archive-table th,.archive-table td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:start;vertical-align:middle}.archive-table th{color:var(--ink-soft);font-size:12px;font-weight:700;background:#faf7ee}.archive-table tr:last-child td{border-bottom:none}.archive-table a{color:var(--gold-dark);font-weight:700;text-decoration:none}.archive-actions{display:flex;gap:6px;align-items:center}.archive-actions .icon-btn{text-decoration:none}.print-page{background:#888;min-height:100vh;padding:20px 0 60px}.print-toolbar{display:flex;gap:10px;justify-content:center;margin-bottom:16px}.sheet{background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:14mm 14mm 10mm;box-shadow:0 4px 24px #00000059;font-size:12.5px;line-height:1.8}.sheet-head{display:flex;justify-content:space-between;align-items:center;border-bottom:3px double var(--gold-dark);padding-bottom:8px;margin-bottom:10px}.sheet-brand h1{font-size:22px;color:#211e18}.sheet-brand-en{font-size:10px;letter-spacing:3px;color:var(--gold-dark);text-transform:uppercase}.sheet-meta{text-align:left;font-size:12px}.sheet-intro{text-align:justify;margin:8px 0}.info-table,.lines-table{width:100%;border-collapse:collapse;margin:8px 0}.info-table td,.lines-table td,.lines-table th{border:1px solid #bbb;padding:5px 8px}.info-table td:nth-child(odd){background:#f5f1e6;font-weight:500;width:15%;white-space:nowrap}.lines-table th{background:#211e18;color:#f4eeda;font-weight:500;font-size:11.5px}.cell-money,.lines-table .cell-money{text-align:left;direction:ltr;white-space:nowrap;font-weight:700}.lines-table .cell-detail{font-size:11px;color:#555}.lines-table tfoot td{background:#f5f1e6;font-weight:700}.discount-row td{color:var(--danger)}.est-mark{font-size:10.5px;color:#777}.sheet-sec{font-size:14px;color:var(--gold-dark);border-inline-start:4px solid var(--gold);padding-inline-start:8px;margin:14px 0 6px}.menu-print{background:#faf7ee;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:6px 0}.menu-includes{font-size:11.5px;color:#666;margin-top:4px}.notes-print{margin:4px 0;padding-inline-start:20px}.terms-print{margin:4px 0;padding-inline-start:20px;font-size:11.5px;text-align:justify}.terms-print li{margin-bottom:2px}.sheet-accept{margin:12px 0;text-align:justify;font-size:12px}.sign-row{display:flex;justify-content:space-around;gap:40px;margin:24px 0 12px}.sign-box{text-align:center;padding-top:50px;border-top:1px dashed #999;flex:1;font-size:12px;color:#555}.sheet-foot{border-top:1px solid var(--line);margin-top:14px;padding-top:6px;text-align:center;font-size:11px;color:#777}@media print{.no-print,.topbar{display:none!important}.content{max-width:none;padding:0}.print-page{background:#fff;padding:0}.sheet{width:auto;min-height:auto;margin:0;padding:0;box-shadow:none}@page{size:A4;margin:12mm}}@media (max-width: 1000px){.form-layout{grid-template-columns:1fr}.calc-col{position:static;order:-1}.settings-grid,.grid3{grid-template-columns:1fr}}@media (max-width: 640px){.grid2{grid-template-columns:1fr}.topbar{flex-direction:column;gap:8px;padding:10px}main{padding:14px 12px 60px}}
