:root{font-family:Inter,ui-rounded,system-ui,-apple-system,sans-serif;color:#24372f;background:#f7f3e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:.75rem 1rem;background:#e9e4d8;color:#24372f;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}.primary,.charge{background:#315c4c;color:#fff}.login-shell,.splash{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;text-align:center}.login-card{width:min(420px,100%);background:#fff;border-radius:28px;padding:2rem;box-shadow:0 22px 70px #315c4c22;display:grid;gap:1rem}.brand-mark{margin:auto;width:68px;height:68px;border-radius:20px;background:#315c4c;color:#fff;display:grid;place-items:center;font-size:1.5rem;font-weight:900}.login-card h1{margin:0}.login-card p{margin:-.8rem 0 1rem;color:#738078}.login-card label,.dialog label{display:grid;text-align:left;gap:.4rem;font-weight:700}.login-card input,.dialog input,.ticket-search input,.search-row input{border:2px solid #ddd6c8;border-radius:12px;padding:.85rem;background:#fff;min-width:0}.login-card .primary{padding:1rem}.error{background:#ffe5df;color:#9e3324;padding:.8rem;border-radius:12px}.topbar{height:68px;background:#315c4c;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;gap:1rem}.topbar>div:first-child{display:grid}.topbar small{opacity:.78}.top-actions{display:flex;align-items:center;gap:.5rem}.top-actions button{padding:.55rem .8rem}.online,.offline{font-size:.8rem;padding:.35rem .55rem;border-radius:999px;background:#fff2}.offline{background:#a83e32}.notice{background:#fff1bd;padding:.65rem 1rem;text-align:center;font-weight:700}.warning{background:#ffe5bc;color:#744715;padding:.65rem 1rem;text-align:center;font-weight:700}.workspace{height:calc(100dvh - 68px);display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,32%);overflow:hidden}.catalog{display:flex;flex-direction:column;min-width:0}.search-row{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;padding:.8rem}.search-row input{font-size:1.05rem}.categories{display:flex;gap:.5rem;overflow:auto;padding:0 .8rem .8rem}.categories button{white-space:nowrap;padding:.55rem .85rem}.categories .active{background:#d88b5a;color:#fff}.product-grid{padding:.2rem .8rem 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem;overflow:auto}.product-card{min-height:148px;text-align:left;background:#fff;box-shadow:0 3px 12px #315c4c14;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.product-card .product-name{font-size:1rem;font-weight:800}.product-card code,.product-card em{font-size:.72rem;color:#718076;font-style:normal}.product-card strong{font-size:1.15rem;margin-top:auto}.product-card em.low{color:#b74732;font-weight:800}aside{background:#fff;display:flex;flex-direction:column;border-left:1px solid #e2ddcf;min-height:0;padding:.8rem}.cart{display:flex;flex-direction:column;min-height:0;flex:1}.cart header,.cart footer{display:flex;align-items:center;justify-content:space-between}.cart h2{margin:.2rem 0}.cart-lines{overflow:auto;flex:1}.cart-lines article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.7rem;align-items:center;padding:.8rem 0;border-bottom:1px solid #eee9df}.cart-lines article>div:first-child{display:grid;min-width:0}.cart-lines small{color:#77827c}.quantity{display:flex;align-items:center;gap:.45rem}.quantity button{width:34px;height:34px;padding:0}.cart footer{font-size:1.2rem;padding:1rem 0}.cart footer strong{font-size:1.55rem}.main-charge{font-size:1.2rem;padding:1.05rem}.clear{margin-top:.5rem;background:transparent}.empty{text-align:center;color:#748079;padding:2.5rem 1rem;grid-column:1/-1}.overlay{position:fixed;z-index:20;inset:0;background:#18221dbb;display:grid;place-items:center;padding:1rem}.dialog{position:relative;background:#fff;border-radius:24px;padding:1.5rem;width:min(480px,100%);max-height:92dvh;overflow:auto;box-shadow:0 20px 80px #0005}.dialog.wide{width:min(850px,100%)}.close{position:absolute;right:.8rem;top:.8rem;background:#eee8dc;font-size:1.3rem;padding:.3rem .7rem}.quick-pay,.cash-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.quick-pay button.selected{background:#315c4c;color:#fff}.change{font-size:1.2rem;margin:1rem 0}.dialog>.charge{width:100%;font-size:1.1rem;padding:1rem}.safe-note{font-size:.78rem;color:#718078}.ticket-search{display:grid;grid-template-columns:1fr auto;gap:.5rem}.ticket-list{display:grid;margin:1rem 0}.ticket-list>button{background:#fff;border-bottom:1px solid #eee5d8;border-radius:0;display:flex;justify-content:space-between;text-align:left}.ticket-list span{display:grid}.ticket-list small{font-weight:400;color:#69766f}.loading-inline{text-align:center;padding:2rem}.subdialog{position:absolute;inset:1rem;background:#fff;border:2px solid #315c4c;border-radius:20px;padding:1.5rem;overflow:auto}.subdialog p{display:flex;justify-content:space-between}.danger{background:#a83e32;color:#fff}.safe-note,.subdialog{line-height:1.4}@media(max-width:760px){.topbar{height:auto;min-height:66px}.top-actions span{display:none}.workspace{height:auto;min-height:calc(100dvh - 68px);grid-template-columns:1fr;overflow:visible}.product-grid{max-height:45dvh}.workspace aside{border-left:0;border-top:1px solid #ddd}.cart-lines{max-height:32dvh}.top-actions button{font-size:.78rem;padding:.5rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{min-height:135px}.overlay{align-items:end;padding:0}.dialog{border-radius:24px 24px 0 0;width:100%;max-height:94dvh}}.payment-rows{display:grid;gap:.7rem;margin:1rem 0}.customer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem}.customer-row select{min-width:0;border:1px solid #d8d0c2;border-radius:9px;padding:.65rem}.payment-row{display:flex;gap:.45rem;flex-wrap:wrap;padding:.65rem;background:#f7f3e9;border-radius:14px}.payment-row select,.payment-row input{min-width:90px;flex:1;border:1px solid #d8d0c2;border-radius:9px;padding:.6rem}.payment-row button{padding:.55rem}.quick-charge{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.55rem 0}.quick-charge button{padding:.72rem .35rem;background:#e1efe7;color:#244f3e}.return-line{display:grid;grid-template-columns:minmax(0,1fr) auto 88px;gap:.6rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #eee5d8}.return-line>span{display:grid}.return-line small{color:#68766f}.return-line>input{width:80px;padding:.55rem;border:1px solid #d8d0c2;border-radius:9px}.return-line label{grid-column:1/-1;font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.return-line label input{width:auto}.transfer-create{display:grid;gap:.7rem;padding:1rem;border-radius:16px;background:#f7f3e9}.transfer-create>select{padding:.7rem;border:1px solid #d8d0c2;border-radius:9px}.transfer-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.5rem;max-height:260px;overflow:auto}.transfer-products label{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:.5rem;align-items:center;background:#fff;padding:.6rem;border-radius:10px}.transfer-products span{display:grid}.transfer-products small{color:#68766f}.transfer-products input{width:70px;padding:.5rem}.transfer-card{margin:.7rem 0;padding:.9rem;border:1px solid #e4ddcf;border-radius:14px;display:grid;gap:.45rem}.transfer-card p{display:flex;justify-content:space-between;margin:0}.panel-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem}.panel-stats>div{background:#f7f3e9;border-radius:12px;padding:.75rem;display:grid}.panel-stats strong{font-size:1.2rem}.panel-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.panel-columns p{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px solid #eee5d8;padding-bottom:.4rem}@media(max-width:430px){.panel-columns{grid-template-columns:1fr}.search-row{grid-template-columns:1fr 1fr}.search-row input{grid-column:1/-1}.customer-row{grid-template-columns:1fr 1fr}.customer-row select{grid-column:1/-1}.quick-charge{grid-template-columns:1fr}.return-line{grid-template-columns:minmax(0,1fr) auto}.return-line>input{grid-column:1/-1;width:100%}}
