:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#1a3040;background:#f5f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}#app{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:#112b39;color:#dce8ed;padding:25px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.brand-mark{background:#36c6ac;color:#07332e;font-size:25px;font-weight:900;border-radius:13px;width:42px;height:42px;display:grid;place-items:center}.brand strong{display:block;font-size:23px;letter-spacing:2px}.brand small,.tenant small{display:block;font-size:11px;color:#a4b9c2;margin-top:3px}.tenant{border:1px solid #35505c;border-radius:13px;padding:12px;display:flex;align-items:center;gap:10px;font-size:12px}.tenant-icon{font-size:22px;color:#4ad7b8}.tenant b{font-size:12px}.chevron{margin-left:auto}.nav-label{font-size:10px;color:#829ba7;letter-spacing:1.5px;font-weight:700;margin:31px 13px 13px}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#bbced5;text-align:left;padding:13px 15px;border-radius:9px;display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600}.nav-item span{font-size:21px;width:23px}.nav-item:hover,.nav-item.active{background:#214553;color:white}.nav-item.active{box-shadow:inset 3px 0 #38d2b2}.sidebar-bottom{margin-top:auto;font-size:12px;padding:14px 9px;color:#c4d5dc;border-top:1px solid #35505c}.sidebar-bottom small{display:block;color:#91aeb8;margin-top:7px;line-height:1.5}.demo-dot{display:inline-block;width:8px;height:8px;background:#39d5a9;border-radius:50%;margin-right:5px}.main-shell{flex:1;min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid #e2e8eb;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.crumb{font-size:13px;color:#8a9aa5}.crumb span{padding:0 11px}.crumb b{color:#1e3645}.top-actions{display:flex;gap:16px;align-items:center}.demo-pill{background:#e5f8f3;color:#15826e;font-size:10px;font-weight:800;letter-spacing:1px;padding:7px 10px;border-radius:7px}.avatar{border-radius:50%;background:#dbeee9;color:#0c7768;padding:10px;font-size:11px;font-weight:800}main{padding:29px 32px 55px;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.page-head h1{font-size:27px;letter-spacing:-.7px;margin:0 0 7px;font-weight:750}.subtitle{color:#82939e;font-size:13px;margin:0}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid #d7e0e5;background:#fff;color:#25404e;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:650;white-space:nowrap}.btn:hover{border-color:#65a99c}.btn.primary{background:#123443;border-color:#123443;color:white}.btn.primary:hover{background:#205465}.btn.soft{background:#e7f6f2;color:#117c6b;border-color:#e7f6f2}.btn.danger{color:#b44e4c;border-color:#f1c7c5;background:#fff7f7}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.kpi{background:white;border:1px solid #e5ebee;border-radius:14px;padding:19px 20px;box-shadow:0 3px 15px #17344706}.kpi-label{color:#738895;font-size:12px;margin-bottom:10px}.kpi-value{font-size:27px;font-weight:780;letter-spacing:-.7px}.kpi-hint{font-size:11px;color:#8c9ba5;margin-top:9px}.kpi-icon{float:right;color:#179c83;background:#e5f7f2;border-radius:9px;padding:8px;font-size:20px}.panel{background:white;border:1px solid #e5eaee;border-radius:15px;padding:20px;margin-bottom:17px;box-shadow:0 4px 15px #132e4005}.panel h2{font-size:16px;margin:0 0 16px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.search{min-width:230px;max-width:350px;flex:1;position:relative}.search input{padding-left:36px}.search:before{content:'⌕';position:absolute;left:13px;top:6px;font-size:23px;color:#8ca0ab}.field,select,textarea{width:100%;border:1px solid #d7e0e5;background:white;border-radius:9px;padding:11px 12px;outline:0;color:#2d4451;font-size:13px}.field:focus,select:focus,textarea:focus{border-color:#36bba4;box-shadow:0 0 0 3px #3ac2a320}.toolbar select{width:auto;min-width:150px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 20px}.chip{border:1px solid #dbe3e7;border-radius:7px;padding:7px 12px;font-size:12px;color:#6c7e89;background:#fff}.chip.selected{background:#dcf5ee;border-color:#36b79c;color:#167c69;font-weight:700}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:740px;text-align:left;font-size:13px}.data-table th{background:#f6f8f9;color:#728693;font-size:11px;font-weight:700;padding:13px 14px;white-space:nowrap}.data-table td{border-bottom:1px solid #eef1f3;padding:10px 14px}.data-table tr:last-child td{border-bottom:0}.product-name{display:flex;align-items:center;gap:12px}.product-thumb{height:42px;width:42px;border-radius:9px;background:#edf3f6;display:grid;place-items:center;font-size:20px;color:#2c8790;flex-shrink:0}.product-link{border:0;background:none;color:#1e4555;text-decoration:underline;font-weight:650;padding:0;text-align:left}.muted{color:#8c9ca6;font-size:11px;margin-top:3px}.money{font-weight:650;white-space:nowrap}.margin{background:#e4f6ee;color:#148a6c;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:750}.margin.zero{background:#fce9e7;color:#b44d4b}.inline-input{width:115px;padding:8px;border:1px solid #d7e0e5;border-radius:8px;background:#fff}.inline-input.qty{width:75px}.empty{padding:45px;text-align:center;color:#80939e}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.field-group{margin-bottom:17px}.field-group label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field-help{font-size:11px;color:#93a3ad;margin-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-zone{border:1px dashed #70b8ad;border-radius:12px;background:#eefaf7;color:#178873;padding:25px;text-align:center;font-size:13px;margin-bottom:20px}.upload-zone strong{display:block;margin:8px}.upload-zone input{max-width:100%;font-size:11px}.upload-previews{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.upload-previews img{width:75px;height:75px;object-fit:cover;border-radius:9px;border:1px solid #d8e4e8}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #b3e4d3;border-radius:10px;padding:16px;margin-top:14px}.switch-row small{display:block;color:#879aa5;margin-top:4px}.switch-row input{accent-color:#119d7e;width:18px;height:18px}.chart{height:215px;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid #e8edef;padding:20px 5px 0}.bar-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;justify-content:flex-end}.bar{width:70%;max-width:58px;background:linear-gradient(#2eb99b,#91dfca);border-radius:6px 6px 0 0;min-height:3px}.bar-col small{font-size:10px;color:#8fa0a9;white-space:nowrap}.period-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px}.period-row select,.period-row input{width:auto}.tabs{display:flex;gap:5px;border-bottom:1px solid #e6ebee;margin:10px 0 18px}.tab{border:0;background:none;padding:12px 19px;color:#83929c;font-weight:650;font-size:13px;border-bottom:3px solid transparent}.tab.active{border-color:#1b9f87;color:#145d52}.pill{display:inline-block;background:#eaf5f2;color:#168e74;border-radius:7px;padding:5px 8px;font-size:11px}.hint{font-size:12px;color:#8999a3}.form-title{font-size:18px;font-weight:750;margin-bottom:19px}.error{color:#bb4747;font-size:12px;margin-top:8px}.danger-zone{margin-top:30px;padding-top:16px;border-top:1px solid #eee}.note{padding:13px 16px;background:#f0f8f7;border:1px solid #d5ebe6;color:#407a73;border-radius:10px;font-size:12px;line-height:1.5;margin-bottom:17px}#toast{position:fixed;bottom:25px;right:25px;background:#173946;color:#fff;padding:13px 18px;border-radius:10px;box-shadow:0 9px 35px #0003;font-size:13px;display:none;z-index:100}#toast.show{display:block}@media(max-width:950px){.sidebar{width:72px;padding:20px 9px}.brand{padding:0 4px 25px}.brand>div:last-child,.tenant,.nav-label,.nav-item:not(.active)~.none,.sidebar-bottom{display:none}.nav-item{font-size:0;justify-content:center;padding:13px}.nav-item span{font-size:22px}.two-col{grid-template-columns:1fr}.topbar{padding:0 19px}main{padding:23px 18px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:590px){.sidebar{width:55px;padding:16px 5px}.brand-mark{width:36px;height:36px}.topbar{height:58px}.crumb{font-size:11px}.page-head{flex-direction:column}.page-head h1{font-size:23px}.kpi-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.toolbar select{flex:1}.panel{padding:13px}.two-col{gap:0}.kpi-value{font-size:23px}}

