.rw-cash-quick { font-family:inherit; background:transparent; cursor:pointer; }
.rt-overlay { position:fixed; inset:0; z-index:1000; background:#0002; display:flex; justify-content:flex-end; }
.rt-panel { width:min(740px, calc(100vw - 280px)); height:100dvh; background:var(--card); color:var(--fg); display:flex; flex-direction:column; box-shadow:-8px 0 40px #0001; }
.rt-head { padding:20px 24px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.rt-head h2 { font-size:18px; font-weight:550; margin:0; }
.rt-body { padding:24px; overflow-y:auto; flex:1; min-height:0; }
.rt-body button,.rt-body select,.rt-body input { font:inherit; }
.rt-muted { color:var(--muted); font-size:13px; line-height:1.6; }
.rt-bar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.rt-nav { display:flex; gap:6px; align-items:center; }
.rt-button { background:transparent; border:1px solid var(--line); border-radius:10px; padding:9px 12px; color:var(--fg); cursor:pointer; font-size:13px; }
.rt-button:hover { background:var(--bg); }
.rt-button:disabled { opacity:.45; cursor:default; }
.rt-primary { background:var(--fg); color:var(--card); border-color:var(--fg); }
.rt-primary:hover { background:var(--fg); opacity:.9; }
.rt-field { display:block; width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--fg); }
.rt-tabs { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:12px; margin-bottom:18px; }
.rt-tabs button { border:0; background:transparent; color:var(--muted); border-radius:9px; padding:7px 14px; cursor:pointer; font-size:13px; }
.rt-tabs button[aria-pressed=true] { background:var(--fg); color:var(--card); }
.rt-pill { display:inline-block; font-size:11px; padding:2px 8px; border-radius:999px; border:1px solid var(--line); color:var(--muted); vertical-align:middle; margin-left:4px; }
.rt-pill-live { background:var(--ok, #2f8f5b); border-color:transparent; color:#fff; }
.rt-days { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-bottom:20px; }
.rt-days button { border:0; background:transparent; color:var(--muted); border-radius:12px; padding:12px 0; cursor:pointer; font-size:12px; }
.rt-days button b { display:block; font-size:17px; margin-top:5px; color:var(--fg); }
.rt-days button[aria-pressed=true] { background:var(--fg); color:var(--card); }
.rt-days button[aria-pressed=true] b { color:inherit; }
.rt-class { display:flex; align-items:center; width:100%; text-align:left; gap:18px; border:0; border-bottom:1px solid var(--line); color:var(--fg); background:transparent; padding:19px 0; cursor:pointer; }
.rt-time { width:46px; flex:none; font-size:15px; font-variant-numeric:tabular-nums; }
.rt-time small { display:block; color:var(--muted); margin-top:4px; font-size:11px; }
.rt-class-main { flex:1; min-width:0; }
.rt-class-main b { font-size:14px; font-weight:550; }
.rt-class-main small { display:block; color:var(--muted); font-size:12px; margin-top:5px; line-height:1.5; }
.rt-cap { color:var(--muted); font-size:12px; text-align:right; }
.rt-cancelled { opacity:.65; }
.rt-detail h3 { font-size:23px; font-weight:550; margin:24px 0 8px; }
.rt-actions { display:flex; gap:8px; flex-wrap:wrap; margin:20px 0; }
.rt-attendee { padding:11px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:12px; font-size:13px; }
.rt-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; max-height:40dvh; overflow-y:auto; overscroll-behavior:contain; }
.rt-product { text-align:left; padding:16px; min-height:94px; border:1px solid var(--line); border-radius:14px; background:var(--card); color:var(--fg); cursor:pointer; }
.rt-product:hover { background:var(--bg); }
.rt-product b { font-size:13px; font-weight:550; display:block; line-height:1.5; }
.rt-product span { display:block; margin-top:9px; color:var(--muted); font-size:13px; }
.rt-cart { border-top:1px solid var(--line); padding-top:14px; }
.rt-cart-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; font-size:13px; }
.rt-cart-row .rt-nav { flex:none; }
.rt-cart-row .rt-button { padding:5px 10px; }
.rt-total { display:flex; justify-content:space-between; margin:18px 0; font-size:18px; font-weight:550; }
.rt-checkout { width:100%; padding:14px; border-radius:14px; }
.rt-state { background:var(--bg); border-radius:15px; padding:20px; margin:16px 0; line-height:1.6; }
.rt-state h3 { font-size:17px; margin:0 0 8px; }
.rt-state p { font-size:13px; margin:8px 0; }
.rt-error { color:var(--danger); font-size:13px; line-height:1.6; margin:12px 0; }
.rt-body :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:899px) {
  .rt-panel { width:100%; }
  .rt-head { padding:16px; }
  .rt-body { padding:18px 16px max(24px,env(safe-area-inset-bottom)); }
  .rw-tools { gap:3px; }
  .rw-header { padding-left:12px; padding-right:12px; gap:5px; }
  .rw-heading { gap:5px; }
  .rw-heading h1 { font-size:16px; }
  .rw-cash-quick { padding:7px 9px; font-size:11px; }
}

/* Soneli stays a quiet part of the conversation workspace. */
.rm-note { flex:none; width:17px; text-align:center; font-size:20px; font-weight:400; }
.rm-summary { display:flex; align-items:center; align-self:flex-start; gap:5px; margin:8px 22px 0; padding:5px 8px; border:1px solid var(--line); border-radius:99px; background:transparent; color:var(--muted); font:inherit; font-size:10px; line-height:14px; white-space:nowrap; cursor:pointer; flex:none; }
.rm-summary .rm-note { width:auto; font-size:12px; }
.rm-summary:hover { color:var(--fg); background:var(--rw-soft); }
.rm-intro > span { color:var(--muted); font-size:11px; letter-spacing:.08em; }
.rm-intro p { font-size:15px; margin:8px 0 23px; }
.rm-zone { border:1px solid var(--line); border-radius:15px; padding:18px; margin-bottom:12px; }
.rm-zone-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.rm-zone-head h3 { font-size:15px; font-weight:550; margin:0; }
.rm-state { color:var(--muted); font-size:10px; text-align:right; }
.rm-zone[data-state=playing] .rm-state::before { content:'●'; margin-right:5px; color:#639376; font-size:8px; }
.rm-channel { margin:11px 0 5px; font-size:12px; color:var(--muted); }
.rm-track { font-size:18px; font-weight:500; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.rm-zone:not([data-state=playing]) .rm-track { color:var(--muted); font-size:14px; font-weight:400; }
.rm-progress { height:2px; background:var(--line); margin:16px 0 0; border-radius:2px; overflow:hidden; }
.rm-progress span { display:block; height:100%; background:var(--muted); }
.rm-seen { color:var(--muted); font-size:10px; margin:12px 0 0; }
.rm-caption { font-size:11px; }
@media (max-width:899px) { .rm-summary { min-height:32px; } }
.rm-summary[hidden] { display:none; }
.re-filters { display:flex; align-items:end; gap:12px; flex-wrap:wrap; }
.re-filters label { display:grid; gap:6px; font-size:12px; color:var(--muted); flex:1; min-width:140px; }
.re-filters input[type="date"]::-webkit-datetime-edit { color:var(--fg); -webkit-text-fill-color:var(--fg); }
.re-search { width:100%; margin:16px 0 6px; box-sizing:border-box; }
.re-statusbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:8px 0; }
.re-note { font-size:12px; line-height:1.6; margin-bottom:20px; }
.re-entry { width:100%; display:flex; align-items:center; gap:18px; padding:15px 4px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; font:inherit; cursor:pointer; }
.re-entry:hover { background:color-mix(in srgb,var(--ink) 3%,transparent); }
.re-entry time { color:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; }
.re-entry b { display:block; font-size:15px; font-weight:550; }
.re-entry small { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.re-entry:disabled { cursor:default; }
.re-arrow { margin-left:auto; color:var(--muted); }
.re-empty { color:var(--muted); text-align:center; padding:40px 10px; }
.re-more { display:block; margin:20px auto 0; }
.re-more[hidden] { display:none; }

.ri-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ri-filters label { min-width:0; font-size:12px; color:var(--muted); }
.ri-filters select { margin-top:6px; min-width:0; }
.ri-slot { cursor:default; }
.ri-slot .rt-cap { flex:none; }
@media(max-width:420px) { .ri-filters { grid-template-columns:1fr; } .ri-slot { gap:10px; } }
