
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box}body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;background:#f5f7fb;color:#182230}
button,input,select{font:inherit}button{cursor:pointer}
.app{display:flex;min-height:100vh}.sidebar{width:255px;background:#101828;color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh}
.brand{font-size:20px;font-weight:800;padding:8px 10px 25px}.brand small{display:block;font-size:11px;color:#98a2b3;margin-top:4px;font-weight:500}
.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#d0d5dd;text-align:right;padding:12px;border-radius:10px}.nav button:hover,.nav button.active{background:#1d2939;color:#fff}
.main{flex:1;padding:26px;max-width:1500px;margin:auto;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.title h1{margin:0;font-size:26px}.title p{margin:5px 0;color:#667085;font-size:13px}
.card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:20px;box-shadow:0 3px 14px rgba(16,24,40,.04);margin-bottom:18px}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}
.stat{padding:18px}.stat .label{color:#667085;font-size:13px}.stat .value{font-size:25px;font-weight:800;margin-top:8px}.stat .sub{font-size:11px;color:#98a2b3;margin-top:4px}
.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:600}.btn.primary{background:#155eef;color:#fff}.btn.secondary{background:#eef4ff;color:#155eef}.btn.gray{background:#f2f4f7;color:#344054}.btn.danger{background:#fee4e2;color:#b42318}.btn.success{background:#dcfae6;color:#067647}.actions{display:flex;gap:8px;flex-wrap:wrap}
label{font-size:12px;color:#475467;font-weight:600;display:block;margin-bottom:6px}.field{margin-bottom:13px}input,select{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px 11px;background:#fff;outline:none}input:focus,select:focus{border-color:#84adff;box-shadow:0 0 0 3px #eaf2ff}
table{width:100%;border-collapse:collapse}th,td{padding:11px 9px;border-bottom:1px solid #eaecf0;text-align:right;font-size:12px}th{color:#667085;font-weight:700;background:#f9fafb}.money{font-weight:700}.muted{color:#667085}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;background:#eef4ff;color:#155eef}.empty{padding:35px;text-align:center;color:#98a2b3}
.component-row{display:grid;grid-template-columns:1.4fr .7fr .9fr .8fr auto;gap:8px;align-items:end;margin-bottom:9px}.component-row .field{margin:0}
.notice{padding:12px 14px;border-radius:10px;background:#fffaeb;color:#b54708;font-size:12px;margin-bottom:15px}.success-box{padding:16px;border-radius:12px;background:#ecfdf3;border:1px solid #abefc6}.result{font-size:30px;font-weight:800}.big-number{font-size:32px;font-weight:800}
.tabs{display:flex;gap:8px;border-bottom:1px solid #eaecf0;margin-bottom:18px}.tabs button{border:0;background:transparent;padding:10px 14px;color:#667085}.tabs button.active{color:#155eef;border-bottom:2px solid #155eef;font-weight:700}
.modal-wrap{position:fixed;inset:0;background:rgba(16,24,40,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal{background:#fff;border-radius:16px;max-width:720px;width:100%;max-height:90vh;overflow:auto;padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h3{margin:0}.close{border:0;background:#f2f4f7;border-radius:8px;padding:7px}
@media(max-width:1000px){.sidebar{width:210px}.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.app{display:block}.sidebar{width:100%;height:auto;position:relative}.nav{grid-template-columns:repeat(3,1fr)}.nav button{font-size:11px}.main{padding:15px}.grid-3,.grid-2,.grid-4{grid-template-columns:1fr}.component-row{grid-template-columns:1fr 1fr}.component-row .actions-cell{grid-column:1/-1}}
\n.stars{letter-spacing:2px;font-size:16px;white-space:nowrap}.star-picker{display:flex;gap:4px;align-items:center;min-height:42px}.star-btn{border:0;background:transparent;font-size:28px;line-height:1;padding:2px 3px;color:#98a2b3}.star-btn.selected{color:#f5b301}.bar-chart{display:flex;align-items:flex-end;gap:18px;min-height:260px;padding:16px 8px 8px;overflow:auto}.bar-item{min-width:88px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:230px}.bar-track{height:180px;width:48px;border-radius:10px;background:#f2f4f7;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;border-radius:10px;background:#155eef}.bar-value{font-size:10px;color:#475467;margin-bottom:6px;white-space:nowrap}.bar-label{font-size:11px;color:#667085;margin-top:7px}.print-sheet{font-family:Vazirmatn,Tahoma,sans-serif;direction:rtl;color:#182230}.print-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:2px solid #182230;margin-bottom:18px}.print-head h1{margin:0 0 6px;font-size:24px}.print-head div{font-size:11px;color:#667085}.print-foot{margin-top:28px;padding-top:10px;border-top:1px solid #eaecf0;text-align:center;font-size:10px;color:#98a2b3}.print-sheet .card{box-shadow:none;margin-bottom:14px}.print-sheet table{page-break-inside:auto}.print-sheet tr{page-break-inside:avoid;page-break-after:auto}
@media print{body>*:not(#printArea){display:none!important}#printArea{display:block!important;position:static!important;background:#fff!important}.print-sheet{padding:14mm}.print-sheet .card{border:1px solid #d0d5dd}@page{size:A4;margin:8mm}table{font-size:10px!important}.btn,.actions{display:none!important}}
textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px 11px;background:#fff;outline:none;resize:vertical;font:inherit}textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px #eaf2ff}.nav-title{border:0;background:transparent;color:#98a2b3;text-align:right;padding:5px 12px;font-size:11px;font-weight:700}.nav-group{background:rgba(255,255,255,.02);border-radius:12px;overflow:hidden}.nav-group summary{list-style:none;cursor:pointer;padding:12px;color:#d0d5dd;font-weight:700;border-radius:10px}.nav-group summary::-webkit-details-marker{display:none}.nav-group[open] summary{background:#1d2939;color:#fff}.nav-sub{display:grid;gap:4px;padding:4px 0 6px 12px}.nav-sub button{font-size:12px;padding:9px 12px}.sale-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.sale-type-card{margin-bottom:0}.sale-type-card h3{margin:0 0 12px}.invoice-preview{border:1px solid #e4e7ec;border-radius:18px;padding:22px;background:#fff}.invoice-brand{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:3px solid var(--accent);margin-bottom:16px}.invoice-brand h2{margin:0 0 4px;color:var(--accent)}.invoice-customer{background:#f8fafc;border-radius:12px;padding:12px;margin-bottom:16px;line-height:1.9}.invoice-total{margin-top:16px;margin-right:auto;max-width:320px;border:1px solid #e4e7ec;border-radius:12px;padding:12px;line-height:2}.invoice-total strong{display:block;border-top:1px solid #eaecf0;margin-top:7px;padding-top:7px;color:var(--accent);font-size:16px}.invoice-footer{text-align:center;margin-top:24px;padding-top:12px;border-top:1px dashed #d0d5dd;color:#667085;font-size:12px}@media(max-width:900px){.sale-type-grid{grid-template-columns:1fr}}
.invoice-brand-main{display:flex;align-items:center;gap:12px}.invoice-logo{max-width:90px;max-height:60px;object-fit:contain;border-radius:8px}
.purchase-modal{max-width:1320px}.purchase-row{min-width:1050px}.purchase-modal .field input,.purchase-modal .field select{min-height:44px;font-size:14px}.purchase-modal .modal,.modal-wrap .purchase-modal{width:100%}.professional-invoice{max-width:100%;border:2px solid #1d2939;border-radius:16px;background:#fff;overflow:hidden}.professional-invoice .invoice-brand{display:flex;justify-content:space-between;gap:18px;padding:18px;background:linear-gradient(135deg,#f8fafc,#eef2f7);border-bottom:1px solid #cbd5e1}.professional-invoice .invoice-section{padding:12px 16px;border-bottom:1px solid #e4e7ec}.professional-invoice .invoice-section h4{margin:0 0 7px}.professional-invoice table{width:100%;border-collapse:collapse}.professional-invoice th{background:#e9eef5}.professional-invoice th,.professional-invoice td{border:1px solid #cbd5e1;padding:8px;text-align:center}.professional-invoice .invoice-total{padding:16px;text-align:right;line-height:2}.professional-invoice .invoice-footer{padding:14px 16px;background:#f8fafc}.payment-row{padding:8px;border:1px solid #e4e7ec;border-radius:10px;background:#fafafa}.production-ticket{padding:18px;border:1px solid #d0d5dd;border-radius:14px;background:#f8fafc;line-height:1.9}.recipe-small{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.recipe-small span{padding:5px 9px;border-radius:8px;background:#eef2f6;font-size:12px}.sales-chart{display:flex;gap:14px;align-items:flex-end;height:230px;padding:18px 10px;border:1px solid #e4e7ec;border-radius:14px;background:linear-gradient(180deg,#fcfcfd,#f8fafc);margin:14px 0}.sales-chart .bar-item{flex:1;min-width:55px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.sales-chart .bar-track{height:150px;width:34px;background:#eef2f6;border-radius:8px 8px 3px 3px;display:flex;align-items:flex-end;overflow:hidden}.sales-chart .bar-fill{width:100%;background:linear-gradient(180deg,#155eef,#7c3aed);border-radius:8px 8px 0 0}.sales-chart .bar-label{font-size:11px;text-align:center}.sales-chart .bar-value{font-size:10px;color:#475467;white-space:nowrap}.nav-group{margin:3px 0}.nav-group summary{cursor:pointer;padding:10px 12px;color:#d0d5dd;border-radius:8px;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group[open] summary{background:#1d2939}.nav-sub{display:grid;gap:3px;padding:3px 0 3px 10px}.nav-sub button{font-size:12px!important}.stars{letter-spacing:1px}.btn.warning{background:#f79009;color:#fff;border-color:#f79009}
@media(max-width:1000px){.purchase-row{min-width:0}.purchase-modal{max-width:100%}.purchase-modal .component-row{grid-template-columns:1fr 1fr!important}.sales-chart{overflow-x:auto}}
/* v11: restore a spacious, readable purchase invoice layout without changing other screens */
.purchase-modal{max-width:1280px!important;width:100%!important}.purchase-modal .component-row.purchase-row{grid-template-columns:.72fr 1fr 1.45fr .7fr .75fr 1fr 1fr auto!important;min-width:1100px}.purchase-modal .field input,.purchase-modal .field select{min-height:46px!important;font-size:14px!important}.purchase-lines-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 10px}.purchase-lines-head h4{margin:0}.modal{max-width:1280px}.purchase-modal table{font-size:12px}.purchase-modal th,.purchase-modal td{padding:9px 8px}
@media(max-width:1000px){.purchase-modal{max-width:100%!important}.purchase-modal .component-row.purchase-row{min-width:0!important;grid-template-columns:1fr 1fr!important}.purchase-modal .actions-cell{grid-column:1/-1}}
/* v12 targeted improvements: purchase rows and forms */
.purchase-modal{width:min(1180px,96vw);max-height:90vh;overflow:auto}
.purchase-row{align-items:end}
.purchase-row .field input,.purchase-row .field select{min-height:42px;font-size:14px}
.purchase-row .field label{font-size:12px}
.production-ticket table{margin-top:12px;font-size:12px}
.production-ticket td,.production-ticket th{padding:7px}
.form-field-row-v34{display:grid;grid-template-columns:1.4fr 1fr 1fr .75fr auto;gap:10px;align-items:end;padding:12px;border:1px solid #e4e7ec;border-radius:12px;background:#fafafa;margin-bottom:10px}.field-full-v34{grid-column:1/-1}@media(max-width:900px){.form-field-row-v34{grid-template-columns:1fr 1fr}.form-field-row-v34>.btn{align-self:stretch}}
