:root,[data-theme=light]{--bg-app: #f2f0f0;--bg-surface: #fafbfe;--bg-surface-2: #f4f6fb;--bg-surface-3: #eaecf5;--bg-hover: #eaecf5;--bg-active: #fff4f4;--text-primary: #111428;--text-secondary: #484d66;--text-tertiary: #8b91ad;--text-muted: #8b91ad;--text-inverse: #ffffff;--text-brand: #961712;--text-on-brand: #ffffff;--border-subtle: #e0e3ef;--border-default: #d4d8ea;--border-strong: #b8bdd4;--border-brand: #b01a14;--brand-primary: #961712;--brand-primary-hover: #7a100d;--brand-primary-active:#5e0c0a;--brand-subtle: #fff4f4;--brand-light: #fee1e0;--brand-muted: #fcb8b5;--interactive-primary: #961712;--interactive-primary-hover: #7a100d;--interactive-primary-active: #5e0c0a;--interactive-disabled-bg: #eaecf5;--interactive-disabled-text: #8b91ad;--color-success: #059669;--color-success-bg: #d1fae5;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-info: #0891b2;--color-info-bg: #cffafe;--color-danger-light: #fee2e2;--shadow-xs: 0 1px 2px 0 rgba(17, 20, 40, .05);--shadow-sm: 0 1px 4px 0 rgba(17, 20, 40, .09), 0 1px 2px -1px rgba(17, 20, 40, .05);--shadow-md: 0 4px 8px -2px rgba(17, 20, 40, .11), 0 2px 4px -2px rgba(17, 20, 40, .07);--shadow-lg: 0 10px 18px -4px rgba(17, 20, 40, .13), 0 4px 8px -4px rgba(17, 20, 40, .09);--shadow-xl: 0 20px 28px -6px rgba(17, 20, 40, .15), 0 8px 12px -6px rgba(17, 20, 40, .11);--shadow-brand-sm: 0 1px 3px rgba(150, 23, 18, .25), 0 1px 2px rgba(150, 23, 18, .15);--shadow-brand-md: 0 4px 10px rgba(150, 23, 18, .3), 0 1px 3px rgba(150, 23, 18, .18);--focus-ring: 0 0 0 3px #fcb8b5;--nav-item-color: #484d66;--nav-item-hover-bg: #eaecf5;--nav-item-active-bg: #fff4f4;--nav-item-active-color: #961712;--input-bg: #ffffff;--input-border: #d4d8ea;--input-focus-border: #b01a14;--input-placeholder: #8b91ad;--table-header-bg: #f4f6fb;--table-row-hover: #f4f6fb;--table-border: #e0e3ef;--table-stripe: #fafbfe;--sidebar-bg: #961712;--sidebar-border-color: rgba(255,255,255,.09)}.sidebar{--nav-item-color: rgba(255,255,255,.72);--nav-item-hover-bg: rgba(255,255,255,.08);--nav-item-active-bg: rgba(255,255,255,.15);--nav-item-active-color: #ffffff;--text-tertiary: rgba(255,255,255,.42);--text-primary: rgba(255,255,255,.92);--border-subtle: rgba(255,255,255,.09);--bg-hover: rgba(255,255,255,.07);--brand-primary: rgba(255,255,255,.88);--brand-primary-hover: #ffffff}[data-theme=dark]{--bg-app: #0d1117;--bg-surface: #161b22;--bg-surface-2: #1c2128;--bg-surface-3: #22272e;--bg-hover: #1c2128;--bg-active: rgba(150,23,18,.14);--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #6e7681;--text-muted: #6e7681;--text-inverse: #0d1117;--text-brand: #f07f7b;--text-on-brand: #fff;--border-subtle: #21262d;--border-default: #30363d;--border-strong: #484f58;--border-brand: #c44440;--brand-primary: #c44440;--brand-primary-hover: #f07f7b;--brand-primary-active: #b01a14;--brand-subtle: rgba(150,23,18,.14);--brand-light: rgba(150,23,18,.22);--brand-muted: rgba(150,23,18,.3);--interactive-primary: #c44440;--interactive-primary-hover: #f07f7b;--interactive-primary-active: #b01a14;--interactive-disabled-bg: #21262d;--interactive-disabled-text: #484f58;--color-success: #3fb950;--color-success-bg: rgba(63,185,80,.12);--color-warning: #d29922;--color-warning-bg: rgba(210,153,34,.12);--color-danger: #f85149;--color-danger-bg: rgba(248,81,73,.12);--color-info: #58a6ff;--color-info-bg: rgba(88,166,255,.12);--color-danger-light: rgba(248,81,73,.12);--shadow-xs: 0 1px 2px 0 rgba(0,0,0,.4);--shadow-sm: 0 1px 3px 0 rgba(0,0,0,.5);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.5);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.5);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.6);--shadow-brand-sm: 0 1px 3px rgba(150,23,18,.3);--shadow-brand-md: 0 4px 10px rgba(150,23,18,.35);--focus-ring: 0 0 0 3px rgba(150,23,18,.38);--nav-item-color: #8b949e;--nav-item-hover-bg: #1c2128;--nav-item-active-bg: rgba(150,23,18,.18);--nav-item-active-color: #f07f7b;--input-bg: #1c2128;--input-border: #30363d;--input-focus-border: #c44440;--input-placeholder: #6e7681;--table-header-bg: #1c2128;--table-row-hover: #1c2128;--table-border: #21262d;--table-stripe: #161b22;--sidebar-bg: #5c0d0b;--sidebar-border-color: rgba(255,255,255,.07)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .25s ease,color .25s ease;min-height:100vh;line-height:1.5}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}a{color:var(--text-brand);text-decoration:none;transition:color .15s ease,opacity .15s ease}a:hover{color:var(--brand-primary-hover);text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--border-brand)}::selection{background:var(--brand-light);color:var(--brand-primary-active)}.erp-page{padding:20px 24px;display:flex;flex-direction:column;gap:20px;min-height:100%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:32px}.page-header__info{display:flex;flex-direction:column;gap:4px}.page-header__title{font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.015em;line-height:1.3}.page-header__subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.text-brand{color:var(--brand-primary)!important}.text-muted{color:var(--text-tertiary)!important}.text-success{color:var(--color-success)!important}.text-danger{color:var(--color-danger)!important}.text-warning{color:var(--color-warning)!important}.erp-divider{border:none;border-top:1px solid var(--border-subtle);margin:0}.form-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);border-radius:8px;font-size:12px;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:680px){.form-grid{grid-template-columns:1fr}}.form-grid .span2{grid-column:1/-1}.form-grid--3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.form-grid--3{grid-template-columns:1fr 1fr}}@media(max-width:680px){.form-grid--3{grid-template-columns:1fr}}.form-grid--3 .span2{grid-column:span 2}.form-grid--3 .span3{grid-column:1/-1}.pf-dyn{display:flex;flex-direction:column;gap:8px}.pf-dyn-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.pf-dyn-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.pf-dyn-row{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:8px;flex-wrap:wrap}.pf-dyn-cell{display:flex;flex-direction:column;gap:4px;flex:1;min-width:100px}.pf-dyn-cell-label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pf-dyn-input,.pf-dyn-select{height:34px;padding:0 10px;border:1.5px solid var(--border-default);border-radius:4px;background:var(--input-bg);font-size:12px;color:var(--text-primary);width:100%;box-sizing:border-box;transition:border-color .15s ease}.pf-dyn-input:focus,.pf-dyn-select:focus{outline:none;border-color:var(--border-brand);box-shadow:var(--focus-ring)}.pf-dyn-input::placeholder,.pf-dyn-select::placeholder{color:var(--text-tertiary)}.pf-dyn-input[type=number]{text-align:right}.pf-dyn-select{cursor:pointer}.pf-dyn-check-cell{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 52px}.pf-add-btn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border-radius:8px;border:1.5px dashed var(--border-default);background:transparent;color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;align-self:flex-start}.pf-add-btn:hover{border-color:var(--border-brand);color:var(--brand-primary);background:var(--brand-subtle)}.pf-remove-btn{width:28px;height:28px;flex-shrink:0;align-self:flex-end;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.pf-remove-btn:hover{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-bg)}.pf-empty-rows{text-align:center;padding:16px;border:1.5px dashed var(--border-subtle);border-radius:8px;font-size:12px;color:var(--text-tertiary)}.form-grid--4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}@media(max-width:1100px){.form-grid--4{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.form-grid--4{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.form-grid--4{grid-template-columns:1fr}}.form-grid--4 .span2{grid-column:span 2}.form-grid--4 .span3{grid-column:span 3}.form-grid--4 .span4{grid-column:1/-1}.seg-ctrl{display:flex;border:1px solid var(--border-default);border-radius:8px;overflow:hidden;height:36px}.seg-ctrl__btn{flex:1;border:none;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap;padding:0 10px}.seg-ctrl__btn:not(:first-child){border-left:1px solid var(--border-default)}.seg-ctrl__btn--active{background:var(--brand-primary, #961712);color:#fff;font-weight:600}.bill-summary{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:0}.bill-summary__row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;gap:16px}.bill-summary__row--sep{border-top:1px solid var(--border-subtle);margin-top:6px;padding-top:10px}.bill-summary__label{font-size:12px;color:var(--text-secondary);flex:1}.bill-summary__value{font-size:12px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.bill-summary__label--grand{font-size:14px;font-weight:700;color:var(--text-primary)}.bill-summary__value--grand{font-size:16px;font-weight:700;color:var(--brand-primary, #961712)}.bill-summary__label--bal{color:var(--color-warning, #d97706);font-weight:600}.bill-summary__value--bal{color:var(--color-warning, #d97706);font-weight:700}.bill-summary__value--neg{color:var(--color-danger, #dc2626)}.bill-summary__value--pos{color:var(--color-success, #059669)}.pay-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:8px}.pay-row__select{flex:0 0 100px;height:32px;padding:0 6px;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface);font-size:12px;color:var(--text-primary);cursor:pointer}.pay-row__select:focus{outline:none;border-color:var(--border-brand)}.pay-row__input{flex:1;height:32px;padding:0 8px;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface);font-size:12px;color:var(--text-primary);box-sizing:border-box;min-width:0}.pay-row__input:focus{outline:none;border-color:var(--border-brand)}.pay-row__input::placeholder{color:var(--text-tertiary)}.pay-row__input--num{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 110px}.pay-row__del{width:28px;height:28px;flex-shrink:0;border-radius:4px;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .15s ease}.pay-row__del:hover{color:var(--color-danger);background:var(--color-danger-bg)}.pf-toggle-wrap{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:2px}.pf-toggle-check{width:15px;height:15px;accent-color:var(--brand-primary);cursor:pointer;flex-shrink:0}.qr-print-sheet{display:flex;flex-wrap:wrap;gap:2mm}.qr-label{display:flex;flex-direction:column;padding:1.2mm 1.8mm;box-sizing:border-box;overflow:hidden;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;border:1px dashed var(--border-default)}.qr-label__firm{flex:0 0 auto;max-width:100%;font-size:calc(2.5mm * var(--label-scale, 1));font-weight:700;line-height:1.25;letter-spacing:.25mm;text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:.9mm;margin-bottom:1.1mm;border-bottom:.25mm solid #000}.qr-label__body{display:flex;align-items:center;gap:2mm;flex:1 1 auto;min-height:0}.qr-label__qr{flex:0 0 auto;image-rendering:pixelated}.qr-label__text{display:flex;flex-direction:column;justify-content:safe center;gap:.7mm;flex:1 1 auto;align-self:stretch;min-width:0}.qr-label__line{display:flex;align-items:baseline;gap:1mm;min-width:0;font-size:calc(2.4mm * var(--label-scale, 1));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-label__line--name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;font-size:calc(2.8mm * var(--label-scale, 1));font-weight:700;line-height:1.15;letter-spacing:-.02mm}.qr-label__line--supplierCode,.qr-label__line--itemNumber{font-family:ui-monospace,Courier New,monospace;font-size:calc(2.5mm * var(--label-scale, 1));font-weight:700;letter-spacing:.1mm}.qr-label__line--retail,.qr-label__line--wholesale{margin-top:.3mm;font-size:calc(3.2mm * var(--label-scale, 1));font-weight:700}.qr-label__line--wholesale{font-size:calc(2.7mm * var(--label-scale, 1))}.qr-label__name{flex:0 0 auto;font-size:calc(2.1mm * var(--label-scale, 1));font-weight:600;letter-spacing:.08mm;text-transform:uppercase;color:#555}.qr-label__value{min-width:0;overflow:hidden;text-overflow:ellipsis}@media print{body *{visibility:hidden!important}.qr-print-sheet,.qr-print-sheet *{visibility:visible!important}.qr-print-sheet{position:absolute;inset:0 auto auto 0;gap:0;background:#fff}.qr-label{border:none;break-inside:avoid}@page{margin:4mm}}