/* v2.4: sales checkout and history */
.sales-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(400px,1.2fr);gap:16px;align-items:start}
.sale-total{display:flex;justify-content:space-between;align-items:center;padding:19px 0;margin:10px 0 16px;border-top:1px solid #e4eaed;font-size:14px}
.sale-total strong{font-size:26px;color:#116f63}
#checkout-form .btn.primary{width:100%;padding:14px}
@media(max-width:1100px){.sales-layout{grid-template-columns:1fr}}
/* v2.5 — layouts based on the provided functional reference screenshots, NEXO branding */
:root{color:#242f3a;background:#fafbfc}
main{max-width:1900px;padding:24px 26px 60px}
.page-head h1{font-size:24px;letter-spacing:-.45px}
.compact-head{margin-bottom:20px}
.inventory-totals{display:flex;align-items:center;gap:18px;font-size:12px;color:#7c8996;margin-top:13px}
.inventory-totals b{color:#455766;font-weight:650;margin-left:7px}
.inventory-totals i{height:20px;border-left:1px solid #d7dee4}
.inventory-surface{background:#fff;border:1px solid #e9edef;border-radius:12px;padding:18px 0 10px}
.inventory-toolbar{padding:0 18px;gap:11px;margin-bottom:18px}
.inventory-toolbar .search{max-width:450px;min-width:250px}
.inventory-toolbar .search input{height:44px}
.inventory-toolbar select{height:44px;max-width:225px}
.toolbar-spacer{flex:1}
.inventory-filter-row{display:flex;align-items:center;gap:8px;padding:0 18px 14px;min-width:0}
.inventory-filter-row select{max-width:140px;height:37px;font-size:12px}
.inventory-filter-row .chips{flex:1;overflow:auto;flex-wrap:nowrap;margin:0;padding:2px 0;scrollbar-width:thin}
.inventory-filter-row .chip{flex-shrink:0;white-space:nowrap}
.inventory-table .data-table{min-width:880px}
.inventory-table .data-table th{padding:15px 18px;background:#f4f5f7;font-size:12px;color:#687889}
.inventory-table .data-table td{padding:6px 18px;height:59px}
.inventory-table .product-thumb{width:38px;height:38px;border-radius:5px;background:#eef3f6}
.inventory-table .inline-input{width:155px;border-radius:10px;height:43px;font-size:14px}
.inventory-table .inline-input.qty{width:105px}
.inventory-table .money{font-weight:500}
.inventory-table .margin{padding:3px 8px}
.inventory-foot{padding:0 20px}
.product-head{border-bottom:1px solid #e7e9ed;padding:0 0 16px;margin-bottom:20px;align-items:center}
.product-back{display:flex;gap:12px;align-items:center}
.product-back h1{margin:0}
.back-icon{border:0;background:none;font-size:26px;color:#192b36;padding:3px 5px}
.product-layout{grid-template-columns:1fr 1fr;gap:16px}
.product-panel{border:1px solid #e0e4e9;border-radius:15px;padding:18px;margin-bottom:16px;box-shadow:none}
.product-panel h2{font-size:15px;margin-bottom:15px}
.product-panel .field-group label{font-size:12px;color:#3a434e;margin-bottom:8px}
.product-panel .field-group label em{color:#d55b58;font-style:normal}
.product-panel .field,.product-panel select,.product-panel textarea{height:46px;font-size:13px;border:1px solid #cfd6dd;border-radius:10px}
.product-panel textarea{height:auto;min-height:95px;resize:vertical}
.product-panel .field-help{font-size:11px;color:#8b9ba7}
.product-panel .field-help.before{margin:0 0 9px}
.product-panel .upload-zone{position:relative;background:#e1efff;border:1px dashed #7ea9d9;color:#3a79b7;padding:25px 14px;margin-bottom:13px;display:block;cursor:pointer}
.product-panel .upload-zone .upload-icon{display:block;font-size:26px;margin-bottom:4px}
.product-panel .upload-zone strong{font-size:12px;margin:4px 0}
.product-panel .upload-zone .field-help{color:#5d8ac0}
.product-panel .upload-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.product-panel .upload-previews img{width:86px;height:86px}
.price-unit{display:grid;grid-template-columns:1.55fr 1fr}
.price-unit input{border-radius:10px 0 0 10px!important}
.price-unit select{border-radius:0 10px 10px 0!important;border-left:0!important}
.stepper{display:flex;border:1px solid #cfd6dd;border-radius:10px;height:46px;align-items:center;overflow:hidden}
.stepper button{background:transparent;border:0;color:#3c4e59;font-size:22px;padding:5px 12px}
.stepper input{min-width:0;flex:1;text-align:center;border:0;background:none;outline:0;font-size:13px;width:30px}
.stepper input::-webkit-inner-spin-button{appearance:none}
.crown{display:inline-block;background:#367fcb;color:#ffdd73;padding:1px 6px;border-radius:9px;font-size:12px}
.variant-switch{font-size:12px;color:#788a99;margin-top:15px}
.variant-switch button{border:0;background:none;text-decoration:underline;color:#367db7;font-weight:750;padding:0 3px}
.mode-tag{display:inline-block;margin-left:8px;background:#e9f5f2;color:#187a67;border-radius:12px;padding:3px 7px;font-size:10px}
.variant-editor{margin-top:15px;padding:15px;border:1px solid #cce3dd;background:#f8fcfa;border-radius:10px}
.variant-editor h3{font-size:13px;margin:0 0 6px}
.variant-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;margin:9px 0}
.product-panel .switch-row{border:2px solid #70b48c;margin-top:8px;padding:16px;justify-content:flex-start}
.product-panel .switch-row>span:nth-child(2){flex:1}
.store-symbol{font-size:25px;color:#2a3d47}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stat-panel{padding:20px 22px;min-height:360px}
.stat-panel-head{display:flex;justify-content:space-between;align-items:flex-start}
.stat-panel-head h2{font-size:14px;margin:0 0 12px}
.stat-number{font-size:27px;font-weight:760;color:#213946}
.stat-hint{font-size:11px;color:#3cae91;margin-top:6px}
.stat-chevron{font-size:29px;color:#273d48}
.stat-bars{height:180px;display:flex;align-items:flex-end;gap:12px;padding:20px 0 4px;margin-top:15px;border-bottom:1px solid #e9eeee}
.stat-bar-col{height:100%;flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:8px}
.stat-bar{width:65%;max-width:72px;min-height:3px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#48b994,#c0e8db)}
.stat-bar.teal{background:linear-gradient(180deg,#3ea688,#b2e1d2)}
.stat-bar-col small{font-size:10px;color:#8a9ba4;white-space:nowrap}
.stat-footer{display:flex;justify-content:space-between;gap:10px;padding-top:17px}
.stat-footer div{display:flex;flex-direction:column;gap:5px}
.stat-footer span{font-size:11px;color:#9aa6ad}
.stat-footer strong{font-size:12px;color:#536673}
.wide-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d5dbe1;border-radius:7px;padding:4px;margin-bottom:20px}
.wide-tabs button{border:0;background:none;padding:12px;font-weight:650;font-size:13px;color:#8998a5;border-radius:5px}
.wide-tabs button.selected{background:#20313d;color:white}
.balance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0 26px}
.balance-kpi{display:flex;align-items:center;gap:14px;background:white;border-radius:12px;padding:16px;box-shadow:0 4px 15px #102b3b0a}
.balance-kpi small{display:block;color:#748797;font-size:12px;margin-bottom:5px}
.balance-kpi strong{font-size:21px}
.circle-icon{display:grid;place-items:center;border-radius:50%;background:#e3f5eb;color:#3a9b71;width:49px;height:49px;font-size:24px}
.circle-icon.red,.transaction-icon.red{background:#fdebe9;color:#c65e53}
.balance-subtabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e7eaed;margin-bottom:15px}
.balance-subtabs button{border:0;border-bottom:3px solid transparent;background:none;color:#7e8d9a;font-size:13px;padding:13px}
.balance-subtabs button.active{border-color:#243746;color:#243746;font-weight:700}
.balance-search{justify-content:flex-end}
.transaction-concept{display:flex;align-items:center;gap:13px}
.transaction-icon{display:grid;place-items:center;flex-shrink:0;background:#e2f5e9;color:#339a71;width:32px;height:32px;border-radius:50%}
@media(max-width:1050px){.stats-grid,.product-layout{grid-template-columns:1fr}.balance-kpis{grid-template-columns:1fr 1fr}.inventory-filter-row{flex-wrap:wrap}.inventory-filter-row .chips{width:100%;flex-basis:100%}}
@media(max-width:620px){.inventory-totals{flex-wrap:wrap;gap:9px}.inventory-totals i{display:none}.balance-kpis{grid-template-columns:1fr}.stat-footer{flex-wrap:wrap}.product-panel{padding:14px}.inventory-toolbar .search{min-width:100%}.price-unit{grid-template-columns:1fr 1fr}}
