:root{
  --bg:#f5f3ed;--paper:#fffefb;--ink:#17231c;--muted:#68736c;--line:#dde3de;
  --green:#0f6b3e;--green2:#16834d;--green-soft:#e7f5ec;--red:#b42318;--red-soft:#fff0ee;
  --amber:#9a5b00;--amber-soft:#fff7df;--blue:#1769aa;--blue-soft:#eaf5ff;--shadow:0 10px 28px rgba(23,35,28,.07);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);min-height:100vh}button,input,select,textarea{font:inherit}a{color:inherit}.app-shell{min-height:100vh}
.login{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{width:min(430px,100%);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.brand-mark{width:68px;height:68px;border-radius:20px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:950;margin-bottom:16px}.login-card h1{margin:3px 0 5px;font-size:26px}.login-card p{color:var(--muted);margin:0 0 18px}
.layout{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;background:#123c27;color:#fff;padding:18px 14px;display:flex;flex-direction:column;gap:18px}.store-brand{display:flex;align-items:center;gap:10px;padding:4px 4px 8px}.store-logo{width:44px;height:44px;border-radius:13px;background:#fff;color:var(--green);display:grid;place-items:center;font-weight:950}.store-title{font-weight:900;line-height:1.1}.store-sub{font-size:12px;color:#b9cfbf;margin-top:3px}.nav{display:grid;gap:5px}.nav a{text-decoration:none;color:#d9e8dd;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;font-weight:780;font-size:14px}.nav a span{font-size:18px;width:22px;text-align:center}.nav a:hover,.nav a.active{background:#1b5637;color:#fff}.sidebar-foot{margin-top:auto;display:grid;gap:7px;color:#c0d4c6;font-size:13px}.ghost-dark{background:transparent!important;color:#fff!important;border:1px solid #5a7f68!important}
.main{min-width:0;padding:24px 28px 100px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.page-head.compact{margin-bottom:14px}.page-head h1{font-size:29px;line-height:1.05;margin:2px 0 5px;letter-spacing:-.02em}.page-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:850;font-size:10px;color:var(--green)}.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:#f2f5f2;color:var(--ink);border-radius:11px;padding:10px 13px;min-height:41px;text-decoration:none;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.danger-soft{background:var(--red-soft);color:var(--red);border-color:#ffd4cf}.btn.block{width:100%}.btn.disabled{opacity:.45;pointer-events:none}.small-btn{min-height:34px;padding:7px 10px;font-size:12px}
.server-alert{margin:0 0 14px;padding:12px 14px;border-radius:13px;background:var(--green-soft);border:1px solid #bee3c9;color:#135b36;font-weight:700}.server-alert.error{background:var(--red-soft);border-color:#ffd0cb;color:#942019}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 2px 7px rgba(23,35,28,.025)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:11px}.panel-head h2,.section-title h2{margin:0;font-size:17px}.panel-head p,.section-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.panel-head a{font-size:12px;color:var(--green);font-weight:850}.section-title{margin-bottom:10px}.section-title:not(:first-child){margin-top:18px;padding-top:16px;border-top:1px solid #edf0ed}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:13px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:15px}.metric span{display:block;color:var(--muted);font-size:11px;font-weight:780;text-transform:uppercase;letter-spacing:.04em}.metric strong{display:block;font-size:24px;margin:5px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric small{color:var(--muted);font-size:11px}.home-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.home-actions a{text-decoration:none;background:#143f29;color:#fff;border-radius:15px;padding:14px;display:grid;gap:3px}.home-actions a b{font-size:15px}.home-actions a span{color:#c5d8cb;font-size:11px}.content-grid{display:grid;gap:13px}.content-grid.two{grid-template-columns:1fr 1fr}.simple-list{display:grid}.simple-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0ed}.simple-row:last-child{border-bottom:0}.simple-row>div{display:grid;gap:2px;min-width:0}.simple-row span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.simple-row strong{white-space:nowrap}.pill{font-size:10px;border-radius:999px;background:#eef3ef;padding:6px 8px;font-weight:800}.status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;background:#eef2ef;color:#58655e}.status.ready,.status.inventory{background:var(--green-soft);color:#0d6036}.status.low,.status.unmatched{background:var(--amber-soft);color:var(--amber)}.status.out,.status.danger{background:var(--red-soft);color:var(--red)}.status.no_price{background:#f4edff;color:#7040a5}.status.catalog{background:var(--blue-soft);color:#0f5e96}.empty{text-align:center;color:var(--muted);padding:28px 12px}.center{text-align:center}.muted{color:var(--muted)}.tiny{font-size:11px}.debt{color:var(--red)}
.field{display:grid;gap:6px;margin:9px 0}.field label{font-size:12px;font-weight:820}.field input,.field select,.field textarea,.search{width:100%;min-width:0;border:1px solid #cfd7d1;background:#fff;border-radius:10px;padding:11px 12px;outline:none}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,107,62,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 11px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.span2{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:780;margin:10px 0}.check input{width:19px;height:19px}.edit-form{display:grid;gap:8px}
.pos-shell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.72fr);gap:14px;align-items:start}.pos-browser{min-width:0}.search-bar,.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto auto;gap:8px;margin-bottom:12px}.filter-bar{grid-template-columns:minmax(260px,1fr) 160px 190px auto}.sell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:9px}.sell-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:11px;display:grid;grid-template-columns:60px minmax(0,1fr);gap:9px}.sell-photo,.mini-photo,.product-photo{object-fit:cover;background:#f1f5f2;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:950;color:#4c6e58}.sell-photo{width:60px;height:60px;border-radius:13px}.mini-photo{width:48px;height:48px;border-radius:11px}.product-photo{width:62px;height:62px;border-radius:13px}.product-thumb-placeholder{display:flex!important}.sell-copy{min-width:0}.sell-copy h3{font-size:14px;margin:2px 0 2px;line-height:1.2}.sell-copy p{font-size:11px;color:var(--muted);margin:0}.sell-stock{font-size:10px;color:var(--green);font-weight:850;margin-top:5px}.sell-add{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:7px}.sell-add select{border:1px solid #cfd7d1;border-radius:10px;padding:9px;background:#fff}.sell-add .btn{min-width:104px}.sale-cart{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.cart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cart-head h2{margin:2px 0 0;font-size:18px}.cart-empty,.batch-empty{display:grid;place-items:center;text-align:center;gap:4px;color:var(--muted);padding:32px 12px}.cart-empty div,.batch-empty div{font-size:32px}.cart-empty b,.batch-empty b{color:var(--ink)}.cart-lines{margin-top:8px}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto 24px;align-items:center;gap:7px;padding:10px 0;border-bottom:1px solid #edf0ed}.cart-line-copy{display:grid;gap:2px}.cart-line-copy b{font-size:12px}.cart-line-copy span{font-size:10px;color:var(--muted)}.cart-qty{display:flex;align-items:center;gap:3px}.cart-qty form{margin:0}.cart-qty button,.qty-form button{border:1px solid var(--line);background:#f4f6f4;border-radius:8px;height:30px;min-width:29px;font-weight:900}.qty-form{display:flex}.qty-form input{width:50px;padding:5px;border:1px solid var(--line);border-radius:8px 0 0 8px}.qty-form button{border-radius:0 8px 8px 0;margin-left:-1px}.remove-x{border:0;background:transparent;color:var(--red);font-size:20px;line-height:1;cursor:pointer}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:15px}.cart-total strong{font-size:22px}.checkout-form{border-top:1px solid #edf0ed;padding-top:10px}.pay-button{width:100%;min-height:49px;font-size:15px;margin-top:6px}
.list-summary{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin:4px 2px 9px}.product-list{display:grid;gap:8px}.product-row{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) 190px 110px;gap:12px;align-items:center}.product-main{text-decoration:none;display:grid;grid-template-columns:62px minmax(0,1fr);gap:11px;align-items:center;min-width:0}.product-copy h3{margin:0 0 3px;font-size:15px;line-height:1.2}.product-copy p{margin:0;color:var(--muted);font-size:11px}.identity{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.identity span{font-size:9px;background:#f0f3f1;border-radius:999px;padding:4px 6px;color:#59665e}.product-numbers{display:grid;grid-template-columns:1fr 1fr;gap:7px}.product-numbers div{display:grid;background:#f6f8f6;border-radius:10px;padding:7px 8px}.product-numbers small{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.product-numbers b{font-size:12px}.product-side{display:grid;gap:7px;justify-items:end}.pager{display:flex;justify-content:center;align-items:center;gap:9px;margin:15px 0}.pager span{font-size:12px;color:var(--muted)}
.product-edit-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:14px;align-items:start}.photo-panel{position:sticky;top:16px}.photo-stage{display:grid;place-items:center;min-height:250px;background:#f6f8f6;border-radius:14px;overflow:hidden}.product-photo-large{width:100%;max-height:340px;aspect-ratio:1/1;object-fit:contain;background:#f6f8f6;display:flex;align-items:center;justify-content:center;font-size:68px;font-weight:950;color:#557460}.photo-placeholder{font-size:70px;color:#91aa99}.photo-actions{display:grid;gap:7px;margin-top:10px}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.edit-panel{min-width:0}.stock-readout{display:grid;gap:3px;background:#f4f8f5;border:1px solid #d8e4db;border-radius:13px;padding:12px;margin:8px 0}.stock-readout span{font-size:11px;color:var(--muted)}.stock-readout strong{font-size:21px}.sticky-save{position:sticky;bottom:8px;background:rgba(255,254,251,.96);border:1px solid var(--line);border-radius:13px;padding:8px;display:flex;gap:8px;justify-content:flex-end;box-shadow:0 8px 28px rgba(23,35,28,.08);margin-top:8px;z-index:5}.receive-this{margin-top:8px}
.receive-shell{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(430px,1.22fr);gap:14px;align-items:start}.receive-search-panel{position:sticky;top:16px}.receive-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.receive-hint{margin-top:10px;font-size:12px;color:var(--muted);padding:10px;background:#f4f7f5;border-radius:11px}.receive-results{display:grid;gap:7px;margin-top:10px;max-height:60vh;overflow:auto}.receive-result{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border:1px solid #e2e7e3;border-radius:13px;background:#fff}.receive-result>div{display:grid;gap:2px;min-width:0}.receive-result b{font-size:12px}.receive-result span,.receive-result small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.receive-batch-panel{min-width:0}.receive-form{display:grid;gap:10px}.receive-lines{display:grid;gap:9px}.receive-line{border:1px solid #dfe6e1;border-radius:15px;padding:11px;background:#fff}.receive-line-head{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;gap:9px;align-items:center}.receive-line-head h3{margin:0;font-size:13px}.receive-line-head p{margin:2px 0 0;font-size:10px;color:var(--muted)}.receive-line-head small{font-size:10px;color:var(--green);font-weight:800}.receive-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;margin-top:7px}.receive-fields .field{margin:6px 0}.receive-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 9px;border-top:1px solid #edf0ed;padding-top:8px}.receive-actions{position:sticky;bottom:8px;display:grid;grid-template-columns:1fr 1.4fr;gap:8px;background:rgba(255,254,251,.96);border:1px solid var(--line);border-radius:13px;padding:8px;box-shadow:0 8px 28px rgba(23,35,28,.08);z-index:6}
.ocr-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);gap:14px;align-items:start}.steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.steps span{background:#eef2ef;color:#667169;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850}.steps span.active{background:var(--green);color:#fff}.receipt-drop{border:2px dashed #b9c9bf;border-radius:16px;background:#f7faf8;position:relative;overflow:hidden;margin:8px 0}.receipt-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.receipt-drop label{min-height:140px;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;padding:16px}.receipt-drop label span{font-size:11px;color:var(--muted)}.receipt-drop img{width:100%;max-height:300px;object-fit:contain;background:#fff;border-top:1px solid var(--line);position:relative;z-index:1}.ocr-status{font-size:11px;background:var(--green-soft);color:#315b42;border-radius:10px;padding:9px 10px}.tips{display:grid;gap:12px}.tips>div{display:grid;gap:2px;padding-bottom:11px;border-bottom:1px solid #edf0ed}.tips>div:last-child{border:0}.tips b{font-size:12px}.tips span{font-size:11px;color:var(--muted)}.receipt-review{display:grid;gap:10px}.receipt-items{display:grid;gap:8px}.receipt-item{display:grid;grid-template-columns:24px 48px minmax(160px,.8fr) minmax(420px,1.4fr);gap:9px;align-items:start;border:1px solid #dfe5e1;border-radius:14px;padding:10px}.receipt-check input{width:18px;height:18px}.receipt-copy h3{margin:1px 0 2px;font-size:12px}.receipt-copy p{font-size:9px;color:var(--muted);margin:0 0 5px;overflow-wrap:anywhere}.receipt-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 7px}.receipt-fields .field{margin:4px 0}.out-lines{display:grid;gap:7px;margin-bottom:12px}.out-line{display:flex;justify-content:space-between;align-items:center;gap:9px;border:1px solid #e0e6e2;border-radius:12px;padding:10px}.out-line>div{display:grid;gap:2px}.out-line span{font-size:10px;color:var(--muted)}
.sales-list{padding:0;overflow:hidden}.sale-detail{border-bottom:1px solid #edf0ed}.sale-detail:last-child{border-bottom:0}.sale-detail summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px}.sale-detail summary::-webkit-details-marker{display:none}.sale-detail summary>div{display:grid;gap:2px}.sale-detail summary span{font-size:10px;color:var(--muted)}.sale-detail-body{background:#f8faf8;padding:12px 15px;border-top:1px solid #edf0ed}.sale-items{display:grid;gap:6px}.sale-items div,.sale-totals span{display:flex;justify-content:space-between;gap:10px;font-size:11px}.sale-totals{display:grid;gap:5px;margin-top:9px;padding-top:9px;border-top:1px dashed #d5ddd7}.tools{display:grid;gap:8px}.tool-link{text-decoration:none;border:1px solid #e2e7e3;border-radius:12px;padding:11px;display:grid;gap:2px}.tool-link b{font-size:12px}.tool-link span{font-size:10px;color:var(--muted)}
.mobile-nav{display:none}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.home-actions{grid-template-columns:repeat(2,1fr)}.content-grid.two{grid-template-columns:1fr}.pos-shell{grid-template-columns:1fr}.sale-cart{position:static;max-height:none}.receive-shell{grid-template-columns:1fr}.receive-search-panel{position:static}.ocr-layout{grid-template-columns:1fr}.receipt-item{grid-template-columns:24px 48px minmax(0,1fr)}.receipt-fields{grid-column:2/4}.product-edit-layout{grid-template-columns:280px 1fr}.photo-panel{position:static}}
@media(max-width:780px){body{overscroll-behavior-y:none}.layout{display:block}.sidebar{display:none}.main{padding:14px 10px calc(92px + env(safe-area-inset-bottom))}.page-head{display:grid;gap:10px;margin-bottom:13px}.page-head h1{font-size:24px}.head-actions{display:grid;grid-template-columns:1fr 1fr}.head-actions .btn{width:100%}.metric-grid{gap:8px}.metric{padding:12px}.metric strong{font-size:20px}.home-actions{gap:8px}.content-grid.two{grid-template-columns:1fr}.search-bar,.filter-bar{grid-template-columns:1fr 1fr}.search-bar .search,.filter-bar .search{grid-column:1/-1}.filter-bar select:nth-of-type(2){grid-column:1/-1}.sell-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sell-card{grid-template-columns:50px minmax(0,1fr);padding:9px}.sell-photo{width:50px;height:50px}.sell-add{grid-template-columns:1fr}.sell-add .btn{width:100%}.cart-line{grid-template-columns:minmax(0,1fr) auto}.cart-qty{grid-column:1}.cart-line>strong{grid-column:2;grid-row:2}.cart-line>form:last-child{grid-column:2;grid-row:1}.product-row{grid-template-columns:1fr;gap:9px}.product-numbers{grid-template-columns:1fr 1fr}.product-side{grid-template-columns:1fr auto;justify-items:stretch;align-items:center}.product-side .status{justify-self:start}.product-main{grid-template-columns:52px minmax(0,1fr)}.product-photo{width:52px;height:52px}.product-edit-layout{grid-template-columns:1fr}.photo-stage{min-height:190px}.product-photo-large{max-width:270px;max-height:270px}.form-grid,.form-grid.four{grid-template-columns:1fr 1fr}.receive-search{grid-template-columns:1fr auto}.receive-search .search{grid-column:1/-1}.receive-results{max-height:none}.receive-fields{grid-template-columns:1fr 1fr}.receive-meta{grid-template-columns:1fr}.receive-meta .span2{grid-column:auto}.receive-actions,.sticky-save{bottom:calc(69px + env(safe-area-inset-bottom))}.receipt-fields{grid-template-columns:1fr 1fr}.receipt-item{grid-template-columns:22px 44px minmax(0,1fr)}.receipt-fields{grid-column:1/-1}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));box-shadow:0 -8px 24px rgba(20,40,27,.08)}.mobile-nav a{text-decoration:none;text-align:center;color:#68736c;font-size:9px;font-weight:850;padding:5px 1px}.mobile-nav a span{display:block;font-size:18px;line-height:1.15}.mobile-nav a.active{color:var(--green)}.mobile-nav .receive-tab{margin-top:-20px}.mobile-nav .receive-tab span{width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 2px;font-size:25px;box-shadow:0 6px 18px rgba(15,107,62,.25)}.field input,.field select,.field textarea,.search{font-size:16px;min-height:45px}.btn{min-height:44px}.sticky-save{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.sticky-save .btn{width:100%}}
@media(max-width:470px){.metric-grid{grid-template-columns:1fr 1fr}.metric span{font-size:9px}.metric strong{font-size:18px}.home-actions{grid-template-columns:1fr 1fr}.sell-grid{grid-template-columns:1fr}.form-grid,.form-grid.four{grid-template-columns:1fr}.span2{grid-column:auto}.receive-fields{grid-template-columns:1fr}.receive-actions{grid-template-columns:1fr}.head-actions{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.filter-bar .search,.filter-bar select:nth-of-type(2){grid-column:auto}.product-numbers{grid-template-columns:1fr 1fr}.product-side{grid-template-columns:1fr auto}.receipt-fields{grid-template-columns:1fr 1fr}.login{padding:9px}.login-card{padding:20px;border-radius:18px}.page-head p{font-size:12px}}
/* v2.1 search-create + exact duplicate guard */
.status.duplicate{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}
.empty-create{display:grid;justify-items:center;gap:9px}
.empty-create b{color:var(--ink);font-size:15px}
.empty-create span{max-width:620px;font-size:12px}
.empty-create .btn{margin-top:4px}
.product-side .status.duplicate{justify-self:end}
@media(max-width:780px){.product-side .status.duplicate{justify-self:start}.empty-create .btn{width:100%;max-width:420px}}

.photo-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.field small,.photo-actions small{font-size:10px;line-height:1.35;color:var(--muted)}
@media(max-width:470px){.photo-source-grid{grid-template-columns:1fr}}


/* v2.1.2 quick inventory override */
.quick-inventory-search{margin-bottom:12px}.quick-inventory-list{display:grid;gap:9px}.quick-inventory-card{display:grid;grid-template-columns:62px minmax(180px,1fr) minmax(420px,1.25fr);gap:12px;align-items:center}.quick-inventory-copy{min-width:0;display:grid;gap:3px}.quick-inventory-copy h3{margin:0;font-size:14px}.quick-inventory-copy p{margin:0;font-size:11px;color:var(--muted)}.quick-inventory-copy span{font-size:10px;color:var(--green);font-weight:800}.quick-inventory-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) auto;gap:8px;align-items:end}.quick-inventory-form .field{margin:0}.quick-inventory-form small{font-size:9px;color:var(--muted)}.quick-inventory-form .btn{margin-bottom:1px}
@media(max-width:980px){.quick-inventory-card{grid-template-columns:52px minmax(0,1fr)}.quick-inventory-form{grid-column:1/-1}}
@media(max-width:600px){.quick-inventory-form{grid-template-columns:1fr 1fr}.quick-inventory-form .btn{grid-column:1/-1;width:100%}.quick-inventory-card{padding:11px}.quick-inventory-search .receive-search{grid-template-columns:1fr auto}.quick-inventory-search .receive-search .search{grid-column:1/-1}}
@media(max-width:420px){.quick-inventory-form{grid-template-columns:1fr}}

/* v2.2.1 MTBCustoms brand refresh + mobile photo crop */
:root{
  --primary:#0D4D8C;--primary-2:#083F76;--primary-soft:#EAF2FB;--accent:#FFC107;
  --green:#16A34A;--green2:#138A3D;--green-soft:#EAF8EF;
  --red:#EF4444;--red-soft:#FFF0F0;--amber:#B56A00;--amber-soft:#FFF7DF;
  --blue:#0D4D8C;--blue-soft:#EAF2FB;--bg:#F5F7FB;--paper:#FFFFFF;--ink:#10233F;--muted:#66768B;--line:#DCE5EF;
  --shadow:0 12px 34px rgba(13,77,140,.08)
}
body{background:linear-gradient(180deg,#f8fbff 0,#f5f7fb 260px)}
.login-card{border-color:#dbe7f3;box-shadow:0 24px 70px rgba(13,77,140,.12)}
.login-brand-logo{display:block;width:min(100%,360px);height:auto;margin:0 auto 20px;filter:drop-shadow(0 8px 18px rgba(13,77,140,.08))}
.sidebar{background:linear-gradient(180deg,#0D4D8C 0%,#073765 100%)}
.store-brand{padding:2px 4px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
.store-logo-img{width:48px;height:48px;border-radius:14px;object-fit:cover;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.store-title{font-size:14px}.store-sub{color:#c7dbef;line-height:1.25}
.nav a{color:#dceafb}.nav a:hover,.nav a.active{background:rgba(255,255,255,.13);color:#fff}.nav a.active{box-shadow:inset 3px 0 0 var(--accent)}
.sidebar-foot{color:#ccdef1}.ghost-dark{border-color:rgba(255,255,255,.35)!important}
.eyebrow{color:var(--primary)}.btn.primary{background:linear-gradient(135deg,var(--primary),#1769AA);border-color:var(--primary);box-shadow:0 7px 16px rgba(13,77,140,.16)}
.btn.primary:hover{filter:brightness(1.03)}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(13,77,140,.12)}
.panel{border-color:#dfe8f2;box-shadow:0 4px 16px rgba(13,77,140,.035)}
.home-actions a{background:linear-gradient(145deg,#0D4D8C,#0b447d);box-shadow:0 8px 22px rgba(13,77,140,.12);position:relative;overflow:hidden}
.home-actions a:nth-child(2){background:linear-gradient(145deg,#0F7A43,#16A34A)}
.home-actions a:nth-child(3){background:linear-gradient(145deg,#8B5A00,#D98B00)}
.home-actions a:nth-child(4){background:linear-gradient(145deg,#28435E,#365D7C)}
.home-actions a i{font-style:normal;font-size:24px;line-height:1;margin-bottom:4px}.home-actions a span{color:rgba(255,255,255,.78)}
.metric{border-top:3px solid var(--primary)}.metric:nth-child(2){border-top-color:var(--green)}.metric:nth-child(3){border-top-color:var(--accent)}.metric:nth-child(4){border-top-color:#8B5CF6}
.mobile-brandbar{display:none}
.photo-stage{position:relative;border:1px dashed #c8d8e8;background:linear-gradient(145deg,#f9fbfe,#edf4fb)}
.product-photo-live{display:block;width:100%;height:100%;max-height:340px;aspect-ratio:1/1;object-fit:contain;background:#fff}
.photo-placeholder{display:grid;place-items:center;align-content:center;gap:8px;color:#7e9ab5}.photo-placeholder span{display:block;font-size:12px;font-weight:800;color:var(--muted)}
.photo-selected-note{font-size:11px;color:var(--primary);font-weight:800;text-align:center;padding:8px 4px 2px}
.crop-photo-btn{border-color:#bfd2e6;background:#f3f8fd;color:var(--primary)}
body.crop-open{overflow:hidden}.crop-modal[hidden]{display:none!important}.crop-modal{position:fixed;inset:0;z-index:1000;background:rgba(8,25,45,.72);padding:18px;display:grid;place-items:center;backdrop-filter:blur(4px)}
.crop-dialog{width:min(520px,100%);max-height:calc(100vh - 28px);overflow:auto;background:#fff;border-radius:22px;padding:16px;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.crop-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.crop-head h2{margin:2px 0 0}.crop-close{border:0;background:#eef3f8;width:40px;height:40px;border-radius:50%;font-size:25px;cursor:pointer;color:#30465d}
.crop-frame{width:min(390px,100%);aspect-ratio:1/1;margin:14px auto;border-radius:18px;overflow:hidden;background:#e9eef4;border:3px solid #fff;box-shadow:0 0 0 2px var(--primary),0 12px 34px rgba(13,77,140,.15);position:relative}
.crop-frame img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center}
.crop-controls{display:grid;gap:10px}.crop-controls label{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px;font-size:12px;font-weight:850}.crop-controls input[type=range]{width:100%;accent-color:var(--primary)}
.crop-help{font-size:11px;color:var(--muted);line-height:1.45}.crop-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.photo-source-grid .btn{background:#f5f9fd;border-color:#cbdbea;color:#173e66}.photo-source-grid .btn:first-child{background:#eef7ff}.photo-source-grid .btn:last-child{background:#fff8e4;border-color:#f2d88c;color:#6e5200}
.status.ready,.status.inventory{background:#e9f8ee;color:#0c7b39}.status.catalog{background:#eaf2fb;color:#0D4D8C}
.mobile-nav a.active{color:var(--primary)}.mobile-nav .receive-tab span{background:linear-gradient(135deg,var(--primary),#1769AA);box-shadow:0 7px 20px rgba(13,77,140,.3)}
@media(max-width:780px){
  .mobile-brandbar{display:flex;align-items:center;gap:9px;margin:-3px 0 12px;padding:9px 10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 14px rgba(13,77,140,.05)}
  .mobile-brandbar img{width:40px;height:40px;border-radius:11px}.mobile-brandbar div{display:grid;gap:1px}.mobile-brandbar b{font-size:13px;color:var(--primary)}.mobile-brandbar span{font-size:10px;color:var(--muted)}
  .product-photo-live{max-width:300px;max-height:300px;margin:auto}
  .crop-modal{padding:8px;align-items:end}.crop-dialog{border-radius:22px 22px 10px 10px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.crop-frame{width:min(330px,88vw)}
  .crop-controls label{grid-template-columns:76px 1fr}.crop-actions{position:sticky;bottom:0;background:#fff;padding-top:8px}
}

/* v2.2.1 corrective pass: search-first POS, dependable photo preview/crop, simpler brand lockup */
.login-brand-simple{display:flex;align-items:center;gap:12px;margin:0 0 18px}.login-brand-simple img{width:54px;height:54px;border-radius:15px;object-fit:cover;box-shadow:0 7px 18px rgba(13,77,140,.12)}.login-brand-simple div{display:grid;gap:2px}.login-brand-simple strong{font-size:18px;color:var(--primary);line-height:1.08}.login-brand-simple span{font-size:11px;color:var(--muted);font-weight:750}.store-brand{gap:9px}.store-logo-img{width:40px;height:40px;border-radius:11px}.store-sub{font-size:10px}
.pos-search-only{grid-template-columns:minmax(220px,1fr) auto auto}.sell-results-list{display:grid;gap:8px}.sell-result-row{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(300px,auto);align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:10px}.sell-add-row{display:grid;grid-template-columns:minmax(145px,1fr) 82px auto;align-items:end;gap:7px}.sell-field{display:grid;gap:3px}.sell-field label{font-size:9px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.sell-field select,.sell-field input{min-height:41px;border:1px solid #cfd7d1;border-radius:10px;padding:8px;background:#fff;font-size:14px}.sale-next-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:4px 0 12px}.sale-next-actions .btn{text-align:center}.photo-selected-note{min-height:30px}.photo-source-grid .file-btn{touch-action:manipulation}.crop-photo-btn:not([hidden]){display:block;width:100%}
@media(max-width:780px){.pos-search-only{grid-template-columns:1fr auto}.pos-search-only .search{grid-column:1/-1}.sell-result-row{grid-template-columns:52px minmax(0,1fr)}.sell-add-row{grid-column:1/-1;grid-template-columns:1fr 86px}.sell-add-row .btn{grid-column:1/-1;width:100%}.sale-next-actions{position:sticky;bottom:calc(70px + env(safe-area-inset-bottom));z-index:7;background:#fff;padding:7px;border:1px solid var(--line);border-radius:13px;box-shadow:0 7px 22px rgba(13,77,140,.08)}}
@media(max-width:470px){.sell-add-row{grid-template-columns:1fr 76px}.sale-next-actions{grid-template-columns:1fr 1fr}.login-brand-simple strong{font-size:16px}}

/* v2.3.0 reports: daily / weekly / monthly + inventory valuation */
.report-controls{display:grid;gap:12px;margin-bottom:13px}.report-tabs{display:flex;gap:6px;flex-wrap:wrap}.report-tabs a{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:850;background:#f7f9fc;color:var(--muted)}.report-tabs a.active{background:var(--primary);border-color:var(--primary);color:#fff}.report-date-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.report-date-form label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted)}.report-date-form input{min-height:41px;border:1px solid #cfd9e4;border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink)}
.report-warning{background:#fff8e5;border-color:#f1d98d;color:#765400}.report-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:13px}.report-metrics article,.inventory-value-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;min-width:0}.report-metrics article{border-top:3px solid var(--primary)}.report-metrics article:nth-child(3),.report-metrics article:nth-child(4),.report-metrics article:nth-child(6){border-top-color:var(--green)}.report-metrics article:nth-child(5){border-top-color:var(--red)}.report-metrics span,.inventory-value-grid span,.mini-report-grid span{display:block;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.035em}.report-metrics strong,.inventory-value-grid strong{display:block;font-size:20px;margin:5px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-metrics small,.inventory-value-grid small,.mini-report-grid small{font-size:10px;color:var(--muted)}
.report-section{margin-bottom:13px}.inventory-value-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:4px 0 11px}.inventory-value-grid article:nth-child(3){border-top:3px solid #8B5CF6}.inventory-value-grid article:nth-child(4){border-top:3px solid var(--primary)}.inventory-value-grid article:nth-child(5){border-top:3px solid var(--green)}.valuation-note{display:grid;gap:4px;padding:10px 12px;margin-bottom:10px;border:1px solid #f2d88c;background:#fff9e9;border-radius:11px;font-size:11px;color:#735400}.report-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.report-table{width:100%;border-collapse:collapse;min-width:900px;font-size:11px}.report-table th{position:sticky;top:0;background:#f2f6fb;text-align:left;color:#52677e;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.report-table td{padding:9px 10px;border-bottom:1px solid #edf1f5;vertical-align:top;white-space:nowrap}.report-table tr:last-child td{border-bottom:0}.report-table td:first-child{white-space:normal;min-width:190px}.report-table td b{display:block;font-size:12px;color:var(--ink)}.report-table td small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.unknown{color:#9a5b00;font-weight:800}.report-two{margin-bottom:13px}.content-grid.three,.report-three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:13px}.rank-list{display:grid}.rank-list>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #edf1f5}.rank-list>div:last-child{border-bottom:0}.rank{width:25px;height:25px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:900}.rank-list span:nth-child(2){display:grid;gap:2px;min-width:0}.rank-list b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-list small{font-size:9px;color:var(--muted)}.rank-list strong{font-size:12px;white-space:nowrap}.mini-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-report-grid>div{border:1px solid var(--line);border-radius:12px;padding:11px;background:#f9fbfd}.mini-report-grid strong{display:block;margin-top:5px;font-size:17px}
@media(max-width:1180px){.report-metrics{grid-template-columns:repeat(3,1fr)}.inventory-value-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.report-head{display:grid}.report-head .head-actions{width:100%}.report-head .head-actions .btn{flex:1}.report-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.report-tabs a{text-align:center;padding:8px 5px}.report-date-form{display:grid;grid-template-columns:1fr 1fr}.report-date-form label{min-width:0}.report-date-form .btn{align-self:end}.report-metrics{grid-template-columns:repeat(2,1fr)}.inventory-value-grid{grid-template-columns:repeat(2,1fr)}.content-grid.three,.report-three{grid-template-columns:1fr}.mini-report-grid{grid-template-columns:repeat(2,1fr)}.report-table-wrap{margin-left:-7px;margin-right:-7px;border-radius:9px}}
@media(max-width:460px){.report-tabs{grid-template-columns:1fr 1fr}.report-date-form{grid-template-columns:1fr}.report-date-form .btn{width:100%}.report-metrics{grid-template-columns:1fr 1fr}.report-metrics strong{font-size:18px}.inventory-value-grid{grid-template-columns:1fr 1fr}.inventory-value-grid article:first-child{grid-column:1/-1}}
@media print{body{background:#fff!important}.sidebar,.mobile-nav,.mobile-brandbar,.no-print,.report-head .head-actions,.server-alert,.sidebar-foot{display:none!important}.layout{display:block!important}.main{padding:0!important}.app-shell{min-height:auto}.page-head{margin:0 0 12px}.report-section,.panel{box-shadow:none!important;break-inside:avoid;border-color:#cbd5e1}.report-metrics{grid-template-columns:repeat(5,1fr);gap:5px}.report-metrics article,.inventory-value-grid article{padding:8px}.report-metrics strong,.inventory-value-grid strong{font-size:15px}.inventory-value-grid{grid-template-columns:repeat(5,1fr)}.report-table-wrap{overflow:visible;border:0}.report-table{min-width:0;font-size:8px}.report-table th,.report-table td{padding:5px}.content-grid.two,.content-grid.three,.report-three{grid-template-columns:1fr 1fr}.report-section{page-break-inside:auto}.report-table tr{break-inside:avoid}.main:before{content:'Sari-Sari Store Manager · by MTBCustoms';display:block;color:#0D4D8C;font-weight:900;font-size:12px;margin-bottom:6px}}

/* v2.4.0 reports blank-page safeguard */
.report-runtime-error{display:block!important;background:#fff2f2;border-color:#fecaca;color:#7f1d1d;margin-bottom:13px}.report-runtime-error details{margin-top:8px}.report-runtime-error summary{cursor:pointer;font-weight:850}.report-runtime-error ul{margin:7px 0 0;padding-left:20px;font-size:11px}.report-runtime-error a{color:#0D4D8C;font-weight:800}.report-empty-state{background:#eef6ff;border-color:#bfdbfe;color:#1e3a5f;margin-bottom:13px}.report-table tbody:empty:after{content:'No stocked products to show yet.';display:table-cell;padding:18px;color:var(--muted);font-size:12px}


/* v2.4.0 inventory control + clearer checkout */
.inventory-summary-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.inventory-summary-cards article{background:#fff;border:1px solid var(--line,#dbe3ea);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:4px}.inventory-summary-cards span{font-size:12px;color:#667085}.inventory-summary-cards strong{font-size:20px;color:#0D4D8C}.payment-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-choice-grid label{position:relative;cursor:pointer}.payment-choice-grid input{position:absolute;opacity:0;pointer-events:none}.payment-choice-grid span{display:flex;min-height:82px;border:2px solid #dce4ec;border-radius:14px;padding:11px;align-items:center;justify-content:center;flex-direction:column;gap:3px;text-align:center;background:#fff;font-size:20px}.payment-choice-grid b{font-size:15px}.payment-choice-grid small{font-size:11px;color:#667085}.payment-choice-grid input:checked+span{border-color:#0D4D8C;background:#eef6ff;box-shadow:0 0 0 2px rgba(13,77,140,.08)}.checkout-hint{margin:8px 0 12px;background:#fff7dc;border-color:#f6cf5f;color:#6b4f00}.audit-list .simple-row{align-items:flex-start}.audit-list small{display:block;color:#667085;margin-top:3px}.inventory-audit-grid{margin-top:14px}
@media(max-width:900px){.inventory-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-choice-grid{grid-template-columns:1fr}.payment-choice-grid span{min-height:58px;flex-direction:row;justify-content:flex-start;padding:10px 14px}.payment-choice-grid small{margin-left:auto}}

/* v2.4.2 mobile UI + photo tools + pagination + keyboard-aware viewport */
.app-update-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:1200;width:min(620px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #b8cbe0;border-radius:16px;padding:12px 14px;box-shadow:0 18px 50px rgba(8,35,66,.22)}
.app-update-banner[hidden]{display:none!important}.app-update-banner>div{display:grid;gap:2px}.app-update-banner b{color:var(--primary)}.app-update-banner span{font-size:12px;color:var(--muted)}
.photo-selected-note.error-note{color:#991b1b;background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;padding:7px 9px;margin-top:5px}
.photo-stage img[hidden],.photo-placeholder[hidden]{display:none!important}.photo-stage .product-photo-live{object-fit:contain;min-height:180px}
.photo-source-grid .file-btn{min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center}
.crop-photo-btn{min-height:44px}.crop-frame{touch-action:none}.crop-frame img{user-select:none;-webkit-user-drag:none}
.report-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.report-table{min-width:760px}

@media(max-width:640px){
  .main{padding:10px 8px calc(88px + env(safe-area-inset-bottom))}
  .mobile-brandbar{margin:-2px -1px 10px;padding:7px 9px;border-radius:12px;min-height:48px}
  .mobile-brandbar img{width:36px;height:36px}.mobile-brandbar b{font-size:13px}.mobile-brandbar span{font-size:10px}
  .page-head,.page-head.compact{gap:8px;margin-bottom:10px}.page-head h1{font-size:22px;line-height:1.08}.page-head p{font-size:12px;line-height:1.4;margin-top:4px}
  .head-actions{grid-template-columns:1fr 1fr;gap:6px}.head-actions .btn{padding-left:8px;padding-right:8px}
  .panel{border-radius:14px;padding:11px}.metric-grid,.report-metrics,.inventory-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .metric,.report-metrics article,.inventory-value-grid article{padding:10px;border-radius:12px}.metric strong,.report-metrics strong,.inventory-value-grid strong{font-size:18px}
  .product-edit-layout{gap:10px}.photo-panel{padding:10px}.photo-stage{min-height:210px;max-height:300px}.product-photo-live{max-height:280px}
  .photo-actions{gap:8px}.photo-source-grid{grid-template-columns:1fr 1fr;gap:6px}.photo-source-grid .btn{font-size:12px;padding:9px 6px}
  .crop-modal{padding:0;align-items:end}.crop-dialog{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;padding:13px 12px calc(12px + env(safe-area-inset-bottom))}.crop-frame{width:min(82vw,330px);margin:10px auto}.crop-controls{gap:8px}.crop-actions{gap:6px}
  .sell-results-list,.quick-inventory-list{gap:7px}.sell-result-row{grid-template-columns:48px minmax(0,1fr);gap:8px}.sell-result-row .sell-add-row{grid-column:1/-1;grid-template-columns:1fr 78px}.sell-add-row .btn{grid-column:1/-1;width:100%}
  .quick-inventory-card{grid-template-columns:52px minmax(0,1fr);gap:8px}.quick-inventory-form{grid-column:1/-1}
  .report-filters{gap:7px}.report-section{padding:10px}.report-two,.report-three{grid-template-columns:1fr}.report-table-wrap{margin-left:-4px;margin-right:-4px;padding-bottom:4px}.report-table th,.report-table td{padding:8px 7px;font-size:11px}
  .sticky-save{position:static!important;grid-template-columns:1fr 1fr;margin-bottom:6px}.product-edit-layout .sticky-save{grid-template-columns:1fr}.product-edit-layout .sticky-save .btn{width:100%}
  .mobile-nav{padding-top:4px}.mobile-nav a{min-width:0}.mobile-nav a span{font-size:19px}
  .app-update-banner{bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100% - 16px);padding:10px}.app-update-banner .btn{min-width:108px}
}
@media(max-width:520px){
  .form-grid,.form-grid.four{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}
  .search-bar,.filter-bar,.receive-search,.pos-search-only{grid-template-columns:1fr}.search-bar>*,.filter-bar>*,.receive-search>*,.pos-search-only>*{grid-column:auto!important;width:100%}
  .head-actions{grid-template-columns:1fr}.page-head>.btn{width:100%;text-align:center}
  .photo-source-grid{grid-template-columns:1fr 1fr}.report-metrics,.inventory-value-grid{grid-template-columns:1fr 1fr}
  .app-update-banner{align-items:stretch;display:grid;grid-template-columns:1fr}.app-update-banner .btn{width:100%}
}
@media(max-width:360px){.metric-grid,.report-metrics,.inventory-value-grid{grid-template-columns:1fr}.photo-source-grid{grid-template-columns:1fr}}


/* v2.4.2 pagination + on-screen keyboard behavior */
.pager{flex-wrap:wrap}.pager-link{min-width:42px}.pager-link.current{pointer-events:none}.pager-ellipsis{color:var(--muted);padding:0 2px}.pager-count{flex-basis:100%;text-align:center;font-size:11px;color:var(--muted);margin-top:1px}.sales-list+.pager{margin-top:12px}
.field input,.field select,.field textarea,.search{scroll-margin-top:84px;scroll-margin-bottom:180px}
@media(max-width:780px){
  body.keyboard-open .mobile-nav{display:none!important}
  body.keyboard-open .main{padding-bottom:14px!important}
  body.keyboard-open .sale-cart{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}
  body.keyboard-open .sticky-save,body.keyboard-open .receive-actions{position:static!important;bottom:auto!important}
  body.keyboard-open .app-update-banner{display:none!important}
  body.keyboard-open .page-head{position:relative;z-index:1}
  .pager{gap:6px;margin:12px 0}.pager .btn{min-height:40px;padding:8px 10px}.pager-edge{display:none}.pager-count{order:10}
}
@media(max-width:420px){.pager-number{display:none}.pager .current{display:inline-flex}.pager-prev,.pager-next{flex:1}.pager-count{font-size:10px}.list-summary{gap:8px;align-items:center}.list-summary span:last-child{white-space:nowrap}}

/* v2.4.3 mobile containment, centered actions, drawer navigation, photo reliability */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,svg,canvas,video{max-width:100%}
.layout,.main,.panel,form,.field,.form-grid>* , .receive-fields>* , .receive-meta>* , .quick-inventory-form>* , .sell-add-row>* , .content-grid>* , .product-edit-layout>*{min-width:0;max-width:100%}
input,select,textarea,.search{max-width:100%;min-width:0}
.long-text,.simple-row span,.panel p,.field small{overflow-wrap:anywhere;word-break:break-word}
.mobile-menu-toggle,.mobile-menu-close,.mobile-sidebar-backdrop{display:none}

@media(max-width:780px){
  .layout{display:block;width:100%;max-width:100%}
  .main{width:100%;max-width:100%;overflow-x:hidden}
  .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);height:100dvh;z-index:1300;transform:translateX(-104%);transition:transform .2s ease;box-shadow:18px 0 48px rgba(8,35,66,.25);overflow-y:auto;overscroll-behavior:contain}
  body.mobile-menu-open{overflow:hidden}
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  .mobile-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:1250;background:rgba(6,22,38,.46);opacity:0;pointer-events:none;transition:opacity .2s ease}
  body.mobile-menu-open .mobile-sidebar-backdrop{opacity:1;pointer-events:auto}
  .mobile-menu-toggle{display:inline-flex;margin-left:auto;width:42px;height:42px;min-width:42px;border:1px solid var(--line);border-radius:11px;background:#f5f8fb;color:var(--primary,#0D4D8C);align-items:center;justify-content:center;font-size:22px;font-weight:900;padding:0}
  .mobile-menu-close{display:inline-flex;margin-left:auto;width:38px;height:38px;min-width:38px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;align-items:center;justify-content:center;font-size:24px;padding:0}
  .store-brand{min-width:0}.store-brand>div{min-width:0}.store-title{overflow-wrap:anywhere}
  .mobile-brandbar{width:100%;max-width:100%}

  .page-head,.page-head.compact{width:100%;max-width:100%;justify-items:stretch}
  .page-head>div{min-width:0;max-width:100%}
  .head-actions{width:100%;max-width:100%;justify-self:stretch;justify-items:stretch;align-items:stretch}
  .head-actions .btn,.page-head>.btn{width:100%;max-width:100%;text-align:center;justify-content:center}

  .field input,.field select,.field textarea,.search,
  .sell-field input,.sell-field select,.qty-form input,
  .report-date-form input,.report-date-form select{width:100%!important;max-width:100%!important;min-width:0!important}
  .form-grid,.form-grid.four,.receive-fields,.receive-meta,.payment-choice-grid,.inventory-summary-cards{max-width:100%;min-width:0}
  .sell-result-row,.quick-inventory-card,.receive-result,.receive-line,.receipt-item,.product-row{max-width:100%;min-width:0;overflow:hidden}
  .sell-copy,.quick-inventory-copy,.receive-line-head>div,.receipt-copy{min-width:0}

  /* Do not make the page itself pan sideways. Report tables wrap within the screen. */
  .report-table-wrap{overflow-x:hidden!important;max-width:100%;margin-left:0!important;margin-right:0!important}
  .report-table{width:100%!important;min-width:0!important;max-width:100%;table-layout:fixed}
  .report-table th,.report-table td{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;padding:6px 4px;font-size:10px}

  .crop-dialog,.crop-frame,.crop-controls,.crop-actions{max-width:100%}
  .crop-controls label{min-width:0}.crop-controls input[type=range]{min-width:0;max-width:100%}
}

@media(max-width:520px){
  .head-actions{grid-template-columns:1fr!important;width:100%}
  .head-actions .btn{justify-self:stretch;width:100%}
  .home-actions{grid-template-columns:1fr 1fr;min-width:0}
  .home-actions a{min-width:0;max-width:100%}
  .report-table th,.report-table td{font-size:9px;padding:5px 3px}
}


/* v2.4.4 responsive shell reset — desktop sidebar + mobile drawer + balanced actions */
@media(min-width:781px){
  .layout{display:block!important;min-height:100dvh!important}
  .sidebar{
    display:flex!important;position:fixed!important;inset:0 auto 0 0!important;
    width:244px!important;height:100dvh!important;min-height:100dvh!important;
    transform:none!important;overflow-y:auto!important;z-index:100!important;
    padding:18px 14px!important
  }
  .sidebar .store-brand{flex:0 0 auto}
  .sidebar .nav{display:grid!important;visibility:visible!important;opacity:1!important;flex:0 0 auto}
  .sidebar .nav a{display:flex!important;visibility:visible!important;opacity:1!important}
  .sidebar .sidebar-foot{margin-top:auto!important;flex:0 0 auto}
  .main{margin-left:244px!important;width:calc(100% - 244px)!important;max-width:calc(100% - 244px)!important}
  .mobile-brandbar,.mobile-menu-toggle,.mobile-menu-close,.mobile-sidebar-backdrop{display:none!important}
}

@media(max-width:780px){
  html,body,.app-shell,.layout,.main{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  .layout{margin:0!important;padding:0!important}
  .main{margin-left:0!important;padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important}

  .sidebar{
    display:flex!important;position:fixed!important;inset:0 auto 0 0!important;
    width:min(310px,86vw)!important;max-width:86vw!important;height:100dvh!important;min-height:100dvh!important;
    transform:translate3d(-104%,0,0)!important;transition:transform .2s ease!important;
    z-index:1300!important;overflow-y:auto!important;overflow-x:hidden!important
  }
  body.mobile-menu-open .sidebar,.sidebar:target{transform:translate3d(0,0,0)!important}
  .sidebar .nav{display:grid!important;visibility:visible!important;opacity:1!important;width:100%!important}
  .sidebar .nav a{display:flex!important;visibility:visible!important;opacity:1!important;width:100%!important;max-width:100%!important}
  .sidebar .sidebar-foot{margin-top:auto!important}

  .mobile-menu-toggle,.mobile-menu-close{
    text-decoration:none!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent;
    align-items:center!important;justify-content:center!important
  }
  .mobile-menu-toggle{display:inline-flex!important;flex:0 0 42px!important;margin-left:auto!important}
  .mobile-menu-close{display:inline-flex!important;flex:0 0 38px!important;margin-left:auto!important}
  .mobile-brandbar{display:flex!important;width:100%!important;max-width:100%!important;align-items:center!important}
  .mobile-brandbar>div{min-width:0!important;flex:1 1 auto!important}

  /* Every action group gets the full available width and equal alignment. */
  .page-head{width:100%!important;max-width:100%!important;align-items:stretch!important;justify-items:stretch!important}
  .head-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;max-width:100%!important;margin:0 auto!important;
    justify-content:stretch!important;justify-items:stretch!important;align-items:stretch!important;gap:7px!important
  }
  .head-actions .btn,.page-head>.btn,.sale-next-actions .btn,.receive-actions .btn,.sticky-save .btn{
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important
  }

  .home-actions{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .home-actions a{width:100%!important;max-width:100%!important;justify-self:stretch!important}

  /* Hard containment for form controls and nested grids; never widen the viewport. */
  .panel,.page-head,.head-actions,.home-actions,.content-grid,.form-grid,.field,form,
  .search-bar,.filter-bar,.receive-shell,.receive-search,.receive-fields,.receive-meta,
  .product-row,.product-main,.product-side,.product-numbers,.sell-result-row,.sell-add-row,
  .quick-inventory-form,.report-date-form,.report-table-wrap{
    min-width:0!important;max-width:100%!important
  }
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.search{
    width:100%!important;max-width:100%!important;min-width:0!important
  }
}

@media(max-width:520px){
  .head-actions{grid-template-columns:1fr!important}
}
@media(max-width:780px){
  body:has(.sidebar:target){overflow:hidden}
  body:has(.sidebar:target) .mobile-sidebar-backdrop{opacity:1;pointer-events:auto}
}


/* v2.4.5 pagination audit + mobile alignment/title consistency */
.pager{
  width:100%;
  max-width:100%;
  padding:8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.72);
  box-sizing:border-box;
}
.pager .pager-link{justify-content:center;text-align:center}
.pager .current{box-shadow:0 0 0 2px rgba(15,107,62,.10)}
.report-list-summary{margin-top:8px}

@media(max-width:780px){
  .page-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:stretch!important;
    align-items:stretch!important;
    width:100%!important;
  }
  .page-head>div,
  .page-head>.head-actions,
  .page-head>.btn{
    width:100%!important;
    max-width:100%!important;
    justify-self:stretch!important;
  }

  .head-actions{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    align-items:stretch!important;
    width:100%!important;
    margin:0!important;
  }
  .head-actions>*,
  .head-actions .btn,
  .page-head>.btn{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .head-actions>*:last-child:nth-child(odd){
    grid-column:1/-1!important;
  }

  .edit-form>button.btn,
  .filter-bar>button.btn,
  .search-bar>button.btn,
  .receive-search>button.btn,
  .quick-inventory-form>button.btn,
  .checkout-form>button.btn{
    justify-content:center!important;
    text-align:center!important;
  }

  .home-actions{
    justify-items:stretch!important;
  }
  .home-actions a{
    display:grid!important;
    justify-items:center!important;
    align-content:center!important;
    text-align:center!important;
  }

  .pager{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    gap:6px!important;
    align-items:center!important;
    margin:10px 0 14px!important;
  }
  .pager-prev{grid-column:1!important}
  .pager .current{grid-column:2!important}
  .pager-next{grid-column:3!important}
  .pager-number,.pager-ellipsis,.pager-edge{display:none!important}
  .pager-count{
    grid-column:1/-1!important;
    order:unset!important;
    margin:0!important;
  }
}
@media(max-width:380px){
  .head-actions{grid-template-columns:1fr!important}
  .head-actions>*:last-child:nth-child(odd){grid-column:auto!important}
}

/* v2.4.6 transaction history, persistent login, cash reconciliation and compact pagination */
.keep-login{
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:10px 12px;
  margin:2px 0 10px;
  border:1px solid var(--line);
  border-radius:12px;
  box-sizing:border-box;
  cursor:pointer;
}
.keep-login input{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  flex:0 0 18px;
  margin:2px 0 0;
}
.keep-login span{display:grid;gap:2px;min-width:0;line-height:1.25}
.keep-login b,.keep-login small{overflow-wrap:anywhere}
.keep-login small{color:var(--muted)}

.cash-on-hand-panel{overflow:hidden}
.cash-on-hand-total{font-size:clamp(1.5rem,4vw,2.1rem);white-space:nowrap;color:var(--primary)}
.cash-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px}
.cash-breakdown span{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft,#f7faf8);overflow-wrap:anywhere}
.cash-breakdown b{font-size:1rem;white-space:normal}
.cash-history-title{margin-top:18px}
.receive-history-row>div{min-width:0}
.receive-history-row small{display:block;margin-top:4px;overflow-wrap:anywhere}

/* Inputs, especially native date/month controls, must never determine page width. */
input[type="date"],input[type="month"],input[type="time"],input[type="datetime-local"]{
  display:block;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.page-head,.page-head>div,.page-head .eyebrow,.page-head h1,.page-head p,
.panel-head,.panel-head>div,.section-title,.section-title>div,.mobile-brandbar,.mobile-brandbar>div{
  min-width:0;
  max-width:100%;
}
.page-head .eyebrow,.panel-head p,.section-title p{overflow-wrap:anywhere}
.mobile-brandbar>div{overflow:hidden}
.mobile-brandbar b,.mobile-brandbar strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Pager only exists when there is more than one page; keep it compact. */
.compact-pager{
  width:auto;
  max-width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px;
  margin:12px auto 2px;
  background:transparent;
  border:0;
}
.compact-pager .pager-link{width:auto;min-width:42px;min-height:38px;padding:8px 11px}
.compact-pager .pager-count{font-size:.82rem;color:var(--muted);padding:0 5px;white-space:nowrap}

@media(max-width:780px){
  html,body{max-width:100%;overflow-x:hidden!important}
  main,.app-shell,.main-content,.page,.panel,.content-grid,.form-grid,.field,form,
  .page-head,.panel-head,.section-title,.list-summary,.simple-row,.report-table-wrap,
  .product-row,.product-main,.product-side,.sell-result-row,.receive-shell,.cash-on-hand-panel{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .btn,button.btn,a.btn{
    justify-content:center!important;
    text-align:center!important;
  }
  .head-actions{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-items:stretch!important;
  }
  .head-actions>*{width:100%!important;min-width:0!important;margin:0!important;justify-self:stretch!important}
  .head-actions>*:last-child:nth-child(odd){grid-column:1/-1!important}
  .cash-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cash-on-hand-panel .panel-head{align-items:flex-start!important}
  .cash-on-hand-total{max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:left}
  .compact-pager{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    width:100%!important;
    gap:6px!important;
    margin:10px 0 2px!important;
    padding:6px 0!important;
  }
  .compact-pager .pager-prev{grid-column:1}
  .compact-pager .current{grid-column:2}
  .compact-pager .pager-next{grid-column:3}
  .compact-pager .pager-prev,.compact-pager .pager-next{width:100%!important}
  .compact-pager .pager-number,.compact-pager .pager-ellipsis{display:none!important}
  .compact-pager .pager-count{grid-column:1/-1;text-align:center;padding:2px 0 0}
}
@media(max-width:420px){
  .head-actions{grid-template-columns:1fr!important}
  .head-actions>*:last-child:nth-child(odd){grid-column:auto!important}
  .cash-breakdown{grid-template-columns:1fr}
}
@media(max-width:780px){
  input[type="date"]::-webkit-date-and-time-value,
  input[type="month"]::-webkit-date-and-time-value,
  input[type="time"]::-webkit-date-and-time-value,
  input[type="datetime-local"]::-webkit-date-and-time-value{
    min-width:0!important;
    text-align:left;
  }
  input[type="date"]::-webkit-calendar-picker-indicator,
  input[type="month"]::-webkit-calendar-picker-indicator,
  input[type="datetime-local"]::-webkit-calendar-picker-indicator{
    margin:0 0 0 4px;
    padding:2px;
    flex:0 0 auto;
  }
}


/* v2.5.0 — authoritative responsive/UI layer */
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}.main,.content,.panel,.field,.form-grid>*{min-width:0}.field input,.field select,.field textarea,.search{width:100%;max-width:100%}.sale-voided{opacity:.72}.sale-voided summary strong{text-decoration:line-through}.status.voided{display:inline-flex;margin-left:6px;padding:2px 7px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:10px}.void-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff1f2;border:1px solid #fecdd3;display:grid;gap:3px}.void-note span{font-size:12px;color:#7f1d1d}.void-sale-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:9px}.customer-balance-list a{text-decoration:none;color:inherit}.customer-ledger{margin-bottom:14px}.ledger-list{display:grid;gap:8px;margin:12px 0}.ledger-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.ledger-row span,.ledger-row small{display:block;color:#667085;margin-top:3px}.ledger-amount{text-align:right;white-space:nowrap}.ledger-amount small{font-size:11px}.cash-breakdown{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
@media(max-width:780px){
  body{width:100%;max-width:100vw;overflow-x:hidden!important}.layout,.main,.app-shell,.content-grid,.receive-shell,.sell-grid{width:100%;max-width:100%;min-width:0}
  .main{padding-left:12px!important;padding-right:12px!important}.panel{width:100%;max-width:100%;overflow:hidden}.report-table-wrap{max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;margin-left:0!important;margin-right:0!important}
  input[type=date],input[type=time],input[type=month],input[type=datetime-local]{display:block;min-width:0!important;width:100%!important;max-width:100%!important;-webkit-appearance:none;appearance:none}
  .page-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px}.page-head>div{min-width:0}.page-head h1,.page-head p,.page-head .eyebrow{overflow-wrap:anywhere;max-width:100%}
  .head-actions,.receive-actions,.sticky-save,.sale-next-actions,.crop-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;justify-content:stretch!important}.head-actions>.btn,.receive-actions>.btn,.sticky-save>.btn,.sticky-save>a,.sale-next-actions>.btn,.crop-actions>.btn{width:100%!important;min-width:0!important;margin:0!important;text-align:center!important;justify-content:center!important}
  .head-actions>:only-child,.receive-actions>:only-child,.sticky-save>:only-child,.sale-next-actions>:only-child{grid-column:1/-1}.head-actions>:nth-child(3):last-child,.sticky-save>:nth-child(3):last-child{grid-column:1/-1}
  .receive-meta,.form-grid,.form-grid.four{grid-template-columns:1fr!important}.span2{grid-column:auto!important}.receive-fields{grid-template-columns:1fr 1fr!important}.receive-fields .field{min-width:0}.payment-choice-grid{grid-template-columns:1fr!important}
  .ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.ledger-row>*{min-width:0}.simple-row{min-width:0}.simple-row>div{min-width:0}.simple-row b,.simple-row span,.simple-row small{overflow-wrap:anywhere}
  .cash-breakdown{grid-template-columns:1fr 1fr!important}.cash-breakdown span{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:460px){.receive-fields{grid-template-columns:1fr!important}.head-actions,.receive-actions,.sticky-save,.sale-next-actions,.crop-actions{grid-template-columns:1fr!important}.head-actions>* ,.receive-actions>* ,.sticky-save>* ,.sale-next-actions>* ,.crop-actions>*{grid-column:auto!important}.cash-breakdown{grid-template-columns:1fr!important}.ledger-row{grid-template-columns:1fr}.ledger-amount{text-align:left}}

/* v2.5.1 — duplicate cleanup + safe receiving-history archive */
.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.panel-actions form{margin:0}.receive-history-actions{display:grid;justify-items:end;gap:7px;min-width:150px}.receive-history-actions form{margin:0}.duplicate-panel{margin-bottom:14px}.duplicate-groups,.possible-duplicates{display:grid;gap:12px}.duplicate-group,.possible-pair{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.duplicate-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--surface-soft,#f7faf8);border-bottom:1px solid var(--line)}.duplicate-group-title>div{display:grid;gap:3px;min-width:0}.duplicate-group-title span{color:var(--muted);font-size:12px}.duplicate-records{display:grid}.duplicate-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.duplicate-record:last-child{border-bottom:0}.duplicate-record.recommended{background:#f0fdf4}.duplicate-record>div{display:grid;gap:3px;min-width:0}.duplicate-record span,.duplicate-record small{color:var(--muted);overflow-wrap:anywhere}.possible-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;position:relative}.possible-score{position:absolute;top:7px;right:9px;font-size:10px;color:var(--muted)}.possible-side{display:grid;gap:3px;min-width:0;padding-top:8px}.possible-side span,.possible-side small{color:var(--muted);overflow-wrap:anywhere}.possible-vs{font-weight:800;color:var(--muted)}.possible-actions{display:grid;gap:6px;min-width:118px}.possible-actions form{margin:0}.possible-actions .btn{width:100%}
@media(max-width:780px){.panel-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.panel-actions>*{width:100%!important}.panel-actions .btn{width:100%!important;justify-content:center}.receive-history-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px}.receive-history-actions{justify-items:stretch;min-width:0;width:100%}.receive-history-actions .btn{width:100%!important}.duplicate-record{grid-template-columns:1fr}.duplicate-record form,.duplicate-record .btn{width:100%}.possible-pair{grid-template-columns:1fr}.possible-vs{text-align:center}.possible-actions{grid-template-columns:1fr 1fr;min-width:0}.possible-score{position:static;text-align:right;padding:0}.duplicate-group-title{align-items:flex-start}}
@media(max-width:420px){.panel-actions,.possible-actions{grid-template-columns:1fr}}


/* v2.5.2 — owner duplicate review belongs under More */
.duplicate-review-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.duplicate-review-actions form,.duplicate-review-actions button{width:100%}
.duplicate-review-pair{align-items:stretch}
@media(max-width:760px){.duplicate-review-actions{grid-template-columns:1fr}.duplicate-review-pair{grid-template-columns:1fr}.duplicate-review-pair .possible-vs{text-align:center}.duplicate-review-pair .possible-score{justify-self:start}}

/* v2.6.0 Financial Accounts */
.account-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.account-metric{text-decoration:none;color:inherit}.account-metric:hover{transform:translateY(-1px);border-color:#93b6dd}.account-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 16px}.account-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:15px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.account-card:hover,.account-card.selected{border-color:#78a9d8;box-shadow:0 10px 26px rgba(13,77,140,.12)}.account-card.inactive{opacity:.55}.account-card-icon{width:42px;height:42px;border-radius:13px;background:#eef6fd;display:grid;place-items:center;font-size:22px}.account-card div{min-width:0}.account-card b,.account-card small{display:block}.account-card small{color:var(--muted);margin-top:3px}.account-card strong{white-space:nowrap}.account-actions-grid,.account-detail-grid{margin-top:16px}.account-owner-actions{display:grid;gap:14px}.account-control-copy{background:#f6f9fc;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px}.account-control-copy p{margin:6px 0}.account-entry strong{font-variant-numeric:tabular-nums}.account-ledger{margin-top:16px}.cash-on-hand-panel>.btn{margin-top:14px}.cash-on-hand-total{font-variant-numeric:tabular-nums}.reconcile-form{border-top:1px solid var(--line);padding-top:14px}
@media(max-width:700px){.account-card-grid{grid-template-columns:1fr}.account-card{grid-template-columns:auto 1fr}.account-card>strong{grid-column:2}.account-summary{grid-template-columns:1fr 1fr}}


/* v2.7.0 Users & Access */
.user-metrics{margin-bottom:18px}.user-access-top{align-items:start}.access-role-list{display:grid;gap:14px}.access-role-list>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.access-role-list p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.role-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;letter-spacing:.02em;background:#e2e8f0;color:#334155}.role-chip.superuser{background:#ede9fe;color:#5b21b6}.role-chip.owner{background:#dbeafe;color:#1d4ed8}.role-chip.cashier{background:#dcfce7;color:#166534}.you-tag{display:inline-flex!important;margin-left:6px;padding:2px 7px;border-radius:999px;background:#eef2ff;color:#4338ca!important;font-size:10px!important;font-weight:900}.user-card-list{display:grid;gap:12px}.user-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper)}.user-card.disabled{opacity:.72;background:#f8fafc}.user-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.user-card-head>div:first-child{display:grid;gap:3px}.user-card-head span,.user-card-head small{color:var(--muted);font-size:12px}.user-badges{display:flex!important;gap:7px!important;align-items:center;justify-content:flex-end;flex-wrap:wrap}.user-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.user-meta b{color:var(--ink)}.protected-user-note{margin-top:12px}.user-manage{margin-top:13px}.user-manage>summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:900;color:var(--brand);list-style:none}.user-manage>summary::-webkit-details-marker{display:none}.user-manage>summary:before{content:'▸';font-size:12px;transition:transform .12s ease}.user-manage[open]>summary:before{transform:rotate(90deg)}.user-manage>summary small{font-weight:600;color:var(--muted)}.user-manage-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px;align-items:start;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.user-manage-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfcfb;align-self:start}.user-manage-card-head h3{margin:0;font-size:15px}.user-manage-card-head p{margin:4px 0 8px;color:var(--muted);font-size:12px;line-height:1.4}.user-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.user-manage-security{display:grid;gap:12px;align-items:start}.user-manage-card .field{margin:7px 0}.user-manage-card .field input,.user-manage-card .field select{min-height:43px}.readonly-control{min-height:43px;border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:#f1f5f3;display:grid;align-content:center;gap:1px}.readonly-control b{font-size:13px}.readonly-control small{color:var(--muted);font-size:10px;line-height:1.25}.user-action-btn{width:auto!important;min-width:140px;justify-self:start!important;margin-top:4px}.user-disable-form{background:#fffafa;border-color:#ffd9d4}.user-disable-form .user-manage-card-head h3{color:#b42318}.access-status-help{font-size:12px;color:var(--muted);line-height:1.45;margin:4px 0 8px}.server-alert.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}@media(max-width:900px){.user-manage-grid{grid-template-columns:1fr}.user-profile-fields{grid-template-columns:1fr}.user-card-head{display:grid}.user-badges{justify-content:flex-start}.user-meta{display:grid;gap:5px}.user-action-btn{width:100%!important;justify-self:stretch!important}.user-manage>summary{align-items:flex-start;flex-wrap:wrap}}

.status.ok{background:#dcfce7;color:#166534}

/* v2.7.1 cashier financial visibility + protected Superuser */
.cashier-metrics{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
.user-meta + .server-alert.warning{margin-top:12px}
@media(max-width:620px){.cashier-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.cashier-metrics{grid-template-columns:1fr}}



/* v2.8.0 consolidated mobile transition + update-flow polish */
@media(max-width:780px){
  .sidebar{
    transform:translate3d(-14px,0,0) scale(.992)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .14s ease-out,transform .16s cubic-bezier(.2,.75,.25,1),visibility 0s linear .16s!important;
    will-change:transform,opacity;
  }
  body.mobile-menu-open .sidebar{
    transform:translate3d(0,0,0) scale(1)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition-delay:0s!important;
  }
  .mobile-sidebar-backdrop{
    background:rgba(6,22,38,.34)!important;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    transition:opacity .14s ease-out!important;
  }
  body.mobile-menu-instant .sidebar,body.mobile-menu-instant .mobile-sidebar-backdrop{transition:none!important}
  .sidebar:target{transform:translate3d(-14px,0,0) scale(.992)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  body.mobile-menu-open .sidebar:target{transform:translate3d(0,0,0) scale(1)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .mobile-menu-toggle,.mobile-menu-close{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .main{background:var(--bg,#f6f8f7)}
}
@media(prefers-reduced-motion:reduce){
  .sidebar,.mobile-sidebar-backdrop,.app-update-banner{transition:none!important;animation:none!important}
}
::view-transition-new(root){animation:store-vt-in .11s ease-out both}
  @keyframes store-vt-out{to{opacity:.96}}
  @keyframes store-vt-in{from{opacity:.96}to{opacity:1}}
}

/* Mobile transition-only smoothness patch — 2026-08-09
   No lateral drawer motion and no cross-document view-transition sweep. */
html,body{background:var(--bg,#f6f8f7)}

@media(max-width:780px){
  .sidebar{
    transform:none!important;
    scale:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .11s ease-out,visibility 0s linear .11s!important;
    will-change:opacity!important;
  }
  body.mobile-menu-open .sidebar,
  body.mobile-menu-open .sidebar:target{
    transform:none!important;
    scale:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:opacity .11s ease-out,visibility 0s!important;
  }
  .sidebar:target{
    transform:none!important;
    scale:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .mobile-sidebar-backdrop{
    opacity:0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transition:opacity .11s ease-out!important;
  }
  body.mobile-menu-open .mobile-sidebar-backdrop{
    opacity:1!important;
  }
  body.mobile-menu-instant .sidebar,
  body.mobile-menu-instant .mobile-sidebar-backdrop{
    transition:none!important;
  }
  .main,.mobile-brandbar,.mobile-nav{
    transform:none!important;
    animation:none!important;
  }
}

/* Disable cross-document View Transition animation. Full page navigation should
   remain visually stable instead of sliding/scaling between PHP pages. */
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
}


/* Mobile ghost-sidebar hard fix — closed navigation is not rendered at all.
   This prevents the sidebar from being captured or flashed between PHP page loads. */
.sidebar[hidden],.mobile-sidebar-backdrop[hidden]{display:none!important}

@media(min-width:781px){
  /* JS removes hidden immediately on desktop. This fallback prevents a missing
     desktop sidebar if script execution is delayed. */
  .sidebar[hidden]{display:flex!important}
}

@media(max-width:780px){
  body:not(.mobile-menu-open) .sidebar,
  body.store-page-leaving .sidebar,
  body.store-page-leaving .mobile-sidebar-backdrop{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
  }
  body.mobile-menu-open .sidebar{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .sidebar{transition:opacity .10s ease-out!important}
  .mobile-sidebar-backdrop{transition:opacity .10s ease-out!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  body.store-page-leaving .sidebar,
  body.store-page-leaving .mobile-sidebar-backdrop{transition:none!important}
}

/* Explicitly opt the Store out of cross-document View Transitions. */
@supports (view-transition-name:none){
  @view-transition{navigation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/* Mobile Cash Drawer amount containment fix — 2026-08-09
   Keep currency and decimals together instead of wrapping .00 to a second line. */
.cash-on-hand-total{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  font-variant-numeric:tabular-nums;
}

@media(max-width:780px){
  .cash-on-hand-panel .panel-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  .cash-on-hand-total{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    text-align:left!important;
    line-height:1.08!important;
    font-size:clamp(1.35rem,6.5vw,1.9rem)!important;
  }
  .cash-breakdown b{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }
}

@media(max-width:360px){
  .cash-on-hand-total{font-size:clamp(1.2rem,6vw,1.65rem)!important}
  .cash-breakdown b{font-size:.95rem!important}
}


/* Products layout restoration — deletion controls live only in Duplicate Review. */
.product-row{grid-template-columns:minmax(0,1fr) 190px 110px!important}
.product-row .product-main,.product-row .product-numbers,.product-row .product-side{grid-column:auto!important}
@media(max-width:780px){
  .product-row{grid-template-columns:1fr!important;gap:9px!important}
  .product-row .product-main,.product-row .product-numbers,.product-row .product-side{grid-column:auto!important}
}

/* v2.9.4 Barcode scanner + product lookup */
.barcode-scan-btn{white-space:nowrap}
.barcode-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.barcode-input-row input{min-width:0}
.barcode-lookup-results{grid-column:1/-1;border:1px solid var(--border,#dce4de);border-radius:14px;background:var(--panel,#fff);padding:12px;margin-top:2px}
.barcode-lookup-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.barcode-lookup-title span{font-size:.83rem;color:var(--muted,#647067);text-align:right;max-width:58%}
.barcode-lookup-message{padding:10px 12px;border-radius:10px;background:#eef7ff;color:#174d78;font-size:.92rem}
.barcode-lookup-message.is-error,.barcode-status.is-error{background:#fff0f0;color:#8b1f1f}
.barcode-candidates{display:grid;gap:8px}
.barcode-candidate{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border,#dce4de);border-radius:12px;padding:9px;background:#fff}
.barcode-candidate img,.barcode-candidate-placeholder{width:52px;height:52px;border-radius:9px;object-fit:contain;background:#f5f7f6;display:grid;place-items:center;font-size:1.45rem}
.barcode-candidate-copy{min-width:0;display:grid;gap:2px}
.barcode-candidate-copy b,.barcode-candidate-copy span,.barcode-candidate-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barcode-candidate-copy span{color:var(--muted,#647067);font-size:.86rem}
.barcode-candidate-copy small{color:var(--muted,#647067);font-size:.76rem}
body.barcode-open{overflow:hidden}
.barcode-modal{position:fixed;inset:0;z-index:10050;background:rgba(8,17,12,.72);display:grid;place-items:center;padding:18px}
.barcode-modal[hidden]{display:none!important}
.barcode-dialog{width:min(760px,96vw);max-height:calc(100dvh - 36px);overflow:auto;background:#fff;border-radius:20px;padding:16px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.barcode-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.barcode-head h2{margin:2px 0 0}
.barcode-close{border:0;background:#f0f3f1;border-radius:999px;width:38px;height:38px;font-size:1.55rem;line-height:1;cursor:pointer}
.barcode-video-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#101512}
.barcode-video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.barcode-aim{position:absolute;left:6%;right:6%;top:50%;height:30%;transform:translateY(-50%);border:2px solid rgba(255,255,255,.96);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.20)}
.barcode-aim:after{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:rgba(255,255,255,.9)}
.barcode-status{margin:10px 0;padding:9px 11px;border-radius:10px;background:#edf8f1;color:#24543a;font-size:.9rem}

.barcode-camera-actions{display:flex;justify-content:flex-end;gap:8px;margin:-2px 0 10px}
.barcode-camera-actions[hidden]{display:none!important}
.barcode-manual{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.barcode-manual input{min-width:0;width:100%}
.barcode-help{margin:9px 0 0;color:var(--muted,#647067);font-size:.8rem}

@media(max-width:780px){
  .barcode-input-row{grid-template-columns:1fr 1fr}
  .barcode-input-row input{grid-column:1/-1}
  .barcode-input-row .btn{width:100%}
  .barcode-lookup-title{display:grid;gap:4px}
  .barcode-lookup-title span{text-align:left;max-width:none}
  .barcode-candidate{grid-template-columns:46px minmax(0,1fr)}
  .barcode-candidate img,.barcode-candidate-placeholder{width:46px;height:46px}
  .barcode-candidate .btn{grid-column:1/-1;width:100%}
  .barcode-modal{padding:10px;place-items:end center}
  .barcode-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:20px 20px 14px 14px}
  .filter-bar .barcode-scan-btn,.receive-search .barcode-scan-btn,.search-bar .barcode-scan-btn{min-width:92px}
}

/* v2.9.4 Full-width mobile preview + desktop detail scan */
.barcode-camera-actions{align-items:center;flex-wrap:wrap}
.barcode-scan-tip{margin:-2px 0 10px;color:var(--muted,#647067);font-size:.78rem;line-height:1.4}
.barcode-video{object-fit:cover;object-position:center;background:#090d0b}
@media(max-width:780px){
  .barcode-modal{padding:0;place-items:end center}
  .barcode-dialog{width:100vw;max-width:none;max-height:100dvh;border-radius:20px 20px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));overflow:auto}
  .barcode-video-wrap{width:calc(100% + 32px);margin-left:-16px;aspect-ratio:16/9;border-radius:0;max-height:42dvh}
  .barcode-video{width:100%;height:100%;object-fit:cover;object-position:center}
  .barcode-aim{left:5%;right:5%;height:32%;border-radius:10px}
  .barcode-camera-actions{display:flex;justify-content:flex-end;gap:8px}
  .barcode-camera-actions .btn{width:auto;white-space:nowrap}
}
@media(max-width:780px) and (orientation:landscape){
  .barcode-dialog{max-height:100dvh}
  .barcode-video-wrap{aspect-ratio:21/9;max-height:50dvh}
  .barcode-aim{height:38%}
}


/* v2.9.6 — Product details are vertical-only on phones; no horizontal page dragging. */
@media (max-width:780px){
  html,body{overflow-x:clip!important;max-width:100vw!important}
  .product-edit-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
    touch-action:pan-y pinch-zoom;
  }
  .product-edit-layout>.panel,
  .product-edit-layout .edit-panel,
  .product-edit-layout .edit-form,
  .product-edit-layout .form-grid,
  .product-edit-layout .form-grid.four,
  .product-edit-layout .field,
  .product-edit-layout .section-title,
  .product-edit-layout .barcode-input-row,
  .product-edit-layout .photo-actions,
  .product-edit-layout .photo-source-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  .product-edit-layout .form-grid,
  .product-edit-layout .form-grid.four,
  .product-edit-layout .photo-source-grid,
  .product-edit-layout .barcode-input-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .product-edit-layout .span2,
  .product-edit-layout .barcode-input-row input,
  .product-edit-layout .barcode-input-row .btn{
    grid-column:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .product-edit-layout input,
  .product-edit-layout select,
  .product-edit-layout textarea,
  .product-edit-layout button,
  .product-edit-layout .btn{
    max-width:100%!important;
  }
  .barcode-candidate{
    grid-template-columns:44px minmax(0,1fr)!important;
  }
  .barcode-candidate>a,
  .barcode-candidate>.status{
    grid-column:1/-1;
    width:100%;
    justify-content:center;
    text-align:center;
  }
}
