:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#182328;background:#f5f7f5}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid #b5c6c1;background:#fff;border-radius:8px;padding:.65rem .9rem;color:#18352c}button:hover{background:#eaf4ef}.primary{background:#116448;color:#fff;border-color:#116448}.primary:hover{background:#0d5039}.danger{color:#a72222;border-color:#ca8b8b}.danger:hover{background:#fff0f0}.shell{max-width:1100px;margin:auto;padding:1rem}.login{width:min(100% - 2rem,420px);margin:10vh auto;background:#fff;border:1px solid #dde5e0;border-radius:14px;padding:1.5rem}.login label{display:block;margin:1rem 0;font-weight:600}.login input,.inline-form input,.link-field{display:block;width:100%;padding:.7rem;border:1px solid #aabdb2;border-radius:8px;margin-top:.3rem}.login .primary{width:100%}.password-row{display:flex;gap:.4rem}.password-row input{flex:1;min-width:0}.password-row button{align-self:end}.error{color:#a72222}.success{color:#116448}.header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.panel{background:#fff;border:1px solid #dbe4df;border-radius:12px;padding:1rem;margin:1rem 0}.actions,.inline-form{display:flex;gap:.65rem;flex-wrap:wrap;align-items:end}.inline-form label{min-width:180px;flex:1}.summary{display:flex;gap:1.5rem;flex-wrap:wrap}.summary strong{display:block;font-size:1.35rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.7rem .55rem;border-bottom:1px solid #e5ece8;white-space:nowrap}th{font-size:.85rem;color:#496258}tr:last-child td{border-bottom:0}.muted{color:#5d7068}.user-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;border-top:1px solid #e5ece8;padding:.8rem 0}.user-row details{grid-column:1/-1}.user-row summary{cursor:pointer}.link-field{width:100%}@media(max-width:600px){.header{align-items:flex-start}.shell{padding:.8rem}.summary{gap:.8rem}.summary div{min-width:42%}th,td{padding:.65rem .4rem}.user-row{grid-template-columns:1fr}.user-row details{grid-column:1}.inline-form{display:block}.inline-form label{display:block;margin:.7rem 0}}
.mode-switch{display:flex;gap:.5rem;margin:1rem 0}.mode-switch a{display:inline-block;padding:.55rem .85rem;border:1px solid #b5c6c1;border-radius:8px;color:#18352c;text-decoration:none}.mode-switch a.selected{background:#116448;color:#fff;border-color:#116448}.search-form{display:flex;gap:.4rem}.search-form input,.action-forms input{width:100%;padding:.55rem;border:1px solid #aabdb2;border-radius:7px}.stock-head,.product-row{display:grid;grid-template-columns:125px minmax(170px,2fr) 125px 85px 85px 115px 120px;gap:.5rem;align-items:center}.stock-head{font-size:.82rem;color:#496258;padding:.5rem;border-bottom:1px solid #ccd9d2}.product-row{padding:.7rem .5rem;border-bottom:1px solid #e5ece8}.product-row:last-child{border-bottom:0}.product-name small{display:block;font-weight:400;color:#5d7068}.barcode{overflow-wrap:anywhere}.row-actions summary{cursor:pointer;color:#116448}.row-actions[open]{grid-column:1/-1;grid-row:2}.action-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:.75rem 0}.action-forms form{display:grid;gap:.5rem;border-top:1px solid #dde5e0;padding-top:.7rem}.action-forms label{font-size:.9rem}.action-forms input{display:block}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.stock-head{display:none}.product-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'name stock' 'barcode price' 'cost expiry' 'actions actions';gap:.35rem .75rem}.product-name{grid-area:name}.stock-qty{grid-area:stock;text-align:right;font-weight:700}.barcode{grid-area:barcode;color:#5d7068}.cost{grid-area:cost}.price{grid-area:price;text-align:right}.expiry{grid-area:expiry;text-align:right}.row-actions,.row-actions[open]{grid-area:actions;grid-column:1/-1;grid-row:auto}.action-forms{grid-template-columns:1fr}.search-form{width:100%}.search-form input{min-width:0;flex:1}}@media(max-width:600px){.header{display:block}.header nav{margin:.5rem 0}.search-form{margin:.5rem 0}.mode-switch a{flex:1;text-align:center}}
.shift-head,.shift-row{display:grid;grid-template-columns:minmax(180px,2fr) 130px 105px 130px;gap:.75rem;align-items:center;padding:.65rem .4rem;border-bottom:1px solid #e5ece8}.shift-head{color:#496258;font-size:.85rem}.shift-row small{display:block;color:#5d7068}.shift-row input,.shift-footer input{width:100%;padding:.6rem;border:1px solid #aabdb2;border-radius:7px}.shift-footer{display:flex;gap:.7rem;align-items:end;justify-content:flex-end;padding:.9rem 0}.shift-footer label{min-width:220px}@media(max-width:600px){.shift-head{display:none}.shift-row{grid-template-columns:minmax(0,1fr) auto;gap:.3rem}.shift-row>div{grid-column:1/-1}.shift-row>span:nth-child(2)::before{content:'Available: ';color:#5d7068}.shift-row>span:nth-child(3){text-align:right}.shift-row label{grid-column:1/-1}.shift-footer{display:block}.shift-footer label{display:block;min-width:0;margin-bottom:.7rem}.shift-footer button{width:100%}}
.scan-panel video{display:block;width:100%;max-width:520px;aspect-ratio:4/3;background:#12231c;border-radius:10px;object-fit:cover;margin:.75rem 0}.scan-panel .search-form{margin-top:1rem}.button-link{display:inline-block;background:#116448;color:#fff;text-decoration:none;padding:.65rem .9rem;border-radius:8px}[hidden]{display:none!important}
