/* Live ordering keeps the existing blue, ivory and gold visual system. */
.table-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:24px 0 8px; }
.table-picker button { min-height:66px; border:1px solid #aac5d548; border-radius:14px; background:#1b4058; color:#f4eee3; font-size:19px; font-variant-numeric:tabular-nums; transition:background .2s,border-color .2s,transform .2s; }
.table-picker button[aria-pressed="true"] { background:#ddc18a; color:#17394e; border-color:#ddc18a; font-weight:600; }
.table-picker button:active { transform:scale(.96); }
.table-picker button small { display:block; font-size:10px; margin-top:5px; opacity:.7; }
.sync-caption { font-size:12px; line-height:1.6; color:#b6ccd9; margin:13px 0 0; }
.sync-error { color:#ffdfc3; background:#754d342b; border-left:2px solid #ddc18a; padding:11px 13px; margin:14px 0; font-size:13px; line-height:1.6; }
.sync-error:empty { display:none; }
.primary-button:disabled { opacity:.65; cursor:wait; }
.primary-button[aria-busy="true"]::before { content:""; width:15px; height:15px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:sync-spin .8s linear infinite; flex-shrink:0; }
.sync-requests { border-top:1px solid #aac5d53d; margin:22px 0 6px; padding-top:22px; }
.sync-requests-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.sync-requests h3 { font-family:Georgia,serif; font-size:24px; font-weight:400; }
.sync-refresh { background:transparent; color:#ddc18a; min-width:44px; min-height:44px; padding:8px 0 8px 12px; font-size:12px; }
.sync-live { font-size:11px; color:#b6ccd9; line-height:1.5; display:flex; gap:7px; align-items:center; margin-bottom:13px; }
.sync-live::before { content:""; display:block; width:6px; height:6px; border-radius:50%; background:#ddc18a; flex-shrink:0; }
.sync-live[data-online="false"]::before { background:#c29b85; }
.sync-request { padding:16px 0; border-top:1px solid #aac5d52b; }
.sync-request-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.sync-request-title { font-size:14px; font-weight:600; color:#f4eee3; }
.sync-request-time { font-size:11px; color:#b6ccd9; white-space:nowrap; }
.sync-request-lines { color:#c4d4de; font-size:12px; line-height:1.7; margin-top:7px; overflow-wrap:anywhere; }
.sync-status { color:#ddc18a; font-size:12px; margin:9px 0 0; line-height:1.5; }
.sync-status[data-status="DONE"] { color:#b8ced8; }
.sync-request-note { color:#b6ccd9; font-size:12px; line-height:1.6; margin-top:8px; overflow-wrap:anywhere; }
.sync-confirmation-status { margin:18px 0 24px; padding:14px 0; border-top:1px solid #aac5d53d; border-bottom:1px solid #aac5d53d; }
.sync-confirmation-status .sync-status { margin:0; font-size:14px; }
.sync-confirmation-status .sync-caption { margin:6px 0 0; }
.sync-receipt-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sync-requests-empty { color:#b6ccd9; font-size:13px; line-height:1.7; margin:12px 0 4px; }
#sync-cart-status { margin-bottom:calc(24px + env(safe-area-inset-bottom)); }
#sync-cart-status .sync-requests { margin-top:12px; }
@keyframes sync-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .table-picker button { transition:none; } .primary-button[aria-busy="true"]::before { animation:none; border-right-color:currentColor; } }
#sync-cart-status { padding:0 20px; }
