:root{--brand: #008038;--brand-leaf: #4EA84D;--brand-dark: #0B3D2A;--brand-darker: #053C24;--brand-soft: #E8F1EC;--brand-canvas: #F3F6F4;--till-bar: var(--brand-dark);--muted: #5b6b63;--ink: #0f172a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,Roboto,-apple-system,Nirmala UI,Noto Sans Bengali,sans-serif;background:var(--brand-canvas);color:var(--ink);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:13px}.center-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.pin-display{text-align:center;font-size:26px;letter-spacing:6px;height:56px;margin-bottom:12px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad-key{height:60px;font-size:22px}.keypad-wide{grid-column:1 / -1;height:48px;font-size:18px}.till{height:100%;display:flex;flex-direction:column}.till-bar{background:linear-gradient(90deg,var(--brand-darker) 0%,var(--brand-dark) 60%,#0f4a33 100%);color:#fff;padding:8px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:60px;box-shadow:0 1px #ffffff0f,0 2px 8px #0000002e}.till-bar .muted{color:#b9d3c7}.till-bar-store{display:flex;flex-direction:column;line-height:1.2;border-left:1px solid rgba(255,255,255,.18);padding-left:16px}.till-bar-store strong{font-size:16px}.till-bar-store span{font-size:13px;color:#b9d3c7}.till-bar-right{display:flex;align-items:center;gap:14px}.till-bar-who{text-align:right;line-height:1.2}.till-bar-who strong{display:block;font-size:15px}.till-bar-who span{font-size:13px;color:#b9d3c7}.till-clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;min-width:110px}.till-clock strong{font-size:20px;letter-spacing:.5px}.till-clock span{font-size:12px;color:#b9d3c7}.till-bar .ant-segmented{background:#ffffff1f;color:#fff}.till-bar .ant-segmented .ant-segmented-item{color:#d7e7df}.till-bar .ant-segmented .ant-segmented-item-selected{color:var(--brand-darker)}.brand-row{display:flex;align-items:center;gap:10px}.brand-mark{height:40px;width:40px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}.brand-words{display:flex;flex-direction:column;line-height:1.1}.brand-words strong{font-size:17px;letter-spacing:.2px}.brand-words span{font-size:12px;color:#b9d3c7}.till-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;padding:12px 14px}.till-keys{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);gap:6px;padding:8px 14px 10px;background:#fff;border-top:1px solid #d9e3dd}.till-keys .ant-btn{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px;line-height:1.1;border-color:#cfdcd4}.till-keys .ant-btn .key-label{font-size:13px;font-weight:600;white-space:nowrap}.till-keys .ant-btn .key-cap{font-size:11px;font-weight:700;color:var(--brand);background:var(--brand-soft);border-radius:4px;padding:0 5px}.till-keys .ant-btn.is-pay{background:var(--brand);border-color:var(--brand);color:#fff}.till-keys .ant-btn.is-pay .key-cap{background:#ffffff38;color:#fff}.till-keys .ant-btn.is-pay:disabled{background:#cfe3d6;border-color:#cfe3d6;color:#fff}.till-keys .ant-btn.is-danger{color:#b42318;border-color:#f2b8b5}.till-keys .ant-btn.is-alert{color:#b42318;border-color:#b42318;background:#fff5f4}.till-bill{min-width:0;display:flex;flex-direction:column;position:relative}.till-flash{position:absolute;inset:-6px;border-radius:10px;pointer-events:none;z-index:5;animation:till-flash .45s ease-out forwards}.till-flash.is-hit{box-shadow:inset 0 0 0 4px #22c55e}.till-flash.is-miss{box-shadow:inset 0 0 0 4px #ef4444;animation-duration:.9s}@keyframes till-flash{0%{opacity:1}to{opacity:0}}.till-lines{margin-top:10px;flex:1;background:#fff;border-radius:10px;box-shadow:0 1px 2px #0000000f;overflow:hidden}.till-lines .ant-table-thead>tr>th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:8px 12px}.till-lines .ant-table-tbody>tr>td{padding:8px 12px}.till-lines .ant-table-tbody>tr:nth-child(2n)>td{background:#fafcfb}.till-line-no{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.till-line-name{font-weight:600}.till-scan .ant-input-affix-wrapper{height:56px;font-size:18px;border-width:2px;border-color:#bfd3c8}.till-scan .ant-input-affix-wrapper-focused{border-color:var(--brand);box-shadow:0 0 0 3px #00803826}.till-found{margin-top:8px;background:#fff;max-height:320px;overflow:auto}.till-found-item{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.till-found-item:hover{background:#eef6f1}.till-found-item.is-off{opacity:.55;cursor:not-allowed}.qty-input input{text-align:center}.till-side{display:flex;flex-direction:column;gap:12px}.till-totals{background:linear-gradient(180deg,var(--brand-dark) 0%,var(--brand-darker) 100%);color:#e9f3ee;border-radius:12px;padding:14px 16px 16px;box-shadow:0 6px 18px #053c2440}.till-totals-row{display:flex;justify-content:space-between;padding:3px 0;color:#c9ddd3;font-size:14px}.till-totals .till-offer{color:#9fe3b4}.till-totals-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(255,255,255,.18);margin-top:10px;padding-top:10px;font-size:40px;font-weight:800;color:#fff;letter-spacing:-.5px}.till-totals-total>span:first-child{font-size:15px;font-weight:600;color:#c9ddd3;text-transform:uppercase;letter-spacing:1px}.till-pay{height:84px;font-size:28px;font-weight:800;box-shadow:0 4px 14px #00803859}.till-pay-key{font-size:14px;font-weight:400;opacity:.8;margin-left:10px;border:1px solid currentColor;border-radius:4px;padding:1px 6px}.pay-taken{background:#f6f7f6;border-radius:8px;padding:8px 12px;margin-bottom:10px}.pay-taken-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.pay-status{font-size:20px;margin-bottom:12px}.pay-change{font-size:20px;color:#0f7a4a}.pay-tenders{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px}.pay-tenders .ant-btn{height:52px}.pay-amount input{font-size:22px;height:52px}.pay-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.pay-problem{color:#b45309;margin-top:8px;text-align:right}.return-head{display:flex;justify-content:space-between;gap:12px;background:#f6f7f6;border-radius:8px;padding:8px 12px;margin-bottom:12px}.return-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.return-label{font-weight:600;margin-bottom:6px}@media(max-width:900px){.return-grid{grid-template-columns:1fr}}.receipt-change{font-size:22px;text-align:center;color:#0f7a4a;margin-bottom:12px}.receipt{width:72mm;margin:0 auto;padding:8px 0;font-family:Courier New,ui-monospace,monospace;font-size:12px;line-height:1.35;color:#000;background:#fff}.receipt-center{text-align:center}.receipt-store{font-size:16px;font-weight:700}.receipt-note{margin-top:4px;white-space:pre-wrap}.receipt-banner{text-align:center;font-weight:700;border:1px dashed #000;margin:6px 0;padding:2px}.receipt-rule{border-top:1px dashed #000;margin:6px 0}.receipt-row{display:flex;justify-content:space-between;gap:8px}.receipt-row span:last-child{text-align:right;white-space:nowrap}.receipt-line{margin-bottom:3px}.receipt-total{font-size:15px;font-weight:700;margin-top:3px}.print-root{display:none}@media print{@page{size:80mm auto;margin:2mm 4mm}body{background:#fff}body>*:not(.print-root){display:none!important}.print-root{display:block}.print-root .receipt{margin:0}}@media(max-width:900px){.till-main{grid-template-columns:1fr}}.till-extras{background:#fff;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px #0000000f}.till-code{font-size:13px;display:flex;align-items:center;gap:4px}.till-code.is-ok{color:#0f7a4a}.till-code.is-off{color:#b45309}.till-offer{color:#0f7a4a}.till-offer-tag{margin-top:4px}.till-was{text-decoration:line-through}.receipt-saved{text-align:center;font-weight:700;margin-top:4px}.till-side{overflow-y:auto;min-height:0}.till-customer{display:flex;flex-direction:column;gap:8px}.till-shareholder{padding-top:8px;border-top:1px solid #e5e7eb}.pay-points{border:1px solid #b9d3c7;border-radius:8px;padding:12px;margin-bottom:12px;background:#f3faf5}.pay-points p{margin:6px 0}.receipt{font-family:Courier New,Noto Sans Bengali,monospace}.till-void{color:#b45309}.till-line-off td{opacity:.55;text-decoration:line-through}.till-line-off td .till-void,.till-line-off td .ant-tag{text-decoration:none}.till-takeoff{list-style:none;padding:0;margin:0 0 8px}.till-takeoff li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid #f0f0f0}.pay-entry{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:start}.pay-entry .keypad-key{height:48px;font-size:20px}@media(max-width:720px){.pay-entry{grid-template-columns:1fr}}.pay-tenders .ant-btn.has-colour{border-left:6px solid var(--tender)}.pay-tenders .ant-btn.has-colour.is-chosen{background:var(--tender);border-color:var(--tender);color:#fff}.till-multiplier{font-weight:700;color:#1677ff}.till-weight{white-space:nowrap}.till-scale-reading{font-size:44px;font-weight:700;text-align:center;padding:12px 0;font-variant-numeric:tabular-nums;outline:none}.shift-screen{min-height:100vh;background:#f5f5f5}.shift-body{max-width:760px;margin:0 auto;padding:16px}.cash-count{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:start}.cash-count .keypad-key{height:44px;font-size:18px}@media(max-width:720px){.cash-count{grid-template-columns:1fr}}.cash-count-row{display:grid;grid-template-columns:minmax(0,1fr) auto 64px auto 90px;gap:6px;align-items:center;padding:3px 6px;border-radius:6px}.cash-count-row.is-active{background:#e6f4ff}.cash-count-amount{text-align:right;font-variant-numeric:tabular-nums}.cash-count-total{display:flex;justify-content:space-between;padding:8px 6px;border-top:1px solid #ddd;margin-top:6px;font-size:16px}.lock-screen{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#0f172aeb;padding:16px}.lock-card{width:100%;max-width:360px;background:#fff;border-radius:12px;padding:20px;text-align:center}.lock-card h2{margin:8px 0 4px}.print-copy+.print-copy{break-before:page}.receipt-qr{display:flex;justify-content:center;margin:6px 0}.receipt{font-family:Courier New,ui-monospace,Nirmala UI,Noto Sans Bengali,Vrinda,monospace}.brand-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 10% -10%,#dcefe3 0%,var(--brand-canvas) 60%)}.brand-page-top{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 0;gap:16px}.brand-page-body{flex:1;display:flex;align-items:center;justify-content:center;padding:16px 24px 24px}.brand-page-body .ant-card{box-shadow:0 10px 30px #053c241f;border-color:#d9e3dd}.brand-page-foot{text-align:center;padding:10px;font-size:12px;color:var(--muted)}.brand-logo{display:block;object-fit:contain}.lock-card .brand-logo{margin:0 auto 8px}.receipt-logo{display:block;margin:0 auto 4px;width:52mm;height:auto}.print-root .receipt-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}.shift-screen .till-bar{grid-template-columns:auto 1fr auto}.receipt-mushak{text-align:right;font-size:11px;font-weight:700}.receipt-small{font-size:10.5px;line-height:1.3}.receipt-strong{font-weight:700}.receipt-title{display:flex;align-items:center;gap:6px;margin:6px 0 4px;font-weight:700;font-size:12px}.receipt-title:before,.receipt-title:after{content:"";flex:1;border-top:1px dashed #000}.receipt-meta{display:grid;grid-template-columns:22mm 1fr}.receipt-meta span:last-child{word-break:break-all}.receipt-head{font-weight:700;font-size:11px}.receipt-cols{display:grid;grid-template-columns:1fr 18mm 11mm 19mm;text-align:right}.receipt-cols span:first-child{text-align:left;font-size:10.5px}.receipt-words{margin-top:4px;font-size:10.5px;line-height:1.3}.receipt-total{font-size:16px}.receipt-logo-wide{display:block;margin:0 auto 4px;width:46mm;height:auto}.print-root .receipt-logo-wide{-webkit-print-color-adjust:exact;print-color-adjust:exact}
