:root{--ink:#16312d;--green:#147965;--muted:#71837f;--line:#e1e9e6}*{box-sizing:border-box}body{background:#f4f7f5;color:var(--ink);font:14px 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}.btn-primary{background:var(--green);border-color:var(--green)}.btn-primary:hover{background:#0b5c4c;border-color:#0b5c4c}.mark{display:inline-grid;place-items:center;width:44px;height:44px;background:#b8ead7;border-radius:14px;color:#125946;font-size:28px;font-weight:800}#login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}#login[hidden],#shell[hidden]{display:none}.login-brand{background:#123d34;color:#fff;padding:12vh 10vw;display:flex;flex-direction:column;justify-content:center;gap:26px}.login-brand h1{font-size:46px;letter-spacing:-1.8px;line-height:1.2}.login-brand p{color:#b1d5c9}.login-card{width:min(420px,85%);margin:auto}.eyebrow,.nav-caption{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin-bottom:14px}label input,label select,label textarea{margin-top:6px}.form-control,.form-select{font-size:14px;border-color:#dce5e0;padding:10px 12px}.form-control:focus,.form-select:focus{border-color:#69b09b;box-shadow:0 0 0 3px #14796515}aside{position:fixed;width:234px;height:100vh;background:#173e35;color:#d7e8e2;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;font-size:24px;font-weight:700;margin:0 10px 40px}.brand-sub{display:block;font-size:8px;letter-spacing:1.7px;color:#a0bfb3;margin-top:3px}.nav-caption{margin:0 14px 12px;color:#8bafa1}nav a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:9px;text-decoration:none;color:#bdd4ca;margin:3px 0;font-size:13px}nav a:hover,nav a.active{background:#2d574a;color:#fff}nav a b{font-size:16px;width:22px;text-align:center}.aside-footer{margin-top:auto;padding:15px 12px 0;border-top:1px solid #ffffff15;font-size:11px;color:#9ebdaf}.workspace{margin-left:234px}header{height:78px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;position:sticky;top:0;z-index:5}#userName{font-size:12px}.online{font-size:10px;color:#428971;margin-left:14px;background:#eff7f2;padding:5px 9px;border-radius:20px}main{padding:30px 34px;max-width:1700px;margin:auto}.page-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.page-top h1{font-size:27px;letter-spacing:-.6px;margin:0 0 6px}.page-top p{color:var(--muted);margin:0;font-size:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:20px;box-shadow:0 3px 10px #1c4e3103}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px}.stat small{color:var(--muted);font-size:11px}.stat strong{display:block;font-size:24px;margin-top:12px;letter-spacing:-.5px}.stat.accent{background:#173e35;color:white;border:0}.stat.accent small{color:#b5d3c6}.table{font-size:12px;vertical-align:middle;margin:0}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#f8faf8;padding:13px 10px;border-color:var(--line);white-space:nowrap}.table td{padding:13px 10px;border-color:#eff3f0;max-width:340px;overflow-wrap:anywhere}.table .btn{font-size:11px}.table-wrap{overflow:auto}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar .form-control{max-width:310px}.toolbar .form-select{width:auto;max-width:250px}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:12px;color:var(--muted)}.badge-soft{background:#ecf6ef;color:#2d7858;padding:5px 8px;border-radius:20px;font-size:10px}.pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product{border:1px solid var(--line);border-radius:11px;padding:18px;background:#fff;text-align:left;min-height:140px;transition:.15s}.product:hover{border-color:#147965;transform:translateY(-2px)}.product:disabled{opacity:.5}.product small{display:block;color:var(--muted);font-size:10px}.product strong{display:block;margin:12px 0 8px;font-size:13px}.product .price{color:var(--green);font-weight:700}.cart{position:sticky;top:100px;height:fit-content}.cart-line{padding:14px 0;border-bottom:1px solid var(--line)}.cart-line strong{font-size:12px}.cart-line .form-control{padding:5px;width:75px}.total-row{display:flex;justify-content:space-between;gap:8px;margin:10px 0;font-size:12px}.grand{font-size:23px;font-weight:700;padding-top:14px;border-top:1px dashed #ccdcd3;margin-top:15px}.empty{text-align:center;padding:45px 20px;color:var(--muted)}dialog{border:0;border-radius:16px;padding:26px;max-width:900px;width:calc(100% - 32px);max-height:90vh;overflow:auto;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#10251d88}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}#message{position:fixed;right:22px;top:12px;max-width:520px;z-index:2000;box-shadow:0 8px 35px #0002;border-radius:10px}#message:not(:empty){padding:15px 20px;background:#fff;border-left:4px solid var(--green)}#message.error{border-color:#ba3546;color:#9e2435}.pending{position:sticky;top:0;z-index:1000;background:#fff0c6;padding:12px;text-align:center}.mobile-menu{display:none}.detail-summary{background:#f4f8f5;padding:16px;border-radius:10px;margin-bottom:20px}.help{font-size:12px;color:var(--muted)}.rights{display:flex;gap:12px;flex-wrap:wrap}.rights label{margin:0;padding:8px;border:1px solid var(--line);border-radius:8px}.rights input{margin:0 6px 0 0}@media(max-width:1150px){.pos-grid{grid-template-columns:1fr 340px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,1fr)}aside{width:205px}.workspace{margin-left:205px}}@media(max-width:800px){aside{display:none;z-index:30;top:78px;height:calc(100vh - 78px)}body.menu-open aside{display:flex}.workspace{margin-left:0}.mobile-menu{display:inline-block;margin-right:8px}header{padding:0 14px}main{padding:22px 14px}.online{display:none}.pos-grid{grid-template-columns:1fr}.cart{position:static}.field-grid{grid-template-columns:1fr}.login-brand{display:none}#login{grid-template-columns:1fr}.login-card{padding:35px 0}.page-top{align-items:flex-start}.page-top h1{font-size:24px}}@media print{aside,header,.toolbar,.page-top button,.pager,dialog,#message,.pending{display:none!important}.workspace{margin:0}main{padding:0}.panel,.stat{box-shadow:none;break-inside:avoid}}
:is(aside){overflow-y:auto}header>div{min-width:0}#userName{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:800px){#userName{max-width:90px;font-size:10px}#shopName{display:inline-block;max-width:105px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}header{gap:10px}header>.d-flex{gap:8px!important}}

/* Compact desktop cash register, adapted from the supplied reference. */
body.cashier-screen aside,body.cashier-screen header{display:none}body.cashier-screen .workspace{margin:0}body.cashier-screen main{max-width:none;padding:12px}body.cashier-screen{background:#e5ece8}.cash-desk{background:#b8cec6;border:1px solid #7eaa98;box-shadow:0 5px 24px #244f3020;padding:16px 18px 18px;color:#153d35;border-radius:3px;min-height:calc(100vh - 24px);display:flex;flex-direction:column}.cash-window-tools{display:flex;gap:15px;align-items:center;font-size:11px;margin-bottom:14px}.cash-window-tools button{border:0;background:none;padding:0;color:#245f88}.cash-window-tools a{color:#a33b3b;text-decoration:none}.cash-window-tools #cashShift{margin-left:auto;color:#3c6557}.cash-banner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px;margin-bottom:20px}.cash-store{display:flex;align-items:center;gap:12px}.cash-logo{display:grid;place-items:center;background:#08796c;color:#e7fff2;font-size:30px;font-weight:800;height:48px;width:48px;border-radius:50%}.cash-store h1{margin:0;font-size:30px;font-weight:750;color:#15342d;letter-spacing:-.8px}.cash-store small{font-size:10px;letter-spacing:1.8px;color:#50766a}.cash-display{background:#006967;color:white;padding:10px 24px;text-align:right;min-height:88px;display:flex;flex-direction:column;justify-content:center}.cash-display small{font-size:10px;letter-spacing:2px;color:#a4d8d0}.cash-display strong{font-size:48px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:1px}.cash-entry{display:grid;grid-template-columns:1.3fr 2.7fr .55fr .65fr 1fr .65fr 1.1fr auto auto;gap:8px;align-items:end;margin-bottom:12px}.cash-entry label{font-size:10px;margin:0;color:#173e35}.cash-desk .form-control,.cash-desk .form-select{border-radius:2px;background:#fff;border:1px solid #9fb6ab;box-shadow:inset 0 1px 2px #00000009;padding:6px 8px;font-size:12px;min-height:32px}.cash-desk .form-control[readonly]{background:#eef4f0;color:#477060}.cash-entry .btn{height:32px;font-size:11px;padding:5px 10px;border-radius:3px}.cash-invoice{flex:1;min-height:270px;max-height:calc(100vh - 460px);overflow:auto;background:white;border:1px solid #93b0a3}.cash-grid{width:100%;font-size:12px;border-collapse:collapse;white-space:nowrap}.cash-grid thead{position:sticky;top:0;z-index:1}.cash-grid th{background:linear-gradient(#f7f9f7,#dfe9e4);font-weight:600;font-size:11px;color:#2e5548;border-bottom:1px solid #a8c0b4;text-align:left;padding:7px 10px}.cash-grid td{padding:5px 10px;border:0}.cash-grid tbody tr:nth-child(even){background:#f0f2f0}.cash-grid tbody tr:hover{background:#d9e9e1}.cash-grid td:first-child{width:12%}.cash-grid td:nth-child(2){width:35%}.cash-grid td:nth-child(3){width:85px}.cash-grid td:nth-child(6){width:110px}.cash-grid td:last-child{width:30px}.cash-grid td input{width:100%;min-width:60px;max-width:110px;background:transparent;border:1px solid transparent;border-radius:0;padding:3px 5px;color:inherit;font-size:12px}.cash-grid td input:focus{background:white;border-color:#5c9d86;outline:none}.cash-grid td button{border:0;background:none;color:#a84444;font-size:18px;line-height:1}.cash-grid .cash-empty{height:250px;text-align:center;color:#739084}.cash-empty span{display:block;font-size:18px;margin-bottom:9px}.cash-empty small{font-size:12px}.cash-table-foot{display:flex;justify-content:space-between;font-size:10px;color:#54796a;padding:8px 2px}.cash-bottom{display:grid;grid-template-columns:minmax(230px,1fr) minmax(260px,1fr) minmax(300px,1.1fr);gap:30px;padding-top:14px;border-top:1px solid #9bb9a9;margin-top:8px}.cash-info label{display:grid;grid-template-columns:90px 1fr;align-items:center;font-size:11px;margin:0 0 6px;gap:8px}.cash-info label input,.cash-info label select{margin:0;min-height:27px;height:27px;padding:3px 7px;font-size:11px}.cash-note{font-size:10px;color:#50776a;margin:8px 0 0}.cash-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start;padding-top:2px}.cash-button{border:1px solid #93a9a0;border-radius:3px;background:linear-gradient(#fff,#e1e9e5);color:#264a3d;font-size:12px;text-align:left;padding:7px 12px;box-shadow:0 1px 1px #0001}.cash-button:hover{background:#f6fbf8;border-color:#478e74;color:#123f30}.cash-save{font-weight:700;color:#006951}.cash-shortcuts{grid-column:1/-1;font-size:10px;line-height:1.9;color:#527a69;margin-top:8px}.cash-shortcuts strong{font-size:10px;font-weight:400}.cash-total-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px;font-size:12px}.cash-total-row strong{font-weight:600;background:#eef4f0;border:1px solid #a1b9ab;min-width:145px;padding:4px 8px;text-align:right}.cash-net{font-weight:700;color:#005f54}.cash-net strong{background:#f5fff6;font-size:17px}.cash-payment label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:6px 0;gap:12px}.cash-payment label input{max-width:180px;margin:0}.cash-payment .cash-pay{font-weight:750;font-size:16px;color:#00675d}.cash-pay input{background:#d9ffd2!important;font-size:19px!important;font-weight:700}.cash-change{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:8px}.cash-change strong{min-width:145px;background:white;border:1px solid #a1b9ab;text-align:right;padding:5px 8px;font-size:17px}.cash-checkout{width:100%;padding:9px;font-size:12px;border-radius:3px;margin-top:12px}.cash-payment>small{font-size:9px;color:#52776a;display:block;text-align:right;margin-top:6px}#modalBody .product{min-height:0;border-radius:4px;padding:5px 12px;color:#fff}#modalBody .product:hover{color:#153f30}
@media(max-width:1100px){.cash-entry{grid-template-columns:1.3fr 2fr .6fr .7fr 1fr}.cash-entry label:nth-child(6),.cash-entry label:nth-child(7){display:none}.cash-bottom{grid-template-columns:1fr 1fr;gap:20px}.cash-payment{grid-column:2;grid-row:1/3}.cash-actions{grid-column:1}.cash-invoice{max-height:50vh}.cash-store h1{font-size:24px}.cash-display strong{font-size:38px}}
@media(max-width:650px){body.cashier-screen main{padding:5px}.cash-desk{padding:12px 10px}.cash-banner{grid-template-columns:1fr;gap:12px}.cash-display{min-height:72px}.cash-entry{grid-template-columns:1.5fr 1fr 65px}.cash-entry label:nth-child(2){grid-column:1/3;grid-row:2}.cash-entry label:nth-child(3){grid-column:3;grid-row:1}.cash-entry label:nth-child(4),.cash-entry label:nth-child(5){display:none}.cash-entry button{grid-row:3}.cash-entry label:first-child{grid-column:1/3}.cash-bottom{grid-template-columns:1fr}.cash-payment{grid-column:auto;grid-row:auto}.cash-actions{grid-column:auto}.cash-invoice{min-height:240px;max-height:45vh}.cash-grid{min-width:740px}.cash-table-foot span:last-child{display:none}.cash-window-tools{font-size:10px;gap:10px}.cash-window-tools #cashShift{font-size:9px}.cash-store h1{font-size:25px}}
