.store-cash-drawer { display:grid; gap:12px; min-width:0; }
.store-cash-drawer [hidden] { display:none !important; }
.store-cash-drawer .section-card { padding:8px; border:1px solid #cad5e0; border-radius:10px; background:#fff; box-shadow:0 2px 5px #182b4310; min-width:0; }
.store-cash-drawer .section-card h2 { font-size:20px; line-height:1.3; margin:0 0 12px; }
.store-cash-drawer .cash-drawer-scroll { max-height:300px; overflow:auto; border:1px solid #cad5e0; border-radius:8px; }
.store-cash-drawer .cash-drawer-history > .cash-drawer-scroll { max-height:none; }
.store-cash-drawer .cash-drawer-history { min-width:0; }
.store-cash-drawer[data-mode=history] .cash-drawer-periods :is(th,td) { padding-inline:8px; }
.store-cash-drawer[data-mode=history] .cash-drawer-periods td { white-space:nowrap; }
.store-cash-drawer .cash-drawer-scroll:focus-visible { outline:3px solid #ffd34d; outline-offset:2px; }
.store-cash-drawer table { width:100%; border-collapse:collapse; font-size:16px; line-height:20px; }
.store-cash-drawer .cash-drawer-periods { min-width:1120px; }
.store-cash-drawer .cash-drawer-movements { min-width:1120px; }
.store-cash-drawer .cash-drawer-movements td { white-space:nowrap; }
.store-cash-drawer th,.store-cash-drawer td { padding:4px 12px; border:1px solid #dce4ed; text-align:left; height:30px; box-sizing:border-box; }
.store-cash-drawer th { background:#edf3f8; height:32px; white-space:nowrap; }
.store-cash-drawer thead { position:sticky; top:0; z-index:1; background:#edf3f8; }
.store-cash-drawer tbody tr:nth-child(even) { background:#f7fafc; }
.store-cash-drawer .cash-drawer-periods tbody tr[data-selected="true"] { background:#e6f2fc; box-shadow:inset 4px 0 #1675b8; }
.store-cash-drawer[data-mode=history] .cash-drawer-periods tbody tr { cursor:pointer; }
.store-cash-drawer[data-mode=history] .cash-drawer-periods tbody td { height:48px; vertical-align:middle; }
.store-cash-drawer[data-mode=history] .cash-drawer-periods tbody tr:hover { background:#edf5fc; }
.store-cash-drawer .cash-drawer-periods tbody tr:focus-within { outline:2px solid #1675b8; outline-offset:-2px; }
.store-cash-drawer .period-details { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:44px; height:44px; min-width:96px; border:1px solid #a8b7c7; border-radius:6px; padding:0 12px; font-family:inherit; font-size:16px; line-height:20px; white-space:nowrap; cursor:pointer; vertical-align:middle; touch-action:manipulation; }
.store-cash-drawer[data-mode=history] .cash-drawer-periods tbody td:last-child { padding-block:1px; }
.store-cash-drawer .period-details:focus-visible { outline:3px solid #ffd34d; outline-offset:2px; }
.store-cash-drawer .cash-drawer-note { font-size:14px; line-height:1.45; color:#526273; margin:8px 0 0; }
.store-cash-drawer .cash-drawer-note:empty { display:none; }
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons .btn,.store-cash-drawer .drawer-print { min-height:44px; }
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons .btn.drawer-open { background:#4f7133; border-color:#4f7133; color:#fff; }
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons .btn.drawer-close { background:#d71920; border-color:#d71920; color:#fff; }
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons .btn.drawer-open:disabled,
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons .btn.drawer-close:disabled { opacity:.3; filter:none; cursor:not-allowed; }
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons .btn.drawer-open:hover:not(:disabled),
:is(.store-cash-drawer,#store-navigation) .cash-drawer-buttons .btn.drawer-close:hover:not(:disabled) { filter:brightness(.9); }
#store-navigation .drawer-heading-actions { display:flex; align-items:center; gap:8px; margin-left:auto; flex:0 0 auto; }
#store-navigation .drawer-heading-actions .btn { min-height:44px; }
.store-cash-drawer .cash-drawer-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.store-cash-drawer .cash-drawer-detail-heading h2 { margin-bottom:0; }
.store-cash-drawer .cash-drawer-detail-heading .drawer-print { flex:0 0 auto; }
.store-cash-drawer .drawer-detail-controls,:is(.store-cash-drawer,#store-navigation .drawer-heading-actions) .drawer-pagination { display:flex; align-items:center; gap:10px; }
.store-cash-drawer .drawer-detail-controls { margin-left:auto; flex-wrap:wrap; justify-content:flex-end; }
:is(.store-cash-drawer,#store-navigation .drawer-heading-actions) .drawer-pagination { flex:0 0 auto; }
:is(.store-cash-drawer,#store-navigation .drawer-heading-actions) .drawer-pagination button { min-width:48px; min-height:48px; padding:8px; font:inherit; font-size:24px; line-height:1; border:1px solid #a8b7c7; border-radius:6px; background:#f8fafc; color:#0b2c57; cursor:pointer; touch-action:manipulation; }
:is(.store-cash-drawer,#store-navigation .drawer-heading-actions) .drawer-pagination button:disabled { opacity:.4; cursor:default; }
:is(.store-cash-drawer,#store-navigation .drawer-heading-actions) .drawer-pagination button:focus-visible { outline:3px solid #ffd34d; outline-offset:2px; }
:is(.store-cash-drawer,#store-navigation .drawer-heading-actions) [data-page-label] { min-width:100px; text-align:center; white-space:nowrap; font-size:16px; }
#store-navigation .drawer-heading-actions [hidden] { display:none !important; }
.store-cash-drawer .drawer-detail-notes { flex:0 0 auto; max-height:120px; overflow:auto; margin-bottom:12px; }
.store-cash-drawer .drawer-detail-notes:empty { display:none; }
.store-cash-drawer .drawer-detail-notes p { margin:0 0 8px; }
.store-cash-drawer .drawer-detail-notes p:last-child { margin-bottom:0; }
.store-cash-drawer .cash-drawer-warning { border-left:4px solid #b87500; padding-left:10px; color:#714a00; }
.store-cash-drawer [data-period-details] > p:first-child { margin:0 0 12px; }
.store-cash-drawer dialog { max-width:640px; border:1px solid #cad5e0; border-radius:10px; padding:20px; }
.store-cash-drawer dialog::backdrop { background:#0006; }
.store-cash-drawer .drawer-cashout-preview { width:max-content; max-width:min(560px,calc(100vw - 32px)); height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:hidden; }
.store-cash-drawer .drawer-cashout-preview[open] { display:flex; flex-direction:column; }
.store-cash-drawer .drawer-cashout-preview.cashout-preview-expanded { height:100dvh; max-height:100dvh; margin-block:0; }
.store-cash-drawer .drawer-cashout-preview-heading { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.store-cash-drawer .drawer-cashout-preview-heading h2 { min-width:0; margin:0; }
.store-cash-drawer .drawer-cashout-preview-heading .btn { flex:0 0 auto; min-height:44px; }
.store-cash-drawer .drawer-cashout-preview-actions { display:flex; flex:0 0 auto; align-items:center; gap:8px; }
.store-cash-drawer .drawer-cashout-expand { min-width:44px; padding:8px; }
.store-cash-drawer .drawer-cashout-expand svg { display:block; }
.store-cash-drawer .drawer-cashout-preview [data-cashout-message] { flex:0 0 auto; }
.store-cash-drawer .drawer-cashout-preview .printer-paper-scroll { flex:1 1 auto; min-height:0; max-height:none; }
.store-cash-drawer .drawer-cashout-print { width:min(640px,calc(100vw - 48px)); max-height:calc(100vh - 48px); overflow:auto; box-sizing:border-box; }
.store-cash-drawer .drawer-cashout-print h2 { margin-top:0; }
.store-cash-drawer .drawer-cashout-print .btn { min-height:44px; }
.store-cash-drawer .drawer-movement-dialog { width:min(420px,calc(100vw - 48px)); }
.store-cash-drawer .drawer-movement-dialog form { display:grid; gap:10px; }
.store-cash-drawer .drawer-movement-dialog label { font-weight:600; }
.store-cash-drawer .drawer-movement-dialog input,.store-cash-drawer .drawer-movement-dialog select { min-width:0; width:100%; box-sizing:border-box; }
.store-cash-drawer .drawer-movement-pin-control { display:flex; gap:8px; min-width:0; }
.store-cash-drawer .drawer-movement-pin-toggle { flex:0 0 48px; display:inline-flex; align-items:center; justify-content:center; padding:8px; }
.store-cash-drawer #drawer-movement-pin::-ms-reveal { display:none; }
.store-cash-drawer .cash-drawer-dialog-buttons { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
/* Fill the Store Portal's available height. Only report regions may overflow. */
.store-workspace-page .ccc-store-panel:has(.store-cash-drawer) { overflow:hidden; }
.store-workspace-page #store-staff-content:has(> .store-cash-drawer) { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; min-width:0; }
.store-workspace-page .store-cash-drawer { flex:1 1 auto; width:100%; min-height:0; grid-template-rows:auto minmax(0,1fr); }
.store-workspace-page .store-cash-drawer:has(> .cash-drawer-detail[hidden]) { grid-template-rows:auto; align-content:start; }
.store-workspace-page .cash-drawer-detail { display:flex; flex-direction:column; min-height:0; }
.store-workspace-page .cash-drawer-detail-heading { flex:0 0 auto; }
.store-workspace-page [data-period-details] { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; }
.store-workspace-page [data-period-details] .cash-drawer-scroll { flex:1 1 auto; min-height:0; max-height:none; }
.store-workspace-page .store-cash-drawer[data-mode=history] { display:flex; flex-direction:column; }
.store-workspace-page .store-cash-drawer[data-mode=history] .cash-drawer-history { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; }
.store-workspace-page .store-cash-drawer[data-mode=history] .cash-drawer-history > .cash-drawer-scroll { flex:1 1 auto; min-height:0; }
.store-cash-drawer .drawer-history-details { width:calc(100vw - 24px); max-width:none; height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); box-sizing:border-box; padding:12px; overflow:hidden; }
.store-cash-drawer .drawer-history-details[open] { display:flex; }
.store-cash-drawer .drawer-history-details .cash-drawer-detail { display:flex; flex-direction:column; flex:1 1 auto; min-width:0; min-height:0; border:0; padding:0; box-shadow:none; }
.store-cash-drawer .drawer-history-details [data-period-details] { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; }
.store-cash-drawer .drawer-history-details [data-period-details] .cash-drawer-scroll { flex:1 1 auto; min-height:0; max-height:none; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements { min-width:1120px; table-layout:fixed; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td) { padding-inline:6px; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements thead th { white-space:normal; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(1) { width:154px; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(2) { width:180px; white-space:normal; overflow-wrap:anywhere; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(4) { width:94px; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(6) { width:52px; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(3),
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(5),
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(7) { width:90px; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(8) { width:76px; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(9) { width:100px; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements td:is(:nth-child(4),:nth-child(6),:nth-child(10),:nth-child(11)) { white-space:normal; overflow-wrap:anywhere; }
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(3),
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(5),
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(7),
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(8),
.store-cash-drawer .drawer-history-details .cash-drawer-movements :is(th,td):nth-child(9) { text-align:right; font-variant-numeric:tabular-nums; white-space:normal; overflow-wrap:anywhere; }
.store-cash-drawer .drawer-order-status { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; margin-bottom:12px; flex:0 0 auto; }
.store-cash-drawer .drawer-order-toggle[aria-pressed] { min-height:44px; color:var(--color-btn-secondary-text,#183e66); background:var(--color-btn-secondary-bg,#f2f6fa); border-color:var(--color-btn-secondary-border,#a8b7c7); }
.store-cash-drawer .drawer-order-toggle[aria-pressed]:hover:not(:disabled) { background:var(--color-btn-secondary-bg-hover,#e4edf7); border-color:var(--color-btn-secondary-border-hover,#a8b7c7); }
.store-cash-drawer [data-order-count] { font-size:14px; }
.store-cash-drawer .drawer-history-details .cash-drawer-detail-heading { flex:0 0 auto; }
.store-cash-drawer .drawer-history-details .drawer-detail-controls { flex-wrap:wrap; }
@media(max-width:950px) {
    #store-navigation:has(> .drawer-heading-actions) { flex-wrap:wrap; }
    #store-navigation .drawer-heading-actions { flex-wrap:wrap; justify-content:flex-end; max-width:100%; }
    #store-navigation .cash-drawer-buttons { min-width:0; }
    .store-cash-drawer .section-card h2 { font-size:18px; }
    .store-cash-drawer table { font-size:14px; }
    .store-cash-drawer th,.store-cash-drawer td { padding-inline:8px; }
}
@media(max-width:480px) {
    #store-navigation:has(> .drawer-heading-actions) { flex-wrap:wrap; }
    #store-navigation:has(> .drawer-heading-actions) .store-navigation-title { flex-basis:calc(100% - 140px); }
    #store-navigation .drawer-heading-actions .drawer-pagination { flex-basis:100%; justify-content:flex-end; }
    .store-cash-drawer .cash-drawer-detail-heading { gap:8px; flex-wrap:wrap; }
    .store-cash-drawer .drawer-detail-controls { width:100%; }
    .store-cash-drawer .cash-drawer-detail-heading .drawer-print { font-size:14px; padding:6px 8px; }
}
