.cash-end-screen{background:#14121f;color:#f7f6fc;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.cash-end-screen button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer}.cash-end-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;min-height:62px}.cash-end-header h1{font-size:22px;margin:0 auto}.cash-end-header button{font-size:30px;background:transparent;border:0}.cash-end-content{width:100%;max-width:900px;margin:0 auto;padding:28px;overflow:auto}.cash-end-content h2{font-size:22px;margin:12px 0 24px}.cash-end-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}.cash-end-stats article{background:#27243e;border-radius:12px;padding:22px 18px;display:grid;gap:20px}.cash-end-stats span{font-size:14px;color:#b9b3ce}.cash-end-stats b{font-size:28px}.cash-end-task{display:flex;align-items:center;gap:18px;background:#27243e;border:1px solid #45405d;border-radius:12px;margin-bottom:14px;padding:22px}.cash-end-task>span{font-size:30px}.cash-end-task>div{flex:1;display:grid;gap:7px}.cash-end-task small{color:#bcb6cf}.cash-end-task button,.cash-end-previous button{padding:12px 16px;background:#484163;border:1px solid #676080;border-radius:9px}.cash-end-screen .ok{color:#82e1b4}.cash-end-screen .warn{color:#f4b692}.cash-end-hint{font-size:14px;line-height:1.6;color:#aba5bf}.cash-end-alert{padding:16px;border-radius:10px;background:#504035;color:#ffddae}.cash-end-actions{display:grid;gap:14px;margin:28px 0}.cash-end-actions button{min-height:54px}.cash-end-screen button:disabled{opacity:.4;cursor:default}.cash-end-previous{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #45405d}.cash-end-previous span{flex:1;font-size:14px}.cash-till-layout{display:grid;grid-template-columns:1fr 1fr;min-height:0;flex:1}.cash-till-summary{background:#27243e;padding:40px;overflow:auto}.cash-till-summary>p:first-of-type{color:#b9b3ce}.cash-till-summary>button:not(.primary){display:grid;gap:12px;width:100%;background:#343049;border:1px solid #51496a;border-radius:12px;margin:20px 0;padding:22px;text-align:left}.cash-till-summary>button.selected{outline:2px solid #9b64ff}.cash-till-summary>button>span{display:flex;justify-content:space-between;color:#beb8ce;font-size:14px}.cash-till-summary .primary{margin-top:30px;width:100%;min-height:54px}.cash-till-counter{padding:35px;display:flex;flex-direction:column;gap:16px;overflow:auto}.cash-till-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.cash-till-title h2{font-size:22px}.cash-till-title button{border:1px solid #665f7e;background:#302b44;padding:12px;border-radius:10px;font-size:14px}.cash-counter-tabs{display:flex;background:#302b44;padding:4px;border-radius:11px}.cash-counter-tabs button{flex:1;border:0;border-radius:8px;padding:13px;background:none}.cash-counter-tabs .active{background:#8c57fa}.cash-till-counter output{background:#302b44;border:1px solid #45405d;border-radius:10px;padding:20px;text-align:center;font-size:30px;font-weight:700}.cash-till-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#45405d;border:1px solid #45405d;border-radius:12px;overflow:hidden}.cash-till-keypad button{border:0;background:#302b44;padding:20px;font-size:22px}.cash-till-counter>.primary{margin-top:auto;min-height:54px}.cash-till-comment{font-size:13px;color:#bbb3ce;display:grid;gap:8px}.cash-till-comment input{background:#302b44;color:white;border:1px solid #51496a;padding:12px;border-radius:8px}.cash-denominations{overflow:auto;max-height:340px;border:1px solid #45405d;border-radius:10px}.cash-denominations>div{display:flex;align-items:center;gap:16px;padding:8px 14px;border-bottom:1px solid #45405d}.cash-denominations b{margin-right:auto}.cash-denominations button{width:36px;height:36px;background:#484163;border:0;border-radius:6px}.cash-close-pair{display:flex;justify-content:space-between;gap:18px;padding:7px 0}.cash-report-paper{font-family:monospace;color:#111;background:#fff;padding:20px;max-width:440px;margin:0 auto;font-size:14px}.cash-report-paper h2,.cash-report-paper h3,.cash-report-paper>p{text-align:center}.cash-report-paper h4{margin:18px 0 7px}.cash-report-paper .cash-close-pair{align-items:baseline}.cash-report-paper hr{border:0;border-top:1px dashed #999}.cash-end-screen button:focus-visible{outline:3px solid #e9c35c;outline-offset:3px}@media(max-width:900px){.cash-till-summary,.cash-till-counter{padding:22px}.cash-end-content{padding:20px}.cash-end-stats article{padding:18px 12px}}@media(max-width:600px){.cash-till-layout{display:flex;flex-direction:column;overflow:auto}.cash-till-summary,.cash-till-counter{overflow:visible}.cash-till-summary{padding:14px}.cash-till-summary h2,.cash-till-summary>p{display:none}.cash-till-summary>button:not(.primary){padding:12px;margin:6px 0;gap:5px}.cash-till-counter{padding:18px}.cash-end-stats{gap:8px}.cash-end-stats b{font-size:21px}.cash-end-stats span{font-size:12px}.cash-end-task{padding:16px}.cash-end-previous{flex-wrap:wrap}.cash-end-previous>span{flex-basis:100%}}@media print{.cash-report-paper{padding:0;width:76mm;font-size:10pt}}

/* A short viewport may scroll the counter, but it must never shrink the keypad. */
.cash-till-counter > :not(.cash-denominations) { flex-shrink: 0; }
.cash-till-keypad button { min-height: 44px; }
@media (max-height: 850px) {
 .cash-till-counter, .cash-till-summary { padding: 16px; }
 .cash-till-counter { gap: 8px; }
 .cash-till-title h2 { margin: 0; }
 .cash-till-title button, .cash-counter-tabs button { padding-block: 8px; }
 .cash-till-counter output { padding-block: 8px; font-size: 24px; }
 .cash-till-keypad button { padding-block: 8px; }
 .cash-till-comment { gap: 4px; }
 .cash-till-comment input { padding-block: 8px; }
 .cash-till-counter > .primary { min-height: 44px; }
}

.cash-z-paper {
 background: #fff; color: #161616; width: 100%; max-width: 400px; margin: 0 auto;
 padding: 18px 16px; font: 14px/1.35 system-ui, sans-serif;
}
.cash-z-paper h2 { margin: 0 0 2px; font-size: 28px; line-height: 1.15; }
.cash-z-paper address { display: grid; gap: 3px; margin: 15px 0 0; font-style: normal; }
.cash-z-paper address span:first-child { font-size: 17px; font-weight: 700; }
.cash-z-paper section { margin: 14px 0 0; }
.cash-z-paper section h3 {
 margin: 0 0 6px; padding: 8px 9px; background: #151515; color: #fff; font-size: 16px;
 print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
.cash-z-paper .z-paper-row { display: grid; grid-template-columns: 55% 45%; padding: 2px 0; }
.cash-z-paper .z-paper-row span:last-child { text-align: right; overflow-wrap: anywhere; }
.cash-z-paper .z-paper-bold { font-weight: 700; }
.cash-z-paper table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .82em; }
.cash-z-paper th, .cash-z-paper td {
 padding: 2px 0 2px 3px; color: inherit; background: transparent; border: 0;
 text-align: right; overflow-wrap: anywhere;
}
.cash-z-paper tr > :first-child { width: 22%; padding-left: 0; text-align: left; }
.cash-z-paper tbody tr:last-child { border-top: 1px solid #161616; }
.cash-z-paper footer { margin-top: 21px; font-size: 24px; }
@media print {
 .cash-z-paper { width: 76mm; max-width: 100%; padding: 1.5mm; font-size: 10pt; }
}

.cash-start-content {
 width:min(100%,580px);
 margin-inline:auto;
 flex:1;
 min-height:0;
 padding:24px;
}
.cash-start-content .cash-till-title h2 { margin:0; }
.cash-start-actions { display:grid; gap:8px; }
.cash-start-actions button { min-height:44px; }
.cash-start-content .cash-denominations { min-height:90px; max-height:270px; }
.cash-start-content .cash-till-keypad button { padding-block:8px; }
@media(max-height:620px) {
 .cash-start-content { padding-block:12px; gap:7px; }
 .cash-start-content output { padding-block:7px; }
 .cash-start-actions button { min-height:40px; }
}
