*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#f2f2f7;--surface:#fff;--text:#1c1c1e;--text-secondary:#8e8e93;--text-tertiary:#c7c7cc;--accent:#007aff;--accent-light:rgba(0,122,255,.08);--border:#c6c6c8;--border-light:#e5e5ea;--separator:rgba(60,60,67,.06);--green:#34c759;--green-bg:rgba(52,199,89,.1);--red:#ff3b30;--red-bg:rgba(255,59,48,.1);--radius:14px;--radius-sm:10px;--radius-xs:8px;--shadow:0 1px 3px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.04);--shadow-lg:0 8px 32px rgba(0,0,0,.12);--transition:0.2s cubic-bezier(0.25,0.1,0.25,1);--safe-bottom:env(safe-area-inset-bottom,0px)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,system-ui,sans-serif;color:var(--text);line-height:1.47;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.screen,body{background:var(--bg);height:100dvh}.screen{display:flex;flex-direction:column;max-width:480px;margin:0 auto;position:relative}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:rgba(242,242,247,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid var(--separator);position:-webkit-sticky;position:sticky;top:0;z-index:100;min-height:56px}.top-bar-title{font-size:17px;font-weight:700;letter-spacing:-.3px;text-align:center}.btn-back,.top-bar-spacer{width:40px}.btn-back{display:flex;align-items:center;justify-content:center;height:40px;background:none;border:none;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;transition:background var(--transition)}.btn-back:active{background:var(--accent-light)}.screen-content{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:20px;padding-bottom:calc(80px + var(--safe-bottom));-webkit-overflow-scrolling:touch}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;background:hsla(0,0%,100%,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:.5px solid var(--separator);padding:8px 0 calc(8px + var(--safe-bottom));z-index:100}.nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;background:none;border:none;cursor:pointer;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;transition:color var(--transition)}.nav-item.active{color:var(--accent)}.nav-item span{font-size:10px;font-weight:600;letter-spacing:.1px}.summary-bar{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:20px}.summary-item{background:var(--surface);border-radius:var(--radius-sm);padding:14px 12px;box-shadow:var(--shadow)}.summary-item.highlight{background:var(--text);color:#fff;grid-column:1/-1}.summary-item.highlight .summary-label{color:hsla(0,0%,100%,.6)}.summary-item.highlight .summary-value{font-size:20px}.summary-label{display:block;font-size:10px;color:var(--text-secondary);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.summary-value{display:block;font-size:17px;font-weight:700;letter-spacing:-.3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:13px 20px;background:var(--accent);color:#fff;border:none;border-radius:980px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.btn-add:active{transform:scale(.97);opacity:.9}.product-list{display:flex;flex-direction:column;gap:10px}.product-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.product-top{display:flex;gap:12px;padding:14px}.product-image{width:64px;height:64px;border-radius:var(--radius-xs);overflow:hidden;background:var(--bg);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.product-image img{width:100%;height:100%;object-fit:cover}.placeholder-icon{align-items:center;color:var(--text-tertiary)}.placeholder-icon,.product-details{display:flex;justify-content:center}.product-details{flex:1 1;min-width:0;flex-direction:column}.product-name{font-size:15px;font-weight:600;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.2px}.price-info{display:flex;flex-direction:column;gap:1px}.price-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:1px 0}.price-row .label{color:var(--text-secondary)}.price-row .value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-row.profit .value{color:var(--green)}.price-row.loss .value{color:var(--red)}.price-row.total-profit{margin-top:3px;padding-top:4px;border-top:.5px solid var(--border-light)}.price-row.total-profit .label{font-weight:500;color:var(--text)}.price-row.total-profit .value{font-weight:700;font-size:13px}.product-bottom{justify-content:space-between;padding:10px 14px;border-top:.5px solid var(--separator);background:rgba(245,245,247,.5)}.product-bottom,.qty-controls{display:flex;align-items:center}.qty-controls{gap:0;background:var(--surface);border-radius:980px;border:.5px solid var(--border-light);padding:3px}.qty-btn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:all .12s ease;color:var(--text)}.qty-btn:active{background:var(--bg);transform:scale(.88)}.qty-btn.sm{width:24px;height:24px}.qty-value{font-size:14px;font-weight:700;min-width:28px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-actions{display:flex;gap:2px}.btn-action{width:34px;height:34px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:all .12s ease}.btn-action:active{transform:scale(.85)}.btn-action.edit{color:var(--accent)}.btn-action.edit:active{background:var(--accent-light)}.btn-action.delete{color:var(--red)}.btn-action.delete:active{background:var(--red-bg)}.empty-state{text-align:center;padding:56px 20px;color:var(--text-secondary)}.empty-state.small{padding:32px 20px}.empty-icon{width:48px;height:48px;margin:0 auto 12px;background:var(--surface);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);box-shadow:var(--shadow)}.empty-state p{font-size:14px}.search-bar{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:20px;box-shadow:var(--shadow);color:var(--text-secondary)}.search-bar input{flex:1 1;border:none;background:none;font-size:15px;color:var(--text);outline:none}.search-bar input::placeholder{color:var(--text-tertiary)}.sell-section{margin-bottom:24px}.sell-section-title{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-left:4px}.sell-product-list{display:flex;flex-direction:column;gap:8px}.sell-item{gap:12px;background:var(--surface);border-radius:var(--radius-sm);padding:12px;box-shadow:var(--shadow)}.sell-item,.sell-item-image{display:flex;align-items:center}.sell-item-image{width:44px;height:44px;border-radius:var(--radius-xs);overflow:hidden;background:var(--bg);flex-shrink:0;justify-content:center}.sell-item-image img{width:100%;height:100%;object-fit:cover}.sell-item-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.sell-item-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sell-item-price{font-size:13px;font-weight:500;color:var(--text)}.sell-item-stock{font-size:11px;color:var(--text-secondary)}.btn-sell-add{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:all .15s ease;flex-shrink:0}.btn-sell-add.added{background:var(--green)}.btn-sell-add:disabled{background:var(--text-tertiary);cursor:not-allowed}.btn-sell-add:active:not(:disabled){transform:scale(.88)}.cart-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.cart-item{background:var(--surface);border-radius:var(--radius-sm);padding:12px;box-shadow:var(--shadow)}.cart-item-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cart-item-name{font-size:14px;font-weight:600}.cart-item-price{font-size:12px;color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cart-item-controls{display:flex;align-items:center;gap:8px}.cart-qty{font-size:14px;font-weight:700;min-width:20px;text-align:center}.btn-cart-remove{width:28px;height:28px;border-radius:50%;border:none;background:var(--red-bg);color:var(--red);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto;-webkit-tap-highlight-color:transparent}.btn-cart-remove:active{transform:scale(.88)}.cart-summary{background:var(--surface);border-radius:var(--radius-sm);padding:14px;margin-bottom:14px;box-shadow:var(--shadow)}.cart-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:4px 0;color:var(--text-secondary)}.cart-summary-row.profit{color:var(--green);font-weight:600}.cart-summary-value{font-weight:700;font-size:16px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cart-summary-row.profit .cart-summary-value{color:var(--green)}.btn-complete-sale{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--green);color:#fff;border:none;border-radius:980px;font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition)}.btn-complete-sale:active{transform:scale(.97);opacity:.9}.sell-item-qty{gap:4px;background:var(--accent-light);padding:3px}.floating-cart,.sell-item-qty{display:flex;align-items:center;border-radius:980px}.floating-cart{position:fixed;bottom:calc(72px + var(--safe-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:440px;background:var(--text);color:#fff;padding:14px 20px;justify-content:space-between;box-shadow:0 8px 32px rgba(0,0,0,.25);cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:50;transition:all var(--transition);animation:slideUpCart .3s ease}@keyframes slideUpCart{0%{transform:translateX(-50%) translateY(100%);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.floating-cart:active{transform:translateX(-50%) scale(.97)}.floating-cart-left{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.floating-cart-right{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.checkout-screen{display:flex;flex-direction:column;gap:16px}.checkout-header{display:flex;align-items:center;gap:12px;margin-bottom:4px}.btn-back-checkout{display:flex;align-items:center;gap:2px;background:none;border:none;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;padding:6px 4px;-webkit-tap-highlight-color:transparent}.btn-back-checkout:active{opacity:.6}.checkout-title{font-size:17px;font-weight:700}.checkout-items{display:flex;flex-direction:column;gap:10px}.checkout-item{background:var(--surface);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow)}.checkout-item-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.checkout-item-image{width:40px;height:40px;border-radius:var(--radius-xs);overflow:hidden;background:var(--bg);flex-shrink:0;display:flex;align-items:center;justify-content:center}.checkout-item-image img{width:100%;height:100%;object-fit:cover}.checkout-item-info{flex:1 1;min-width:0}.checkout-item-name{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkout-item-price{display:block;font-size:12px;color:var(--text-secondary);margin-top:1px}.checkout-item-total{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.checkout-item-bottom{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:.5px solid var(--separator)}.checkout-item-profit{font-size:12px;font-weight:600;margin-left:auto}.checkout-item-profit.profit{color:var(--green)}.checkout-item-profit.loss{color:var(--red)}.checkout-summary{background:var(--surface);border-radius:var(--radius);padding:18px 16px;box-shadow:var(--shadow)}.checkout-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary);padding:5px 0}.checkout-summary-row span:last-child{font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.checkout-summary-row.large{font-size:16px;color:var(--text);font-weight:600}.checkout-summary-row.large span:last-child{font-size:18px;font-weight:800}.checkout-summary-row.profit{color:var(--green)}.checkout-summary-row.profit span:last-child{color:var(--green);font-weight:700}.checkout-summary-divider{height:.5px;background:var(--separator);margin:10px 0}.image-gallery{margin-bottom:24px}.image-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.image-scroll::-webkit-scrollbar{display:none}.image-thumb{position:relative;width:100px;height:100px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;box-shadow:var(--shadow)}.image-thumb img{width:100%;height:100%;object-fit:cover}.btn-remove-image{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn-remove-image:active{transform:scale(.88)}.image-add-btn{width:100px;height:100px;border-radius:var(--radius-sm);border:2px dashed var(--border-light);background:var(--surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:var(--text-tertiary);transition:all var(--transition)}.image-add-btn:active{background:var(--bg);border-color:var(--accent);color:var(--accent)}.image-upload-area{width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:2px dashed var(--border-light);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow);cursor:pointer;transition:all var(--transition)}.image-upload-area:active{border-color:var(--accent)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-tertiary)}.upload-placeholder p{font-size:13px;font-weight:500}.url-input-row{display:flex;gap:8px}.url-input-row input{flex:1 1;padding:12px 14px;border:.5px solid var(--border-light);border-radius:var(--radius-sm);font-size:16px;background:var(--surface);transition:all var(--transition);-webkit-appearance:none;color:var(--text);box-shadow:var(--shadow)}.url-input-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,122,255,.12)}.url-input-row input::placeholder{color:var(--text-tertiary)}.btn-url-add{width:44px;height:44px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:all var(--transition)}.btn-url-add:active{transform:scale(.92);opacity:.9}.image-count{position:absolute;bottom:3px;right:3px;background:rgba(0,0,0,.6);color:#fff;font-size:9px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.product-form{display:flex;flex-direction:column}.form-section{margin-bottom:20px}.form-section-title{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-left:4px}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:5px;padding-left:4px}.form-group input[type=number],.form-group input[type=text]{width:100%;padding:12px 14px;border:.5px solid var(--border-light);border-radius:var(--radius-sm);font-size:16px;background:var(--surface);transition:all var(--transition);-webkit-appearance:none;color:var(--text);box-shadow:var(--shadow)}.form-group input::placeholder{color:var(--text-tertiary)}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,122,255,.12)}.form-group input[type=file]{font-size:13px;color:var(--text-secondary);padding:8px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.form-row .form-group{margin-bottom:0}.profit-card{background:var(--green-bg);border:1px solid rgba(52,199,89,.2);border-radius:var(--radius);padding:20px 16px;text-align:center;margin:8px 0 24px}.profit-card.loss{background:var(--red-bg);border-color:rgba(255,59,48,.2)}.profit-card-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.profit-card-value{font-size:28px;font-weight:800;color:var(--green);letter-spacing:-.8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.profit-card.loss .profit-card-value{color:var(--red)}.profit-card-total{font-size:13px;color:var(--text-secondary);margin-top:6px;font-weight:500}.btn-submit{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:980px;font-size:16px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition)}.btn-submit:active{transform:scale(.97);opacity:.9}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1000;align-items:center;justify-content:center;padding:24px}.modal-overlay.active{display:flex}.modal{background:var(--surface);border-radius:16px;width:100%;max-width:280px;padding:24px 20px 20px;box-shadow:var(--shadow-lg);animation:modalIn .2s ease;text-align:center}@keyframes modalIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.modal-icon{width:44px;height:44px;margin:0 auto 14px;background:var(--red-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--red)}.modal h2{font-size:16px;font-weight:700;margin-bottom:6px}.modal p{color:var(--text-secondary);font-size:13px;margin-bottom:18px;line-height:1.4}.modal-actions{display:flex;gap:8px}.btn-cancel,.btn-delete-confirm{flex:1 1;padding:11px 14px;border:none;border-radius:980px;font-size:14px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition)}.btn-cancel{background:var(--bg);color:var(--text)}.btn-cancel:active{background:var(--border-light)}.btn-delete-confirm{background:var(--red);color:#fff}.btn-delete-confirm:active{opacity:.85}@media (min-width:768px){.screen{border-left:.5px solid var(--separator);border-right:.5px solid var(--separator)}.bottom-nav,.screen{max-width:480px}}.invoice-screen{display:flex;flex-direction:column;gap:20px}.invoice-card{background:var(--surface);border-radius:var(--radius);padding:24px 18px;box-shadow:var(--shadow)}.invoice-header-section{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed var(--border-light)}.invoice-icon{width:48px;height:48px;margin:0 auto 10px;background:var(--accent-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent)}.invoice-header-section h2{font-size:18px;font-weight:700;margin-bottom:4px}.invoice-date{font-size:12px;color:var(--text-secondary)}.invoice-items{margin-bottom:16px}.invoice-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:.5px solid var(--separator)}.invoice-item:last-child{border-bottom:none}.invoice-item-left{display:flex;flex-direction:column;gap:2px}.invoice-item-name{font-size:14px;font-weight:600}.invoice-item-detail{font-size:12px;color:var(--text-secondary)}.invoice-item-amount{font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.invoice-totals{padding-top:16px;border-top:1px dashed var(--border-light)}.invoice-total-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary);padding:4px 0}.invoice-total-row span:last-child{font-weight:600;color:var(--text)}.invoice-total-row.large{font-size:17px;color:var(--text);font-weight:700;padding:8px 0}.invoice-total-row.large span:last-child{font-size:20px;font-weight:800}.invoice-total-row.profit{color:var(--green)}.invoice-total-row.profit span:last-child{color:var(--green);font-weight:700}.invoice-actions{display:flex;flex-direction:column;gap:10px}.btn-confirm-sale{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;background:var(--green);color:#fff;border:none;border-radius:980px;font-size:16px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition)}.btn-confirm-sale:active{transform:scale(.97);opacity:.9}.btn-cancel-sale{width:100%;padding:14px;background:var(--bg);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:980px;font-size:15px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition)}.btn-cancel-sale:active{background:var(--border-light)}.sales-list{display:flex;flex-direction:column;gap:10px}.sale-card{background:var(--surface);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow)}.sale-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sale-card-date{font-size:11px;color:var(--text-secondary);font-weight:500}.sale-card-amount{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sale-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sale-card-items{font-size:12px;color:var(--text-secondary)}.sale-card-profit{font-size:13px;font-weight:600;color:var(--green)}.sale-card-detail{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:.5px solid var(--separator)}.sale-card-item-name{font-size:11px;background:var(--bg);padding:3px 8px;border-radius:980px;color:var(--text-secondary);font-weight:500}.detail-images{margin:-20px -20px 20px}.image-scroll.large{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.image-scroll.large::-webkit-scrollbar{display:none}.detail-image-item{width:100%;min-width:280px;aspect-ratio:4/3;flex-shrink:0}.detail-image-item img{width:100%;height:100%;object-fit:cover}.detail-no-image{width:100%;height:160px;background:var(--surface);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);margin-bottom:20px}.detail-info{display:flex;flex-direction:column;gap:16px}.detail-name{font-size:22px;font-weight:700;letter-spacing:-.5px}.detail-prices{background:var(--surface);border-radius:var(--radius-sm);padding:16px;box-shadow:var(--shadow)}.detail-price-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:.5px solid var(--separator)}.detail-price-item:last-child{border-bottom:none}.detail-price-label{font-size:14px;color:var(--text-secondary)}.detail-price-value{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-price-value.green{color:var(--green)}.detail-price-value.red{color:var(--red)}.detail-qty-section{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow)}.detail-qty-label{font-size:14px;font-weight:500}.detail-total-profit{display:flex;justify-content:space-between;align-items:center;background:var(--green-bg);border-radius:var(--radius-sm);padding:16px;font-size:15px;font-weight:600;color:var(--green)}.detail-total-profit.loss{background:var(--red-bg);color:var(--red)}.detail-actions{display:flex;gap:10px}.btn-detail-delete,.btn-detail-edit{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;padding:13px;border:none;border-radius:980px;font-size:14px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn-detail-edit{background:var(--accent);color:#fff}.btn-detail-delete{background:var(--red-bg);color:var(--red);border:1px solid rgba(255,59,48,.2)}.product-card{cursor:pointer}.product-card .product-bottom{display:none}.product-qty-badge{display:inline-block;font-size:11px;font-weight:600;background:var(--bg);padding:3px 8px;border-radius:980px;color:var(--text-secondary);margin-top:4px;width:-moz-fit-content;width:fit-content}.invoice-logo-img{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;object-fit:cover;display:block}.invoice-customer-name{font-size:14px;color:var(--text);font-weight:600;margin-top:8px}.invoice-footer{text-align:center;color:var(--text-tertiary);margin-top:16px;padding-top:12px;letter-spacing:.3px}.invoice-footer,.sale-card-buyer{font-size:11px;border-top:.5px solid var(--separator)}.sale-card-buyer{color:var(--text-secondary);margin-top:6px;padding-top:6px}.sale-card{cursor:pointer;transition:all var(--transition)}.sale-card:active{transform:scale(.98)}.sale-detail-header{margin-bottom:16px}.sale-detail-date{font-size:14px;color:var(--text-secondary);font-weight:500}.sale-detail-customer{font-size:15px;font-weight:600;margin-top:4px}.sale-detail-items{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.sale-detail-item{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:var(--radius-sm);padding:12px;box-shadow:var(--shadow)}.sale-detail-item-image{width:44px;height:44px;border-radius:var(--radius-xs);overflow:hidden;background:var(--bg);flex-shrink:0;display:flex;align-items:center;justify-content:center}.sale-detail-item-image img{width:100%;height:100%;object-fit:cover}.sale-detail-item-info{flex:1 1;min-width:0}.sale-detail-item-name{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sale-detail-item-meta{display:block;font-size:12px;color:var(--text-secondary);margin-top:2px}.sale-detail-item-total{font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.sale-detail-summary{background:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.sale-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary);padding:5px 0}.sale-detail-row span:last-child{font-weight:600;color:var(--text)}.sale-detail-row.large{font-size:17px;color:var(--text);font-weight:700;padding:8px 0}.sale-detail-row.large span:last-child{font-size:20px;font-weight:800}.sale-detail-row.profit{color:var(--green)}.sale-detail-row.profit span:last-child{color:var(--green);font-weight:700}.summary-value.green{color:var(--green)}.summary-value.red{color:var(--red)}.detail-totals-card{background:var(--surface);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow)}.detail-totals-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:14px;color:var(--text-secondary);border-bottom:.5px solid var(--separator)}.detail-totals-row:last-child{border-bottom:none}.detail-totals-row span:last-child{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-totals-row span.green{color:var(--green)}.detail-totals-row span.red{color:var(--red)}.detail-totals-row.total{padding-top:10px;margin-top:4px;border-top:1px solid var(--border-light);border-bottom:none;font-size:16px;font-weight:700;color:var(--text)}.detail-totals-row.total span:last-child{font-size:18px;font-weight:800}.detail-price-item.highlight-row{background:var(--bg);margin:4px -16px -4px;padding:10px 16px;border-radius:0 0 var(--radius-sm) var(--radius-sm);border-bottom:none}.profit-breakdown{margin-bottom:0}.profit-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;color:var(--text-secondary)}.profit-breakdown-row span:last-child{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.profit-breakdown-row span.green{color:var(--green)}.profit-breakdown-row span.red{color:var(--red)}.profit-breakdown-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0 4px;margin-top:6px;border-top:1px solid rgba(0,0,0,.06);font-size:16px;font-weight:700;color:var(--green)}.profit-card.loss .profit-breakdown-total{color:var(--red)}.profit-breakdown-total span:last-child{font-size:18px;font-weight:800}.profit-breakdown-grand{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border-light)}.profit-breakdown-grand .profit-breakdown-row{font-size:12px}.profit-breakdown-grand .profit-breakdown-total{font-size:15px}.profit-breakdown-grand .profit-breakdown-total span:last-child{font-size:17px}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:320px;text-align:center}.login-logo{width:72px;height:72px;border-radius:50%;object-fit:cover;margin:0 auto 16px;display:block;box-shadow:var(--shadow)}.login-card h1{font-size:24px;font-weight:700;letter-spacing:1px;margin-bottom:4px}.login-card p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card input{width:100%;padding:14px 16px;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:16px;background:var(--surface);text-align:center;-webkit-appearance:none}.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,122,255,.12)}.login-card button{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:980px;font-size:16px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.login-card button:disabled{opacity:.6}.login-error{font-size:13px;color:var(--red);font-weight:500}.sale-card-breakdown{display:flex;gap:8px;align-items:center}.sale-card-extra{font-size:11px;font-weight:600;color:var(--green)}.sale-card-discount{font-size:11px;font-weight:600;color:var(--red)}.sale-detail-row.total-net{font-size:15px;font-weight:700;color:var(--green);padding-top:8px;margin-top:4px;border-top:1px solid var(--border-light)}.sale-detail-row.total-net span:last-child{font-weight:800;color:var(--green)}.sale-detail-row span.green{color:var(--green)}.sale-detail-row span.red{color:var(--red)}