:root{
  --navy:#123f5d;--navy-2:#0b3149;--blue:#1f668f;--orange:#ee9418;--orange-soft:#fff4df;
  --bg:#f3f6f8;--card:#fff;--text:#142531;--muted:#71808b;--line:#dfe7ec;--line-2:#edf1f4;
  --green:#0b8a57;--green-soft:#e8f7f0;--red:#c63838;--red-soft:#fff0f0;--amber:#b66b00;--amber-soft:#fff5df;
  --shadow:0 14px 36px rgba(20,49,67,.10);--shadow-sm:0 5px 18px rgba(20,49,67,.06);--radius:18px;
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:linear-gradient(180deg,#eef4f7 0,#f7f9fa 220px,var(--bg) 520px);color:var(--text);font-family:"Vazirmatn",-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Arabic",Arial,sans-serif;min-height:100vh}
button,input,textarea{font:inherit;color:inherit}
button{touch-action:manipulation}
.hidden{display:none!important}
.app-shell{width:min(1460px,100%);margin:0 auto;padding:18px 22px 54px}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;min-height:70px}
.brand-area{display:flex;align-items:center;gap:15px;min-width:0}.brand-logo{width:145px;height:auto;display:block;object-fit:contain;flex:0 0 auto}.brand-mark{display:none;width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 5px 14px rgba(18,63,93,.15);flex:0 0 auto}.brand-copy{min-width:0}.brand-copy h1{font-size:21px;line-height:1.4;margin:0 0 5px;font-weight:800;color:var(--navy-2)}
.signed-in{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);min-width:0}.online-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px rgba(11,138,87,.10)}
.header-actions{display:flex;align-items:center;gap:9px;position:relative}.btn,.icon-btn,.filter-chip,.mini-action,.file-button{border:0;cursor:pointer;transition:.16s ease}.btn{min-height:42px;border-radius:12px;padding:10px 15px;font-weight:700;background:#fff;border:1px solid var(--line);box-shadow:0 2px 4px rgba(20,49,67,.02)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active,.icon-btn:active,.filter-chip:active,.mini-action:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(18,63,93,.18)}.btn-secondary{background:#fff;color:var(--navy)}.btn-danger{background:var(--red-soft);color:var(--red);border-color:#f3cccc}.btn-ghost-danger{color:var(--red);background:transparent;border-color:#f0dada}.btn-block{width:100%}.plus{font-size:19px;line-height:1}.add-button{display:flex;align-items:center;gap:6px}
.icon-btn{width:43px;height:43px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:25px;display:grid;place-items:center;line-height:1;box-shadow:0 3px 10px rgba(20,49,67,.05)}
.menu-wrap{position:relative}.app-menu{position:absolute;top:50px;left:0;width:215px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:7px;box-shadow:var(--shadow);z-index:30}.app-menu button{width:100%;border:0;background:transparent;padding:11px 12px;border-radius:10px;text-align:right;cursor:pointer;font-weight:600}.app-menu button:hover{background:#f4f8fa}.app-menu .menu-danger{color:var(--red)}.menu-sep{height:1px;background:var(--line-2);margin:5px}
.search-panel{position:sticky;top:8px;z-index:12;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(215,226,233,.95);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow-sm);margin-bottom:14px}.search-wrap{position:relative}.search-icon{position:absolute;right:16px;top:50%;transform:translateY(-52%);font-size:28px;color:var(--blue);pointer-events:none}.search-input{width:100%;height:50px;border:1px solid #cedce5;border-radius:13px;background:#fbfdfe;padding:0 50px 0 15px;font-size:16px;outline:none;transition:.18s}.search-input:focus{border-color:#6ba2c2;background:#fff;box-shadow:0 0 0 4px rgba(31,102,143,.09)}
.filter-sort-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:10px}.filter-strip{display:flex;gap:7px;margin-top:0;overflow:auto;scrollbar-width:none;padding-bottom:1px}.filter-strip::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#47606f;font-weight:700;font-size:13px;white-space:nowrap}.filter-chip b{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;margin-right:3px;border-radius:10px;background:#eef3f6;color:#526976;font-size:11px}.filter-chip.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 6px 13px rgba(18,63,93,.15)}.filter-chip.active b{background:rgba(255,255,255,.18);color:#fff}.out-chip:not(.active) b,.deleted-chip:not(.active) b{background:var(--red-soft);color:var(--red)}.price-chip:not(.active){border-color:#f0d7a8;background:#fffaf0;color:#805b18}.price-chip:not(.active) b{background:#fff0ce;color:#8b5f0b}.sort-control{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:700}.sort-control select{height:36px;min-width:126px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px;color:var(--navy-2);font:inherit;font-size:12px;font-weight:700;outline:none;cursor:pointer}.sort-control select:focus{border-color:#6ba2c2;box-shadow:0 0 0 3px rgba(31,102,143,.08)}
.deleted-notice{margin:-2px 0 14px;padding:11px 14px;border:1px solid #f1cccc;background:#fff6f6;color:#9f2e2e;border-radius:12px;font-size:13px}
.inventory-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.desktop-table-wrap{overflow:auto}.inventory-table{border-collapse:collapse;width:100%;min-width:860px}.inventory-table th,.inventory-table td{padding:13px 15px;border-bottom:1px solid var(--line-2);text-align:right;vertical-align:middle}.inventory-table th{font-size:12px;letter-spacing:.01em;color:#667985;background:#f8fafb;font-weight:800}.inventory-table tbody tr{cursor:pointer;transition:.12s}.inventory-table tbody tr:hover{background:#f8fbfc}.inventory-table tbody tr:last-child td{border-bottom:0}.code-cell{font-family:inherit;font-weight:700;color:#70818b}.product-name{font-weight:800;font-size:15px;color:var(--navy-2)}.product-sub{color:var(--muted);font-size:11px;margin-top:4px}.price-main{font-size:16px;font-weight:900;color:#0c2f45;white-space:nowrap}.price-date{font-size:11px;color:var(--muted);white-space:nowrap}.stock-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;white-space:nowrap}.stock-badge:before{content:"";width:7px;height:7px;border-radius:50%}.stock-ok{background:var(--green-soft);color:var(--green)}.stock-ok:before{background:var(--green)}.stock-low{background:var(--amber-soft);color:var(--amber)}.stock-low:before{background:var(--orange)}.stock-out{background:var(--red-soft);color:var(--red)}.stock-out:before{background:var(--red)}.stock-deleted{background:#eef1f3;color:#6f7c84}.stock-deleted:before{background:#87959d}
.quick-control{display:flex;align-items:center;gap:5px;white-space:nowrap}.mini-action{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:18px;font-weight:900;color:var(--navy);display:grid;place-items:center}.mini-action:hover{background:#f0f6f9}.stock-number{min-width:30px;text-align:center;font-weight:900}.restore-inline{border:1px solid #cee9dd;background:#eef8f4;color:var(--green);padding:7px 9px;border-radius:9px;cursor:pointer;font-size:12px;font-weight:700}
.mobile-list{display:none}.empty-state{padding:70px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:6px}.empty-state .empty-icon{width:48px;height:48px;border-radius:16px;background:#eef4f7;color:var(--blue);font-size:32px;display:grid;place-items:center;margin-bottom:4px}.empty-state strong{color:#435966}.empty-state span{font-size:12px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 80% 10%,#e8f4fa 0,transparent 35%),linear-gradient(145deg,#eef4f7,#f9fafb)}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 25px 60px rgba(18,63,93,.14)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:20px}.login-brand img{width:120px;height:auto}.login-brand h1{font-size:18px;margin:0 0 5px;color:var(--navy-2)}.login-brand p{font-size:12px;color:var(--muted);margin:0}.auth-fields{display:grid;gap:11px;margin-bottom:12px}.auth-fields label,.field label{display:block;font-size:12px;font-weight:700;color:#5c707c}.auth-fields input,.field input,.field textarea{display:block;width:100%;border:1px solid #d6e1e7;background:#fbfcfd;border-radius:12px;padding:11px 12px;margin-top:6px;outline:none;transition:.16s}.auth-fields input:focus,.field input:focus,.field textarea:focus{border-color:#6ba2c2;box-shadow:0 0 0 4px rgba(31,102,143,.08);background:#fff}.form-message{min-height:21px;margin-top:9px;font-size:12px;color:var(--red)}
.overlay{position:fixed;inset:0;background:rgba(14,33,45,.56);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}.modal{width:min(760px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(9,35,52,.28)}.modal.wide{width:min(990px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 19px;border-bottom:1px solid var(--line);background:#fff}.modal-title h2{font-size:19px;margin:0;color:var(--navy-2)}.modal-title p{font-size:11px;color:var(--muted);margin:4px 0 0}.close-button{width:38px;height:38px;border:0;background:#f2f6f8;border-radius:11px;cursor:pointer;font-size:23px;color:#4c6270}.modal-body{overflow:auto;padding:18px}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:12px 18px;background:rgba(255,255,255,.96);position:sticky;bottom:0;z-index:2}.footer-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.product-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field.full{grid-column:1/-1}.field textarea{min-height:104px;resize:vertical}.money-wrap{position:relative}.money-wrap input{direction:ltr;text-align:left;padding-left:58px}.money-suffix{position:absolute;left:12px;bottom:12px;color:var(--muted);font-size:11px;pointer-events:none}.field .help{font-size:10px;color:var(--muted);margin-top:5px}.media-card{height:max-content;border:1px solid var(--line);background:#f8fafb;border-radius:16px;padding:11px}.image-stage{min-height:255px;border:1px dashed #cbd9e1;background:#fff;border-radius:13px;display:grid;place-items:center;overflow:hidden;position:relative}.image-stage img{width:100%;height:100%;max-height:360px;object-fit:contain}.image-placeholder{text-align:center;color:var(--muted);padding:30px 12px}.image-placeholder .camera{font-size:33px;margin-bottom:8px}.file-controls{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}.file-button{flex:1;min-width:150px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;padding:10px;border:1px solid #cbdce6;background:#fff;color:var(--navy);font-weight:800}.file-button:hover{background:#f1f7fa}.image-note{font-size:10px;color:var(--muted);margin:8px 2px 0}.deleted-product-banner{padding:10px 12px;margin-bottom:13px;border-radius:11px;background:var(--red-soft);color:#9f3333;border:1px solid #f1d1d1;font-size:12px}.readonly-mask input,.readonly-mask textarea{background:#f4f6f7;color:#78858d;pointer-events:none}
.history-list{display:flex;flex-direction:column}.history-item{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line-2)}.history-item:last-child{border-bottom:0}.history-icon{width:36px;height:36px;border-radius:12px;background:#eef5f8;display:grid;place-items:center;font-size:16px}.history-content strong{font-size:13px}.history-text{font-size:13px;margin-top:4px;line-height:1.7}.history-time{font-size:10px;color:var(--muted);margin-top:3px}.history-price .history-icon{background:#e9f3fa}.history-stock .history-icon{background:var(--green-soft)}.history-delete .history-icon{background:var(--red-soft)}.history-restore .history-icon{background:var(--green-soft)}
.users-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.users-top p{margin:0;font-size:12px;color:var(--muted)}.new-user-box{border:1px solid #d5e3ea;background:#f7fafc;border-radius:15px;padding:13px;margin-bottom:14px}.users-grid-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:9px}.user-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}.user-row{display:grid;grid-template-columns:1.4fr 1fr .7fr auto;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid var(--line-2)}.user-row:last-child{border-bottom:0}.user-name{font-weight:800}.user-username{color:var(--muted);direction:ltr;text-align:right}.user-state{font-size:12px;font-weight:800}.user-state.active{color:var(--green)}.user-state.inactive{color:var(--red)}.user-actions{display:flex;gap:6px}.small-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;cursor:pointer;font-size:11px;font-weight:700}.small-btn.danger{color:var(--red);border-color:#f0d0d0;background:#fff8f8}.self-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:9px;background:#eef4f7;color:var(--muted);font-size:10px;font-weight:700}
.install-guide{display:grid;gap:13px}.install-step{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fafcfd}.step-no{flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.install-step strong{display:block;font-size:13px;margin-bottom:3px}.install-step span{font-size:11px;color:var(--muted);line-height:1.7}
.toast{position:fixed;left:18px;bottom:18px;z-index:100;background:#132c3b;color:#fff;padding:11px 14px;border-radius:12px;box-shadow:var(--shadow);font-size:13px;max-width:min(420px,calc(100vw - 36px))}

.invoice-print-box{margin-top:14px;border:1px solid var(--line);background:#f8fafb;border-radius:14px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.invoice-print-box>div:first-child strong{display:block;color:var(--navy-2);font-size:12px}.invoice-print-box>div:first-child span{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.7}.paper-size-switch{display:flex;align-items:center;padding:3px;border:1px solid #cad7de;background:#fff;border-radius:11px;direction:ltr;flex:0 0 auto}.paper-size-btn{min-width:58px;height:34px;border:0;background:transparent;color:var(--muted);font:800 11px Arial,sans-serif;border-radius:8px;cursor:pointer}.paper-size-btn.active{background:var(--navy);color:#fff;box-shadow:0 2px 6px rgba(18,63,93,.18)}.invoice-print-btn{min-width:132px}
@media(max-width:820px){
  body{background:#f4f6f8}.app-shell{padding:10px 12px 34px}.app-header{min-height:58px;margin-bottom:10px;gap:10px}.brand-area{gap:12px}.brand-full{display:none}.brand-mark{display:block}.brand-copy{padding-inline-start:1px}.brand-copy h1{font-size:16px;margin-bottom:2px}.signed-in{font-size:10px;gap:6px}.online-dot{box-shadow:none}.header-actions{gap:6px}.btn{min-height:40px;padding:9px 11px}.add-button{font-size:13px}.icon-btn{width:40px;height:40px}.app-menu{position:fixed;top:68px;left:12px;width:210px}.search-panel{top:7px;padding:9px;border-radius:16px;margin-bottom:10px}.search-input{height:47px;font-size:15px}.search-icon{right:14px}.filter-sort-row{align-items:center;gap:8px;margin-top:8px}.filter-strip{margin-top:0;flex:1}.sort-control span{display:none}.sort-control select{min-width:105px;height:34px;padding:0 7px}.filter-chip{min-height:34px;font-size:12px;padding:6px 9px}.inventory-panel{border:0;background:transparent;box-shadow:none;overflow:visible}.desktop-table-wrap{display:none}.mobile-list{display:flex;flex-direction:column;gap:9px}.mobile-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 4px 15px rgba(20,49,67,.045);cursor:pointer}.mobile-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mobile-title{font-size:15px;font-weight:900;color:var(--navy-2);line-height:1.5}.mobile-code{font-size:11px;color:#7e8d95;margin-top:2px}.mobile-price{text-align:left;white-space:nowrap}.mobile-price .price-main{font-size:16px}.mobile-price .price-date{margin-top:3px}.mobile-card-mid{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-2)}.mobile-card .quick-control{gap:4px}.mobile-card .mini-action{width:36px;height:36px}.mobile-card .stock-number{min-width:28px}.mobile-card.deleted-card{border-color:#efd6d6;background:#fffafa}.empty-state{background:#fff;border:1px solid var(--line);border-radius:16px;padding:50px 20px}.overlay{padding:0;align-items:flex-end}.modal,.modal.wide{width:100%;max-height:94dvh;border-radius:22px 22px 0 0}.modal.product-modal{height:100dvh;max-height:100dvh;border-radius:0}.modal-head{padding:12px 14px}.modal-title h2{font-size:17px}.modal-body{padding:14px}.modal-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex-wrap:wrap}.product-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr;gap:10px}.field.full{grid-column:1/-1}.field textarea{min-height:88px}.media-card{padding:9px}.image-stage{min-height:180px}.image-stage img{max-height:280px}.footer-group{gap:6px}.footer-group .btn{font-size:12px}.users-grid-form{grid-template-columns:1fr}.user-row{grid-template-columns:1fr auto;gap:7px}.user-username,.user-state{grid-column:1}.user-actions{grid-column:2;grid-row:1/4;flex-direction:column}.login-card{padding:20px;border-radius:20px}.login-brand{display:block;text-align:center}.login-brand img{width:135px;margin:0 auto 9px}.toast{bottom:14px;left:12px}.deleted-notice{font-size:11px;margin-bottom:10px}
}
@media(max-width:460px){
  .filter-sort-row{align-items:stretch;flex-direction:column}.filter-strip{width:100%}.sort-control{width:100%;justify-content:flex-start}.sort-control span{display:inline}.sort-control select{flex:1;max-width:180px}.brand-copy h1{font-size:14px}.signed-in{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-button span:not(.plus){display:none}.add-button{width:42px;justify-content:center;padding:0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.mobile-card-top{align-items:center}.mobile-price .price-main{font-size:15px}.mobile-title{font-size:14px}.stock-badge{padding:5px 8px}.file-button{min-width:120px}.modal-footer{align-items:stretch}.modal-footer>.footer-group:last-child{margin-right:auto}.history-item{grid-template-columns:34px 1fr}.history-icon{width:32px;height:32px}
}

@media(max-width:370px){.mobile-card-mid{align-items:flex-start;flex-direction:column}.mobile-card .quick-control{width:100%}.brand-copy h1{font-size:13px}.signed-in{max-width:135px}.filter-chip{font-size:11px}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.app-shell{padding-bottom:calc(34px + env(safe-area-inset-bottom))}}

/* V2.4 — Barcode / QR */
.search-wrap{display:flex;align-items:center;gap:8px}.search-wrap .search-input{flex:1;padding-left:102px}.scan-search-btn{position:absolute;left:7px;top:7px;height:36px;min-width:88px;border:1px solid #c6d9e4;border-radius:10px;background:#edf6fb;color:var(--navy);font:inherit;font-size:12px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:.16s}.scan-search-btn:hover{background:#e4f2f9;border-color:#9fc4d8}.scan-search-btn:active{transform:translateY(1px)}
.barcode-field-row{display:flex;align-items:stretch;gap:8px;margin-top:6px}.barcode-field-row input{margin-top:0;flex:1}.barcode-scan-btn{flex:0 0 auto;min-width:92px;border:1px solid #bcd5e3;border-radius:11px;background:#edf6fb;color:var(--navy);font:inherit;font-weight:900;cursor:pointer;padding:0 12px}.barcode-scan-btn:hover{background:#e2f1f8}.barcode-scan-btn:disabled{opacity:.55;cursor:not-allowed}.optional-label{font-size:10px;color:var(--muted);font-weight:600;margin-right:4px}
.scanner-overlay{position:fixed;inset:0;z-index:90;background:rgba(8,25,36,.72);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:18px}.scanner-sheet{width:min(620px,100%);max-height:94dvh;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.32);display:flex;flex-direction:column}.scanner-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}.scanner-head h2{font-size:18px;color:var(--navy-2);margin:0}.scanner-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.scanner-body{padding:14px 16px 17px;overflow:auto}.barcode-reader{width:100%;min-height:260px;border:1px solid #c9dce7;border-radius:16px;overflow:hidden;background:#0e1c25;display:grid;place-items:center}.barcode-reader video{width:100%!important;max-height:440px;object-fit:cover;border-radius:15px}.scanner-status{font-size:11px;color:var(--muted);text-align:center;padding:8px 2px}.scanner-manual{border-top:1px solid var(--line-2);padding-top:12px;margin-top:5px}.scanner-manual>label{display:block;font-size:11px;font-weight:800;color:#5c707c;margin-bottom:6px}.scanner-manual-row{display:flex;gap:8px}.scanner-manual-row input{flex:1;min-width:0;height:43px;border:1px solid #d2dfe7;border-radius:11px;background:#fbfcfd;padding:0 11px;outline:none;font:inherit}.scanner-manual-row input:focus{border-color:#6ba2c2;box-shadow:0 0 0 4px rgba(31,102,143,.08)}.scanner-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:10px;padding:9px 11px;background:#f6f9fa;border-radius:10px}.barcode-not-found{text-align:center;padding:22px 10px}.barcode-not-found>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#edf6fb;color:var(--navy);font-size:30px;margin:0 auto 12px}.barcode-not-found>strong{display:block;direction:ltr;font-size:16px;color:var(--navy-2);word-break:break-all}.barcode-not-found p{font-size:12px;color:var(--muted);margin:9px 0 0}
@media(max-width:820px){.search-wrap .search-input{padding-left:54px}.scan-search-btn{width:38px;min-width:38px;height:35px;left:6px;top:6px;padding:0;font-size:17px}.scan-search-btn span{display:none}.scanner-overlay{padding:0;align-items:flex-end}.scanner-sheet{width:100%;max-height:96dvh;border-radius:22px 22px 0 0}.barcode-reader{min-height:250px}.scanner-body{padding:12px}.barcode-field-row{gap:6px}.barcode-scan-btn{min-width:80px;padding:0 9px}}
@media(max-width:430px){.scanner-manual-row{flex-direction:column}.scanner-manual-row .btn{width:100%}.barcode-reader{min-height:225px}.barcode-field-row{align-items:stretch}.barcode-scan-btn{min-width:76px;font-size:11px}}


/* V2.5 — purchase prices, invoices, Code128 catalog, desktop PWA */
.purchase-price-field{position:relative}.purchase-price-field .help{margin-top:6px}.internal-code-note{padding:9px 11px;border:1px dashed #c8dbe6;border-radius:11px;background:#f7fbfd;color:#526a78;font-size:11px}.internal-code-note b{color:var(--navy-2);font-size:12px}.section-search{margin-bottom:12px}.section-search.inline{margin:0}.section-search input{width:100%;height:42px;border:1px solid #d2dfe7;border-radius:11px;background:#fbfcfd;padding:0 12px;outline:none}.section-search input:focus{border-color:#6ba2c2;box-shadow:0 0 0 4px rgba(31,102,143,.08);background:#fff}.loading-line{padding:30px;text-align:center;color:var(--muted);font-size:12px}.empty-state.compact{padding:32px 16px;border:0;background:transparent}
.simple-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}.purchase-row{display:grid;grid-template-columns:1fr minmax(330px,.8fr);gap:12px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line-2)}.purchase-row:last-child{border-bottom:0}.purchase-product strong{display:block;color:var(--navy-2);font-size:14px}.purchase-product span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.purchase-edit{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px}.purchase-edit input{height:38px;border:1px solid #d6e1e7;border-radius:10px;padding:0 10px;text-align:left}.purchase-edit>span{font-size:10px;color:var(--muted)}
.invoice-toolbar,.barcode-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.invoice-toolbar .section-search,.barcode-toolbar .section-search{flex:1;max-width:430px}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.summary-cards>div{border:1px solid var(--line);background:#f9fbfc;border-radius:12px;padding:10px 11px}.summary-cards span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.summary-cards strong{display:block;font-size:13px;color:var(--navy-2)}.invoice-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}.invoice-list-item{display:grid;grid-template-columns:1fr auto;align-items:stretch;background:#fff;border-bottom:1px solid var(--line-2)}.invoice-list-item:last-child{border-bottom:0}.invoice-row{width:100%;border:0;background:#fff;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;cursor:pointer}.invoice-row:hover{background:#f7fafc}.invoice-row>div:last-child{text-align:left}.invoice-row strong{display:block;font-size:13px;color:var(--navy-2)}.invoice-row span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.invoice-delete-list{border:0;border-right:1px solid var(--line-2);background:#fff8f8;color:var(--red);padding:0 14px;font-size:11px;font-weight:800;cursor:pointer}.invoice-delete-list:hover{background:#fff0f0}
.sales-report{padding-top:15px}.sales-month-control{position:relative;margin-bottom:12px}.sales-month-nav{display:grid;grid-template-columns:1fr minmax(180px,1.25fr) 1fr;align-items:center;border:1px solid var(--line);background:#f8fafb;border-radius:14px;padding:5px;gap:5px}.sales-month-nav button,.sales-year-nav button,.sales-month-grid button{border:0;cursor:pointer}.sales-month-side{min-height:39px;border-radius:10px!important;background:transparent;color:#5c707c;font-size:11px;font-weight:800}.sales-month-side:hover{background:#eef4f7}.sales-month-side span{font-size:17px;vertical-align:-1px}.sales-month-current{min-height:43px;border-radius:11px!important;background:#fff;color:var(--navy-2);font-size:14px;font-weight:900;box-shadow:0 2px 9px rgba(20,49,67,.08)}.sales-month-current:hover{color:var(--blue)}.sales-month-picker{position:absolute;z-index:10;top:calc(100% + 6px);right:50%;transform:translateX(50%);width:min(420px,100%);border:1px solid #cfdde6;background:#fff;border-radius:14px;padding:10px;box-shadow:var(--shadow)}.sales-year-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:7px;margin-bottom:9px}.sales-year-nav button{height:34px;border-radius:9px;background:#eef4f7;color:var(--navy);font-weight:900}.sales-year-nav strong{text-align:center;color:var(--navy-2);font-size:14px}.sales-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sales-month-grid button{min-height:38px;border-radius:9px;background:#f8fafb;color:#526976;font-size:11px;font-weight:800}.sales-month-grid button:hover{background:#edf5f9;color:var(--navy)}.sales-month-grid button.active{background:var(--navy);color:#fff}.sales-report-cards{margin-bottom:10px}.sales-report-cards>div{min-height:112px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;box-shadow:0 4px 14px rgba(20,49,67,.04)}.sales-report-cards span{font-size:11px;line-height:1.7}.sales-report-cards strong{font-size:17px}.sales-report-cards strong small{font-size:9px;color:var(--muted)}.sales-report-cards .profit-card{border-color:#cce7dc;background:linear-gradient(145deg,#f7fcf9,#edf8f3)}.sales-report-cards .profit-card strong{color:var(--green)}.sales-report-cards .loading-line,.sales-report-cards .report-error{grid-column:1/-1;min-height:86px;display:grid;place-items:center;text-align:center}.sales-report-cards .report-error{color:var(--red);background:var(--red-soft);border-color:#f1d1d1;font-size:12px}.sales-report-note{margin:0;padding:10px 12px;border-radius:11px;background:var(--orange-soft);color:#7c5b22;font-size:10px;line-height:1.8}
.invoice-builder{overflow:visible}.invoice-meta{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:13px}.auto-date{min-width:210px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;background:#f8fafb}.auto-date span{display:block;font-size:10px;color:var(--muted)}.auto-date strong{font-size:12px}.suggestion-field{position:relative}.suggestions{position:absolute;z-index:80;top:calc(100% + 4px);right:0;left:0;background:#fff;border:1px solid #cfdde6;border-radius:12px;box-shadow:var(--shadow);max-height:280px;overflow:auto;padding:5px}.suggestions button{width:100%;border:0;background:#fff;border-radius:9px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:right;cursor:pointer}.suggestions button:hover{background:#f3f8fb}.suggestions button span strong{display:block;font-size:12px}.suggestions button span small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.suggestions button>b{font-size:10px;color:var(--navy);white-space:nowrap}.product-picker{margin-bottom:14px}.invoice-draft{border:1px solid var(--line);border-radius:14px;overflow:hidden}.invoice-empty{padding:32px;text-align:center;color:var(--muted);font-size:12px}.invoice-draft-head,.invoice-draft-row{display:grid;grid-template-columns:minmax(220px,1.4fr) 80px minmax(120px,.7fr) minmax(120px,.7fr) 36px;gap:8px;align-items:center;padding:9px 11px}.invoice-draft-head{background:#f6f9fa;color:var(--muted);font-size:10px;font-weight:800}.invoice-draft-row{border-top:1px solid var(--line-2);font-size:11px}.invoice-draft-row:first-of-type{border-top:0}.invoice-draft-row>div:first-child strong{display:block;font-size:12px;color:var(--navy-2)}.invoice-draft-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.invoice-draft-row input{height:36px;border:1px solid #d6e1e7;border-radius:9px;padding:0 8px;text-align:center}.invoice-remove{width:32px;height:32px;border:1px solid #f0d3d3;background:#fff8f8;color:var(--red);border-radius:9px;cursor:pointer;font-size:18px}.invoice-totals{display:grid;grid-template-columns:minmax(210px,.7fr) 1fr;align-items:end;gap:14px;padding-top:13px}.invoice-discount-field>span:first-child{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:5px}.invoice-discount-input{position:relative;display:block}.invoice-discount-input input{width:100%;height:42px;border:1px solid #d6e1e7;border-radius:11px;background:#fbfcfd;padding:0 10px 0 48px;text-align:left;outline:none}.invoice-discount-input input:focus{border-color:#6ba2c2;box-shadow:0 0 0 4px rgba(31,102,143,.08);background:#fff}.invoice-discount-input small{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:10px}.invoice-grand{display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:14px 4px 0}.invoice-totals .invoice-grand{padding:0}.invoice-grand span{color:var(--muted);font-size:12px}.invoice-grand strong{font-size:19px;color:var(--navy-2)}.invoice-grand.detail{padding:15px 0 0}.invoice-discount-detail{padding-top:11px!important}.invoice-discount-detail strong{font-size:14px;color:var(--red)}.invoice-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:#f8fafb;border-radius:12px;padding:10px 12px;margin-bottom:12px}.invoice-detail-meta span{display:block;color:var(--muted);font-size:9px}.invoice-detail-meta strong{font-size:11px}.invoice-detail-table{border:1px solid var(--line);border-radius:13px;overflow:hidden}.invoice-detail-head,.invoice-detail-row{display:grid;grid-template-columns:1.5fr 80px 130px 130px;gap:8px;align-items:center;padding:9px 11px}.invoice-detail-head{background:#f6f9fa;color:var(--muted);font-size:10px;font-weight:800}.invoice-detail-row{font-size:11px;border-top:1px solid var(--line-2)}.invoice-detail-row strong{font-size:12px}.invoice-detail-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.barcode-catalog{border:1px solid var(--line);border-radius:14px;overflow:hidden}.barcode-row{display:grid;grid-template-columns:1fr minmax(260px,.9fr) auto;gap:13px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line-2)}.barcode-row:last-child{border-bottom:0}.barcode-product strong{display:block;color:var(--navy-2);font-size:13px}.barcode-product span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.barcode-preview{text-align:center;direction:ltr}.barcode-preview svg{display:block;width:100%;height:46px}.barcode-preview b{display:block;font:10px Arial,sans-serif;letter-spacing:.5px;margin-top:2px}.barcode-actions{display:flex;gap:6px;white-space:nowrap}
@media(max-width:820px){.purchase-row{grid-template-columns:1fr}.purchase-edit{grid-template-columns:1fr auto auto}.summary-cards{grid-template-columns:1fr 1fr}.invoice-toolbar,.barcode-toolbar{align-items:stretch;flex-direction:column}.invoice-toolbar .section-search,.barcode-toolbar .section-search{max-width:none;width:100%}.invoice-meta{grid-template-columns:1fr}.auto-date{min-width:0}.invoice-draft-head{display:none}.invoice-draft-row{grid-template-columns:1fr 70px 32px;gap:7px}.invoice-draft-row>div:nth-child(3),.invoice-draft-row>div:nth-child(4){grid-column:1/3}.invoice-draft-row>div:nth-child(3):before{content:"قیمت واحد: ";color:var(--muted)}.invoice-draft-row>div:nth-child(4):before{content:"جمع: ";color:var(--muted)}.invoice-remove{grid-column:3;grid-row:1}.invoice-totals{grid-template-columns:1fr}.invoice-detail-head{display:none}.invoice-detail-row{grid-template-columns:1fr 60px;gap:6px}.invoice-detail-row>div:nth-child(3),.invoice-detail-row>div:nth-child(4){grid-column:1/3}.invoice-detail-row>div:nth-child(3):before{content:"قیمت واحد: ";color:var(--muted)}.invoice-detail-row>div:nth-child(4):before{content:"جمع: ";color:var(--muted)}.barcode-row{grid-template-columns:1fr}.barcode-actions{justify-content:flex-start}.barcode-preview{max-width:420px}.invoice-grand{justify-content:space-between}.invoice-detail-meta{align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.summary-cards{grid-template-columns:1fr}.sales-month-nav{grid-template-columns:1fr minmax(125px,1.25fr) 1fr}.sales-month-side{font-size:10px}.sales-month-current{font-size:12px}.sales-month-picker{right:0;transform:none;width:100%}.sales-month-grid{grid-template-columns:repeat(3,1fr)}.sales-report-cards>div{min-height:94px}.purchase-edit{grid-template-columns:1fr auto}.purchase-edit .small-btn{grid-column:1/3}.invoice-list-item{grid-template-columns:1fr}.invoice-delete-list{border-right:0;border-top:1px solid var(--line-2);padding:9px 12px;text-align:center}.invoice-row{align-items:flex-start;flex-direction:column}.invoice-row>div:last-child{text-align:right}.barcode-toolbar .btn{width:100%}.invoice-grand strong{font-size:16px}}

@media(max-width:620px){.invoice-print-box{align-items:stretch;flex-direction:column}.paper-size-switch{width:100%}.paper-size-btn{flex:1}.invoice-print-btn{width:100%}}
