@layer base{:root{color:#18241d;background:#f4f7f1;--motion-feedback: .12s;--motion-state: .17s;--motion-surface: .24s;--motion-route: .26s;--motion-exit: .16s;--motion-ease-out: cubic-bezier(.22, 1, .36, 1);--motion-ease-in: cubic-bezier(.55, 0, 1, .45);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden}button,input{font:inherit}.app-shell{max-width:72rem;min-height:100vh;margin:0 auto;padding:3rem 1.5rem 5rem}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.auth-card{width:min(100%,28rem);padding:clamp(1.5rem,5vw,2.5rem);border:1px solid #dce7dc;border-radius:1rem;background:#fff;box-shadow:0 16px 44px #1c35271a}.auth-card h1{margin-bottom:2rem;font-size:3rem}.auth-card h2{font-size:1.45rem}.auth-description{margin:.55rem 0 1.35rem;color:#657369;line-height:1.45}.auth-form{display:grid;gap:1rem}.account-menu{position:absolute;top:0;right:0}.account-trigger{min-height:2.2rem;padding:.35rem .65rem;border:1px solid #b6ceb9;border-radius:999px;color:#285e45;background:#f7fbf6;cursor:pointer;font:inherit;font-size:.82rem;font-weight:750;transition:border-color var(--motion-state) ease,color var(--motion-state) ease,background-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:#162b203d}.account-panel{position:relative;width:100%;min-height:100%;overflow-y:auto;padding:max(1rem,env(safe-area-inset-top)) 1rem max(2rem,env(safe-area-inset-bottom));background:#f4f7f1}.account-username{margin:-.75rem 0 1.5rem;color:#657369}.account-language-select{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin:1rem 0}.account-language-select span{color:var(--muted-text);font-size:.875rem;font-weight:600}.account-language-select select{background:var(--surface);border:1px solid var(--border);border-radius:.6rem;color:var(--text);font:inherit;padding:.45rem .6rem;transition:border-color var(--motion-state) ease,box-shadow var(--motion-state) ease,background-color var(--motion-state) ease}.auth-language-select{align-items:center;display:flex;gap:.6rem;justify-content:flex-end;margin:-.35rem 0 1.25rem}.auth-language-select span{color:var(--muted-text);font-size:.8rem;font-weight:600}.auth-language-select select{background:var(--surface);border:1px solid var(--border);border-radius:.55rem;color:var(--text);font:inherit;padding:.35rem .45rem;transition:border-color var(--motion-state) ease,box-shadow var(--motion-state) ease,background-color var(--motion-state) ease}.account-section-heading{margin-top:1rem;padding-top:1.25rem;border-top:1px solid #e1e9df}.account-section-heading h3{margin:0;color:#315a43;font-size:1rem}.account-section-heading p{margin:.35rem 0 0;color:#657369;font-size:.88rem}.account-list{display:grid;gap:.5rem;margin:.9rem 0;padding:0;list-style:none}.account-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.7rem;border-radius:.55rem;background:#f7faf5}.account-list span{color:#657369;font-size:.85rem}.account-form{display:grid;gap:.8rem;margin:1rem 0 1.25rem;padding-top:1rem;border-top:1px solid #e1e9df}.workspace-header{position:relative;display:grid;grid-template-areas:"brand brand" "navigation navigation";grid-template-columns:1fr 1fr;align-items:center;gap:1.25rem;margin-bottom:2rem;padding-bottom:.8rem;border-bottom:1px solid #dce7dc}.workspace-brand{display:grid;grid-area:brand;justify-self:start;gap:.1rem}.workspace-brand .eyebrow{margin:0}.workspace-brand h1{display:flex;align-items:center;gap:.5rem;font-size:2rem;line-height:1}.workspace-brand-mark{display:grid;width:1.75rem;height:1.75rem;flex:none;border-radius:.5rem;color:#234f40;background:#dceadc;place-items:center}.workspace-brand-mark svg{width:1rem;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.workspace-nav{display:flex;grid-area:navigation;gap:1.6rem;justify-self:center}.workspace-tab{position:relative;min-height:2.9rem;padding:.55rem .3rem .7rem;border:1px solid transparent;border-radius:0;color:#4f6254;background:transparent;cursor:pointer;font-size:1rem;font-weight:750;letter-spacing:.01em;transition:color var(--motion-state) ease,background-color var(--motion-state) ease,border-color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.workspace-tab:after{position:absolute;right:.2rem;bottom:-1px;left:.2rem;height:2px;border-radius:999px;content:"";background:#285e45;transform:scaleX(0);transform-origin:center;transition:transform var(--motion-state) var(--motion-ease-out)}.workspace-tab:hover{color:#285e45;background:transparent}.workspace-tab.active{border-bottom-color:transparent;color:#1e4c37;background:transparent;box-shadow:none}.workspace-tab.active:after{transform:scaleX(1)}.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.workspace-heading>p{max-width:32rem;margin:0;color:#58635c;line-height:1.5}.workspace-heading-actions{display:flex;align-items:center;gap:.55rem}.workspace-heading-actions .primary-button,.workspace-heading-actions .secondary-button{min-height:2.8rem;white-space:nowrap}.eyebrow{margin:0 0 .45rem;color:#3b765c;font-size:.75rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}h1,h2{margin:0;color:#234f40;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,8vw,4.8rem);line-height:.95}h2{font-size:1.35rem}.card{margin-top:1.25rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid #dce7dc;border-radius:1rem;background:#fff;box-shadow:0 10px 30px #1c35270f}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}label{display:grid;gap:.45rem;color:#3d4a42;font-size:.9rem;font-weight:650}input{width:100%;min-height:2.8rem;padding:.65rem .75rem;border:1px solid #bfcebf;border-radius:.6rem;color:#18241d;background:#fff;outline:none;transition:border-color var(--motion-state) ease,box-shadow var(--motion-state) ease,background-color var(--motion-state) ease}input:focus{border-color:#397456;box-shadow:0 0 0 3px #39745629}.lookup-form{display:flex;gap:.75rem}.lookup-form input{flex:1}.lookup-card{max-width:48rem}.sales-page,.bills-page,.reports-page{width:min(100%,48rem);margin-right:auto;margin-left:auto}.lookup-card:has(.scan-product-button) .lookup-form input{flex:0 1 32rem}.report-date-control{display:grid;min-width:10.4rem;gap:.3rem;color:#657369;font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.report-date-control input{min-height:2.55rem;padding:.45rem .6rem;font-size:.9rem;font-weight:650;letter-spacing:normal;text-transform:none}.reports-card{margin-top:1.25rem}.reports-card-heading{margin-bottom:1.5rem}.report-period-bar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.report-period-presets{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid #d6e2d6;border-radius:.7rem;background:#f7faf6}.report-period-presets button{min-height:2.1rem;padding:.35rem .6rem;border:0;border-radius:.48rem;color:#607168;background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:750;transition:color var(--motion-state) ease,background-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.report-period-presets button:hover{color:#285e45}.report-period-presets button.active{color:#1e4c37;background:#fff;box-shadow:0 .15rem .5rem #224b311a}.report-date-range{display:flex;gap:.6rem}.report-date-range .report-date-control{min-width:8.6rem}.report-section{margin-top:1.5rem;padding-top:1.35rem;border-top:1px solid #e1e9df}.report-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.report-section-heading h3{margin:0;color:#315a43;font-size:1.05rem}.report-section-heading>span,.report-section-heading>div+span{color:#708076;font-size:.78rem;font-weight:700}.report-section-heading .eyebrow{margin:0 0 .2rem}.report-section-description{margin:.85rem 0 0;color:#607168;font-size:.86rem;font-weight:650}.report-inventory-metrics{margin-top:1rem}.report-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.report-product-list,.slow-moving-list{display:grid;gap:.55rem;margin:.85rem 0 0;padding:0;list-style:none}.report-product-list li,.slow-moving-list li{display:grid;align-items:center;gap:.65rem;padding:.7rem;border-radius:.6rem;background:#f7faf5}.report-product-list li{grid-template-columns:auto minmax(0,1fr) auto}.report-product-rank{display:grid;width:1.45rem;height:1.45rem;place-items:center;border-radius:999px;color:#51705d;background:#e4eee4;font-size:.75rem;font-weight:800}.report-product-list li>div,.slow-moving-list li>div{display:grid;min-width:0;gap:.15rem}.report-product-list li>div strong,.slow-moving-list li>div strong{overflow:hidden;color:#315a43;font-size:.87rem;text-overflow:ellipsis;white-space:nowrap}.report-product-list li>div span,.slow-moving-list li>div span{overflow:hidden;color:#708076;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.report-product-list li>strong{color:#234f40;font-size:.88rem;white-space:nowrap}.slow-moving-list li{grid-template-columns:minmax(0,1fr) auto}.slow-moving-list li>div:last-child{text-align:right}.slow-moving-list li>div:last-child strong{color:#234f40}.report-section-empty{margin-bottom:0}.report-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.report-metric{display:grid;gap:.35rem;min-height:6.5rem;padding:1rem;border:1px solid #dce7dc;border-radius:.75rem;background:#fbfdf9}.report-metric span{color:#657369;font-size:.82rem;font-weight:700}.report-metric strong{align-self:end;color:#234f40;font-size:clamp(1.3rem,3vw,1.75rem);letter-spacing:-.04em}.report-metric-primary{border-color:#a9c8af;background:#f3f9f1}.report-metric-profit strong{color:#247448}.report-summary{margin:1rem 0 0;color:#586b5f;font-weight:700}.report-empty-state{padding-bottom:0}.report-profit-notice{display:grid;gap:.35rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid #ead9a9;border-radius:.7rem;color:#6c5721;background:#fffbed}.report-profit-notice strong{font-size:.9rem}.report-profit-notice span{color:#78673a;font-size:.84rem;line-height:1.4}.primary-button,.secondary-button,.text-button{border:0;cursor:pointer}.primary-button{min-height:2.8rem;padding:.65rem 1rem;border-radius:.6rem;color:#fff;background:#285e45;font-weight:750;transition:background-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.primary-button:hover:not(:disabled){background:#1e4c37}.primary-button:disabled{cursor:wait;opacity:.65}.scan-product-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap}.scan-product-button svg{width:1rem;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-width:1.9}.secondary-button{min-height:2.6rem;padding:.55rem .8rem;border:1px solid #9ab9a3;border-radius:.6rem;color:#285e45;background:#f7fbf6;font-weight:750;transition:border-color var(--motion-state) ease,color var(--motion-state) ease,background-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.secondary-button:hover{background:#edf5ed}.primary-button:focus-visible,.danger-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible,.icon-close-button:focus-visible,.workspace-tab:focus-visible,.account-trigger:focus-visible{outline:0;box-shadow:0 0 0 3px #39745638}select:focus-visible,textarea:focus-visible,a[href]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid #397456;outline-offset:2px}.text-button{padding:.3rem;color:#38654f;background:transparent;font-weight:700;transition:color var(--motion-state) ease,background-color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.status-message{margin:1rem 0 0;color:#3d604b;font-weight:600}.lookup-description{margin:-.35rem 0 1rem;color:#5b695f}.lookup-results{display:grid;gap:.5rem;margin:.85rem 0 0;padding:0;list-style:none}.lookup-results button{display:grid;width:100%;gap:.2rem;padding:.75rem;border:1px solid #cbdaca;border-radius:.6rem;color:#2d3931;background:#fff;cursor:pointer;text-align:left;transition:border-color var(--motion-state) ease,background-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.lookup-results button:hover{border-color:#80a88a;background:#eff7ee}.lookup-results button span:last-child{color:#657369;font-size:.85rem}.product-details-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow-y:auto;background:#162b2033}.import-overlay,.stock-add-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:1rem;background:#162b2052}.stock-add-dialog{position:relative;width:min(100%,34rem);padding:clamp(1.25rem,4vw,2rem);border:1px solid #dce7dc;border-radius:1rem;background:#fff;box-shadow:0 1.5rem 4rem #14291d33}.stock-add-dialog .lookup-card,.stock-add-dialog .product-form{max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}.stock-add-dialog>.lookup-card>.card-heading,.stock-add-dialog>.product-form>.card-heading,.account-panel>.card-heading{padding-right:2.5rem}.workspace-tab:active{transform:scale(.97)}.stock-add-options{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e0e9e0}.add-manual-product-button{display:inline-flex;width:min(100%,13.5rem);min-height:2.8rem;align-items:center;justify-content:center;gap:.45rem;padding:.65rem 1rem}.stock-add-dialog .scan-product-button{width:min(100%,13.5rem);min-height:2.8rem}.stock-add-desktop-manual-button{display:none;min-height:2.8rem;align-items:center;justify-content:center;gap:.45rem;padding-right:.7rem;padding-left:.7rem;font-size:.82rem;white-space:nowrap}.stock-add-desktop-manual-button svg{width:1rem;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-width:1.9}.add-manual-product-button svg{width:1rem;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-width:1.9}.import-overlay>div{width:min(100%,28rem)}.import-dialog{width:100%;padding:clamp(1.5rem,5vw,2.25rem);padding-right:3.5rem;border:1px solid #dce7dc;border-radius:1rem;background:#fff;box-shadow:0 1.5rem 4rem #14291d33}.import-dialog .form-description{margin:.75rem 0 1.35rem}.import-file-button{display:flex;width:100%;justify-content:center}.import-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.import-template-link{display:block;margin:1rem auto 0;color:#607269;font-size:.78rem;font-weight:650;text-decoration:underline;text-underline-offset:.18rem}.import-file-name{margin:.75rem 0 0;color:#5f6e64;font-size:.88rem;text-align:center}.import-confirm-button{width:100%;margin-top:.8rem}.icon-close-button{display:grid;width:1.75rem;height:1.75rem;place-items:center;padding:0;border:1px solid #d5e1d5;border-radius:999px;color:#456353;background:#f7faf6;cursor:pointer;transition:border-color var(--motion-state) ease,color var(--motion-state) ease,background-color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.icon-close-button svg{width:1.05rem;height:1.05rem;stroke:currentColor;stroke-linecap:round;stroke-width:2}.icon-close-button:hover{color:#234f40;border-color:#abc4ad;background:#edf5ec}.account-close-button,.product-details-close-button{display:grid}.popup-close-button{position:absolute;z-index:5;top:.9rem;right:.9rem}.product-details-panel{position:relative;min-height:100%;padding:max(1rem,env(safe-area-inset-top)) 1rem max(2rem,env(safe-area-inset-bottom));background:#f4f7f1}.product-details-toolbar{display:flex;align-items:center;justify-content:flex-end;min-height:1.75rem;padding-right:2.4rem;margin-bottom:1.25rem}.product-details-toolbar-actions{display:flex;align-items:center;gap:.6rem}.stock-count{padding:.45rem .65rem;border-radius:999px;color:#1f513a;background:#e8f4e8;white-space:nowrap}.product-details-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.product-details-identity h2{margin:0}.product-name-input{min-height:0;padding:.12rem .35rem;border-radius:.45rem;color:#234f40;font-size:1.35rem;font-weight:750;letter-spacing:-.045em}.product-reference{margin:.55rem 0 0;color:#6a776e;font-size:.88rem}.product-reference-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.45rem}.product-reference-row .product-reference{margin:0}.assign-barcode-button{display:inline-flex;min-height:1.9rem;align-items:center;gap:.32rem;margin:0;padding:0;border:0;color:#326247;background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:750;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.assign-barcode-button:hover{color:#1e4c37}.assign-barcode-button svg{width:.95rem;height:.95rem;stroke:currentColor;stroke-linecap:round;stroke-width:1.9}.barcode-manual-form{display:grid;grid-template-columns:minmax(9rem,1fr) auto auto;align-items:center;gap:.55rem;min-width:0;margin:0}.barcode-manual-form input{min-width:0}.barcode-manual-form .primary-button{width:auto;min-height:2.55rem}.product-edit-barcode-action{margin-top:.55rem}.product-barcode-scanner-overlay{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0}.barcode-assignment-saving{width:min(100%,20rem);margin:auto 0 0;padding:.75rem .95rem;border-radius:.65rem;color:#fff;background:#0a1810d6;font-weight:700;text-align:center}.product-carton-summary{margin:.35rem 0 0;color:#3c6a50;font-size:.86rem;font-weight:700}.product-details-actions{display:flex;align-items:center;gap:.6rem}.edit-product-button{display:inline-flex;min-height:2rem;align-items:center;gap:.28rem;padding:.2rem 0;border:0;color:#326247;background:transparent;cursor:pointer;font:inherit;font-size:.86rem;font-weight:750;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.edit-product-button svg{width:.95rem;height:.95rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.edit-product-button:hover{color:#1e4c37}.product-price-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.25rem}.product-price-summary div{display:flex;align-items:baseline;gap:.4rem}.product-price-summary dt{color:#6a776e;font-size:.9rem;font-weight:700}.product-price-summary dd{margin:0;color:#234f40;font-size:1.05rem;font-weight:750}.product-inline-details-form{padding-bottom:1.25rem;border-bottom:1px solid #e2ebe1}.product-price-summary-edit label{display:grid;gap:.35rem;color:#6a776e;font-size:.9rem;font-weight:700}.product-price-input{display:flex;align-items:center;gap:.15rem;color:#234f40;font-size:1.05rem;font-weight:750}.product-price-input input{min-width:0;min-height:2rem;padding:.08rem .2rem;border-radius:.4rem;font-size:1.05rem;font-weight:750}.product-inline-details-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.product-inline-details-form input:focus{box-shadow:0 0 0 2px #39745624}.product-cost-status{color:#657369;font-size:.8rem;line-height:1.4}.product-cost-status{margin:-.65rem 0 1.25rem}.stock-change-form{padding:1.1rem;border:1px solid #d8e4d8;border-radius:.75rem;background:#fbfdf9}.stock-change-heading h3{margin:0;color:#315a43;font-size:1rem}.stock-change-heading p{margin:.3rem 0 0;color:#647267;font-size:.86rem}.stock-change-fields{display:grid;grid-template-columns:minmax(11rem,1fr) auto;align-items:end;gap:.75rem;margin-top:.9rem}.stock-change-fields.requires-reason{grid-template-columns:minmax(8rem,.55fr) minmax(13rem,1.45fr) auto}.stock-change-fields .primary-button,.stock-change-fields .secondary-button{min-height:2.8rem}.stock-addition-fields,.stock-removal-fields{display:grid;grid-template-columns:minmax(7rem,.7fr) minmax(10rem,1.3fr) auto;align-items:end;gap:.75rem;margin-top:.9rem}.stock-addition-fields .primary-button,.stock-removal-fields .secondary-button{min-height:2.8rem}.stock-removal-form{margin-top:.8rem}.stock-batches{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e1e9df}.stock-batches-heading h3{margin:0;color:#315a43;font-size:1rem}.stock-batches-heading p,.stock-batches>p{margin:.3rem 0 0;color:#69766c;font-size:.86rem}.stock-batches ul{display:grid;gap:.6rem;margin:.85rem 0 0;padding:0;list-style:none}.stock-batches li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:.55rem;background:#f7faf5}.stock-batches li>div{display:grid;gap:.18rem}.stock-batches li strong{color:#365e47;font-size:.88rem}.stock-batches li span{color:#68766d;font-size:.8rem}.stock-batch-cost{flex:none;padding:0;border:0;color:#285e45;background:transparent;cursor:pointer;font:inherit;font-size:.84rem;font-weight:750;text-align:right;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.stock-batch-cost.unknown{color:#8a6435}.stock-batch-cost-editor{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.stock-batch-cost-editor input{width:5.2rem;min-height:2rem;padding:.25rem .4rem}.product-selling-price-editor{display:grid;width:min(100%,12rem);gap:.35rem;margin:1rem 0 1.25rem;color:#6a776e;font-size:.9rem;font-weight:700}.movement-history{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e1e9df}.movement-history h3{margin:0;color:#315a43;font-size:1rem}.movement-history p{color:#69766c}.movement-history ul{display:grid;gap:.6rem;margin:.85rem 0 0;padding:0;list-style:none}.movement-history li{display:grid;grid-template-columns:1fr minmax(0,1.4fr) auto auto;gap:.75rem;align-items:center;padding:.75rem;border-radius:.55rem;background:#f7faf5}.movement-history time{color:#718076;font-size:.8rem}.movement-note{overflow:hidden;color:#5c6b60;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.movement-bill-link{justify-self:start;padding:0;border:0;color:#285e45;background:transparent;cursor:pointer;font:inherit;font-weight:750;text-align:left;text-decoration:underline;text-underline-offset:.16em;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.movement-bill-link:hover{color:#163e2d}.movement-positive{color:#247448}.movement-negative{color:#ad3434}.scanner-panel{margin-top:1.25rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid #a9c8af;border-radius:1rem;background:#eaf4e9}.scanner-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.scanner-header:has(>.text-button:only-child){justify-content:flex-end;margin-bottom:0;padding-top:0;padding-bottom:0}.scanner-close-button{flex:none}.scanner-panel--minimal{margin:calc(-1*clamp(1.25rem,4vw,2rem)) calc(-1*clamp(1.25rem,4vw,2rem)) calc(-1*clamp(1.25rem,4vw,2rem));padding:0;border:0;border-radius:1rem;background:transparent}.scanner-panel--minimal .scanner-header{min-height:2.4rem;align-items:center;padding:0 clamp(1.25rem,4vw,2rem)}.scanner-panel--minimal .scanner-video{width:100%;max-width:none;aspect-ratio:4 / 5;margin:0;border-width:0;border-radius:0 0 1rem 1rem}.stock-add-dialog:has(.scanner-panel--minimal) .stock-add-options{display:none}.stock-add-dialog:has(.scanner-panel--minimal)>.popup-close-button{display:none}.scanner-header h2{margin:0;color:#234f40;font-size:1.45rem}.loading-scanner{margin:1.25rem 0 0;padding:1rem;border-radius:.75rem;color:#3d604b;background:#eaf4e9;font-weight:650}.scanner-instruction{margin:0 0 1rem;color:#425b49}.scanner-video{display:block;width:min(100%,38rem);aspect-ratio:4 / 3;margin:0 auto;border:2px solid #285e45;border-radius:.75rem;background:#16221a;object-fit:cover}.scanner-status{margin:.85rem 0 0;color:#3d604b;font-weight:650}.scanner-panel--full-screen{position:fixed;z-index:30;top:var(--grove-visual-viewport-offset-top, 0);left:var(--grove-visual-viewport-offset-left, 0);width:var(--grove-visual-viewport-width, 100vw);height:var(--grove-visual-viewport-height, 100dvh);display:grid;grid-template-rows:auto auto 1fr;overflow:hidden;margin:0;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));border:0;border-radius:0;background:#102019}.scanner-panel--full-screen .scanner-close-button{top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));border-color:#ffffff6b;color:#fff;background:#ffffff1f}.scanner-panel--full-screen:after{position:absolute;z-index:1;top:22%;right:8%;left:8%;height:2px;border-radius:999px;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgb(178 255 199 / 78%) 28%,rgb(255 255 255 / 95%) 50%,rgb(178 255 199 / 78%) 72%,transparent);box-shadow:0 0 1rem #7dee9d85;animation:scanner-sweep 2.2s ease-in-out infinite alternate}.scanner-panel--motion-paused:after{opacity:.45;animation-play-state:paused}.scanner-panel--full-screen .scanner-header,.scanner-panel--full-screen .scanner-controls,.scanner-panel--full-screen .scanner-status,.scanner-panel--full-screen>.form-error{position:relative;z-index:2}.scanner-panel--full-screen .scanner-header{align-items:center;color:#fff}.scanner-panel--full-screen .scanner-header .eyebrow,.scanner-panel--full-screen .scanner-header h2,.scanner-panel--full-screen .scanner-header .text-button{color:#fff}.scanner-panel--full-screen .scanner-controls{margin-top:.85rem}.scanner-panel--full-screen .lookup-form{grid-template-columns:minmax(0,1fr) auto;margin:0}.scanner-panel--full-screen .lookup-form input{background:#fffffff5}.scanner-panel--full-screen .status-message{margin:.6rem 0 0;color:#fff}.scanner-panel--full-screen .lookup-results{max-height:11rem;overflow-y:auto;margin-top:.6rem}.scanner-panel--full-screen .scanner-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;margin:0;border:0;border-radius:0}.scanner-panel--full-screen .scanner-status{align-self:end;width:min(100%,34rem);margin:0 0 .75rem;padding:.55rem .8rem;border-radius:.6rem;color:#fff;background:#0a1810c7}.scanner-product-overlay{position:absolute;z-index:3;right:0;bottom:0;left:0;display:flex;justify-content:center;max-height:min(100%,37rem);overflow-y:auto;padding:0 1rem max(1rem,env(safe-area-inset-bottom));background:linear-gradient(to top,rgb(7 19 12 / 88%),transparent)}.scanner-panel--full-screen .scanner-status:has(+.form-error),.scanner-panel--full-screen .scanner-status:has(~.scanner-product-overlay){display:none}.scanner-product-overlay .order-product-card{width:min(100%,34rem);margin:auto 0 0;padding:.9rem 1.05rem 1rem;border-color:#ffffff5c;background:#f8fcf7f7;box-shadow:0 1rem 3rem #0000004d;animation:scanner-card-up var(--motion-surface) var(--motion-ease-out) both}.scanner-product-overlay .order-product-card .order-product-heading h2{font-size:1.15rem}.scanner-product-overlay .order-product-card .product-summary{margin:.3rem 0 .7rem;font-size:.9rem}.scanner-product-overlay .order-product-card .order-product-actions{margin-top:.85rem}.scanner-product-overlay .order-product-card .quick-quantity-controls{margin-top:.6rem}.product-form{max-width:48rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.product-form>label{margin-bottom:1rem}.product-barcode-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-.25rem 0 1rem;color:#657369;font-size:.86rem}.product-barcode-trigger{display:flex;min-width:0;align-items:center;gap:.35rem;padding:.1rem 0;border:0;color:inherit;background:transparent;cursor:pointer;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:inherit;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.product-barcode-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-barcode-trigger svg{width:.85rem;height:.85rem;flex:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.product-barcode-trigger:hover{color:#285e45}.product-barcode-input{width:min(100%,16rem);min-height:0;padding:.1rem 0;border:0;border-bottom:1px solid #8fb29a;border-radius:0;color:#285e45;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:inherit;line-height:1.35}.form-error{margin:0 0 1rem;color:#a02323;font-weight:600}.sales-bill{max-width:48rem;min-width:0}.bills-card{max-width:48rem}.bills-search{display:flex;align-items:end;gap:.75rem}.bills-search label{flex:1}.bills-list{display:grid;gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none}.bills-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;border:1px solid #dce7dc;border-radius:.7rem;background:#fbfdf9;transition:border-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-state) var(--motion-ease-out)}.bills-list p{margin:0}.bills-list p:first-child{display:grid;gap:.2rem;color:#234f40}.bills-list p:first-child span,.bills-list-customer{color:#657369;font-size:.85rem}.bills-list-customer{margin-top:.35rem!important}.bills-list-actions{display:grid;justify-items:end;gap:.5rem}.bills-list-actions>strong{color:#1f513a;white-space:nowrap}.sales-action-feedback{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:48rem;margin-top:1rem;padding:.65rem .85rem;border-radius:.65rem;color:#21563d;background:#e6f3e6;font-weight:700}.sales-action-feedback .text-button{color:#1e4c37;text-decoration:underline}.sales-desk-summary{position:sticky;z-index:4;bottom:.75rem;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;max-width:48rem;margin-top:1rem;padding:.75rem .9rem;border:1px solid #9ab9a3;border-radius:.75rem;background:#f8fcf7f7;box-shadow:0 .5rem 1.5rem #1c352724}.sales-desk-summary p,.sales-desk-summary span{display:block;margin:0}.sales-desk-summary p{color:#234f40;font-weight:800}.sales-desk-summary span{margin-top:.1rem;color:#657369;font-size:.85rem}.sales-desk-summary>strong{color:#1f513a;font-size:1.15rem;white-space:nowrap}.order-product-card{max-width:48rem;border-color:#9ab9a3;background:#f8fcf7}.order-product-heading{display:block}.order-product-heading h2{margin:0;color:#234f40;font-size:1.35rem}.order-price-row{margin-top:.35rem}.order-price-trigger{display:inline-flex;align-items:center;gap:.3rem;padding:0;border:0;color:#1f513a;background:transparent;cursor:text;font:inherit;font-size:1.1rem;font-weight:800;line-height:1.3;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.order-price-trigger svg{width:.85rem;height:.85rem;flex:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.order-price-input{width:5.5rem;min-width:0;padding:.35rem .45rem;color:#1f513a;font:inherit;font-size:1rem;font-weight:800;text-align:right}.order-product-card .product-summary{margin:.55rem 0 1rem;line-height:1.35}.order-quantity-controls{max-width:22rem}.order-product-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}.bill-total{color:#1f513a;font-size:1.25rem}.bill-empty-state{padding-top:0}.bill-table-wrapper{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.bill-table{min-width:0}.bill-table th,.bill-table td{padding:.75rem .45rem;vertical-align:middle}.bill-table thead th{color:#657369;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.bill-table th:not(:nth-child(2)),.bill-table td:not(:nth-child(2)){text-align:right}.bill-table tfoot th,.bill-table tfoot td{border-top:2px solid #234f40;color:#1f513a;font-size:1.05rem;font-weight:800}.bill-quantity-input,.bill-price-input{min-height:2.25rem;padding:.35rem .45rem;text-align:right}.bill-quantity-input{width:3rem}.bill-price-input{width:5.25rem}.bill-price-trigger{padding:0;border:0;color:#1f513a;background:transparent;cursor:text;font:inherit;font-weight:750;white-space:nowrap;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.bill-quantity-trigger{padding:0;border:0;color:#1f513a;background:transparent;cursor:text;font:inherit;font-weight:750;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.bill-remove-button{min-width:1.9rem;min-height:1.9rem;padding:.1rem .35rem;border:1px solid #e4b2b2;border-radius:.5rem;color:#a02323;background:#fff8f8;font-size:1.15rem;line-height:1;transition:border-color var(--motion-state) ease,color var(--motion-state) ease,background-color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.quantity-controls{display:grid;grid-template-columns:2.8rem minmax(4rem,1fr) 2.8rem;max-width:17rem;gap:.5rem;margin-top:1rem}.quantity-controls button,.quick-quantity-controls button{border:1px solid #9ab9a3;border-radius:.55rem;color:#24513d;background:#fff;cursor:pointer;font-weight:750;transition:border-color var(--motion-state) ease,background-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.quantity-controls button{font-size:1.25rem}.quantity-controls button:hover,.quick-quantity-controls button:hover{background:#e7f2e5}.quantity-controls input{min-width:0;text-align:center;font-weight:750}.quick-quantity-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.quick-quantity-controls button{min-height:2.35rem;padding:.35rem .7rem}.bill-feedback{margin-top:1rem}.bill-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #dce7dc;color:#58635c;font-weight:650}.bill-footer>div{display:flex;align-items:center;gap:.75rem}.bill-footer .text-button:disabled{cursor:not-allowed;opacity:.5}.receipt-page{width:min(100%,48rem);margin:1.25rem auto 0}.customer-name-field{width:min(100%,28rem);margin:0 0 1rem}.customer-name-field span{color:#69766c;font-size:.8rem;font-weight:550}.receipt-customer-preview{display:grid;gap:.1rem;margin:1rem 0 -.25rem;color:#234f40}.receipt-customer-preview span{color:#657369;font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.receipt-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:1rem}.dialog-backdrop{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0a181085}.completion-dialog{position:relative;width:min(100%,28rem);padding:clamp(1.25rem,5vw,2rem);border:1px solid #cbdaca;border-radius:1rem;background:#fff;box-shadow:0 1.2rem 3rem #00000047}.completion-mark{width:3rem;height:3rem;margin-bottom:1rem;color:#247448}.completion-mark svg{display:block;width:100%;height:100%;overflow:visible;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.completion-mark circle{stroke-dasharray:126;stroke-dashoffset:126;animation:success-ring .42s var(--motion-ease-out) 80ms forwards}.completion-mark path{stroke-dasharray:25;stroke-dashoffset:25;animation:success-check .3s var(--motion-ease-out) .25s forwards}.completion-dialog h2{font-size:clamp(1.45rem,6vw,1.9rem)}.completion-dialog>p:not(.eyebrow){margin:.75rem 0 0;color:#58635c;line-height:1.55}.completion-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.receipt{padding:clamp(1.5rem,5vw,3rem);border:1px solid #cdd8ce;background:#fff;box-shadow:0 12px 30px #1c352714}.receipt-header{display:flex;align-items:start;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;border-bottom:2px solid #234f40}.receipt-header h2{font-size:clamp(2rem,7vw,3rem)}.receipt-contact{margin:.35rem 0 0;color:#58635c;font-size:.8rem;font-weight:700;letter-spacing:.03em}.receipt-header dl{display:grid;gap:.55rem;margin:0;text-align:right}.receipt-header dl div{display:grid;gap:.1rem}.receipt-header dt{color:#657369;font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.receipt-header dd{margin:0;color:#234f40;font-weight:750}.receipt-table{margin-top:1.5rem}.receipt-table th,.receipt-table td{padding:.85rem .45rem;vertical-align:top}.receipt-table thead th{color:#657369;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.receipt-table th:not(:nth-child(2)),.receipt-table td:not(:nth-child(2)){text-align:right;white-space:nowrap}.receipt-table tfoot th,.receipt-table tfoot td{border-top:2px solid #234f40;color:#1f513a;font-size:1.15rem;font-weight:800}.receipt-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #dce7dc;color:#657369;font-size:.85rem}.receipt-footer p{margin:0}@media print{@page{margin:16mm}body{background:#fff}*,*:before,*:after{animation:none!important;transition:none!important}.app-shell{max-width:none;min-height:0;padding:0}.workspace-header,.workspace-nav,.workspace-heading,.no-print{display:none!important}.receipt-page{width:100%;margin:0}.receipt{padding:0;border:0;box-shadow:none}}.search-label{width:min(100%,18rem)}.product-table-wrapper{overflow-x:auto}.stock-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.stock-filters button[aria-pressed=true]{border-color:#285e45;color:#fff;background:#285e45}.stock-filter-description,.stock-threshold-summary,.stock-threshold-field p{color:#536257;font-size:.875rem;line-height:1.5}.stock-threshold-field{margin:1rem 0}.stock-threshold-field p{margin:.35rem 0 .65rem}.stock-threshold-field input{max-width:10rem}.low-stock-badge{display:inline-block;margin-inline-start:.5rem;padding:.2rem .45rem;border:1px solid #c28b36;border-radius:.35rem;color:#70420a;background:#fff4db;font-size:.75rem;font-weight:600;vertical-align:middle;white-space:nowrap}.archived-badge{display:inline-block;margin-inline-start:.5rem;padding:.2rem .45rem;border:1px solid #768278;border-radius:.35rem;color:#455449;background:#eef2ed;font-size:.75rem;white-space:nowrap}.product-archive-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #dce7dc}.product-archive-actions p{color:#536257;font-size:.875rem;line-height:1.5}.product-archive-buttons{display:flex;flex-wrap:wrap;gap:.65rem}.product-archive-confirmation{padding:.8rem;border:1px solid #dce7dc;border-radius:.5rem}.danger-button{min-height:2.75rem;padding:.65rem 1rem;border:1px solid #a5372e;border-radius:.5rem;color:#8a261f;background:#fff5f4;cursor:pointer;font-weight:600;transition:border-color var(--motion-state) ease,color var(--motion-state) ease,background-color var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.product-archive-buttons button:disabled{opacity:.55;cursor:not-allowed}.product-list-select{padding:0;border:0;color:inherit;background:transparent;cursor:pointer;font:inherit;font-weight:700;text-align:left;transition:color var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.product-list-select:hover{color:#285e45;text-decoration:underline}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.85rem .75rem;border-bottom:1px solid #e7ede6}th{color:#56705d;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}td{color:#2d3931}.barcode{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#4f5d53}.product-number{color:#315a43;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:750}.empty-state{margin:0;padding:1.5rem 0 .25rem;color:#69766c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-card{animation:auth-card-in var(--motion-surface) var(--motion-ease-out) both}.auth-card .auth-form{animation:surface-up-in var(--motion-surface) var(--motion-ease-out) 60ms both}.app-shell>.workspace-header .workspace-brand{animation:header-settle-in var(--motion-surface) var(--motion-ease-out) both}.workspace-view:not([hidden]){animation:workspace-enter var(--motion-route) var(--motion-ease-out) both}.lookup-results,.product-table-wrapper,.bills-list,.report-content,.receipt-page,.sales-page>.order-product-card,.stock-add-dialog>.product-form,.scanner-panel--minimal,.barcode-manual-form,.product-inline-details-form,.product-archive-confirmation,.import-file-name,.import-confirm-button{animation:surface-up-in var(--motion-surface) var(--motion-ease-out) both}.bill-table tbody tr:last-child,.products-card tbody tr:first-child,.movement-history li:first-child,.stock-batches li:last-child,.account-list li:last-child{animation:item-arrive var(--motion-state) var(--motion-ease-out) both}.status-message,.sales-action-feedback,.report-profit-notice,.low-stock-badge,.archived-badge,.receipt-customer-preview,.order-price-input,.bill-price-input,.bill-quantity-input,.product-barcode-input,.empty-state{animation:feedback-arrive var(--motion-state) var(--motion-ease-out) both}.form-error{animation:error-arrive .22s var(--motion-ease-out) both}.auth-shell[role=status]:after,.empty-state[aria-busy=true]:after,.loading-scanner:after{display:inline-block;width:.36rem;height:.36rem;margin-inline-start:.5rem;border-radius:999px;content:"";background:currentColor;vertical-align:middle;animation:busy-breathe .9s ease-in-out 3 alternate}.grove-modal-overlay[data-entering]{animation:overlay-fade-in var(--motion-state) ease-out both,modal-lifecycle var(--motion-surface) linear both}.grove-modal-overlay[data-exiting]{animation:overlay-fade-out var(--motion-exit) var(--motion-ease-in) both;pointer-events:none}.grove-modal-overlay[data-entering] .grove-modal-dialog .grove-dialog{animation:dialog-rise-in var(--motion-surface) var(--motion-ease-out) both}.grove-modal-overlay[data-exiting] .grove-modal-dialog .grove-dialog{animation:dialog-settle-out var(--motion-exit) var(--motion-ease-in) both}.grove-modal-overlay[data-entering] .grove-modal-sheet .grove-dialog{animation:panel-slide-in var(--motion-surface) var(--motion-ease-out) both}.grove-modal-overlay[data-exiting] .grove-modal-sheet .grove-dialog{animation:panel-slide-out var(--motion-exit) var(--motion-ease-in) both}.grove-modal-overlay[data-entering] .grove-modal-fullscreen .grove-dialog{animation:overlay-fade-in var(--motion-state) ease-out both}.grove-modal-overlay[data-exiting] .grove-modal-fullscreen .grove-dialog{animation:overlay-fade-out var(--motion-exit) var(--motion-ease-in) both}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-lifecycle{0%,to{outline-color:transparent}}@keyframes auth-card-in{0%{opacity:0;transform:translateY(.75rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes header-settle-in{0%{opacity:0}to{opacity:1}}@keyframes workspace-enter{0%{opacity:0;transform:translateY(.55rem)}to{opacity:1;transform:translateY(0)}}@keyframes surface-up-in{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@keyframes item-arrive{0%{opacity:0;transform:translateY(.3rem)}to{opacity:1;transform:translateY(0)}}@keyframes feedback-arrive{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes error-arrive{0%{opacity:0;transform:translate(-.2rem)}45%{opacity:1;transform:translate(.12rem)}72%{transform:translate(-.06rem)}to{opacity:1;transform:translate(0)}}@keyframes busy-breathe{0%{opacity:.35;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes scanner-sweep{0%{opacity:.45;transform:translateY(0)}to{opacity:.9;transform:translateY(46dvh)}}@keyframes dialog-rise-in{0%{opacity:0;transform:translateY(.55rem) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dialog-settle-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(.25rem) scale(.985)}}@keyframes panel-slide-in{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:translate(0)}}@keyframes panel-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(.8rem)}}@keyframes scanner-card-up{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:translateY(0)}}@keyframes success-ring{to{stroke-dashoffset:0}}@keyframes success-check{to{stroke-dashoffset:0}}@keyframes nav-float-in{0%{opacity:0;transform:translate(-50%,.7rem) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes tab-select-in{0%{opacity:.72;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(hover:hover)and (pointer:fine){.primary-button:hover:not(:disabled),.secondary-button:hover,.danger-button:hover:not(:disabled),.icon-close-button:hover,.account-trigger:hover,.lookup-results button:hover,.quantity-controls button:hover,.quick-quantity-controls button:hover,.report-period-presets button:hover{transform:translateY(-1px)}.bills-list li:has(button:hover){border-color:#bfd2c1;box-shadow:0 .35rem .9rem #1c352714;transform:translateY(-1px)}}button:not(:disabled):active,.primary-button:not(:disabled):active,.secondary-button:active,.icon-close-button:active{transform:scale(.98)}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.65rem .85rem;border-radius:.6rem;color:#fff;background:#285e45;font-weight:750;text-decoration:none;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}#workspace-content:focus{outline:0}.grove-modal{display:contents}.import-dialog-shell{position:relative;width:min(100%,28rem)}.language-select-control{display:contents}.language-select-control svg{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.scanner-panel--full-screen:after{display:none}.completion-mark circle,.completion-mark path{animation:none!important;stroke-dashoffset:0}}@media(max-width:620px){input,select,textarea{font-size:16px}@keyframes mobile-sheet-in{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-sheet-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(.45rem)}}.grove-modal-overlay[data-entering] .grove-modal-sheet .grove-dialog{animation-name:mobile-sheet-in}.grove-modal-overlay[data-exiting] .grove-modal-sheet .grove-dialog{animation-name:mobile-sheet-out}.app-shell{padding:1.75rem 1rem calc(7.25rem + env(safe-area-inset-bottom))}.workspace-nav{position:fixed;bottom:calc(1rem + env(safe-area-inset-bottom));left:50%;z-index:20;display:grid;width:min(calc(100% - 1.25rem),21rem);grid-template-columns:repeat(4,1fr);gap:.15rem;margin:0;padding:.28rem;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:1.75rem;background:radial-gradient(circle at 14% -30%,rgba(255,255,255,.76),transparent 46%),linear-gradient(120deg,#ebf1eb8a,#d0ddd65c 48%,#f5f9f47a);box-shadow:0 14px 30px #1c352724,0 3px 7px #1c35271a,inset 0 1px #ffffffd1,inset 0 -1px #6d84761f;isolation:isolate;transform:translate(-50%);-webkit-backdrop-filter:blur(22px) saturate(1.55);backdrop-filter:blur(22px) saturate(1.55);animation:nav-float-in var(--motion-surface) var(--motion-ease-out) both}.workspace-nav:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;content:"";pointer-events:none;background:linear-gradient(112deg,rgba(255,255,255,.58),transparent 25%,rgba(255,255,255,.3) 50%,transparent 72%),linear-gradient(to bottom,rgba(255,255,255,.32),transparent 42%)}.workspace-tab{position:relative;z-index:1;display:flex;flex-direction:column;min-height:3.45rem;align-items:center;justify-content:center;gap:.16rem;padding:.3rem;border-color:transparent;border-radius:1.45rem;color:#364039;background:transparent;font-size:.62rem;font-weight:700;line-height:1.1;text-align:center;transition:color var(--motion-state) ease,background var(--motion-state) ease,box-shadow var(--motion-state) ease,transform var(--motion-feedback) var(--motion-ease-out)}.workspace-tab:after{display:none}.workspace-tab:hover{border-color:transparent;color:#285e45;background:#ffffff3d}.workspace-tab.active{border-color:#ffffff9e;color:#1e4c37;background:linear-gradient(135deg,#ffffff9e,#eef6ee33);box-shadow:0 2px 6px #1c35271a,inset 0 1px #ffffffd6,inset 0 -1px #39745614;animation:tab-select-in var(--motion-state) var(--motion-ease-out) both}.workspace-tab-icon{width:1.35rem;height:1.35rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85}.workspace-tab-desktop-label{display:none}.workspace-tab-mobile-label{display:inline}.workspace-header,.card-heading,.workspace-heading{align-items:start;flex-direction:column}.workspace-header{display:flex;gap:0;margin-bottom:1.5rem;padding-bottom:0;border:0}.workspace-brand h1{font-size:clamp(2.8rem,8vw,4.8rem);line-height:.95}.workspace-brand-mark{width:.72em;height:.72em;border-radius:.18em}.workspace-brand-mark svg{width:.42em;height:.42em}.workspace-heading>p,.lookup-description{display:none}.lookup-form{flex-direction:column}.lookup-card:has(.scan-product-button) .lookup-form input{flex:1}.stock-change-fields,.stock-change-fields.requires-reason,.stock-addition-fields,.stock-removal-fields{grid-template-columns:1fr;align-items:stretch}.report-period-bar,.report-date-range{align-items:stretch;flex-direction:column}.report-period-presets{width:100%}.report-period-presets button{flex:1}.report-date-range .report-date-control{width:100%}.report-insights-grid{grid-template-columns:1fr;gap:0}.report-insights-grid .report-section+.report-section{margin-top:1.25rem}.product-reference-row{width:100%}.stock-batches li{align-items:flex-start;flex-direction:column}.stock-batch-cost,.stock-batch-cost-editor{align-self:stretch;justify-content:flex-start;text-align:left}.product-details-actions{align-self:stretch;justify-content:space-between}.product-details-close-button,.account-close-button{display:grid}.product-details-toolbar-actions{width:100%;justify-content:space-between}.account-close-button,.product-details-close-button{top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right))}.product-details-overview{flex-direction:column}.product-inline-details-actions{align-items:stretch;flex-direction:column-reverse}.product-inline-details-actions .text-button{align-self:center}.bills-search{align-items:stretch;flex-direction:column}.bills-search .primary-button,.bills-search .text-button{width:100%}.bills-list li{align-items:stretch;flex-direction:column}.bills-list-actions{grid-template-columns:1fr auto;align-items:center}.bills-list-actions .secondary-button{width:auto}.sales-bill{padding-right:.6rem;padding-left:.6rem}.bill-footer{align-items:stretch;flex-direction:column}.bill-footer>div{flex-direction:column-reverse}.bill-footer .text-button{width:100%}.order-product-actions{align-items:stretch;flex-direction:column-reverse}.order-product-actions .text-button,.primary-button{width:100%}.completion-dialog-actions{flex-direction:column-reverse}.completion-dialog-actions>button,.product-archive-buttons>button,.stock-add-options>button,.account-panel>.secondary-button{width:100%}.product-archive-buttons,.stock-add-options{align-items:stretch;flex-direction:column}.add-manual-product-button,.stock-add-dialog .scan-product-button{width:100%;max-width:none}.form-grid{grid-template-columns:1fr}.search-label{width:100%}th,td{white-space:nowrap}.bill-table td:nth-child(2){white-space:normal}}@media(forced-colors:active){button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a[href]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,.workspace-tab:focus-visible{outline:2px solid Highlight;outline-offset:2px;box-shadow:none}}@media(min-width:621px){.scan-product-button{display:none}.lookup-card:has(.scan-product-button) .lookup-form input{flex:1}.stock-add-options{display:none}.stock-add-desktop-manual-button{display:inline-flex}.workspace-tab-icon,.workspace-tab-mobile-label{display:none}.product-details-overlay{display:flex;justify-content:flex-end;background:#162b2038}.account-panel,.product-details-panel{width:min(34rem,48vw);min-height:100%;padding:1.5rem;border-left:1px solid #dce7dc;background:#fff;box-shadow:-18px 0 48px #1c352729}}}
