:root{color:#17221f;font-synthesis:none;--green-950:#034231;--green-900:#07513d;--green-800:#08664b;--green-700:#0b7a59;--green-600:#0f9870;--green-500:#17aa7f;--green-50:#edf9f5;--text:#17221f;--muted:#6d7a76;--line:#e2e8e5;--surface:#fff;--soft:#f7faf9;--amber:#de8508;--amber-soft:#fff6e7;--red:#d84646;--red-soft:#fff0ef;--radius:12px;--shadow:0 2px 8px #0936290f;background:#fff;font-family:Noto Sans Thai,Leelawadee UI,Tahoma,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#fff;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:1px;outline:3px solid #17aa7f40}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:40;color:#fff;background:var(--green-900);flex-direction:column;width:250px;padding:24px 14px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:.2px;white-space:nowrap;align-items:center;gap:12px;padding:0 10px 25px;font-size:19px;display:flex}.brand-logo{object-fit:contain;background:#fffdf8;border-radius:50%;width:52px;height:52px;box-shadow:0 2px 8px #00000021}.sidebar nav{gap:5px;display:grid}.sidebar nav button{color:#ffffffe0;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:14px;width:100%;height:48px;padding:0 13px;font-size:15px;display:flex}.sidebar nav button svg{stroke-width:1.9px;flex:none;width:21px}.sidebar nav button:hover{background:#ffffff14}.sidebar nav button.active{color:#fff;background:#13976d;box-shadow:inset 0 0 0 1px #ffffff14}.sidebar nav button.muted-nav{opacity:.74;cursor:default}.sidebar-bottom{gap:10px;margin-top:auto;display:grid}.profile{color:#fff;text-align:left;cursor:pointer;background:0 0;border:1px solid #ffffff30;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:58px;padding:10px;font-size:13px;display:flex}.profile>svg:last-child{width:15px;margin-left:auto}.single-store{color:#ffffffbf;align-items:center;gap:8px;padding:2px 6px;font-size:11px;display:flex}.live-pulse{background:#75dfb9;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #75dfb91f}.live-pulse.closed{background:#f0ab75;box-shadow:0 0 0 4px #f0ab751f}.avatar{width:35px;height:35px;color:var(--green-900);background:#fff;border-radius:50%;place-items:center;font-weight:800;display:grid}.profile b,.profile small{display:block}.profile small{opacity:.7;margin-top:1px}.profile-wrap{position:relative}.user-switcher{z-index:60;color:var(--text);background:#fff;border-radius:10px;padding:6px;position:absolute;bottom:66px;left:0;right:0;box-shadow:0 14px 40px #00140e47}.user-switcher button{cursor:pointer;text-align:left;background:#fff;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:47px;padding:6px 8px;display:flex}.user-switcher button:hover,.user-switcher button.selected{background:var(--green-50)}.mini-avatar{color:#fff;background:var(--green-800);border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.user-switcher b,.user-switcher small{font-size:10px;display:block}.user-switcher small{color:var(--muted)}.user-switcher .manage-users{border-top:1px solid var(--line);min-height:35px;color:var(--green-700);justify-content:center;font-weight:700}.main-column{width:calc(100% - 250px);min-width:0;margin-left:250px}.topbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;height:68px;padding:0 28px;display:flex}.topbar-spacer{flex:1}.menu-button,.mobile-close{display:none}main{min-height:calc(100vh - 68px)}.page{padding:28px;animation:.22s ease-out pageIn}@keyframes pageIn{0%{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}.page-heading{justify-content:space-between;align-items:center;gap:20px;min-height:52px;margin-bottom:23px;display:flex}.page-heading h1{color:#14231f;letter-spacing:-.2px;margin:0;font-size:27px;line-height:1.25}.page-heading p{color:var(--muted);margin:5px 0 0;font-size:13px}.date-button,.soft-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 13px;font-size:13px;display:inline-flex}.date-button svg,.soft-button svg{width:17px}.soft-button:hover,.date-button:hover{background:#fafdfc;border-color:#9db9af}.soft-button.compact{height:38px}.store-toggle{color:#9b5e00;cursor:pointer;background:#fff8eb;border:1px solid #e2b775;border-radius:8px;align-items:center;gap:7px;height:38px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.store-toggle.open{color:var(--green-800);background:var(--green-50);border-color:#a9d5c5}.store-toggle svg{width:16px}.primary-button{color:#fff;background:var(--green-800);cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 17px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 4px 10px #06664b29}.primary-button:hover{background:var(--green-700)}.primary-button svg{width:18px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel-heading{justify-content:space-between;align-items:center;gap:14px;min-height:54px;padding:0 16px;display:flex}.panel-heading h2{align-items:center;gap:7px;margin:0;font-size:16px;display:flex}.panel-heading>div:first-child{align-items:center;gap:13px;display:flex}.warning-icon{width:17px;color:var(--amber);fill:var(--amber);stroke:#fff}.live-dot{color:var(--muted);font-size:11px}.live-dot:before{content:"";background:var(--green-500);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.segmented{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);cursor:pointer;background:#fff;height:29px;padding:0 13px;font-size:11px}.segmented button:last-child{border-right:0}.segmented button.selected{color:#fff;background:var(--green-800)}.text-button,.danger-text{cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;font-size:12px;display:inline-flex}.text-button{color:var(--green-700)}.text-button svg{width:16px}.danger-text{color:var(--red)}.danger-text svg{width:16px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius);min-height:130px;box-shadow:var(--shadow);background:#fff;align-items:flex-start;gap:13px;padding:20px 17px;display:flex}.metric-icon{color:#fff;background:var(--green-800);border-radius:50%;flex:none;place-items:center;width:47px;height:47px;display:grid}.metric-icon.teal{background:#13a77e}.metric-icon.green{background:#0c805e}.metric-icon.dark{background:#084936}.metric-icon svg{width:22px}.metric-card div{min-width:0}.metric-card div>span,.metric-card div>small{display:block}.metric-card div>span{margin:1px 0 3px;font-size:13px}.metric-card strong{color:var(--green-900);white-space:nowrap;font-size:clamp(20px,2vw,27px);line-height:1.2;display:block}.metric-card small{color:var(--muted);margin-top:13px;font-size:11px}.chart-panel{margin-bottom:16px}.chart-panel .panel-heading{border-bottom:1px solid #eef2f0}.chart-layout{grid-template-columns:minmax(0,1fr) 205px;gap:16px;height:270px;padding:12px 17px 14px 24px;display:grid}.chart-area{border-bottom:1px solid #dbe4e0;border-left:1px solid #dbe4e0;min-width:0;height:220px;margin-top:9px;position:relative}.chart-grid{flex-direction:column;justify-content:space-around;display:flex;position:absolute;inset:0}.chart-grid i{border-top:1px solid #edf1ef}.bars{justify-content:space-around;align-items:flex-end;gap:22px;display:flex;position:absolute;inset:8px 20px 0}.bars>span{opacity:.85;background:#7ac662;width:28px;min-height:10px;position:relative}.bars small{color:var(--muted);white-space:nowrap;font-size:10px;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%)}.bars span:last-child{background:var(--green-800)}.line-chart{width:calc(100% - 48px);height:calc(100% - 25px);position:absolute;inset:10px 24px 15px;overflow:visible}.chart-summary{border-left:1px solid var(--line);align-content:start;gap:20px;padding:20px 0 0 13px;display:grid}.chart-summary>span{padding-left:17px;display:grid;position:relative}.chart-summary .legend{border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:0}.legend.sales{background:#72bf56}.legend.profit{background:#0ba379}.legend.net{background:#ef8b0e}.chart-summary small{color:var(--muted);font-size:11px}.chart-summary b{margin:2px 0;font-size:18px}.chart-summary em{color:var(--green-700);font-size:10px;font-style:normal}.dashboard-tables{grid-template-columns:1fr 1fr;gap:16px;display:grid}.mini-table-panel{min-width:0}.mini-table-panel .panel-heading{border-bottom:1px solid var(--line)}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:#596761;text-align:left;white-space:nowrap;background:#fafcfb;padding:10px 13px;font-size:11px;font-weight:700}td{border-top:1px solid var(--line);vertical-align:middle;padding:10px 13px;font-size:12px}.product-cell{align-items:center;gap:9px;min-width:170px;display:flex}.product-cell b,.product-cell small{display:block}.product-cell b{font-size:12px;line-height:1.3}.product-cell small{color:var(--muted);margin-top:2px;font-size:10px}.product-thumb{color:#7aa596;background-color:#f2f7f5;background-repeat:no-repeat;border-radius:7px;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 1px #114d3b0d}.product-thumb>svg{width:38%;height:38%}.status{white-space:nowrap;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex}.status.normal{color:#218258;background:#e9f6ee}.status.soon{color:#c56f02;background:var(--amber-soft)}.status.expired{color:var(--red);background:var(--red-soft)}.low-number{color:var(--red)}.sale-number{color:var(--muted);font-size:12px}.pos-page{padding-bottom:0}.pos-layout{border-top:1px solid var(--line);grid-template-columns:minmax(540px,1.1fr) minmax(480px,.9fr);height:calc(100vh - 170px);min-height:630px;margin:0 -28px;display:grid}.catalog-panel{border-right:1px solid var(--line);min-width:0;padding:18px 22px;overflow:auto}.search-box{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-width:220px;height:40px;padding:0 12px;display:flex}.search-box:focus-within{border-color:var(--green-500);box-shadow:0 0 0 3px #17aa7f1a}.search-box svg{color:#63716c;width:17px}.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.pos-search{border:2px solid var(--green-700);border-radius:10px;height:53px}.pos-search input{font-size:15px}.pos-search>svg:first-child{width:23px;color:var(--green-700)}.pos-search>svg:last-child{width:22px;color:var(--green-800)}.category-row{scrollbar-width:none;gap:8px;padding:13px 0;display:flex;overflow-x:auto}.category-row button{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;height:34px;padding:0 14px;font-size:12px}.category-row button.active{border-color:var(--green-800);color:#fff;background:var(--green-800)}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.product-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:stretch;min-width:0;min-height:238px;padding:12px;display:flex;position:relative;overflow:hidden}.product-card:hover{border-color:#8dc5b2;transform:translateY(-1px);box-shadow:0 5px 16px #095a4217}.product-card .product-thumb{align-self:center;margin-bottom:9px}.product-card span{display:grid}.product-card b{min-height:35px;font-size:12px;line-height:1.4}.product-card small{color:var(--muted);font-size:10px}.product-card strong{color:var(--green-800);margin-top:6px;font-size:14px}.product-card>i{color:#fff;background:var(--green-700);opacity:0;border-radius:50%;place-items:center;width:27px;height:27px;transition:opacity .15s;display:grid;position:absolute;bottom:8px;right:8px}.product-card:hover>i{opacity:1}.product-card.out-of-stock{opacity:.48;cursor:not-allowed}.stock-caption{margin-top:4px}.product-card.out-of-stock .stock-caption{color:var(--red)}.product-card>i svg{width:15px}.cart-panel{background:#fff;flex-direction:column;min-width:0;display:flex;overflow:hidden}.cart-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:66px;padding:0 18px;display:flex}.cart-heading h2{margin:0 7px 0 0;font-size:17px;display:inline}.cart-heading span{color:var(--muted);font-size:11px}.cart-items{flex:1;min-height:0;overflow-y:auto}.cart-item{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(130px,1fr) 96px 60px 24px;align-items:center;gap:9px;min-height:104px;padding:12px 15px;display:grid}.cart-info b,.cart-info small{display:block}.cart-info b{font-size:12px}.cart-info small{color:var(--muted);margin-top:2px;font-size:10px}.cart-info em{width:fit-content;color:var(--amber);white-space:nowrap;border:1px solid #f1bd64;border-radius:5px;margin-top:6px;padding:3px 6px;font-size:9px;font-style:normal;display:block}.quantity{border:1px solid var(--line);border-radius:7px;grid-template-columns:28px 28px 28px;align-items:center;display:grid;overflow:hidden}.quantity button,.quantity span{background:#fff;border:0;place-items:center;height:29px;display:grid}.quantity button{cursor:pointer}.quantity button:hover{background:var(--soft)}.quantity button svg{width:13px}.quantity span{border-inline:1px solid var(--line);font-size:12px}.cart-item>strong{text-align:right;font-size:12px}.icon-only{cursor:pointer;background:0 0;border:0;place-items:center;width:27px;height:27px;padding:0;display:grid}.icon-only svg{width:17px}.icon-only:hover{color:var(--red)}.empty-cart{color:#8a9692;text-align:center;place-content:center;justify-items:center;height:100%;min-height:240px;display:grid}.empty-cart svg{stroke-width:1.2px;width:52px;height:52px;margin-bottom:10px}.empty-cart b{font-size:14px}.empty-cart span{margin-top:4px;font-size:11px}.cart-footer{border-top:1px solid var(--line);padding:15px 18px 18px;box-shadow:0 -5px 16px #0b45340a}.total-line{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.total-line span{font-size:15px;font-weight:700}.total-line strong{color:var(--green-900);font-size:27px}.payment-label{margin-bottom:7px;font-size:11px;font-weight:700;display:block}.payment-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.payment-grid.two{grid-template-columns:repeat(2,1fr)}.payment-grid button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:51px;font-size:11px;display:flex}.payment-grid button svg{width:19px}.payment-grid button.active{border-color:var(--green-600);color:var(--green-800);background:var(--green-50);box-shadow:inset 0 0 0 1px var(--green-500)}.checkout{justify-content:space-between;width:100%;height:58px;padding-inline:25px;font-size:18px}.checkout span{font-size:20px}.inventory-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px;display:grid}.inventory-main{min-width:0}.filterbar{align-items:center;gap:8px;margin-bottom:13px;display:flex}.filterbar .search-box{flex:1}.filterbar select{border:1px solid var(--line);color:#52605b;background:#fff;border-radius:8px;min-width:130px;height:40px;padding:0 30px 0 10px;font-size:11px}.inventory-table{min-width:0;overflow:hidden}.inventory-table table{min-width:930px}.inventory-table td{height:67px}.lot-number{color:var(--green-800);font-weight:700}.table-pagination{border-top:1px solid var(--line);height:52px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 14px;font-size:11px;display:flex}.table-pagination>div{gap:4px;display:flex}.table-pagination button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;place-items:center;width:29px;height:29px;padding:0;display:grid}.table-pagination button svg{width:14px}.table-pagination button.active{color:#fff;background:var(--green-800)}.empty-table{color:var(--muted);text-align:center;padding:50px;font-size:13px}.expiry-aside{align-content:start;gap:10px;display:grid}.aside-title{align-items:center;gap:8px;height:46px;display:flex}.aside-title svg{width:18px;color:var(--green-800)}.aside-title h2{margin:0;font-size:14px}.alert-stat{border:1px solid;border-radius:9px;justify-content:space-between;align-items:center;min-height:68px;padding:12px;display:flex}.alert-stat span{font-size:11px;font-weight:700}.alert-stat strong{font-size:22px}.alert-stat small{font-size:9px;font-weight:400}.alert-stat.amber{color:#c87404;background:#fffaf0;border-color:#f2c875}.alert-stat.orange{color:#c96902;background:#fff8ef;border-color:#efb35a}.alert-stat.red{color:var(--red);background:#fff7f6;border-color:#efaaa6}.expiry-chart{border:1px solid var(--line);border-radius:10px;margin-top:3px;padding:15px 13px 13px}.expiry-chart h3{margin:0 0 13px;font-size:12px}.mini-bars{border-bottom:1px solid var(--line);justify-content:space-around;align-items:flex-end;gap:8px;height:140px;padding:5px 5px 25px;display:flex}.mini-bars>span{background:var(--green-600);width:21px;position:relative}.mini-bars>span>i{background:#ed9c22;position:absolute;inset:0 0 auto}.mini-bars small{color:var(--muted);font-size:9px;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.chart-key{justify-content:center;gap:14px;margin-top:15px;font-size:9px;display:flex}.key{border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.key.normal{background:var(--green-600)}.key.soon{background:#ed9c22}.receiving-meta{grid-template-columns:310px 245px 280px;gap:18px;margin-bottom:18px;display:grid}.receiving-meta label{gap:6px;display:grid}.receiving-meta label>span{font-size:11px;font-weight:700}.receiving-meta input,.receiving-meta select,.receiving-table input,.receiving-table select{border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;width:100%;height:42px;padding:0 11px;font-size:12px}.receiving-meta input:focus,.receiving-meta select:focus,.receiving-table input:focus,.receiving-table select:focus{border-color:var(--green-500);box-shadow:0 0 0 3px #17aa7f1a}.input-with-icon{position:relative}.input-with-icon input{padding-right:38px}.input-with-icon svg{width:18px;color:var(--muted);position:absolute;top:11px;right:12px}.receiving-layout{grid-template-columns:minmax(650px,1fr) 270px;align-items:start;gap:18px;display:grid}.receiving-table{min-width:0;padding-bottom:13px;overflow:hidden}.receiving-table table{min-width:980px}.receiving-table td{padding:13px 8px}.receiving-table th{padding-inline:8px}.receiving-table td:first-child{width:270px}.receiving-table td:nth-child(2){width:150px}.receiving-table td:nth-child(3){width:80px}.receiving-table td:nth-child(4){width:110px}.receiving-table td:nth-child(5){width:125px}.receiving-product{min-width:250px}.receiving-table input,.receiving-table select{height:38px}.product-name-input{font-weight:700;border-color:#0000!important;height:28px!important;padding:0 5px!important}.product-name-input:focus{border-color:var(--green-500)!important}.uploaded-thumb{object-fit:cover;border-radius:7px;width:46px;height:46px}.add-row{border:1px dashed var(--green-500);height:41px;color:var(--green-700);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:7px;margin:13px 0 0 13px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.add-row svg{width:17px}.icon-only.danger{color:#9b6b68}.summary-panel{padding:20px 16px}.summary-panel>div{justify-content:space-between;align-items:center;min-height:42px;font-size:12px;display:flex}.summary-panel hr{border:0;border-top:1px solid var(--line);margin:10px 0}.summary-panel .grand-total{margin:5px 0 18px}.grand-total span{font-weight:700}.grand-total strong{color:var(--green-700);font-size:19px}.save-receiving{width:100%;height:51px}.summary-panel p{color:#a96500;background:var(--amber-soft);border:1px solid #f0c77b;border-radius:8px;margin:18px 0 0;padding:11px;font-size:10px;line-height:1.6}.product-quick-add{z-index:5;grid-template-columns:118px minmax(260px,1fr) 150px;align-items:center;gap:17px;margin-bottom:18px;padding:15px;display:grid;position:relative}.category-manager{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;padding:14px;display:flex}.category-tags{flex-wrap:wrap;gap:7px;display:flex}.category-tags button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:5px;height:32px;padding:0 9px;font-size:10px;display:flex}.category-tags svg{width:12px}.add-category{gap:7px;display:flex}.add-category input{border:1px solid var(--line);border-radius:8px;height:38px;padding:0 9px}.receive-composer{z-index:6;grid-template-columns:95px minmax(230px,1.5fr) repeat(7,minmax(90px,.65fr));align-items:end;gap:10px;margin-bottom:16px;padding:15px;display:grid;position:relative}.receive-composer>label,.product-name-composer>label{gap:6px;display:grid}.receive-composer label>span{font-size:10px;font-weight:700}.receive-composer input,.receive-composer select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:42px;padding:0 8px;font-size:11px}.receive-composer .upload-tile{height:76px}.product-name-composer{position:relative}.product-name-composer .suggestions{top:67px}.composer-profit{height:42px;color:var(--green-800);background:var(--green-50);border-radius:8px;align-content:center;padding:5px 8px;display:grid}.composer-profit span{font-size:8px}.composer-profit b{font-size:12px}.composer-profit.negative{color:var(--red);background:var(--red-soft)}.composer-add{white-space:nowrap;height:42px;padding:0 10px}.size-cell{grid-template-columns:70px 58px;gap:4px;display:grid}.profit{color:var(--green-700)}.loss{color:var(--red)}.upload-tile{height:96px;color:var(--green-700);background:var(--green-50);border:1px dashed #9bbeb1;border-radius:10px;align-content:center;place-items:center;gap:4px;display:grid;overflow:hidden}.upload-tile>svg{width:27px}.upload-tile img{object-fit:cover;width:100%;height:58px}.upload-tile button{color:var(--green-800);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.upload-tile button svg{width:14px}.remembered-product{align-self:stretch;padding-top:4px;position:relative}.remembered-product label{gap:6px;display:grid}.remembered-product label>span{font-size:11px;font-weight:700}.quick-search{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;height:42px;padding:0 11px;display:flex}.quick-search:focus-within{border-color:var(--green-500);box-shadow:0 0 0 3px #17aa7f1a}.quick-search svg{width:17px;color:var(--muted)}.quick-search input{border:0;outline:0;width:100%}.remembered-product>p{color:var(--muted);margin:7px 0 0;font-size:10px}.suggestions{z-index:10;border:1px solid var(--line);background:#fff;border-radius:9px;position:absolute;top:73px;left:0;right:0;overflow:hidden;box-shadow:0 12px 30px #063c2c24}.suggestions button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:7px 11px;font-size:11px;display:flex}.suggestions button:hover{background:var(--green-50)}.suggestions small{color:var(--muted);font-size:9px}.suggestions .create-new{color:var(--green-800);justify-content:flex-start;gap:7px;font-weight:700}.suggestions svg{width:16px}.quick-add-button{width:100%}.sync-banner{color:#fff;background:var(--green-900);border-radius:12px;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;margin-bottom:17px;padding:18px 20px;display:grid}.sync-icon{width:48px;height:48px;color:var(--green-900);background:#e8faf3;border-radius:50%;place-items:center;display:grid}.sync-icon svg{width:24px}.sync-banner b{font-size:15px}.sync-banner p{color:#ffffffb8;margin:3px 0 0;font-size:11px}.sync-status{border:1px solid #fff3;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;display:flex}.sync-status i{background:#77e1bb;border-radius:50%;width:7px;height:7px}.team-list{overflow:hidden}.team-row{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(150px,.65fr) minmax(260px,1.25fr) 190px;align-items:center;gap:14px;min-height:92px;padding:15px 18px;display:grid}.team-row:last-child{border-bottom:0}.team-row.current-user{background:#fbfefd}.member-avatar{color:#fff;background:var(--green-800);border-radius:50%;place-items:center;width:45px;height:45px;font-weight:800;display:grid}.member-name b,.member-name small,.access-copy b,.access-copy small{display:block}.member-name small,.access-copy small{color:var(--muted);margin-top:3px;font-size:10px}.member-name input{border:1px solid var(--green-500);border-radius:8px;width:100%;height:39px;padding:0 9px}.access-copy{align-items:center;gap:10px;display:flex}.access-copy>svg{width:20px;color:var(--green-700)}.access-copy b{font-size:11px}.team-actions{justify-content:flex-end;gap:6px;display:flex}.edit-name,.save-name,.login-as{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:5px;height:37px;padding:0 9px;font-size:10px;font-weight:700;display:inline-flex}.edit-name{border:1px solid var(--line);background:#fff}.save-name,.login-as{color:#fff;background:var(--green-800);border:0}.login-as{color:var(--green-800);background:var(--green-50);border:1px solid #b9ddd0}.edit-name svg,.save-name svg,.login-as svg{width:14px}.permission-note{max-width:720px;color:var(--muted);margin:15px 3px;font-size:11px;line-height:1.6}.page-search{max-width:520px;margin-bottom:15px}.inline-form{grid-template-columns:1.4fr repeat(4,1fr) 90px;align-items:end;gap:10px;margin-bottom:15px;padding:15px;display:grid}.inline-form label,.expense-form label,.settings-section>label{gap:6px;display:grid}.inline-form label span,.expense-form label span,.settings-section>label>span{font-size:10px;font-weight:700}.inline-form input,.inline-form select,.expense-form input,.expense-form select,.settings-section input,.settings-section textarea{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:40px;padding:0 10px}.settings-section textarea{resize:vertical;min-height:78px;padding-block:9px}.supplier-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.supplier-card{padding:18px}.supplier-card.inactive{opacity:.58}.supplier-card-head{justify-content:space-between;align-items:center;display:flex}.supplier-card-head button{color:var(--green-700);cursor:pointer;background:0 0;border:0}.supplier-card-head button svg{width:28px}.supplier-icon{color:#fff;background:var(--green-800);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.supplier-icon svg{width:20px}.supplier-card h2{margin:13px 0 2px;font-size:15px}.supplier-type{color:var(--muted);font-size:10px}.supplier-card dl{gap:8px;margin:15px 0;display:grid}.supplier-card dl div{justify-content:space-between;gap:10px;display:flex}.supplier-card dt,.supplier-card dd{margin:0;font-size:10px}.supplier-card dt{color:var(--muted)}.supplier-card dt svg{vertical-align:middle;width:12px;margin-right:3px}.supplier-state{color:var(--muted);background:#f0f2f1;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:700}.supplier-state.active{color:var(--green-700);background:var(--green-50)}.finance-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px;display:grid}.finance-metrics article{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:12px;min-height:96px;padding:16px;display:flex}.finance-metrics article>svg,.finance-metrics .profit-symbol{color:#fff;background:var(--green-800);border-radius:50%;width:42px;height:42px;padding:10px}.finance-metrics .profit-symbol{padding:0}.finance-metrics span{font-size:10px}.finance-metrics strong{color:var(--green-900);margin-top:3px;font-size:20px;display:block}.finance-metrics .net-profit{color:#fff;background:var(--green-900)}.finance-metrics .net-profit strong{color:#fff}.finance-metrics .net-profit .profit-symbol{color:var(--green-900);background:#fff}.finance-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:15px;display:grid}.expense-list{overflow:hidden}.expense-list .panel-heading{border-bottom:1px solid var(--line)}.expense-form{gap:13px;padding:20px;display:grid}.expense-form>svg{width:28px;color:var(--green-700)}.expense-form h2{margin:-5px 0 2px;font-size:16px}.settings-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.settings-section{align-content:start;gap:14px;padding:20px;display:grid}.settings-title{border-bottom:1px solid var(--line);gap:10px;padding-bottom:12px;display:flex}.settings-title>svg{width:23px;color:var(--green-700)}.settings-title h2{margin:0;font-size:15px}.settings-title p{color:var(--muted);margin:2px 0 0;font-size:10px}.switch-setting{align-items:start;grid-template-columns:18px 1fr!important}.switch-setting input{width:17px;height:17px}.switch-setting b,.switch-setting small{display:block}.switch-setting small{color:var(--muted);margin-top:2px;font-size:9px}.backup-section .soft-button{width:100%}.settings-save{grid-column:1/-1;justify-self:end;min-width:190px}.customer-form{grid-template-columns:repeat(3,1fr) 90px}.customer-list{overflow:hidden}.customer-name{align-items:center;gap:8px;display:flex}.customer-name svg{width:20px;color:var(--green-700)}.report-hero{color:#fff;background:var(--green-900);border-radius:13px;grid-template-columns:minmax(250px,1fr) 180px 190px;align-items:center;gap:24px;margin-bottom:15px;padding:24px;display:grid}.closing-copy h2{margin:0;font-size:19px}.closing-copy p{color:#ffffffb8;max-width:470px;margin:5px 0 0;font-size:11px;line-height:1.5}.closing-total{display:grid}.closing-total span,.closing-total small{color:#ffffffb3;font-size:10px}.closing-total strong{margin:2px 0;font-size:28px}.report-actions{gap:8px;display:grid}.report-actions button{cursor:pointer;border:0;border-radius:8px;grid-template-columns:20px 1fr 17px;align-items:center;gap:7px;height:42px;padding:0 10px;font-size:11px;font-weight:700;display:grid}.report-actions button svg{width:17px}.excel-button{color:#116343;background:#e8f8f0}.pdf-button{color:#9b3535;background:#fff0ef}.report-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px;display:grid}.report-metrics article{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:13px;min-height:92px;padding:17px;display:flex}.report-metrics article>svg,.profit-symbol{color:#fff;background:var(--green-800);border-radius:50%;place-items:center;width:42px;height:42px;padding:10px;display:grid}.profit-symbol{padding:0;font-size:19px;font-weight:800}.report-metrics span{font-size:11px}.report-metrics b,.report-metrics small{display:block}.report-metrics b{color:var(--green-900);margin-top:2px;font-size:20px}.report-metrics small{color:var(--muted);font-size:9px}.report-table{overflow:hidden}.report-table .panel-heading{border-bottom:1px solid var(--line)}.report-table th:nth-child(n+4),.report-table td:nth-child(n+4){text-align:right}.report-table td:last-child{color:var(--green-700);font-weight:700}.report-date-controls{align-items:center;gap:8px;display:flex}.report-date-controls .date-button input{background:0 0;border:0;outline:0;font-size:10px}.accounting-summary{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px;display:grid}.accounting-summary article{border:1px solid var(--line);background:#fff;border-radius:9px;align-content:center;min-height:75px;padding:13px;display:grid}.accounting-summary span{color:var(--muted);font-size:9px}.accounting-summary b{color:var(--green-900);margin-top:2px;font-size:17px}.accounting-summary .highlight{color:#fff;background:var(--green-900)}.accounting-summary .highlight span,.accounting-summary .highlight b{color:#fff}.report-ledgers{grid-template-columns:1.2fr .8fr;gap:12px;margin-bottom:12px;display:grid}.expense-ledger{margin-bottom:20px}.heading-actions{gap:8px;display:flex}.modal-backdrop{z-index:90;background:#00241a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.product-editor{width:min(760px,100%);max-height:calc(100vh - 40px);padding:20px;overflow-y:auto}.modal-title{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.modal-title h2{margin:0;font-size:19px}.modal-title p{color:var(--muted);margin:3px 0 0;font-size:10px}.editor-grid{grid-template-columns:180px 1fr;gap:20px;display:grid}.editor-image{background:var(--green-50);border:1px dashed #a7c5ba;border-radius:11px;align-content:center;place-items:center;gap:10px;min-height:190px;display:grid;overflow:hidden}.editor-image>svg{width:45px;color:var(--green-700)}.editor-image img{object-fit:cover;width:100%;height:150px}.editor-fields{gap:11px;display:grid}.editor-fields label{gap:5px;display:grid}.editor-fields label span{font-size:10px;font-weight:700}.editor-fields input,.editor-fields select{border:1px solid var(--line);background:#fff;border-radius:8px;height:40px;padding:0 9px}.two-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.editor-profit{color:var(--green-800);background:var(--green-50);border-radius:8px;justify-content:space-between;padding:10px;font-size:11px;display:flex}.editor-save{margin:18px 0 0 auto;display:flex}.toast{z-index:100;max-width:420px;min-height:54px;color:var(--green-900);background:#edfaf5;border:1px solid #91cdb7;border-radius:10px;align-items:center;gap:10px;padding:12px 17px;font-size:13px;animation:.25s ease-out toastIn;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 35px #063c2c2e}.toast.error{color:#9c2e2e;background:#fff3f2;border-color:#e9a5a0}.toast svg{flex:none;width:21px}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (width<=1220px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-tables{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(3,1fr)}.pos-layout{grid-template-columns:minmax(430px,1fr) minmax(430px,1fr)}.filterbar{flex-wrap:wrap}.filterbar .search-box{flex-basis:100%}.receiving-meta{grid-template-columns:repeat(3,1fr)}.receiving-layout{grid-template-columns:1fr}.summary-panel{width:100%;max-width:420px;margin-left:auto}.report-hero{grid-template-columns:1fr 160px}.report-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.inline-form{grid-template-columns:repeat(3,1fr)}.supplier-grid,.finance-metrics{grid-template-columns:repeat(2,1fr)}.receive-composer{grid-template-columns:95px 1.5fr repeat(4,1fr)}.receive-composer .composer-add{grid-column:auto}}@media (width<=980px){.sidebar{transition:transform .2s;transform:translate(-100%);box-shadow:12px 0 35px #00231933}.sidebar.open{transform:translate(0)}.mobile-close{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:35px;height:35px;display:grid;position:absolute;top:13px;right:9px}.mobile-close svg{width:20px}.backdrop{z-index:30;background:#00211861;border:0;position:fixed;inset:0}.main-column{width:100%;margin-left:0}.menu-button{background:var(--soft);cursor:pointer;border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.menu-button svg{width:21px}.pos-layout{grid-template-columns:1fr;height:auto;min-height:0}.catalog-panel{border-right:0}.cart-panel{border-top:1px solid var(--line);min-height:650px}.inventory-layout{grid-template-columns:1fr}.expiry-aside{grid-template-columns:repeat(3,1fr)}.aside-title,.expiry-chart{grid-column:1/-1}.team-row{grid-template-columns:48px 1fr 190px}.access-copy{grid-area:2/2/auto/4}.team-actions{grid-area:1/3}.finance-layout{grid-template-columns:1fr}.expense-form{max-width:500px}.settings-grid{grid-template-columns:1fr}.settings-save{grid-column:auto}.report-ledgers{grid-template-columns:1fr}.accounting-summary{grid-template-columns:repeat(3,1fr)}}@media (width<=680px){.topbar{height:58px;padding:0 14px}.topbar .soft-button span{display:none}.topbar .soft-button{width:38px;padding:0}main{min-height:calc(100vh - 58px)}.page{padding:18px 14px}.page-heading{align-items:flex-start;margin-bottom:17px}.page-heading h1{font-size:23px}.date-button,.sale-number{display:none}.metric-grid{grid-template-columns:1fr;gap:10px}.metric-card{align-items:center;min-height:104px;padding:15px}.metric-card small{margin-top:7px}.chart-panel .panel-heading{flex-direction:column;align-items:flex-start;min-height:82px;padding:11px 12px}.chart-panel .segmented{width:100%}.chart-panel .segmented button{flex:1}.chart-layout{grid-template-columns:1fr;height:auto;padding-inline:12px}.chart-summary{border:0;border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:5px;padding:13px 0 0}.chart-summary b{font-size:13px}.chart-summary em{display:none}.segmented button{padding:0 8px}.live-dot{display:none}.chart-area{height:190px}.dashboard-tables{gap:10px}.mini-table-panel td:nth-child(2),.mini-table-panel th:nth-child(2){display:none}.pos-page{padding-bottom:0}.pos-layout{margin:0 -14px}.catalog-panel{padding:14px}.product-grid{grid-template-columns:repeat(2,1fr)}.product-card{min-height:220px}.product-card .product-thumb{width:100px!important;height:100px!important}.cart-item{grid-template-columns:44px minmax(105px,1fr) 84px 48px 20px;gap:5px;padding-inline:10px}.cart-item .product-thumb{width:44px!important;height:44px!important}.cart-info em{display:none}.cart-footer{padding-inline:12px}.filterbar select{flex:1;min-width:145px}.filterbar .soft-button{display:none}.inventory-page .page-heading .primary-button{width:42px;padding:0;font-size:0}.inventory-page .page-heading .primary-button svg{width:20px}.expiry-aside{grid-template-columns:1fr}.aside-title,.expiry-chart{grid-column:auto}.receiving-meta{grid-template-columns:1fr;gap:12px}.receiving-layout{display:block}.summary-panel{max-width:none;margin:13px 0 0}.receiving-table{border-radius:9px}.product-quick-add{grid-template-columns:92px 1fr;gap:12px}.quick-add-button{grid-column:1/-1}.upload-tile{height:92px}.sync-banner{grid-template-columns:42px 1fr}.sync-icon{width:42px;height:42px}.sync-status{grid-column:1/-1;width:fit-content}.team-row{grid-template-columns:42px 1fr;padding:14px 12px}.team-actions{grid-area:2/2;justify-content:flex-start}.access-copy{grid-area:3/1/auto/-1}.member-avatar{width:40px;height:40px}.report-hero{grid-template-columns:1fr;gap:16px}.report-actions{grid-column:auto}.report-metrics{grid-template-columns:1fr;gap:8px}.inline-form,.customer-form,.supplier-grid,.finance-metrics{grid-template-columns:1fr}.settings-section{padding:15px}.store-toggle{padding:0 9px;font-size:0}.store-toggle svg{width:18px}.category-manager{flex-direction:column;align-items:stretch}.add-category input{flex:1;min-width:0}.receive-composer{grid-template-columns:1fr 1fr}.receive-composer .upload-tile,.product-name-composer,.composer-add{grid-column:1/-1}.accounting-summary{grid-template-columns:repeat(2,1fr)}.report-date-controls{flex-direction:column;align-items:flex-end}.editor-grid{grid-template-columns:1fr}.editor-image{min-height:140px}.two-fields{grid-template-columns:1fr}.toast{bottom:14px;left:14px;right:14px}}@media print{.sidebar,.topbar,.report-actions,.date-button{display:none!important}.main-column{width:100%;margin:0}.page{padding:0}.report-hero{color:#111;background:#fff;border:1px solid #bbb}.closing-copy p,.closing-total span,.closing-total small{color:#555}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
