:root{--ui-font:"Segoe UI",Arial,sans-serif;--workspace-column:64%;font:13px var(--ui-font);color:#171717;background:#fff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;border-radius:0}button{cursor:pointer}input,select{min-width:0;color:#222;background:#fff}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #00c9ed;outline-offset:1px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}[hidden]{display:none!important}.app{height:100dvh;min-height:650px;display:flex;flex-direction:column;overflow:hidden}.titlebar{height:26px;flex:none;border-bottom:1px solid #ccc;font:14px var(--ui-font);padding:3px 16px}.toolbar{height:50px;flex:none;display:flex;align-items:center;padding:7px 8px 7px 2px;gap:12px;border-bottom:2px solid #bbb;background:#fbfbfb}.toolbar button{border:0;background:#eee;color:#598abd;padding:0}.toolbar form{display:flex;align-items:center;min-width:0;width:25%;max-width:253px;height:33px;border:1px solid #00bce0}.toolbar form>img{width:29px;height:32px;object-fit:contain;background:#fff;margin-right:5px}.toolbar input{width:100%;height:29px;border:0;padding:2px 3px;font-size:14px}.toolbar form>button,.customer-field>button:not(.customer-name){width:23px;height:26px;flex:none;font-size:16px}.clear{color:#f0443a!important;font-size:22px!important;border:0;background:#f0f0f0}.customer-field{display:flex;align-items:center;border:1px solid #ccc;height:33px;padding:2px;min-width:130px;width:25%;max-width:375px}.customer-name{background:white!important;color:#777!important;flex:1;min-width:0;text-align:left;font-size:14px;padding:0 3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:27px}.toolbar>select{width:145px;height:31px;border:1px solid #c6c6c6;font-size:15px;padding:2px 6px;color:#777;flex:none}.toolbar .storebar{flex:1;height:31px;text-align:left;background:linear-gradient(90deg,#12954c,#13a853)!important;color:white!important;padding:0 10px;font:700 13px var(--ui-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,var(--workspace-column)) minmax(0,1fr)}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid #bcbcbc}.grid-scroll{flex:1;min-height:120px;overflow:auto}.sale-table{border-collapse:collapse;table-layout:fixed;width:100%;color:midnightblue;font:600 12px var(--ui-font)}.sale-table th{position:sticky;top:0;z-index:2;background:#fff;border:1px solid #d3d3d3;border-top:0;border-bottom:4px solid #57aee0;height:29px;padding:4px 3px;font:700 14px var(--ui-font);color:#111;white-space:nowrap}.sale-table th:first-child{border-bottom:1px solid #d3d3d3;text-align:left}.sale-table td{height:72px;border:1px solid #d4d4d4;padding:6px 4px;vertical-align:middle}.sale-table td:first-child{text-align:center;font-weight:400;background:#fafafa}.sale-table tr.selected td{background:#edf6d9}.sale-table tr.selected td:first-child{background:#9acd32}.product-cell{position:relative}.product-name{font:700 14px/1.3 var(--ui-font);color:#b32323;display:block;padding-right:9px}.product-code{font:11px/1.8 var(--ui-font);color:#333;display:block}.line-remove{position:absolute;top:3px;right:2px;background:none;border:0;color:#b44;padding:0 2px;font-size:15px;opacity:0}.sale-table tr:hover .line-remove,.line-remove:focus-visible{opacity:1}.unit{text-align:center}.qty-control{display:flex;height:27px;align-items:center}.qty-control button{height:23px;width:16px;border:0;background:none;color:#3d596e;padding:0}.qty-control input{width:22px;flex:1;min-width:0;border:0;background:none;text-align:center;padding:2px 0;font-weight:600;color:midnightblue}.line-input{width:100%;text-align:right;padding:4px 1px;border:1px solid transparent;background:none;font-size:12px;font-weight:600;color:midnightblue}.line-input:hover{border-color:#bbc9aa;background:#fff}.line-total{text-align:right;white-space:nowrap}.payment{height:calc(31vh + 13px);min-height:242px;max-height:320px;flex:none;border-top:2px solid #bbb}.note{height:43px;display:flex;align-items:center;border:1px solid #c4c4c4;gap:5px;padding:2px}.note img{width:24px;height:25px;object-fit:contain;background:#eee;padding:3px}.note input{width:100%;height:33px;border:0;padding:2px 0;font-size:14px;align-self:flex-start}.note button{width:24px;height:31px;flex:none}.payment-body{display:grid;grid-template-columns:1fr minmax(355px,43%);height:calc(100% - 43px);gap:10px;padding:9px 7px 6px 14px;align-items:start}.invoice-context{padding:7px 5px;font-size:11px;color:#707070;align-self:end;max-width:300px}.invoice-context p{margin:0 0 8px}.invoice-context dl{margin:0 0 8px}.invoice-context dl>div{display:flex;justify-content:space-between;margin-bottom:5px}.invoice-context dd{margin:0;font-weight:600}.invoice-context #debt-note{font-size:10px;color:#9a753d}.invoice-context #line-count{display:block;margin:8px 0}.delete-link{border:0;background:none;color:#aa534b;padding:0;font-size:10px}.invoice-context #gift-status{display:block;margin-top:10px;color:#34905e}.totals{grid-column:2;display:grid;grid-template-columns:minmax(165px,1fr) minmax(130px,44%);gap:0 12px;align-items:center;grid-auto-rows:minmax(26px,calc((31vh - 49px)/7))}.totals>label{text-align:right;font-size:15px;white-space:nowrap;letter-spacing:-.25px}.totals output,.totals>input,.discount input{width:100%;height:24px;border:0;border-bottom:1px solid #333;text-align:right;padding:0 3px;background:white;font-size:15px;font-variant-numeric:tabular-nums}.gross{color:#00f}.payable{color:red;font-weight:700}#payable-total{font-weight:700}.discount{display:flex;gap:5px;height:26px}.discount input{width:1px;flex:1}.discount select{width:40px;border:1px solid #9f3225;padding:1px 3px;font-size:11px;font-weight:700;color:#8d281e;background:#f5f5f5}.remaining{grid-column:1/-1;text-align:right;font-size:10px;color:#a76428}.remaining strong{display:inline-block;min-width:100px}aside{display:flex;flex-direction:column;min-width:0;min-height:0;padding-left:9px;border-left:9px solid #eee;overflow:auto}.tiles{padding:9px 9px 9px 0;flex:none}.tiles h2{font:700 20px/24px var(--ui-font);margin:0 0 12px}.tile-grid{display:grid;gap:8px}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tile-grid button{min-height:79px;height:calc(9.3vh + 2px);max-height:112px;position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;background:linear-gradient(90deg,#14964b,#12a956);border:1px solid #6cbd93;color:white;padding:5px 2px 7px;font:700 12px/1.1 var(--ui-font);gap:5px}.tile-grid img{height:32px;width:32px;object-fit:contain;margin-bottom:2px}.tile-grid kbd{font:700 14px var(--ui-font);position:absolute;left:9px;top:9px;color:white;white-space:nowrap}.tile-grid button:has(kbd) img{margin-top:12px}.tile-grid button[data-action=save] kbd,.tile-grid button[data-action=returns] kbd{font-size:11px}.tile-grid button:hover{filter:brightness(1.07);border-color:#076431}.tile-grid button:active{filter:brightness(.92)}.tile-grid button[aria-pressed=true]{box-shadow:inset 0 0 0 3px #f8d369}.sales{border-bottom:9px solid #eee;margin-left:-9px;padding-left:9px}.catalog .tile-grid button{height:calc(7.8vh + 2px);min-height:69px}.brand{flex:1;min-height:100px;display:flex;align-items:center;justify-content:center;padding:10px 9px 10px 0}.brand img{width:100%;height:auto;max-height:100%;object-fit:contain}.checkout{padding-top:4px}.checkout .tile-grid button{min-height:81px;height:calc(9.9vh + 2px);max-height:116px}.checkout h2{margin-bottom:13px}.tile-grid .red{background:red;border-color:#7dc597}.tile-top{position:absolute;left:0;right:0;top:8px;text-align:center;font:700 12px var(--ui-font)}footer{height:27px;flex:none;display:flex;align-items:center;gap:4px;border-top:1px solid #ccc;white-space:nowrap;padding:1px 3px;font-size:11px;overflow:hidden;color:#3678e7}footer button{flex:none;border:1px solid #aaa;background:#f5f5f5;font-size:11px;padding:2px 6px;font-weight:600;color:#42515b}footer>span{overflow:hidden;text-overflow:ellipsis}footer strong{color:red;font-size:11px;flex:none}footer small{font-size:9px;color:#718c7e;margin-left:auto;padding:0 5px}#toast{position:fixed;bottom:38px;left:50%;transform:translateX(-50%);z-index:30;background:#edf9f1;color:#246e46;border:1px solid #8abfa0;padding:11px 19px;box-shadow:0 4px 18px #173e2222;max-width:calc(100vw - 28px);font-size:13px}#toast.error{background:#fff3e9;color:#984e20;border-color:#d7ad89}#print-area{display:none}
#app-dialog{padding:0;border:1px solid #9daea4;width:790px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);background:#f7f8f7;color:#243a2e;box-shadow:0 12px 55px #173b2c55}#app-dialog::backdrop{background:#1e382b66}.dialog-heading{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#e9f2ed;border-bottom:1px solid #c6d9ce}.dialog-heading h2{font-size:16px;margin:0;font-weight:600;color:#216940}.dialog-heading button{border:0;background:none;color:#4c6f5b;font-size:23px;padding:0 5px}.dialog-toolbar{display:flex;gap:8px;padding:12px;background:white;border-bottom:1px solid #d0dcd4}.dialog-toolbar input{flex:1;min-width:100px;padding:7px 9px;border:1px solid #bdcec3}.dialog-toolbar select{padding:6px;border:1px solid #bdcec3;max-width:200px}.dialog-table-wrap{max-height:420px;overflow:auto;background:white}.dialog-table{width:100%;border-collapse:collapse;font-size:13px}.dialog-table th{position:sticky;top:0;background:#edf3ef;border-bottom:1px solid #c9d8cf;color:#557361;padding:9px;text-align:left;font-size:11px;white-space:nowrap}.dialog-table td{padding:10px 9px;border-bottom:1px solid #e1e8e4}.dialog-table tr:hover td{background:#f1f7f3}.dialog-table small{display:block;color:#84968b;font-size:10px;margin-top:3px}.dialog-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.item-title{font-weight:600}.dialog-body-padding{padding:17px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;background:#eff4f1;border-top:1px solid #cbdacf;padding:12px 16px}.primary-button{background:#159c51;border:1px solid #118c47;color:white;padding:9px 16px;font-weight:600}.secondary-button{background:white;color:#4c6858;border:1px solid #bccfc3;padding:9px 14px}.danger-button{background:#b94534;color:white;border:1px solid #a53829;padding:9px 14px}.small-button{background:#f1f8f4;color:#247147;border:1px solid #bad3c4;padding:5px 10px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}.empty-list{text-align:center;padding:35px 15px;color:#7c9587}.dialog-message{padding:23px 20px;font-size:14px;line-height:1.65;color:#5b7365}.dialog-message p{margin:0 0 10px}.dialog-message strong{color:#2b6343}.dialog-hint{font-size:11px;color:#7b9083;line-height:1.6;padding:7px 12px}.payment-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:18px;background:white}.checkout-summary{background:#f0f6f2;border:1px solid #d6e2d9;padding:16px}.checkout-summary h3{font-size:13px;margin:0 0 15px;color:#527962}.checkout-summary dl{margin:0}.checkout-summary dl>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.checkout-summary dd{margin:0;text-align:right;font-weight:600}.checkout-grand{font-size:19px;border-top:1px solid #c8dbcf;padding-top:13px;margin-top:15px;color:#e11}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}.field>span{font-size:12px;color:#5c7d68}.field input,.field select{height:35px;width:100%;padding:6px 9px;border:1px solid #bccfc3}.quick-cash{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 10px}.quick-cash button{border:1px solid #c4d7cb;background:#f5f9f6;color:#5c7f69;padding:5px 8px;font-size:11px}.payment-validation{color:#ab5e31;line-height:1.5;font-size:12px;margin:8px 0;min-height:18px}.payment-validation.success{color:#22834a}.checkbox-row{display:flex;gap:7px;align-items:center;font-size:12px;margin-top:9px}.checkbox-row input{margin:0}.warning-box{padding:10px 12px;background:#fff8df;border:1px solid #e6d8a0;color:#8d7539;font-size:12px;line-height:1.5;margin:12px;font-family:var(--ui-font)}.help-grid{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:18px;background:white}.help-grid kbd{border:1px solid #bdd0c3;background:#eff6f1;padding:3px 7px;text-align:center;font:12px var(--ui-font);color:#38754f}.help-grid span{align-self:center;color:#5a7664}.options-section{margin-bottom:20px}.options-section h3{font-size:13px;color:#2b7448;margin:0 0 10px}.receipt{max-width:380px;margin:15px auto;background:white;padding:20px;color:#222;font:13px/1.5 "Courier New",monospace}.receipt h2{margin:0;text-align:center;font-size:20px}.receipt .center{text-align:center}.receipt-meta{border-top:1px dashed #888;margin-top:13px;padding-top:10px}.receipt table{width:100%;border-collapse:collapse;margin:10px 0}.receipt td{padding:5px 0;font-size:12px}.receipt td:last-child{text-align:right;white-space:nowrap}.receipt dl{border-top:1px dashed #888;padding-top:10px}.receipt dl>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.receipt dd{margin:0;text-align:right;font-weight:600}.receipt .receipt-grand{font-size:17px;font-weight:bold}.receipt-note{border-top:1px dashed #888;padding-top:10px;font-size:11px;overflow-wrap:anywhere}.receipt-demo{font-size:10px;color:#777;margin-top:15px}
@media(min-width:1700px){.titlebar{height:30px;font-size:17px}.toolbar{height:58px}.toolbar form{max-width:290px}.customer-field{max-width:430px}.toolbar>select{width:175px}.toolbar .storebar{font-size:15px}.sale-table th{font-size:16px;height:34px}.sale-table td{height:80px}.tiles h2{font-size:23px;line-height:29px;margin-bottom:16px}.tile-grid button{font-size:14px;max-height:145px}.tile-grid img{width:38px;height:38px}.tile-grid kbd{font-size:17px}.catalog .tile-grid button{max-height:125px}.checkout .tile-grid button{max-height:155px}.totals>label,.totals output,.totals>input,.discount input{font-size:18px}.payment{max-height:410px}.note{height:49px}.note input{font-size:17px}.payment-body{height:calc(100% - 49px);grid-template-columns:1fr minmax(440px,43%)}footer{height:30px;font-size:13px}footer button,footer strong{font-size:13px}}
@media(max-width:1100px){.toolbar{gap:7px}.toolbar>select{width:115px}.toolbar .storebar{font-size:11px}.toolbar input,.customer-name{font-size:12px}.tiles h2{font-size:18px;line-height:22px;margin-bottom:10px}.tile-grid{gap:5px}.tile-grid button{font-size:10px;min-height:72px;padding-bottom:6px}.tile-grid img{height:29px;width:29px}.tile-grid kbd{font-size:12px;left:6px;top:6px}.tile-grid button[data-action=save] kbd,.tile-grid button[data-action=returns] kbd{font-size:9px}.tile-top{font-size:10px}.payment-body{grid-template-columns:1fr minmax(310px,60%);gap:5px;padding-left:7px}.totals{grid-template-columns:minmax(145px,1fr) minmax(110px,40%);gap:0 8px}.totals>label{font-size:12px}.totals output,.totals>input,.discount input{font-size:14px}.sale-table th{font-size:11px}.sale-table td{font-size:11px;padding:5px 3px}.product-name{font-size:12px}.line-input{font-size:10px}.qty-control button{width:13px;font-size:12px}.invoice-context{font-size:10px;padding:5px 2px}footer,footer button,footer strong{font-size:9px}}
@media(max-width:800px){.app{height:auto;min-height:100dvh;overflow:visible}.titlebar{height:28px;font-size:11px;padding-left:7px}.toolbar{height:auto;flex-wrap:wrap;padding:5px;gap:5px}.toolbar form{width:46%;flex:1;max-width:none;min-width:190px}.customer-field{width:44%;flex:1;max-width:none;min-width:200px}.toolbar>select{width:125px}.toolbar .storebar{flex:1;min-width:150px}main{grid-template-columns:minmax(0,1fr)}.workspace{min-height:630px;border-right:0}.grid-scroll{min-height:340px;max-height:460px}.sale-table{min-width:650px}.sale-table th{font-size:13px}.sale-table td{height:70px}.product-name{font-size:14px}.line-input{font-size:12px}.payment{height:265px;max-height:none}.payment-body{grid-template-columns:1fr minmax(330px,52%)}.totals{grid-auto-rows:29px}.totals>label{font-size:13px}aside{border:0;border-top:9px solid #eee;padding:0 9px;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.sales{margin:0;border:0;padding-left:0;grid-row:span 2}.tiles{padding-right:0}.tile-grid{gap:6px}.tile-grid button{min-height:76px;height:76px;font-size:11px}.tile-grid kbd{font-size:12px}.catalog .tile-grid button{height:68px;min-height:68px}.brand{display:none}.checkout .tile-grid button{height:72px;min-height:72px;font-size:10px}.checkout{padding-top:0}.checkout h2{margin-bottom:10px}.checkout .tile-grid img{width:26px;height:26px}footer{flex-wrap:wrap;white-space:normal;height:auto;min-height:34px;gap:4px 7px;padding:3px 5px;font-size:10px}footer>span{overflow:visible;line-height:1.5;flex:1;min-width:200px}footer strong{font-size:10px}footer small{font-size:9px}}
@media(max-width:520px){.titlebar{height:auto;min-height:27px;font-size:10px;padding:4px 7px;line-height:1.3}.toolbar form{flex-basis:100%}.customer-field{min-width:0;flex:1;width:auto}.toolbar>select{width:105px;font-size:13px}.toolbar .storebar{flex-basis:100%;height:28px;font-size:11px}.customer-name{font-size:12px}.workspace{min-height:640px}.grid-scroll{min-height:280px;max-height:360px}.payment{height:auto;min-height:250px}.note{height:37px}.note input{height:29px;font-size:12px}.payment-body{grid-template-columns:1fr;padding:8px 9px;gap:8px;height:auto}.totals{grid-column:1;grid-template-columns:1fr 130px;grid-auto-rows:29px}.totals>label{font-size:13px}.invoice-context{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;padding:0 0 7px;border-bottom:1px solid #ddd}.invoice-context>p{margin:0}.invoice-context dl{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin:0;gap:3px 12px}.invoice-context dl>div{margin:0}.invoice-context dl>div:first-child{grid-column:1/-1}.invoice-context #line-count{margin:0;font-size:10px}.invoice-context .delete-link{text-align:right}.invoice-context #debt-note{grid-column:1/-1}.invoice-context #gift-status{grid-column:1/-1;margin:0}aside{display:flex;gap:0;flex-direction:column}.tiles h2{font-size:17px;margin-bottom:9px}.sales{grid-row:auto}.sales .tile-grid button{height:77px;min-height:77px}.catalog{padding-top:4px}.catalog .tile-grid button{height:75px}.checkout{padding-top:5px}.checkout .tile-grid button{height:80px;min-height:80px;font-size:11px}.tile-grid img{height:31px;width:31px}.checkout .tile-grid img{width:29px;height:29px}.tile-grid button[data-action=save] kbd,.tile-grid button[data-action=returns] kbd{font-size:10px}footer strong{font-size:10px}.payment-dialog-grid{grid-template-columns:1fr;gap:14px;padding:12px}.checkout-summary{padding:13px}.checkout-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.checkout-summary dl>div{margin:0}.checkout-summary .checkout-grand{grid-column:1/-1}.dialog-toolbar{flex-wrap:wrap}.dialog-toolbar select{max-width:none;width:100%}.dialog-table td,.dialog-table th{padding:8px 6px;font-size:11px}.small-button{font-size:11px;padding:4px 6px}.dialog-actions{padding:10px;flex-wrap:wrap}.dialog-actions button{flex:1;font-size:11px;padding:9px 8px}#app-dialog{max-width:calc(100vw - 12px);max-height:calc(100dvh - 18px)}.dialog-heading{padding:9px 11px}.dialog-heading h2{font-size:14px}.help-grid{grid-template-columns:75px 1fr;padding:12px;gap:8px}.dialog-body-padding{padding:12px}.receipt{margin:10px auto;padding:15px}.dialog-message{font-size:13px;padding:17px}#toast{font-size:12px;padding:10px 13px}}
.manage-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.form-error{font-size:12px;line-height:1.5;color:#a1492d;min-height:18px;margin:8px 0}.form-error.success{color:#257747}.row-actions{white-space:nowrap}.row-actions button+button{margin-left:4px}.history-dates{display:flex;gap:14px;padding:8px 12px;background:#f7faf8;border-bottom:1px solid #d2ded6}.history-dates label{display:flex;align-items:center;gap:7px;color:#587464;font-size:11px}.history-dates input{padding:4px;border:1px solid #c6d5cb;font-size:12px}.return-intro{padding:12px 15px;background:#fff;display:flex;gap:5px;flex-direction:column;font-size:12px}.return-intro span{color:#74897b;font-size:11px}#app-dialog:has(.return-intro){width:980px}.return-table{max-height:250px}.return-table .dialog-table{min-width:690px}.manage-number{width:62px;text-align:right;padding:5px 6px;border:1px solid #b6cdbf}.replacement-section h3{font-size:13px;font-weight:600;color:#37754e;margin:12px 15px 0}.replacement-section .dialog-toolbar{padding-top:8px}.replacement-section select{flex:1;max-width:none;min-width:0}.replacement-section .dialog-table-wrap{max-height:180px}.replacement-section .dialog-table{min-width:500px}.return-settlement{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:15px;background:#fff}.return-rules{font-size:11px;line-height:1.65;color:#718578}.return-summary{margin:0}.return-summary>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:8px;font-size:12px}.return-summary dd{margin:0;text-align:right;font-weight:600}.return-summary .settlement-grand{font-size:17px;color:#c63322;border-top:1px solid #ccd8d0;padding-top:10px;margin-top:12px}.settlement-inputs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.settlement-inputs label{display:flex;align-items:center;gap:6px;font-size:11px}.settlement-inputs input{width:100px;padding:5px 6px;border:1px solid #b7cdbf;text-align:right}.backup-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.file-button{display:inline-block;cursor:pointer;font-size:13px}.file-button input{display:none}.backup-summary{margin:10px auto;max-width:400px}.backup-summary>div{display:flex;justify-content:space-between;margin-bottom:9px}.backup-summary dd{margin:0;font-weight:600}.receipt h4{margin:12px 0 4px;font-size:12px}.options-section .dialog-hint{padding:0}.stock-adjustment{font-size:11px;color:#637d6d}
@media(max-width:520px){.manage-form-grid{grid-template-columns:1fr}.row-actions button{margin-bottom:4px}.history-dates{flex-direction:column;gap:6px}.history-dates label{justify-content:space-between}.return-settlement{grid-template-columns:1fr;gap:14px;padding:12px}.return-intro{padding:10px 12px}.return-table{max-height:240px}.replacement-section .dialog-toolbar{flex-wrap:wrap}.replacement-section select{flex-basis:100%;width:100%;font-size:11px}.settlement-inputs input{width:90px}.backup-controls{align-items:stretch;flex-direction:column}.file-button{text-align:center}.dialog-toolbar .primary-button{font-size:11px;padding:8px 10px}}
/* The checkout dialog shows any unpaid balance; keep the main form faithful to SaleTouch. */
#remaining-row{display:none!important}
@media print{body>*{display:none!important}#print-area{display:block!important;width:80mm;margin:0;padding:0}#print-area .receipt{margin:0;padding:4mm;width:100%;max-width:none;font-size:11px}@page{size:80mm auto;margin:0}}

/* Kết nối SenPos.Api */
.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.live-grid .field:only-child,.live-grid .field.full{grid-column:1/-1}
.live-details{margin:0 0 12px;border:1px solid #d2ded6;background:#fff}
.live-details summary{cursor:pointer;padding:8px 12px;font-size:12px;font-weight:600;color:#2b7448;background:#eef5f0}
.live-details>.live-grid,.live-details>.secondary-button{margin:10px 12px}
.live-details>.secondary-button{margin-top:0}
.live-inline{margin:0;white-space:nowrap;align-self:center;color:#587464}
.history-dates .small-button{align-self:center}
.live-options{padding:10px 12px;background:#eef5f0;border:1px solid #cfe0d5}
.live-options .backup-controls{margin-top:8px}
body.live-mode footer small{color:#257747;font-weight:600}
body.live-mode .storebar{background:linear-gradient(90deg,#1b6a43,#1f8a55)!important}
#live-login-status.success{color:#257747}
@media(max-width:520px){.live-grid{grid-template-columns:1fr}.history-dates .small-button{align-self:stretch}}

#return-fields{border:0;padding:0;margin:0;min-width:0}.replacement-section{padding:12px}.replacement-section h3{margin:4px 0 10px}.settlement-inputs{display:flex;gap:12px;flex-wrap:wrap}.settlement-inputs label{display:flex;flex:1;min-width:160px;flex-direction:column;gap:5px}.settlement-inputs input{padding:8px;min-width:0;width:100%;box-sizing:border-box}.return-intro{padding:12px;display:flex;flex-direction:column;gap:5px}.return-summary{margin:10px 0}.return-summary>div{display:flex;justify-content:space-between;gap:12px;padding:5px}.return-summary dd{margin:0;font-weight:bold}.settlement-grand{border-top:1px solid #ddd;color:#dc2626}.return-rules{font-size:13px;color:#555}.return-settlement{padding:12px}

/* Share the sales/menu column boundary with the toolbar. */
.toolbar{display:grid;grid-template-columns:minmax(0,var(--workspace-column)) minmax(0,1fr);gap:0;padding:7px 0;align-items:center}
.toolbar-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(100px,.55fr);align-items:center;gap:10px;min-width:0;padding:0 10px 0 4px}
.toolbar-controls #scan-form,.toolbar-controls .customer-field{width:100%;max-width:none;min-width:0;height:34px;flex:none}
.toolbar #scan-form>img{flex:0 0 29px;width:29px;height:30px;margin-right:3px}
.toolbar #barcode{flex:1 1 0;width:0;min-width:0;height:30px;padding:2px 5px}
.toolbar #scan-form>button,.toolbar .customer-field>button:not(.customer-name){display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:28px;padding:0;line-height:1}
.toolbar .customer-name{flex:1 1 0;width:0;min-width:0;height:28px;line-height:28px}
.toolbar-controls>#price-list{width:100%;min-width:0;height:34px;border:1px solid #c6c6c6;padding:2px 6px;font-size:14px;color:#777}
.toolbar .storebar{width:calc(100% - 27px);min-width:0;margin:0 9px 0 18px;height:34px;flex:none}
@media(max-width:1100px) and (min-width:801px){.toolbar-controls{gap:7px}.toolbar-controls>#price-list{font-size:12px}.toolbar #scan-form>button,.toolbar .customer-field>button:not(.customer-name){flex-basis:24px;width:24px}}
@media(max-width:800px){.toolbar{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:5px;height:auto}.toolbar-controls{padding:0;gap:6px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 115px}.toolbar .storebar{width:100%;min-width:0;margin:0;height:32px;flex:none}}
@media(max-width:520px){.toolbar-controls{grid-template-columns:minmax(0,1fr) 105px}.toolbar #scan-form{grid-column:1/-1}.toolbar-controls>#price-list{font-size:13px}.toolbar .customer-field{width:100%;min-width:0}.toolbar .storebar{font-size:12px}}
/* Product entry: compact mode button and inline suggestions. */
.product-entry{position:relative;min-width:0}
.toolbar{position:relative;z-index:10}
.toolbar #scan-form{border-color:#b9ccc2;border-radius:4px;background:#fff}
.toolbar #scan-form:focus-within{border-color:#159454;box-shadow:0 0 0 2px #1594541a}
.toolbar #scan-form>#entry-mode{flex:0 0 34px;width:34px;height:32px;border-right:1px solid #d8e5de;border-radius:3px 0 0 3px;background:#f1f7f4;color:#537466}
.toolbar #entry-mode:hover{background:#e2f1e9}
.toolbar #entry-mode[aria-pressed=true]{background:#e5f4ec;color:#07884a}
.toolbar #entry-mode img{width:24px;height:25px;object-fit:contain}
.toolbar #entry-mode svg{width:19px;height:19px}
.toolbar #scan-form>.clear{color:#7d8e85!important;background:#fff}
.toolbar #scan-form>button[data-action=products]{background:#fff;color:#63796d}
.toolbar #scan-form>button:disabled{cursor:wait;opacity:.55}
.entry-panel{position:absolute;left:0;top:calc(100% + 6px);width:max(100%,440px);max-width:calc(100vw - 10px);background:white;border:1px solid #d6e1da;border-radius:5px;box-shadow:0 8px 24px #173c2826;z-index:30;overflow:hidden}
.entry-panel-title{padding:10px 12px;font-size:12px;color:#365846;font-weight:600;border-bottom:1px solid #e8eeea;background:#f8fbf9}
#entry-results{max-height:min(52dvh,380px);overflow-y:auto;overscroll-behavior:contain}
.toolbar #entry-results>button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;border:0;border-bottom:1px solid #edf1ee;background:#fff;color:#243b2d}
.toolbar #entry-results>button:hover,.toolbar #entry-results>button[aria-selected=true]{background:#edf8f1}
.toolbar #entry-results>button:disabled{color:#8b9690;background:#fafbfa;cursor:not-allowed}
.entry-product-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #e0e9e3;background:#f2f6f3;border-radius:4px;color:#7b9283;font-size:17px}
.entry-product-info{min-width:0;display:flex;flex-direction:column;gap:4px}
.entry-product-info strong{font-weight:600;font-size:13px;white-space:normal;line-height:1.4}
.entry-product-info small{font-size:11px;color:#7c8c82;white-space:normal;overflow-wrap:anywhere}
.entry-product-price{font-size:13px;font-weight:600;text-align:right;color:#16814c;white-space:nowrap}
.entry-product-price small{display:block;font-size:10px;font-weight:400;color:#8a978e;margin-top:3px}
.entry-status{padding:9px 12px;font-size:11px;color:#7c8b82;line-height:1.5;background:#fafcfb}
@media(max-width:520px){.toolbar .product-entry{grid-column:1/-1}.entry-panel{width:100%}.toolbar #entry-results>button{gap:8px;padding:10px}}
.toolbar #barcode:focus-visible{outline:none}
/* Multiple open invoices share the sales workspace, with one independent cart each. */
.sale-tabs{display:flex;align-items:stretch;gap:5px;min-width:0;flex:none;padding:5px 6px 0;background:#f2f6f3;border-bottom:1px solid #cbdccf;min-height:47px}
.sale-tab-list{display:flex;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:thin;flex:0 1 auto;overscroll-behavior-x:contain}
.sale-tab{display:flex;align-items:center;flex:0 0 auto;min-width:128px;max-width:190px;background:#e7eee9;border:1px solid #d1ddd4;border-bottom:0;border-radius:4px 4px 0 0}
.sale-tab.active{background:#fff;border-color:#3d9a62;box-shadow:inset 0 3px #18924d}
.sale-tab>[role=tab]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0;padding:8px 5px 7px 10px;background:transparent;border:0;text-align:left;color:#506c59;font-size:12px;line-height:1.2}
.sale-tab.active>[role=tab]{color:#19743f;font-weight:600}
.sale-tab small{font-size:10px;line-height:1.3;font-weight:400;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#84918a}
.sale-tab-close{align-self:center;flex:none;width:25px;height:27px;padding:0;margin-right:2px;border:0;background:transparent;color:#8b9a90;font-size:18px}
.sale-tab-close:hover{color:#bb3c30;background:#fcece9}
.sale-tab-add{align-self:center;flex:none;width:32px;height:32px;border:1px solid #c8dbce;background:#fff;color:#178747;border-radius:4px;font-size:22px;line-height:1}
.sale-tab button:disabled,.sale-tab-add:disabled{cursor:wait;opacity:.55}
@media(max-width:520px){.sale-tabs{padding-left:5px;padding-right:5px}.sale-tab{min-width:115px}.sale-tab>[role=tab]{font-size:11px}.sale-tab small{max-width:105px}}/* Retail sign-in mirrors the SaleTouch Windows login window. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.retail-logged-out .app{visibility:hidden}
#app-dialog.retail-login-dialog{width:560px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;border:1px solid #0aa2cf;border-radius:5px;background:#fff;box-shadow:0 16px 48px #203c4c24}
#app-dialog.retail-login-dialog::backdrop{background:#f3f5f7}
.retail-login-dialog .dialog-heading{justify-content:center;padding:10px 16px;background:#0a9ed1;border:0;position:sticky;top:0;z-index:2}
.retail-login-dialog .dialog-heading h2{font:500 18px/1.3 var(--ui-font);color:#fff;text-align:center}
.retail-login-dialog #dialog-close{display:none}
.retail-login-brand{display:flex;justify-content:center;padding:18px 22px 20px}
.retail-login-brand img{display:block;width:min(82%,340px);height:auto;object-fit:contain}
.retail-login-main{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;padding:0 20px;align-items:start}
.retail-login-art{width:118px;max-width:100%;height:152px;object-fit:contain;margin-top:3px}
.retail-login-fields{display:flex;flex-direction:column;gap:10px;min-width:0}
.retail-login-field{display:flex;align-items:center;gap:4px;min-width:0;height:44px;border:1px solid #cfd8d5;border-radius:3px;background:#fff}
.retail-login-field:focus-within{border-color:#0bb4d4;box-shadow:0 0 0 2px #0bb4d414}
.retail-login-field input{flex:1;min-width:0;width:0;height:100%;border:0;outline:0!important;padding:8px 9px;background:transparent;font-size:15px;font-weight:500;color:#34433d}
.retail-login-field input::placeholder{color:#6c6c6c;opacity:1}
.retail-login-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;margin-right:4px;background:#f0f3f1;border-radius:2px;font-size:24px;object-fit:contain;padding:4px}
.retail-login-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:0}
.retail-login-actions button{min-width:106px;height:38px;padding:6px 14px;border:1px solid #b9c9c0;border-radius:3px;background:#fff;color:#294335;font-size:14px}
.retail-login-actions button:hover{background:#f2f9fc;border-color:#09a6d8}
.retail-login-actions button:disabled{opacity:.6;cursor:wait}
.retail-login-feedback{padding:10px 20px 12px}
.retail-login-feedback .form-error{min-height:0;margin:0 0 7px;font-size:12px}
.retail-login-feedback .form-error:empty{margin:0}
.retail-login-feedback .live-details{border:0;margin:0;background:transparent}
.retail-login-feedback .live-details summary{padding:4px 0;background:transparent;color:#7b8c93;font-size:11px;font-weight:400}
.retail-login-feedback .live-details>.live-grid{margin:8px 0}
.retail-login-feedback .live-details>.secondary-button{margin:0 0 8px}
.retail-demo-link{display:block;margin:6px 0 0;padding:0;border:0;background:transparent;color:#6a838c;font-size:11px;text-decoration:underline}
@media(max-width:520px){#app-dialog.retail-login-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.retail-login-dialog .dialog-heading h2{font-size:17px}.retail-login-brand{padding:16px 18px}.retail-login-main{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:0 14px}.retail-login-art{width:82px;height:152px}.retail-login-field{height:44px}.retail-login-field input{font-size:14px;padding:6px}.retail-login-icon{flex-basis:30px;width:30px;height:32px;font-size:23px;padding:4px}.retail-login-actions button{min-width:0;flex:1;font-size:14px;height:38px;padding:6px}.retail-login-feedback{padding:10px 14px}.retail-login-feedback .live-grid{grid-template-columns:1fr}}
@media(max-width:380px){.retail-login-main{grid-template-columns:58px minmax(0,1fr);gap:9px;padding-left:10px;padding-right:10px}.retail-login-art{width:58px}.retail-login-field input{font-size:14px}}
body.retail-logged-out{overflow:hidden}

.retail-login-actions #live-login-submit{background:#0a9ed1;border-color:#0a9ed1;color:#fff;font-weight:500}
.retail-login-actions #live-login-submit:hover{background:#078bb8}

.retail-login-actions #live-login-submit{width:100%}
