/**
 * RRCM application design system — GENERATED FILE, DO NOT EDIT.
 *
 * Built from assets/css/src/ by tools/build-css.php.
 * Edit the sources there and rebuild:  php tools/build-css.php
 *
 * Every selector is anchored to .rrcm-app / .rrcm-portal. That is not
 * decoration: the plugin renders inside whatever theme the store runs, and
 * a theme styling [type="submit"] ties on specificity with a bare
 * .rrcm-btn, winning on source order. Anchoring settles it.
 */

/* ==========================================================================
   RRCM APPLICATION — light-committed. This is the product being specified.
   Token names follow UI spec section 10 verbatim.
   ========================================================================== */
.rrcm-app,

.rrcm-portal,

.rrcm-login-wrapper{
  color-scheme: light;

  --rrcm-bg:            #F6F3F2;
  --rrcm-surface:       #FFFFFF;
  --rrcm-surface-muted: #FAF8F7;
  --rrcm-border:        #E5DFDE;
  --rrcm-border-strong: #D3CACA;
  --rrcm-text:          #1F1A1B;
  --rrcm-text-muted:    #6E6467;
  --rrcm-text-faint:    #756B6E;

  --rrcm-primary:       #7A2B3D;
  --rrcm-primary-hover: #64222F;
  --rrcm-primary-soft:  #F4EAEC;

  --rrcm-success:       #146C42;
  --rrcm-success-soft:  #E6F2EB;
  --rrcm-warning:       #8A5600;
  --rrcm-warning-soft:  #FBF1DF;
  --rrcm-danger:        #A62620;
  --rrcm-danger-soft:   #FBEAE9;
  --rrcm-info:          #1D4E89;
  --rrcm-info-soft:     #E8EFF7;
  --rrcm-neutral:       #5F5558;
  --rrcm-neutral-soft:  #F0ECEB;

  --rrcm-radius-input:  7px;
  --rrcm-radius-btn:    8px;
  --rrcm-radius-card:   10px;
  --rrcm-radius-modal:  14px;

  --rrcm-shadow-pop:    0 4px 14px rgba(31,26,27,.10), 0 1px 3px rgba(31,26,27,.06);
}

.rrcm-app{
  background: var(--rrcm-bg);
  color: var(--rrcm-text);
  font-family: Inter, system-ui, -apple-system, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 8px;
  /* `clip` rather than `hidden`: both keep a wide table from bleeding past the
     rounded corner, but `hidden` makes this element a scroll container, and a
     scroll container is where `position: sticky` inside it stops working — the
     User Guide's contents rail scrolled away with the page because of this one
     word. `clip` creates no scroll container, so sticky keeps its footing. */
  overflow: clip;
  border: 1px solid var(--rrcm-border-strong);
  min-width: 900px;
}
.rrcm-app.is-mobile{ min-width: 0; width: 390px; margin: 0 auto; border-radius: 22px; }
.rrcm-app *,

.rrcm-app *::before,

.rrcm-app *::after{ box-sizing: border-box; }

.rrcm-portal{
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  overflow: visible !important;
  pointer-events: none;
  z-index: 100005;
}
.rrcm-portal > *{
  pointer-events: auto;
}
.rrcm-portal *,

.rrcm-portal *::before,

.rrcm-portal *::after{
  box-sizing: border-box;
}/* --- shell --- */


.rrcm-app .rrcm-shell,



.rrcm-portal .rrcm-shell{ display: grid; grid-template-columns: 214px minmax(0,1fr); min-height: 520px; }
.rrcm-app .rrcm-sidebar,

.rrcm-portal .rrcm-sidebar{
  background: var(--rrcm-surface);
  border-right: 1px solid var(--rrcm-border);
  padding: 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rrcm-app .rrcm-brand,

.rrcm-portal .rrcm-brand{
  display: flex; align-items: center; gap: 9px;
  padding: 4px 8px 16px;
  border-bottom: 1px solid var(--rrcm-border);
  margin-bottom: 12px;
}
.rrcm-app .rrcm-brand-mark,

.rrcm-portal .rrcm-brand-mark{
  width: 26px; height: 26px; border-radius: 6px;
  background: var(--rrcm-primary);
  color: #fff;
  display: grid; place-items: center;
  font-size: 11px; font-weight: 700; letter-spacing: .02em;
  flex: none;
}
.rrcm-app .rrcm-brand-name,

.rrcm-portal .rrcm-brand-name{ font-size: 13px; font-weight: 600; line-height: 1.2; }
.rrcm-app .rrcm-brand-sub,

.rrcm-portal .rrcm-brand-sub{ font-size: 10.5px; color: var(--rrcm-text-faint); }

.rrcm-app .rrcm-nav-section,


.rrcm-portal .rrcm-nav-section{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rrcm-app .rrcm-navgroup,

.rrcm-portal .rrcm-navgroup{
  font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase;
  color: var(--rrcm-text-faint); padding: 12px 8px 5px;
}
.rrcm-app .rrcm-nav,

.rrcm-portal .rrcm-nav{
  position: relative;
  display: flex; align-items: center; gap: 9px;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 13px;
  color: var(--rrcm-text-muted);
  text-decoration: none;
  font-weight: 500;
  cursor: default;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  font-family: inherit;
  box-sizing: border-box;
}
.rrcm-app .rrcm-nav svg,

.rrcm-portal .rrcm-nav svg{ flex: none; width: 15px; height: 15px; opacity: .75; }
.rrcm-app .rrcm-nav:focus,

.rrcm-portal .rrcm-nav:focus,

.rrcm-app .rrcm-nav:focus-visible,

.rrcm-portal .rrcm-nav:focus-visible{
  outline: 0 !important;
  box-shadow: none !important;
}
.rrcm-app .rrcm-nav:hover,

.rrcm-portal .rrcm-nav:hover{ background: var(--rrcm-surface-muted); color: var(--rrcm-text); }
.rrcm-app .rrcm-nav.is-active,

.rrcm-portal .rrcm-nav.is-active{
  background: var(--rrcm-primary-soft);
  color: var(--rrcm-primary);
  font-weight: 600;
  box-shadow: none;
  outline: 0;
}
.rrcm-app .rrcm-nav.is-active::after,

.rrcm-portal .rrcm-nav.is-active::after{
  content: '';
  position: absolute;
  top: 7px;
  left: -1px;
  bottom: 7px;
  width: 3px;
  border-radius: 0 999px 999px 0;
  background: var(--rrcm-primary);
}
.rrcm-app .rrcm-nav.is-active svg,

.rrcm-portal .rrcm-nav.is-active svg{ opacity: 1; }
.rrcm-app .rrcm-nav .count,

.rrcm-portal .rrcm-nav .count{
  margin-left: auto;
  font-size: 11px;
  color: var(--rrcm-text-faint);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}

.rrcm-app .rrcm-main,


.rrcm-portal .rrcm-main{ display: flex; flex-direction: column; min-width: 0; }
.rrcm-app .rrcm-topbar,

.rrcm-portal .rrcm-topbar{
  display: flex; align-items: center; gap: 14px;
  padding: 12px 18px;
  background: var(--rrcm-surface);
  border-bottom: 1px solid var(--rrcm-border);
}
.rrcm-app .rrcm-crumb,

.rrcm-portal .rrcm-crumb{ font-size: 11.5px; color: var(--rrcm-text-faint); margin-bottom: 1px; }
.rrcm-app .rrcm-title,

.rrcm-portal .rrcm-title{ font-size: 22px; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; margin: 0; }
.rrcm-app .rrcm-topbar-actions,

.rrcm-portal .rrcm-topbar-actions{ margin-left: auto; display: flex; align-items: center; gap: 8px; }
.rrcm-app .rrcm-body,

.rrcm-portal .rrcm-body{ padding: 18px; display: flex; flex-direction: column; gap: 16px; }/* --- buttons --- */


.rrcm-app .rrcm-btn,



.rrcm-portal .rrcm-btn{
  display: inline-flex; align-items: center; gap: 6px;
  font: inherit; font-size: 13px; font-weight: 500;
  padding: 7px 13px;
  border-radius: var(--rrcm-radius-btn);
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  background: var(--rrcm-surface);
  color: var(--rrcm-text);
  transition: background .12s, border-color .12s;
}
.rrcm-app .rrcm-btn svg,

.rrcm-portal .rrcm-btn svg{ width: 14px; height: 14px; }
.rrcm-app .rrcm-btn--primary,

.rrcm-portal .rrcm-btn--primary{ background: var(--rrcm-primary); color: #fff; }
.rrcm-app .rrcm-btn--primary:hover,

.rrcm-portal .rrcm-btn--primary:hover{ background: var(--rrcm-primary-hover); }
.rrcm-app .rrcm-btn--secondary,

.rrcm-portal .rrcm-btn--secondary{ background: var(--rrcm-surface-muted); border-color: var(--rrcm-border); color: var(--rrcm-text); }
.rrcm-app .rrcm-btn--outline,

.rrcm-portal .rrcm-btn--outline{ background: transparent; border-color: var(--rrcm-border-strong); }
.rrcm-app .rrcm-btn--outline:hover,

.rrcm-portal .rrcm-btn--outline:hover{ background: var(--rrcm-surface-muted); }
.rrcm-app .rrcm-btn--ghost,

.rrcm-portal .rrcm-btn--ghost{ background: transparent; color: var(--rrcm-text-muted); }
.rrcm-app .rrcm-btn--ghost:hover,

.rrcm-portal .rrcm-btn--ghost:hover{ background: var(--rrcm-surface-muted); color: var(--rrcm-text); }
.rrcm-app .rrcm-btn--danger,

.rrcm-portal .rrcm-btn--danger{ background: var(--rrcm-danger); color: #fff; }
.rrcm-app .rrcm-btn--sm,

.rrcm-portal .rrcm-btn--sm{ font-size: 12px; padding: 5px 10px; }
.rrcm-app .rrcm-btn:focus-visible,

.rrcm-portal .rrcm-btn:focus-visible{ outline: 2px solid var(--rrcm-primary); outline-offset: 2px; }
.rrcm-app .rrcm-iconbtn,

.rrcm-portal .rrcm-iconbtn{
  width: 28px; height: 28px; display: grid; place-items: center;
  border-radius: 6px; border: 1px solid transparent;
  background: transparent; color: var(--rrcm-text-muted); cursor: pointer;
}
.rrcm-app .rrcm-iconbtn:hover,

.rrcm-portal .rrcm-iconbtn:hover{ background: var(--rrcm-surface-muted); color: var(--rrcm-text); }
.rrcm-app .rrcm-iconbtn svg,

.rrcm-portal .rrcm-iconbtn svg{ width: 15px; height: 15px; }/* --- badges: colour + text, never colour alone --- */


.rrcm-app .rrcm-badge,



.rrcm-portal .rrcm-badge{
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11.5px; font-weight: 600;
  padding: 2.5px 8px 2.5px 6px;
  border-radius: 5px;
  white-space: nowrap;
  line-height: 1.45;
}
.rrcm-app .rrcm-badge::before,

.rrcm-portal .rrcm-badge::before{ content:""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex: none; }
.rrcm-app .rrcm-badge--success,

.rrcm-portal .rrcm-badge--success{ background: var(--rrcm-success-soft); color: var(--rrcm-success); }
.rrcm-app .rrcm-badge--warning,

.rrcm-portal .rrcm-badge--warning{ background: var(--rrcm-warning-soft); color: var(--rrcm-warning); }
.rrcm-app .rrcm-badge--danger,

.rrcm-portal .rrcm-badge--danger{ background: var(--rrcm-danger-soft);  color: var(--rrcm-danger); }
.rrcm-app .rrcm-badge--info,

.rrcm-portal .rrcm-badge--info{ background: var(--rrcm-info-soft);    color: var(--rrcm-info); }
.rrcm-app .rrcm-badge--neutral,

.rrcm-portal .rrcm-badge--neutral{ background: var(--rrcm-neutral-soft); color: var(--rrcm-neutral); }/* --- cards --- */


.rrcm-app .rrcm-card,



.rrcm-portal .rrcm-card{
  background: var(--rrcm-surface);
  border: 1px solid var(--rrcm-border);
  border-radius: var(--rrcm-radius-card);
}
.rrcm-app .rrcm-card-head,

.rrcm-portal .rrcm-card-head{
  display: flex; align-items: center; gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--rrcm-border);
}
.rrcm-app .rrcm-card-head--split,

.rrcm-portal .rrcm-card-head--split{ justify-content: space-between; align-items: center; }
.rrcm-app .rrcm-card-head--split > div:first-child,

.rrcm-portal .rrcm-card-head--split > div:first-child{ min-width: 0; }
.rrcm-app .rrcm-card-body,

.rrcm-portal .rrcm-card-body{ background: var(--rrcm-surface); }
.rrcm-app .rrcm-card-title,

.rrcm-portal .rrcm-card-title{ font-size: 13px; font-weight: 600; margin: 0; }
.rrcm-app .rrcm-card-head .rrcm-btn,

.rrcm-portal .rrcm-card-head .rrcm-btn{ margin-left: auto; }
.rrcm-app .rrcm-row-actions,

.rrcm-portal .rrcm-row-actions{ display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.rrcm-app .rrcm-card-head .rrcm-row-actions .rrcm-btn,

.rrcm-portal .rrcm-card-head .rrcm-row-actions .rrcm-btn{ margin-left: 0; }
.rrcm-app .rrcm-section-kicker,

.rrcm-portal .rrcm-section-kicker{ font-size: 12px; font-weight: 600; color: var(--rrcm-text-muted); margin: 0 0 3px; }
.rrcm-app .rrcm-section-heading,

.rrcm-portal .rrcm-section-heading{ font-size: 16px; font-weight: 700; color: var(--rrcm-text); letter-spacing: -.01em; margin: 0; }
.rrcm-app .rrcm-section-description,

.rrcm-portal .rrcm-section-description{ font-size: 12.5px; color: var(--rrcm-text-muted); margin: 10px 0 0; max-width: 720px; line-height: 1.45; }/* --- metric tiles: compact, per spec section 9 --- */


.rrcm-app .rrcm-metrics,



.rrcm-portal .rrcm-metrics{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.rrcm-app .rrcm-metrics--3,

.rrcm-portal .rrcm-metrics--3{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.rrcm-app .rrcm-metrics--5,

.rrcm-portal .rrcm-metrics--5{ display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; }
.rrcm-app .rrcm-metric,

.rrcm-portal .rrcm-metric{
  background: var(--rrcm-surface);
  border: 1px solid var(--rrcm-border);
  border-radius: var(--rrcm-radius-card);
  padding: 11px 13px;
}
.rrcm-app .rrcm-metric-label,

.rrcm-portal .rrcm-metric-label{
  font-size: 11.5px; font-weight: 500; color: var(--rrcm-text-muted);
  margin-bottom: 5px; display: flex; align-items: center; gap: 5px;
}
.rrcm-app .rrcm-metric-value,

.rrcm-portal .rrcm-metric-value{
  display: block;
  font-size: 21px; font-weight: 600; letter-spacing: -.015em;
  font-variant-numeric: tabular-nums; line-height: 1.2;
}
.rrcm-app .rrcm-metric-sub,

.rrcm-portal .rrcm-metric-sub{
  display: block;
  font-size: 11.5px; color: var(--rrcm-text-faint); margin-top: 5px; line-height: 1.3;
}
.rrcm-app .rrcm-metric-stack,

.rrcm-portal .rrcm-metric-stack{ display: flex; flex-direction: column; gap: 1px; }
.rrcm-app .rrcm-metric-stack .ccy,

.rrcm-portal .rrcm-metric-stack .ccy{
  display: flex; align-items: baseline; gap: 7px;
  font-variant-numeric: tabular-nums;
}
.rrcm-app .rrcm-metric-stack .ccy .code,

.rrcm-portal .rrcm-metric-stack .ccy .code{
  font-size: 10px; font-weight: 600; color: var(--rrcm-text-faint);
  width: 26px; flex: none; letter-spacing: .04em;
}
.rrcm-app .rrcm-metric-stack .ccy.is-lead .amt,

.rrcm-portal .rrcm-metric-stack .ccy.is-lead .amt{ font-size: 21px; letter-spacing: -.015em; }

.rrcm-app .rrcm-avatar,


.rrcm-portal .rrcm-avatar{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--rrcm-primary-soft, #F4EAEC);
  color: var(--rrcm-primary, #7A2B3D);
  font-weight: 700;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}/* --- tables --- */


.rrcm-app .rrcm-tablewrap,



.rrcm-portal .rrcm-tablewrap{ overflow-x: auto; }
.rrcm-app table.rrcm-table,

.rrcm-portal table.rrcm-table{ width: 100%; border-collapse: collapse; font-size: 13px; }
.rrcm-app table.rrcm-table th,

.rrcm-portal table.rrcm-table th{
  text-align: left;
  font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
  color: var(--rrcm-text-faint);
  padding: 8px 12px;
  background: var(--rrcm-surface-muted);
  border-bottom: 1px solid var(--rrcm-border);
  white-space: nowrap;
}
.rrcm-app table.rrcm-table td,

.rrcm-portal table.rrcm-table td{
  padding: 9px 12px;
  border-bottom: 1px solid var(--rrcm-border);
  vertical-align: middle;
  white-space: nowrap;
}
.rrcm-app table.rrcm-table tbody th,

.rrcm-portal table.rrcm-table tbody th{
  text-align: left;
  padding: 9px 12px;
  border-bottom: 1px solid var(--rrcm-border);
  vertical-align: middle;
  white-space: nowrap;
  background: transparent;
  color: var(--rrcm-text);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.rrcm-app table.rrcm-table tr:last-child td,

.rrcm-portal table.rrcm-table tr:last-child td,

.rrcm-app table.rrcm-table tr:last-child th,

.rrcm-portal table.rrcm-table tr:last-child th{ border-bottom: none; }
.rrcm-app table.rrcm-table tbody tr:hover,

.rrcm-portal table.rrcm-table tbody tr:hover{ background: var(--rrcm-surface-muted); }
.rrcm-app .rrcm-num,

.rrcm-portal .rrcm-num{ text-align: right; font-variant-numeric: tabular-nums; }
.rrcm-app th.rrcm-num,

.rrcm-portal th.rrcm-num{ text-align: right; }
.rrcm-app .rrcm-cell-strong,

.rrcm-portal .rrcm-cell-strong{ font-weight: 600; }
.rrcm-app .rrcm-cell-sub,

.rrcm-portal .rrcm-cell-sub{ font-size: 11.5px; color: var(--rrcm-text-faint); font-weight: 400; }
.rrcm-app .rrcm-neg,

.rrcm-portal .rrcm-neg{ color: var(--rrcm-danger); font-weight: 600; }
.rrcm-app .rrcm-link,

.rrcm-portal .rrcm-link{ color: var(--rrcm-primary); text-decoration: none; font-weight: 500; }
.rrcm-app .rrcm-link:hover,

.rrcm-portal .rrcm-link:hover{ text-decoration: underline; }/* --- filter bar --- */


.rrcm-app .rrcm-filters,



.rrcm-portal .rrcm-filters{
  display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
  padding: 10px 14px;
  border-bottom: 1px solid var(--rrcm-border);
  background: var(--rrcm-surface);
}
.rrcm-app .rrcm-search,

.rrcm-portal .rrcm-search{
  display: flex; align-items: center; gap: 7px;
  border: 1px solid var(--rrcm-border);
  border-radius: var(--rrcm-radius-input);
  padding: 5px 10px;
  min-width: 230px;
  color: var(--rrcm-text-faint);
  background: var(--rrcm-surface);
  font-size: 13px;
}
.rrcm-app .rrcm-search svg,

.rrcm-portal .rrcm-search svg{ width: 14px; height: 14px; flex: none; }
.rrcm-app .rrcm-search input,

.rrcm-portal .rrcm-search input{ border: none; outline: none; background: transparent; color: inherit; width: 100%; min-width: 0; padding: 0; margin: 0; }
.rrcm-app .rrcm-chip,

.rrcm-portal .rrcm-chip{
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12.5px; font-weight: 500;
  border: 1px solid var(--rrcm-border);
  border-radius: var(--rrcm-radius-input);
  padding: 5px 9px;
  background: var(--rrcm-surface);
  color: var(--rrcm-text-muted);
  cursor: pointer;
}
.rrcm-app .rrcm-chip svg,

.rrcm-portal .rrcm-chip svg{ width: 13px; height: 13px; opacity: .6; }
.rrcm-app .rrcm-chip b,

.rrcm-portal .rrcm-chip b{ color: var(--rrcm-text); font-weight: 600; }
.rrcm-app .rrcm-chip.is-set,

.rrcm-portal .rrcm-chip.is-set{ border-color: var(--rrcm-primary); background-color: var(--rrcm-primary-soft); color: var(--rrcm-primary); }
.rrcm-app .rrcm-chip.is-set b,

.rrcm-portal .rrcm-chip.is-set b{ color: var(--rrcm-primary); }
.rrcm-app .rrcm-clear,

.rrcm-portal .rrcm-clear{ font-size: 12.5px; color: var(--rrcm-primary); cursor: pointer; font-weight: 500; margin-left: 2px; }/* --- pagination --- */


.rrcm-app .rrcm-pagination,



.rrcm-portal .rrcm-pagination{
  display: flex; align-items: center; gap: 10px;
  padding: 9px 14px;
  border-top: 1px solid var(--rrcm-border);
  font-size: 12.5px; color: var(--rrcm-text-muted);
  background: var(--rrcm-surface);
}
.rrcm-app .rrcm-pages,

.rrcm-portal .rrcm-pages{ margin-left: auto; display: flex; align-items: center; gap: 3px; }
.rrcm-app .rrcm-page,

.rrcm-portal .rrcm-page{
  min-width: 26px; height: 26px; padding: 0 7px;
  display: grid; place-items: center;
  border-radius: 6px; font-size: 12.5px;
  border: 1px solid transparent; cursor: pointer;
  color: var(--rrcm-text-muted); font-variant-numeric: tabular-nums;
}
.rrcm-app .rrcm-page:hover,

.rrcm-portal .rrcm-page:hover{ background: var(--rrcm-surface-muted); }
.rrcm-app .rrcm-page.is-active,

.rrcm-portal .rrcm-page.is-active{ background: var(--rrcm-primary); color: #fff; font-weight: 600; }/* --- tabs: global reset so browser/WP admin blue rings never appear --- */


.rrcm-app .rrcm-tabs,



.rrcm-portal .rrcm-tabs{ display: flex; gap: 2px; border-bottom: 1px solid var(--rrcm-border); padding: 0 14px; background: var(--rrcm-surface); }
.rrcm-app .rrcm-tab,

.rrcm-portal .rrcm-tab{
  font: inherit; font-size: 12.5px; font-weight: 500;
  padding: 9px 11px; background: none; border: none; cursor: pointer;
  color: var(--rrcm-text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.rrcm-app .rrcm-tab:hover,

.rrcm-portal .rrcm-tab:hover{ color: var(--rrcm-text); }
.rrcm-app .rrcm-tab:focus,

.rrcm-portal .rrcm-tab:focus,

.rrcm-app .rrcm-tab:focus-visible,

.rrcm-portal .rrcm-tab:focus-visible,

.rrcm-app .rrcm-tab:active,

.rrcm-portal .rrcm-tab:active{
  outline: 0 !important;
  box-shadow: none !important;
}
.rrcm-app .rrcm-tab[aria-selected="true"],

.rrcm-portal .rrcm-tab[aria-selected="true"],

.rrcm-app .rrcm-tab.is-active,

.rrcm-portal .rrcm-tab.is-active{
  color: var(--rrcm-primary);
  border-bottom-color: var(--rrcm-primary);
  font-weight: 600;
  outline: 0 !important;
  box-shadow: none !important;
}
.rrcm-app .rrcm-tab[aria-selected="true"]:focus,

.rrcm-portal .rrcm-tab[aria-selected="true"]:focus,

.rrcm-app .rrcm-tab[aria-selected="true"]:focus-visible,

.rrcm-portal .rrcm-tab[aria-selected="true"]:focus-visible,

.rrcm-app .rrcm-tab[aria-selected="true"]:active,

.rrcm-portal .rrcm-tab[aria-selected="true"]:active,

.rrcm-app .rrcm-tab.is-active:focus,

.rrcm-portal .rrcm-tab.is-active:focus,

.rrcm-app .rrcm-tab.is-active:focus-visible,

.rrcm-portal .rrcm-tab.is-active:focus-visible,

.rrcm-app .rrcm-tab.is-active:active,

.rrcm-portal .rrcm-tab.is-active:active{
  outline: 0 !important;
  box-shadow: none !important;
}/* Global tab focus reset across all rrcm tab surfaces */


.rrcm-app .rrcm-workspace-tab,



.rrcm-portal .rrcm-workspace-tab,



.rrcm-app .rrcm-workspace-tab:focus,



.rrcm-portal .rrcm-workspace-tab:focus,



.rrcm-app .rrcm-workspace-tab:focus-visible,



.rrcm-portal .rrcm-workspace-tab:focus-visible,



.rrcm-app .rrcm-workspace-tab:active,



.rrcm-portal .rrcm-workspace-tab:active,



.rrcm-app .rrcm-workspace-tab.is-active,



.rrcm-portal .rrcm-workspace-tab.is-active,



.rrcm-app .rrcm-workspace-tab.is-active:focus,



.rrcm-portal .rrcm-workspace-tab.is-active:focus,



.rrcm-app .rrcm-workspace-tab.is-active:focus-visible,



.rrcm-portal .rrcm-workspace-tab.is-active:focus-visible,



.rrcm-app .rrcm-workspace-tab.is-active:active,



.rrcm-portal .rrcm-workspace-tab.is-active:active,



.rrcm-app .rrcm-workspace-tabs a,



.rrcm-portal .rrcm-workspace-tabs a,



.rrcm-app .rrcm-workspace-tabs a:focus,



.rrcm-portal .rrcm-workspace-tabs a:focus,



.rrcm-app .rrcm-workspace-tabs a:focus-visible,



.rrcm-portal .rrcm-workspace-tabs a:focus-visible,



.rrcm-app .rrcm-workspace-tabs a:active,



.rrcm-portal .rrcm-workspace-tabs a:active,



.rrcm-app .rrcm-workspace-tabs button,



.rrcm-portal .rrcm-workspace-tabs button,



.rrcm-app .rrcm-workspace-tabs button:focus,



.rrcm-portal .rrcm-workspace-tabs button:focus,



.rrcm-app .rrcm-workspace-tabs button:focus-visible,



.rrcm-portal .rrcm-workspace-tabs button:focus-visible,



.rrcm-app .rrcm-workspace-tabs button:active,



.rrcm-portal .rrcm-workspace-tabs button:active,



.rrcm-app .rrcm-tabs a,



.rrcm-portal .rrcm-tabs a,



.rrcm-app .rrcm-tabs a:focus,



.rrcm-portal .rrcm-tabs a:focus,



.rrcm-app .rrcm-tabs a:focus-visible,



.rrcm-portal .rrcm-tabs a:focus-visible,



.rrcm-app .rrcm-tabs a:active,



.rrcm-portal .rrcm-tabs a:active,



.rrcm-app .rrcm-tabs button,



.rrcm-portal .rrcm-tabs button,



.rrcm-app .rrcm-tabs button:focus,



.rrcm-portal .rrcm-tabs button:focus,



.rrcm-app .rrcm-tabs button:focus-visible,



.rrcm-portal .rrcm-tabs button:focus-visible,



.rrcm-app .rrcm-tabs button:active,



.rrcm-portal .rrcm-tabs button:active,



.rrcm-app .rrcm-outlet-tab,



.rrcm-portal .rrcm-outlet-tab,



.rrcm-app .rrcm-outlet-tab:focus,



.rrcm-portal .rrcm-outlet-tab:focus,



.rrcm-app .rrcm-outlet-tab:focus-visible,



.rrcm-portal .rrcm-outlet-tab:focus-visible,



.rrcm-app .rrcm-outlet-tab:active,



.rrcm-portal .rrcm-outlet-tab:active,



.rrcm-app .rrcm-outlet-tab.is-active,



.rrcm-portal .rrcm-outlet-tab.is-active,



.rrcm-app .rrcm-outlet-tab.is-active:focus,



.rrcm-portal .rrcm-outlet-tab.is-active:focus,



.rrcm-app .rrcm-outlet-tab.is-active:focus-visible,



.rrcm-portal .rrcm-outlet-tab.is-active:focus-visible,



.rrcm-app .rrcm-outlet-tab.is-active:active,



.rrcm-portal .rrcm-outlet-tab.is-active:active{
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}/* --- stat strip --- */


.rrcm-app .rrcm-statstrip,



.rrcm-portal .rrcm-statstrip{ display: flex; gap: 26px; flex-wrap: wrap; padding: 12px 14px; border-bottom: 1px solid var(--rrcm-border); background: var(--rrcm-surface-muted); }
.rrcm-app .rrcm-stat-label,

.rrcm-portal .rrcm-stat-label{ font-size: 11px; font-weight: 500; color: var(--rrcm-text-muted); letter-spacing: .02em; }
.rrcm-app .rrcm-stat-value,

.rrcm-portal .rrcm-stat-value{ font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.01em; margin-top: 1px; }/* --- drawer --- */


.rrcm-app .rrcm-drawer-scene,



.rrcm-portal .rrcm-drawer-scene{ position: relative; display: flex; justify-content: flex-end; background: var(--rrcm-bg); min-height: 560px; }
.rrcm-app .rrcm-scrim,

.rrcm-portal .rrcm-scrim{ position: absolute; inset: 0; background: rgba(31,26,27,.28); }
.rrcm-app .rrcm-drawer-scene .rrcm-drawer,

.rrcm-portal .rrcm-drawer-scene .rrcm-drawer{
  position: relative;
  width: 460px; max-width: 100%;
  background: var(--rrcm-surface);
  border-left: 1px solid var(--rrcm-border);
  box-shadow: var(--rrcm-shadow-pop);
  display: flex; flex-direction: column;
  border-radius: var(--rrcm-radius-modal) 0 0 var(--rrcm-radius-modal);
}
.rrcm-app .rrcm-drawer-head,

.rrcm-portal .rrcm-drawer-head{ display: flex; align-items: flex-start; gap: 10px; padding: 15px 17px; border-bottom: 1px solid var(--rrcm-border); }
.rrcm-app .rrcm-drawer-title,

.rrcm-portal .rrcm-drawer-title{ font-size: 16px; font-weight: 600; margin: 0; }
.rrcm-app .rrcm-drawer-sub,

.rrcm-portal .rrcm-drawer-sub{ font-size: 12.5px; color: var(--rrcm-text-muted); margin-top: 2px; }
.rrcm-app .rrcm-drawer-body,

.rrcm-portal .rrcm-drawer-body{ padding: 16px 17px; display: flex; flex-direction: column; gap: 15px; flex: 1; }
.rrcm-app .rrcm-drawer-foot,

.rrcm-portal .rrcm-drawer-foot{ display: flex; gap: 8px; justify-content: flex-end; padding: 13px 17px; border-top: 1px solid var(--rrcm-border); background: var(--rrcm-surface-muted); }/* --- forms --- */


.rrcm-app .rrcm-field,



.rrcm-portal .rrcm-field{ display: flex; flex-direction: column; gap: 5px; }
.rrcm-app .rrcm-label,

.rrcm-portal .rrcm-label{ font-size: 12.5px; font-weight: 500; color: var(--rrcm-text); }
.rrcm-app .rrcm-input,

.rrcm-portal .rrcm-input{
  font: inherit; font-size: 13.5px;
  border: 1px solid var(--rrcm-border-strong);
  border-radius: var(--rrcm-radius-input);
  padding: 7px 10px;
  background: var(--rrcm-surface);
  color: var(--rrcm-text);
  width: 100%;
}
.rrcm-app .rrcm-input:focus,

.rrcm-portal .rrcm-input:focus{ outline: 2px solid var(--rrcm-primary); outline-offset: -1px; border-color: var(--rrcm-primary); }
.rrcm-app .rrcm-help,

.rrcm-portal .rrcm-help{ font-size: 11.5px; color: var(--rrcm-text-faint); margin: 2px 0 0; }
.rrcm-app .rrcm-fieldrow,

.rrcm-portal .rrcm-fieldrow{ display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.rrcm-app .rrcm-readout,

.rrcm-portal .rrcm-readout{
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  background: var(--rrcm-surface-muted);
  border: 1px solid var(--rrcm-border);
  border-radius: var(--rrcm-radius-input);
  padding: 9px 11px;
}
.rrcm-app .rrcm-readout-label,

.rrcm-portal .rrcm-readout-label{ font-size: 12px; color: var(--rrcm-text-muted); }
.rrcm-app .rrcm-readout-value,

.rrcm-portal .rrcm-readout-value{ font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }/* --- inline alerts --- */


.rrcm-app .rrcm-alert,



.rrcm-portal .rrcm-alert{
  display: flex; gap: 9px; align-items: flex-start;
  border-radius: var(--rrcm-radius-input);
  padding: 10px 12px;
  font-size: 12.5px; line-height: 1.5;
}
.rrcm-app .rrcm-alert svg,

.rrcm-portal .rrcm-alert svg{ width: 15px; height: 15px; flex: none; margin-top: 1px; }
.rrcm-app .rrcm-alert--danger,

.rrcm-portal .rrcm-alert--danger{ background: var(--rrcm-danger-soft);  color: var(--rrcm-danger); }
.rrcm-app .rrcm-alert--warning,

.rrcm-portal .rrcm-alert--warning{ background: var(--rrcm-warning-soft); color: var(--rrcm-warning); }
.rrcm-app .rrcm-alert--info,

.rrcm-portal .rrcm-alert--info{ background: var(--rrcm-info-soft);    color: var(--rrcm-info); }
.rrcm-app .rrcm-alert--success,

.rrcm-portal .rrcm-alert--success{ background: var(--rrcm-success-soft); color: var(--rrcm-success); }
.rrcm-app .rrcm-alert b,

.rrcm-portal .rrcm-alert b{ font-weight: 600; display: block; margin-bottom: 2px; }/* --- empty / skeleton --- */


.rrcm-app .rrcm-empty,



.rrcm-portal .rrcm-empty{ text-align: center; padding: 40px 24px; }
.rrcm-app .rrcm-empty-icon,

.rrcm-portal .rrcm-empty-icon{
  width: 38px; height: 38px; border-radius: 9px;
  background: var(--rrcm-surface-muted);
  color: var(--rrcm-text-faint);
  display: grid; place-items: center; margin: 0 auto 12px;
}
.rrcm-app .rrcm-empty-icon svg,

.rrcm-portal .rrcm-empty-icon svg{ width: 19px; height: 19px; }
.rrcm-app .rrcm-empty-title,

.rrcm-portal .rrcm-empty-title{ font-size: 14px; font-weight: 600; margin: 0 0 5px; }
.rrcm-app .rrcm-empty-text,

.rrcm-portal .rrcm-empty-text{ font-size: 13px; color: var(--rrcm-text-muted); max-width: 38ch; margin: 0 auto 15px; }
.rrcm-app .rrcm-skel,

.rrcm-portal .rrcm-skel{ background: var(--rrcm-surface-muted); border-radius: 5px; height: 11px; }
.rrcm-app .rrcm-skel--pulse,

.rrcm-portal .rrcm-skel--pulse{ animation: rrcmPulse 1.5s ease-in-out infinite; }
@keyframes rrcmPulse { 0%,100% { opacity: 1; } 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) {
  .rrcm-app .rrcm-skel--pulse{ animation: none; }/* Scoped deliberately: an unscoped `*` here would disable transitions
     across all of wp-admin and the storefront theme (UI spec 96). */
  
  .rrcm-app *,

  
  .rrcm-app *::before,

  
  .rrcm-app *::after{ transition: none !important; animation: none !important; }
}/* --- toast --- */


.rrcm-app .rrcm-toast,



.rrcm-portal .rrcm-toast{
  display: flex; gap: 10px; align-items: flex-start;
  background: var(--rrcm-surface);
  border: 1px solid var(--rrcm-border);
  border-left: 3px solid var(--rrcm-success);
  border-radius: var(--rrcm-radius-input);
  box-shadow: var(--rrcm-shadow-pop);
  padding: 11px 13px;
  max-width: 350px;
}
.rrcm-app .rrcm-toast--danger,

.rrcm-portal .rrcm-toast--danger{ border-left-color: var(--rrcm-danger); }
.rrcm-app .rrcm-toast-title,

.rrcm-portal .rrcm-toast-title{ font-size: 13px; font-weight: 600; margin: 0 0 2px; }
.rrcm-app .rrcm-toast-text,

.rrcm-portal .rrcm-toast-text{ font-size: 12.5px; color: var(--rrcm-text-muted); margin: 0; }/* --- dialog --- */


.rrcm-app .rrcm-dialog-scene,



.rrcm-portal .rrcm-dialog-scene{ display: grid; place-items: center; background: rgba(31,26,27,.28); padding: 34px 20px; }
.rrcm-app .rrcm-dialog,

.rrcm-portal .rrcm-dialog{
  background: var(--rrcm-surface);
  border-radius: var(--rrcm-radius-modal);
  box-shadow: var(--rrcm-shadow-pop);
  max-width: 420px; width: 100%;
  overflow: hidden;
}
.rrcm-app .rrcm-dialog-body,

.rrcm-portal .rrcm-dialog-body{ padding: 18px 19px; }
.rrcm-app .rrcm-dialog-title,

.rrcm-portal .rrcm-dialog-title{ font-size: 16px; font-weight: 600; margin: 0 0 7px; }
.rrcm-app .rrcm-dialog-text,

.rrcm-portal .rrcm-dialog-text{ font-size: 13.5px; color: var(--rrcm-text-muted); margin: 0; line-height: 1.55; }
.rrcm-app .rrcm-dialog-foot,

.rrcm-portal .rrcm-dialog-foot{ display: flex; gap: 8px; justify-content: flex-end; padding: 12px 19px; background: var(--rrcm-surface-muted); border-top: 1px solid var(--rrcm-border); }/* --- mobile --- */


.rrcm-app .rrcm-mtop,



.rrcm-portal .rrcm-mtop{
  display: flex; align-items: center; gap: 10px;
  padding: 13px 15px 12px;
  background: var(--rrcm-surface);
  border-bottom: 1px solid var(--rrcm-border);
}
.rrcm-app .rrcm-mgreet,

.rrcm-portal .rrcm-mgreet{ font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.rrcm-app .rrcm-mgreet-sub,

.rrcm-portal .rrcm-mgreet-sub{ font-size: 11.5px; color: var(--rrcm-text-faint); }
.rrcm-app .rrcm-mbody,

.rrcm-portal .rrcm-mbody{ padding: 14px; display: flex; flex-direction: column; gap: 13px; background: var(--rrcm-bg); }
.rrcm-app .rrcm-mgrid,

.rrcm-portal .rrcm-mgrid{ display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.rrcm-app .rrcm-mbottom,

.rrcm-portal .rrcm-mbottom{
  display: grid; grid-template-columns: repeat(5, 1fr);
  background: var(--rrcm-surface);
  border-top: 1px solid var(--rrcm-border);
  padding: 6px 4px 10px;
}
.rrcm-app .rrcm-mtab,

.rrcm-portal .rrcm-mtab{
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  padding: 6px 2px; border-radius: 7px;
  font-size: 10.5px; font-weight: 500;
  color: var(--rrcm-text-faint); cursor: pointer;
  min-height: 44px; justify-content: center;
}
.rrcm-app .rrcm-mtab svg,

.rrcm-portal .rrcm-mtab svg{ width: 18px; height: 18px; }
.rrcm-app .rrcm-mtab.is-active,

.rrcm-portal .rrcm-mtab.is-active{ color: var(--rrcm-primary); font-weight: 600; }
.rrcm-app .rrcm-mcard,

.rrcm-portal .rrcm-mcard{
  background: var(--rrcm-surface);
  border: 1px solid var(--rrcm-border);
  border-radius: var(--rrcm-radius-card);
  padding: 12px 13px;
}
.rrcm-app .rrcm-mcard-head,

.rrcm-portal .rrcm-mcard-head{ display: flex; align-items: flex-start; gap: 9px; margin-bottom: 9px; }
.rrcm-app .rrcm-mcard-title,

.rrcm-portal .rrcm-mcard-title{ font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.rrcm-app .rrcm-mcard-sub,

.rrcm-portal .rrcm-mcard-sub{ font-size: 11.5px; color: var(--rrcm-text-faint); margin-top: 1px; }
.rrcm-app .rrcm-mrow,

.rrcm-portal .rrcm-mrow{
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 5px 0; font-size: 12.5px;
  border-top: 1px solid var(--rrcm-border);
}
.rrcm-app .rrcm-mrow:first-of-type,

.rrcm-portal .rrcm-mrow:first-of-type{ border-top: none; }
.rrcm-app .rrcm-mrow .k,

.rrcm-portal .rrcm-mrow .k{ color: var(--rrcm-text-muted); }
.rrcm-app .rrcm-mrow .v,

.rrcm-portal .rrcm-mrow .v{ font-weight: 600; font-variant-numeric: tabular-nums; }

.rrcm-app .rrcm-row-actions--compact,


.rrcm-portal .rrcm-row-actions--compact{ justify-content: flex-start; gap: 6px; }
.rrcm-app .rrcm-detail-grid,

.rrcm-portal .rrcm-detail-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.rrcm-app .rrcm-detail-grid--compact,

.rrcm-portal .rrcm-detail-grid--compact{ gap: 8px; }
.rrcm-app .rrcm-detail-grid > div,

.rrcm-portal .rrcm-detail-grid > div{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--rrcm-border);
  border-radius: var(--rrcm-radius-sm);
  background: var(--rrcm-surface-muted);
}
.rrcm-app .rrcm-detail-grid span,

.rrcm-portal .rrcm-detail-grid span{
  color: var(--rrcm-text-faint);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.rrcm-app .rrcm-detail-grid strong,

.rrcm-portal .rrcm-detail-grid strong{
  color: var(--rrcm-text);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.rrcm-app .rrcm-card--soft,

.rrcm-portal .rrcm-card--soft{
  padding: 12px;
  background: var(--rrcm-surface-muted);
}
.rrcm-app .rrcm-card--soft p,

.rrcm-portal .rrcm-card--soft p{ margin: 6px 0 0; color: var(--rrcm-text-muted); }
@media (max-width: 680px) {
  .rrcm-app .rrcm-detail-grid,

  .rrcm-portal .rrcm-detail-grid{ grid-template-columns: 1fr; }
}

.rrcm-app .rrcm-btn--success,


.rrcm-portal .rrcm-btn--success{ background: var(--rrcm-success); color: var(--rrcm-surface); border-color: var(--rrcm-success); }
.rrcm-app .rrcm-btn--success:hover,

.rrcm-portal .rrcm-btn--success:hover{ background: var(--rrcm-success); filter: brightness(.92); }

/* --------------------------------------------------------------------------
   Partner dashboard (storefront & standalone portal)

   Can be rendered either inside theme or as a dedicated standalone full-viewport
   application (PRD UI Spec §10).
   -------------------------------------------------------------------------- *//* Standalone Document Canvas */


.rrcm-app html.rrcm-portal-html,



.rrcm-portal html.rrcm-portal-html,



.rrcm-app body.rrcm-portal-body,



.rrcm-portal body.rrcm-portal-body{
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	height: 100vh !important;
	overflow: hidden !important;
	background: #f6f3f2 !important;
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

.rrcm-portal-root{
	width: 100%;
	height: 100vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}/* The portal root also carries .rrcm-app, whose 900px floor exists so an
   operator table never collapses. On a phone that floor made the root 900px
   wide inside a 375px viewport, and the sign-in card centred itself in the
   900 — half of it off the side of a page with nothing to scroll sideways.
   Scoped with :has() so only the sign-in page opts out; the dashboard, which
   really does have tables, keeps its floor. */


.rrcm-portal-root:has(.rrcm-login-wrapper){
	min-width: 0;
}/*
 * The same card inside the modal iframe. The frame is already a rounded panel
 * on a dimmed backdrop, so the shadow and the border would only draw a second
 * card inside the first, and at 460px the card needs every pixel of width.
 *
 * The modifier sits on the wrapper rather than on <body>: the stylesheet is
 * built with every selector anchored to a plugin root, and a `body.…` selector
 * comes out as `.rrcm-portal body.…`, which can never match anything.
 */


.rrcm-login-wrapper--embed{
	min-height: 100vh;
	padding: 26px 18px !important;
	background-image: none !important;
}

.rrcm-login-wrapper--embed .rrcm-login-card{
	box-shadow: none;
	border-color: transparent;
	background: transparent;
	padding: 8px 4px 4px;
}

.rrcm-login-wrapper--embed .rrcm-login-copyright{
	display: none;
}/* Standalone Fullscreen Dashboard */


.rrcm-app--fullscreen{
	width: 100vw;
	height: 100vh;
	max-width: 100% !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	min-width: 0 !important;
	display: flex;
	flex-direction: column;
	background: #f6f3f2;
}

.rrcm-app--fullscreen .rrcm-shell--frontend{
	display: grid;
	grid-template-columns: 240px 1fr;
	height: 100vh;
	width: 100%;
	overflow: hidden;
	background: #ffffff;
}

.rrcm-app--fullscreen .rrcm-sidebar{
	height: 100vh;
	background: #ffffff;
	border-right: 1px solid var(--rrcm-border);
	display: flex;
	flex-direction: column;
	padding: 16px 12px;
	box-sizing: border-box;
	overflow-y: auto;
}

.rrcm-app--fullscreen .rrcm-main{
	height: 100vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #f6f3f2;
}

.rrcm-app--fullscreen .rrcm-topbar{
	height: 64px;
	min-height: 64px;
	padding: 0 28px;
	background: #ffffff;
	border-bottom: 1px solid var(--rrcm-border);
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-sizing: border-box;
}

.rrcm-app--fullscreen .rrcm-body{
	flex: 1;
	overflow-y: auto;
	padding: 24px 32px 64px;
	box-sizing: border-box;
}/* Theme Embedded Mode Fallback */


.rrcm-app--standalone:not(.rrcm-app--fullscreen){
	min-width: 0;
	max-width: 1200px;
	margin: 0 auto;
	font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.rrcm-app--standalone a{ text-decoration: none; }
.rrcm-app--standalone h1,

.rrcm-app--standalone h2{ font-family: inherit; margin: 0; }

.rrcm-app .rrcm-shell--frontend,


.rrcm-portal .rrcm-shell--frontend{ grid-template-columns: 220px minmax(0, 1fr); }

.rrcm-app .rrcm-nav--pending,


.rrcm-portal .rrcm-nav--pending{ opacity: .55; cursor: default; justify-content: space-between; }

.rrcm-app .rrcm-badge--tiny,


.rrcm-portal .rrcm-badge--tiny{ font-size: 9.5px; padding: 1px 5px 1px 4px; line-height: 1.4; }
.rrcm-app .rrcm-badge--tiny::before,

.rrcm-portal .rrcm-badge--tiny::before{ width: 4px; height: 4px; }

.rrcm-app .rrcm-footnote,


.rrcm-portal .rrcm-footnote{ font-size: 12px; color: var(--rrcm-text-faint); margin: 12px 0 0; padding: 0 2px; }

.rrcm-app .rrcm-form,


.rrcm-portal .rrcm-form{ padding: 14px; display: flex; flex-direction: column; gap: 14px; }
.rrcm-app .rrcm-formactions,

.rrcm-portal .rrcm-formactions{ display: flex; justify-content: flex-end; gap: 8px; padding-top: 2px; }
.rrcm-app .rrcm-inlineform,

.rrcm-portal .rrcm-inlineform{ margin: 0; }

.rrcm-app .rrcm-fieldsplit,


.rrcm-portal .rrcm-fieldsplit{ padding: 2px 0; }
.rrcm-app .rrcm-switchrow,

.rrcm-portal .rrcm-switchrow{ display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.rrcm-app .rrcm-switchrow input,

.rrcm-portal .rrcm-switchrow input{ margin-top: 2px; flex: none; }
.rrcm-app .rrcm-switchrow .rrcm-label,

.rrcm-portal .rrcm-switchrow .rrcm-label,

.rrcm-app .rrcm-switchrow .rrcm-help,

.rrcm-portal .rrcm-switchrow .rrcm-help{ display: block; }

.rrcm-app .rrcm-sronly,


.rrcm-portal .rrcm-sronly{
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.rrcm-app .rrcm-table--keyvalue th[scope="row"],


.rrcm-portal .rrcm-table--keyvalue th[scope="row"],


.rrcm-app--dashboard .rrcm-table th[scope="row"]{
	background: transparent;
	text-transform: none;
	letter-spacing: 0;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--rrcm-text-muted);
	width: 190px;
	text-align: left;
	border-bottom: 1px solid var(--rrcm-border);
}/* --------------------------------------------------------------------------
   Modern Standalone Login Screen (Production SaaS Experience)
   -------------------------------------------------------------------------- */


.rrcm-login-wrapper{
	min-height: 100vh;
	width: 100%;
	/* The wrapper also carries .rrcm-app, which sets min-width: 900px so an
	   operator table never collapses. On the sign-in page that inherited floor
	   pushed the card to x=230..670 inside a 375px phone — most of it off the
	   side of the screen, on a page with nothing to scroll sideways. A login
	   card has no table to protect, so it opts out. */
	min-width: 0;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	/* !important because the wrapper also carries .rrcm-portal, which forces
	   `background: transparent` and `padding: 0` so the portal container can be
	   an invisible anchor. Those two won here, which is why the sign-in page's
	   light ground never appeared — the theme's dark body showed through
	   instead, and on a phone the card sat flush against both screen edges. */
	padding: 40px 20px !important;
	background-color: #f8f6f5 !important;
	background-image:
		radial-gradient(at 50% 0%, rgba(122, 43, 61, 0.09) 0px, transparent 65%),
		radial-gradient(at 100% 100%, rgba(122, 43, 61, 0.04) 0px, transparent 50%),
		radial-gradient(#ded7d5 1.1px, transparent 1.1px) !important;
	background-size: 100% 100%, 100% 100%, 24px 24px;
	background-position: 0 0, 0 0, -12px -12px;
	position: relative;
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.rrcm-app .rrcm-login-pill,


.rrcm-portal .rrcm-login-pill{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	background: #ffffff;
	color: var(--rrcm-primary, #7A2B3D);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.25px;
	margin-bottom: 22px;
	border: 1px solid rgba(122, 43, 61, 0.16);
	box-shadow: 0 2px 8px rgba(122, 43, 61, 0.06);
	z-index: 2;
}

.rrcm-app .rrcm-login-pill-dot,


.rrcm-portal .rrcm-login-pill-dot{
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #146C42;
	box-shadow: 0 0 0 2px rgba(20, 108, 66, 0.2);
}

.rrcm-app .rrcm-login-card,


.rrcm-portal .rrcm-login-card{
	width: 100%;
	max-width: 440px;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	box-shadow: 
		0 1px 3px rgba(31, 26, 27, 0.04),
		0 12px 32px -4px rgba(122, 43, 61, 0.08),
		0 24px 48px -12px rgba(0, 0, 0, 0.04);
	padding: 42px 36px 36px;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}

.rrcm-app .rrcm-login-brand,


.rrcm-portal .rrcm-login-brand{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 26px;
}

.rrcm-app .rrcm-login-logo,


.rrcm-portal .rrcm-login-logo{
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--rrcm-primary, #7A2B3D) 0%, #541926 100%);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.5px;
	margin-bottom: 18px;
	box-shadow: 0 8px 18px -4px rgba(122, 43, 61, 0.35);
}

.rrcm-app .rrcm-login-logo--img,


.rrcm-portal .rrcm-login-logo--img{
	background: transparent;
	box-shadow: none;
	width: auto;
	height: auto;
	border-radius: 0;
}

.rrcm-app .rrcm-login-custom-logo,


.rrcm-portal .rrcm-login-custom-logo{
	max-height: 52px;
	max-width: 220px;
	height: auto;
	width: auto;
	object-fit: contain;
	display: block;
	margin-bottom: 16px;
}

.rrcm-app .rrcm-login-title,


.rrcm-portal .rrcm-login-title{
	font-size: 23px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
	margin: 0 0 8px;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.rrcm-app .rrcm-login-sub,


.rrcm-portal .rrcm-login-sub{
	font-size: 13.5px;
	color: var(--rrcm-text-muted, #6E6467);
	margin: 0;
	line-height: 1.5;
}

.rrcm-app .rrcm-login-alert,


.rrcm-portal .rrcm-login-alert{
	background: #FBEAE9;
	border: 1px solid #F0C4C1;
	color: #A62620;
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 20px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}/*
 * A hand-off is not a failure. "Please sign in here" and "reset link sent" in
 * the red of a rejected password reads as though something went wrong.
 */


.rrcm-app .rrcm-login-alert--info,



.rrcm-portal .rrcm-login-alert--info{
	background: #FBF1F3;
	border-color: rgba(122, 43, 61, 0.16);
	color: #7A2B3D;
}

.rrcm-app .rrcm-login-form,


.rrcm-portal .rrcm-login-form{
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.rrcm-app .rrcm-login-field,


.rrcm-portal .rrcm-login-field{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.rrcm-app .rrcm-login-label,


.rrcm-portal .rrcm-login-label{
	font-size: 13px;
	font-weight: 600;
	color: var(--rrcm-text, #1F1A1B);
	letter-spacing: -0.01em;
}

.rrcm-app .rrcm-login-input-wrap,


.rrcm-portal .rrcm-login-input-wrap{
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.rrcm-app .rrcm-login-input,


.rrcm-portal .rrcm-login-input{
	height: 46px;
	padding: 0 14px;
	font-size: 14.5px;
	border: 1px solid var(--rrcm-border-strong, #D8D0CF);
	border-radius: 9px;
	background: #FAF8F7;
	color: var(--rrcm-text, #1F1A1B);
	outline: none;
	transition: all 0.15s ease;
	box-sizing: border-box;
	width: 100%;
	font-family: inherit;
}

.rrcm-app .rrcm-login-input:focus,


.rrcm-portal .rrcm-login-input:focus{
	background: #ffffff;
	border-color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 0 0 3.5px var(--rrcm-primary-soft, rgba(122, 43, 61, 0.14));
}

.rrcm-app .rrcm-login-input::placeholder,


.rrcm-portal .rrcm-login-input::placeholder{
	color: #A89D9F;
}

.rrcm-app .rrcm-login-input-wrap .rrcm-login-input,


.rrcm-portal .rrcm-login-input-wrap .rrcm-login-input{
	padding-right: 42px;
}

.rrcm-app .rrcm-login-eye-btn,


.rrcm-portal .rrcm-login-eye-btn{
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	cursor: pointer;
	color: #8C8084;
	padding: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	transition: color 0.15s ease;
}

.rrcm-app .rrcm-login-eye-btn:hover,


.rrcm-portal .rrcm-login-eye-btn:hover{
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-login-row,


.rrcm-portal .rrcm-login-row{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	padding: 2px 0;
}

.rrcm-app .rrcm-login-remember,


.rrcm-portal .rrcm-login-remember{
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	color: var(--rrcm-text-muted, #5F5558);
	user-select: none;
	font-size: 13px;
}

.rrcm-app .rrcm-login-remember input[type="checkbox"],


.rrcm-portal .rrcm-login-remember input[type="checkbox"]{
	width: 16px;
	height: 16px;
	accent-color: var(--rrcm-primary, #7A2B3D);
	cursor: pointer;
	margin: 0;
}

.rrcm-app .rrcm-login-forgot,


.rrcm-portal .rrcm-login-forgot{
	color: var(--rrcm-primary, #7A2B3D);
	font-weight: 600;
	text-decoration: none;
	font-size: 13px;
	transition: opacity 0.15s ease;
}

.rrcm-app .rrcm-login-forgot:hover,


.rrcm-portal .rrcm-login-forgot:hover{
	opacity: 0.85;
	text-decoration: underline;
}

.rrcm-app .rrcm-login-btn,


.rrcm-portal .rrcm-login-btn{
	height: 48px;
	border-radius: 9px;
	background: linear-gradient(180deg, #873144 0%, var(--rrcm-primary, #7A2B3D) 100%);
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	border: 1px solid #64222F;
	cursor: pointer;
	transition: all 0.18s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 6px;
	width: 100%;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(122, 43, 61, 0.22);
	letter-spacing: -0.01em;
}

.rrcm-app .rrcm-login-btn:hover,


.rrcm-portal .rrcm-login-btn:hover{
	background: linear-gradient(180deg, var(--rrcm-primary, #7A2B3D) 0%, #682231 100%);
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08), 0 8px 20px rgba(122, 43, 61, 0.28);
}

.rrcm-app .rrcm-login-btn:active,


.rrcm-portal .rrcm-login-btn:active{
	transform: translateY(0);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.rrcm-app .rrcm-login-footer,


.rrcm-portal .rrcm-login-footer{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--rrcm-border, #EDE6E5);
	font-size: 13px;
}

.rrcm-app .rrcm-login-back,


.rrcm-portal .rrcm-login-back{
	color: var(--rrcm-text-muted, #6E6467);
	text-decoration: none;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color 0.15s ease;
}

.rrcm-app .rrcm-login-back:hover,


.rrcm-portal .rrcm-login-back:hover{
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-login-badge-secure,


.rrcm-portal .rrcm-login-badge-secure{
	color: var(--rrcm-text-faint, #8C8084);
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
}

.rrcm-app .rrcm-login-copyright,


.rrcm-portal .rrcm-login-copyright{
	margin-top: 24px;
	font-size: 12px;
	color: var(--rrcm-text-faint, #8C8084);
	text-align: center;
	z-index: 2;
}/* --------------------------------------------------------------------------
   Mobile App Header & Bottom Navigation Bar (UI Spec §77, §78)
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-mobile-topbar,



.rrcm-portal .rrcm-mobile-topbar{
	display: none;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	position: sticky;
	top: 0;
	z-index: 999;
}

.rrcm-app .rrcm-mobile-brand,


.rrcm-portal .rrcm-mobile-brand{
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.rrcm-app .rrcm-brand-mark--sm,


.rrcm-portal .rrcm-brand-mark--sm{
	width: 34px;
	height: 34px;
	font-size: 13px;
	font-weight: 700;
	border-radius: 8px;
	flex-shrink: 0;
}

.rrcm-app .rrcm-mobile-brand-meta,


.rrcm-portal .rrcm-mobile-brand-meta{
	min-width: 0;
}

.rrcm-app .rrcm-mobile-page-title,


.rrcm-portal .rrcm-mobile-page-title{
	font-size: 15px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rrcm-app .rrcm-mobile-partner-meta,


.rrcm-portal .rrcm-mobile-partner-meta{
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 2px;
	line-height: 1;
}

.rrcm-app .rrcm-mobile-partner-name,


.rrcm-portal .rrcm-mobile-partner-name{
	font-size: 11.5px;
	color: var(--rrcm-text-muted, #6E6467);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 140px;
}

.rrcm-app .rrcm-mobile-topbar-actions,


.rrcm-portal .rrcm-mobile-topbar-actions{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.rrcm-app .rrcm-mobile-add-btn,


.rrcm-portal .rrcm-mobile-add-btn{
	padding: 6px 12px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	display: inline-flex !important;
	align-items: center !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 6px rgba(122, 43, 61, 0.2) !important;
}/* Fixed Bottom Navigation Bar */


.rrcm-app .rrcm-bottom-nav,



.rrcm-portal .rrcm-bottom-nav{
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9998;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-top: 1px solid var(--rrcm-border, #E5DFDE);
	box-shadow: 0 -3px 16px rgba(0, 0, 0, 0.06);
	height: calc(58px + env(safe-area-inset-bottom, 0px));
	padding-bottom: env(safe-area-inset-bottom, 0px);
	align-items: stretch;
	justify-content: space-around;
}

.rrcm-app .rrcm-bottom-nav-item,


.rrcm-portal .rrcm-bottom-nav-item{
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--rrcm-text-muted, #6E6467);
	font-size: 11px;
	font-weight: 500;
	transition: all 0.15s ease;
	padding: 6px 2px;
	border: none;
	background: transparent;
	cursor: pointer;
	position: relative;
	line-height: 1.2;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}

.rrcm-app .rrcm-bottom-nav-item:hover,


.rrcm-portal .rrcm-bottom-nav-item:hover,


.rrcm-app .rrcm-bottom-nav-item:active,


.rrcm-portal .rrcm-bottom-nav-item:active{
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-bottom-nav-item.is-active,


.rrcm-portal .rrcm-bottom-nav-item.is-active{
	color: var(--rrcm-primary, #7A2B3D);
	font-weight: 700;
}

.rrcm-app .rrcm-bottom-nav-item.is-active::after,


.rrcm-portal .rrcm-bottom-nav-item.is-active::after{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 28px;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-bottom-nav-icon,


.rrcm-portal .rrcm-bottom-nav-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin-bottom: 2px;
	position: relative;
}

.rrcm-app .rrcm-bottom-nav-icon svg,


.rrcm-portal .rrcm-bottom-nav-icon svg{
	transition: transform 0.15s ease;
}

.rrcm-app .rrcm-bottom-nav-item.is-active .rrcm-bottom-nav-icon svg,


.rrcm-portal .rrcm-bottom-nav-item.is-active .rrcm-bottom-nav-icon svg{
	transform: scale(1.1);
	stroke: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-nav-dot,


.rrcm-portal .rrcm-nav-dot{
	position: absolute;
	top: 1px;
	right: 0px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--rrcm-primary, #7A2B3D);
}

@media (max-width: 782px) {
	.rrcm-app .rrcm-desktop-only,

	.rrcm-portal .rrcm-desktop-only{
		display: none !important;
	}

	.rrcm-app .rrcm-mobile-only,


	.rrcm-portal .rrcm-mobile-only{
		display: block !important;
	}

	.rrcm-app .rrcm-mobile-topbar,


	.rrcm-portal .rrcm-mobile-topbar{
		display: flex !important;
		flex-shrink: 0 !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 9999 !important;
	}

	.rrcm-app .rrcm-bottom-nav,


	.rrcm-portal .rrcm-bottom-nav{
		display: flex !important;
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 9998 !important;
	}

	.rrcm-app .rrcm-sidebar,


	.rrcm-portal .rrcm-sidebar{
		display: none !important;
	}

	.rrcm-app .rrcm-topbar,


	.rrcm-portal .rrcm-topbar{
		display: none !important;
	}

	.rrcm-app .rrcm-topbar-actions,


	.rrcm-portal .rrcm-topbar-actions{
		display: none !important;
	}/* Fix Fullscreen Container & Scrollable Body on Mobile */

	
	.rrcm-app--fullscreen{
		height: 100vh !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
	}

	.rrcm-app--fullscreen .rrcm-shell--frontend,


	.rrcm-app .rrcm-shell,


	.rrcm-portal .rrcm-shell,


	.rrcm-app .rrcm-shell--frontend,


	.rrcm-portal .rrcm-shell--frontend{
		grid-template-columns: minmax(0, 1fr) !important;
		display: flex !important;
		flex-direction: column !important;
		flex: 1 1 0% !important;
		min-height: 0 !important;
		height: auto !important;
		width: 100% !important;
		overflow: hidden !important;
	}

	.rrcm-app--fullscreen .rrcm-main,


	.rrcm-app .rrcm-main,


	.rrcm-portal .rrcm-main{
		display: flex !important;
		flex-direction: column !important;
		flex: 1 1 0% !important;
		min-height: 0 !important;
		height: auto !important;
		width: 100% !important;
		overflow: hidden !important;
		background: #f6f3f2 !important;
	}

	.rrcm-app--fullscreen .rrcm-body,


	.rrcm-app .rrcm-body,


	.rrcm-portal .rrcm-body{
		flex: 1 1 0% !important;
		min-height: 0 !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 16px 14px calc(76px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.rrcm-app .rrcm-metrics,


	.rrcm-portal .rrcm-metrics{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}/* Native Bottom Sheet Drawers (UI Spec §81) */

	
	.rrcm-app .rrcm-drawer,


	
	.rrcm-portal .rrcm-drawer{
		position: fixed !important;
		inset: 0 !important;
		z-index: 999999 !important;
		display: none;
		overflow: hidden !important;
	}

	.rrcm-app .rrcm-drawer.rrcm-drawer--open,


	.rrcm-portal .rrcm-drawer.rrcm-drawer--open{
		display: block !important;
	}

	.rrcm-app .rrcm-drawer-backdrop,


	.rrcm-portal .rrcm-drawer-backdrop{
		position: fixed !important;
		inset: 0 !important;
		background: rgba(15, 23, 42, 0.48) !important;
		backdrop-filter: blur(4px) !important;
		-webkit-backdrop-filter: blur(4px) !important;
		z-index: 1 !important;
	}

	.rrcm-app .rrcm-drawer-panel,


	.rrcm-portal .rrcm-drawer-panel{
		position: fixed !important;
		top: auto !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 88vh !important;
		height: 88dvh !important;
		max-height: 92vh !important;
		max-height: 92dvh !important;
		border-radius: 20px 20px 0 0 !important;
		display: flex !important;
		flex-direction: column !important;
		transform: translateY(100%) !important;
		transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
		box-shadow: 0 -8px 36px rgba(0, 0, 0, 0.25) !important;
		z-index: 2 !important;
		overflow: hidden !important;
		background: #ffffff !important;
	}

	.rrcm-app .rrcm-drawer.rrcm-drawer--open .rrcm-drawer-panel,


	.rrcm-portal .rrcm-drawer.rrcm-drawer--open .rrcm-drawer-panel{
		transform: translateY(0) !important;
	}

	.rrcm-app .rrcm-drawer-form,


	.rrcm-portal .rrcm-drawer-form,


	.rrcm-app .rrcm-drawer-panel form,


	.rrcm-portal .rrcm-drawer-panel form,


	.rrcm-app .rrcm-drawer-panel .rrcm-form,


	.rrcm-portal .rrcm-drawer-panel .rrcm-form{
		display: flex !important;
		flex-direction: column !important;
		flex: 1 1 0% !important;
		min-height: 0 !important;
		height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		background: transparent !important;
	}

	.rrcm-app .rrcm-drawer-head,


	.rrcm-portal .rrcm-drawer-head,


	.rrcm-app .rrcm-drawer-header,


	.rrcm-portal .rrcm-drawer-header{
		flex-shrink: 0 !important;
		position: relative !important;
		padding: 24px 18px 14px !important;
		touch-action: none;
		border-bottom: 1px solid var(--rrcm-border, #E5DFDE) !important;
		background: var(--rrcm-surface-muted, #FAF8F7) !important;
	}

	.rrcm-app .rrcm-drawer-head::before,


	.rrcm-portal .rrcm-drawer-head::before,


	.rrcm-app .rrcm-drawer-header::before,


	.rrcm-portal .rrcm-drawer-header::before{
		content: '' !important;
		position: absolute !important;
		top: 8px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: 40px !important;
		height: 5px !important;
		border-radius: 999px !important;
		background: #D5CDCC !important;
		cursor: grab !important;
	}

	.rrcm-app .rrcm-drawer-body,


	.rrcm-portal .rrcm-drawer-body{
		flex: 1 1 0% !important;
		min-height: 0 !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 16px 18px !important;
	}

	.rrcm-app .rrcm-drawer-footer,


	.rrcm-portal .rrcm-drawer-footer{
		flex-shrink: 0 !important;
		padding: 12px 18px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
		border-top: 1px solid var(--rrcm-border, #E5DFDE) !important;
		background: var(--rrcm-surface-muted, #FAF8F7) !important;
		box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.03) !important;
	}
}

@media (max-width: 640px) {
	.rrcm-app .rrcm-fieldrow,

	.rrcm-portal .rrcm-fieldrow{ grid-template-columns: minmax(0, 1fr); }
	.rrcm-app .rrcm-formactions .rrcm-btn,

	.rrcm-portal .rrcm-formactions .rrcm-btn{ width: 100%; justify-content: center; min-height: 44px; }
	.rrcm-app .rrcm-login-card,

	.rrcm-portal .rrcm-login-card{ padding: 28px 20px; }
}/* --------------------------------------------------------------------------
   Slide-out Drawers (PRD UI Spec §52, §57, §61)
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-drawer,



.rrcm-portal .rrcm-drawer{
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	overflow: hidden;
}

.rrcm-app .rrcm-drawer.rrcm-drawer--open,


.rrcm-portal .rrcm-drawer.rrcm-drawer--open{
	display: block;
}

.rrcm-app .rrcm-drawer-backdrop,


.rrcm-portal .rrcm-drawer-backdrop{
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.45);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 1;
}

.rrcm-app .rrcm-drawer--open .rrcm-drawer-backdrop,


.rrcm-portal .rrcm-drawer--open .rrcm-drawer-backdrop{
	opacity: 1;
}

.rrcm-app .rrcm-drawer-panel,


.rrcm-portal .rrcm-drawer-panel{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	width: 100%;
	max-width: 560px;
	height: 100vh;
	height: 100dvh;
	background: #ffffff;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.16);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 2;
	overflow: hidden;
}

.rrcm-app .rrcm-drawer--open .rrcm-drawer-panel,


.rrcm-portal .rrcm-drawer--open .rrcm-drawer-panel{
	transform: translateX(0);
}

.rrcm-app .rrcm-drawer-head,


.rrcm-portal .rrcm-drawer-head,


.rrcm-app .rrcm-drawer-header,


.rrcm-portal .rrcm-drawer-header{
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 18px 24px !important;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE) !important;
	background: var(--rrcm-surface-muted, #FAF8F7) !important;
	flex-shrink: 0 !important;
}

.rrcm-app .rrcm-drawer-icon-wrap,


.rrcm-portal .rrcm-drawer-icon-wrap{
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: var(--rrcm-primary-subtle, #F8EDEE);
	color: var(--rrcm-primary, #7A2B3D);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.rrcm-app .rrcm-drawer-title,


.rrcm-portal .rrcm-drawer-title{
	font-size: 16px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1.25;
}

.rrcm-app .rrcm-drawer-sub,


.rrcm-portal .rrcm-drawer-sub,


.rrcm-app .rrcm-drawer-subtitle,


.rrcm-portal .rrcm-drawer-subtitle{
	font-size: 12px;
	color: var(--rrcm-text-muted, #6E6467);
	margin: 3px 0 0;
	line-height: 1.35;
}

.rrcm-app .rrcm-drawer-close,


.rrcm-portal .rrcm-drawer-close{
	background: transparent;
	border: 1px solid transparent;
	cursor: pointer;
	padding: 6px;
	border-radius: 6px;
	color: var(--rrcm-text-muted, #6E6467);
	font-size: 18px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.15s ease;
	flex-shrink: 0;
	margin-left: auto;
}

.rrcm-app .rrcm-drawer-close:hover,


.rrcm-portal .rrcm-drawer-close:hover{
	background: var(--rrcm-border, #EDE6E5);
	color: var(--rrcm-text, #1F1A1B);
}/* Seamless Drawer Swap (Prevents screen flicker between intelligence & share drawers) */


.rrcm-app .rrcm-drawer--no-transition,



.rrcm-portal .rrcm-drawer--no-transition,



.rrcm-app .rrcm-drawer--no-transition .rrcm-drawer-backdrop,



.rrcm-portal .rrcm-drawer--no-transition .rrcm-drawer-backdrop,



.rrcm-app .rrcm-drawer--no-transition .rrcm-drawer-panel,



.rrcm-portal .rrcm-drawer--no-transition .rrcm-drawer-panel{
	transition: none !important;
	animation: none !important;
}/* Header Back Button */


.rrcm-app .rrcm-drawer-back-btn,



.rrcm-portal .rrcm-drawer-back-btn{
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 5px 10px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--rrcm-text, #1F1A1B) !important;
	background: #ECE8E5 !important;
	border: 1px solid var(--rrcm-border, #E5DFDE) !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	flex-shrink: 0 !important;
	line-height: 1 !important;
}

.rrcm-app .rrcm-drawer-back-btn:hover,


.rrcm-portal .rrcm-drawer-back-btn:hover{
	background: var(--rrcm-primary-subtle, #F8EDEE) !important;
	color: var(--rrcm-primary, #7A2B3D) !important;
	border-color: var(--rrcm-primary, #7A2B3D) !important;
}

.rrcm-app .rrcm-drawer-form,


.rrcm-portal .rrcm-drawer-form,


.rrcm-app .rrcm-drawer-panel form,


.rrcm-portal .rrcm-drawer-panel form,


.rrcm-app .rrcm-drawer-panel .rrcm-form,


.rrcm-portal .rrcm-drawer-panel .rrcm-form{
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	border: none !important;
	background: transparent !important;
}

.rrcm-app .rrcm-drawer-body,


.rrcm-portal .rrcm-drawer-body{
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 22px 24px;
}

.rrcm-app .rrcm-drawer-footer,


.rrcm-portal .rrcm-drawer-footer{
	padding: 16px 24px;
	border-top: 1px solid var(--rrcm-border, #E5DFDE);
	background: var(--rrcm-surface-muted, #FAF8F7);
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.03);
}/* --------------------------------------------------------------------------
   Mobile "More" Bottom Sheet Menu (UI Spec §77)
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-more-sheet-panel,



.rrcm-portal .rrcm-more-sheet-panel{
	border-radius: 20px 20px 0 0;
}

.rrcm-app .rrcm-more-sheet-body,


.rrcm-portal .rrcm-more-sheet-body{
	padding: 16px 20px calc(24px + env(safe-area-inset-bottom, 0px));
}

.rrcm-app .rrcm-more-profile-card,


.rrcm-portal .rrcm-more-profile-card{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: var(--rrcm-surface-muted, #FAF8F7);
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 12px;
	margin-bottom: 20px;
}

.rrcm-app .rrcm-brand-mark--large,


.rrcm-portal .rrcm-brand-mark--large{
	width: 44px;
	height: 44px;
	font-size: 16px;
	font-weight: 700;
	border-radius: 10px;
	flex-shrink: 0;
}

.rrcm-app .rrcm-more-profile-info,


.rrcm-portal .rrcm-more-profile-info{
	flex: 1;
	min-width: 0;
}

.rrcm-app .rrcm-more-profile-name,


.rrcm-portal .rrcm-more-profile-name{
	font-size: 15px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.3;
}

.rrcm-app .rrcm-more-profile-meta,


.rrcm-portal .rrcm-more-profile-meta{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 3px;
}

.rrcm-app .rrcm-more-profile-role,


.rrcm-portal .rrcm-more-profile-role{
	font-size: 11.5px;
	color: var(--rrcm-text-muted, #6E6467);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 600;
}

.rrcm-app .rrcm-more-section-heading,


.rrcm-portal .rrcm-more-section-heading{
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--rrcm-text-faint, #8C8084);
	margin: 0 0 10px 4px;
}

.rrcm-app .rrcm-more-nav-grid,


.rrcm-portal .rrcm-more-nav-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 20px;
}

.rrcm-app .rrcm-more-nav-card,


.rrcm-portal .rrcm-more-nav-card{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 10px;
	text-decoration: none;
	color: var(--rrcm-text, #1F1A1B);
	font-size: 13.5px;
	font-weight: 600;
	transition: all 0.15s ease;
}

.rrcm-app .rrcm-more-nav-card:hover,


.rrcm-portal .rrcm-more-nav-card:hover,


.rrcm-app .rrcm-more-nav-card:active,


.rrcm-portal .rrcm-more-nav-card:active{
	background: var(--rrcm-surface-muted, #FAF8F7);
	border-color: var(--rrcm-primary-subtle, #F8EDEE);
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-more-nav-card.is-active,


.rrcm-portal .rrcm-more-nav-card.is-active{
	background: var(--rrcm-primary-subtle, #F8EDEE);
	border-color: var(--rrcm-primary, #7A2B3D);
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-more-nav-icon,


.rrcm-portal .rrcm-more-nav-icon{
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--rrcm-surface-muted, #FAF8F7);
	color: var(--rrcm-primary, #7A2B3D);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all 0.15s ease;
}

.rrcm-app .rrcm-more-nav-card.is-active .rrcm-more-nav-icon,


.rrcm-portal .rrcm-more-nav-card.is-active .rrcm-more-nav-icon{
	background: #ffffff;
}

.rrcm-app .rrcm-more-actions-list,


.rrcm-portal .rrcm-more-actions-list{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rrcm-app .rrcm-more-action-item,


.rrcm-portal .rrcm-more-action-item{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 10px;
	text-decoration: none;
	color: var(--rrcm-text, #1F1A1B);
	font-size: 13px;
	font-weight: 600;
	transition: all 0.15s ease;
}

.rrcm-app .rrcm-more-action-item:hover,


.rrcm-portal .rrcm-more-action-item:hover,


.rrcm-app .rrcm-more-action-item:active,


.rrcm-portal .rrcm-more-action-item:active{
	background: var(--rrcm-surface-muted, #FAF8F7);
}

.rrcm-app .rrcm-more-action-item--danger,


.rrcm-portal .rrcm-more-action-item--danger{
	color: #B91C1C;
	border-color: #FEE2E2;
	background: #FFF5F5;
}

.rrcm-app .rrcm-more-action-item--danger:hover,


.rrcm-portal .rrcm-more-action-item--danger:hover,


.rrcm-app .rrcm-more-action-item--danger:active,


.rrcm-portal .rrcm-more-action-item--danger:active{
	background: #FEE2E2;
}

.rrcm-app .rrcm-drawer-section-title,


.rrcm-portal .rrcm-drawer-section-title{
	font-size: 11px;
	font-weight: 700;
	color: var(--rrcm-text-muted, #6E6467);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 20px 0 12px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	display: flex;
	align-items: center;
	gap: 6px;
}

.rrcm-app .rrcm-drawer-section-title:first-child,


.rrcm-portal .rrcm-drawer-section-title:first-child{
	margin-top: 0;
}

.rrcm-app .rrcm-drawer-section-step,


.rrcm-portal .rrcm-drawer-section-step{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--rrcm-primary, #7A2B3D);
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
}

.rrcm-app .rrcm-radio-cards-group,


.rrcm-portal .rrcm-radio-cards-group{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
}

.rrcm-app .rrcm-radio-card,


.rrcm-portal .rrcm-radio-card{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	background: #ffffff;
	border: 1.5px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.15s ease;
	position: relative;
}

.rrcm-app .rrcm-radio-card:hover,


.rrcm-portal .rrcm-radio-card:hover{
	border-color: var(--rrcm-primary, #7A2B3D);
	background: #FAF8F7;
}

.rrcm-app .rrcm-radio-card.rrcm-radio-card--active,


.rrcm-portal .rrcm-radio-card.rrcm-radio-card--active{
	border-color: var(--rrcm-primary, #7A2B3D);
	background: var(--rrcm-primary-subtle, #FDF7F8);
}

.rrcm-app .rrcm-radio-card input[type="radio"],


.rrcm-portal .rrcm-radio-card input[type="radio"]{
	margin-top: 3px;
	accent-color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-radio-card-content,


.rrcm-portal .rrcm-radio-card-content{
	flex: 1;
}

.rrcm-app .rrcm-radio-card-head,


.rrcm-portal .rrcm-radio-card-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.rrcm-app .rrcm-radio-card-title,


.rrcm-portal .rrcm-radio-card-title{
	font-size: 13.5px;
	font-weight: 600;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-radio-card-desc,


.rrcm-portal .rrcm-radio-card-desc{
	display: block;
	font-size: 12px;
	color: var(--rrcm-text-muted, #6E6467);
	margin-top: 3px;
	line-height: 1.4;
}/* Drawer Detail Lists & Tables */


.rrcm-app .rrcm-dl,



.rrcm-portal .rrcm-dl{
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 10px 16px;
	font-size: 13px;
	margin: 0 0 20px;
}

.rrcm-app .rrcm-dt,


.rrcm-portal .rrcm-dt{
	color: var(--rrcm-text-muted, #6E6467);
	font-weight: 500;
}

.rrcm-app .rrcm-dd,


.rrcm-portal .rrcm-dd{
	color: var(--rrcm-text, #1F1A1B);
	font-weight: 600;
	margin: 0;
}

.rrcm-app .rrcm-drawer-table,


.rrcm-portal .rrcm-drawer-table{
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	margin-bottom: 16px;
}

.rrcm-app .rrcm-drawer-table th,


.rrcm-portal .rrcm-drawer-table th{
	background: var(--rrcm-surface-muted, #FAF8F7);
	text-align: left;
	padding: 8px 10px;
	font-weight: 600;
	color: var(--rrcm-text-muted, #6E6467);
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	font-size: 12px;
}

.rrcm-app .rrcm-drawer-table td,


.rrcm-portal .rrcm-drawer-table td{
	padding: 10px 10px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	color: var(--rrcm-text, #1F1A1B);
}/* Copy Box Utility */


.rrcm-app .rrcm-copybox,



.rrcm-portal .rrcm-copybox{
	display: flex;
	align-items: center;
	gap: 8px;
	background: #F4EAEC;
	border: 1px dashed var(--rrcm-primary, #7A2B3D);
	border-radius: 6px;
	padding: 10px 14px;
	margin: 12px 0;
}

.rrcm-app .rrcm-copybox-code,


.rrcm-portal .rrcm-copybox-code{
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 14px;
	font-weight: 700;
	color: var(--rrcm-primary, #7A2B3D);
	flex: 1;
	word-break: break-all;
	user-select: all;
}

.rrcm-app .rrcm-copybox-btn,


.rrcm-portal .rrcm-copybox-btn{
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 600;
	border-radius: 4px;
	border: 1px solid var(--rrcm-primary, #7A2B3D);
	background: #ffffff;
	color: var(--rrcm-primary, #7A2B3D);
	cursor: pointer;
	transition: all 0.15s ease;
	white-space: nowrap;
}

.rrcm-app .rrcm-copybox-btn:hover,


.rrcm-portal .rrcm-copybox-btn:hover{
	background: var(--rrcm-primary, #7A2B3D);
	color: #ffffff;
}/* Financial Summary Mini-Cards (UI Spec §59, §62) */


.rrcm-app .rrcm-summary-grid,



.rrcm-portal .rrcm-summary-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}

.rrcm-app .rrcm-summary-card,


.rrcm-portal .rrcm-summary-card{
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
	padding: 12px 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.rrcm-app .rrcm-summary-card-label,


.rrcm-portal .rrcm-summary-card-label{
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--rrcm-text-muted, #6E6467);
	font-weight: 600;
	margin-bottom: 4px;
}

.rrcm-app .rrcm-summary-card-value,


.rrcm-portal .rrcm-summary-card-value{
	font-size: 18px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-summary-card-value--negative,


.rrcm-portal .rrcm-summary-card-value--negative{
	color: #b32d2e;
}

.rrcm-app .rrcm-summary-card-value--positive,


.rrcm-portal .rrcm-summary-card-value--positive{
	color: #007017;
}

.rrcm-app .rrcm-badge-sku,


.rrcm-portal .rrcm-badge-sku{
	font-family: monospace;
	font-size: 11px;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-mini-progress,


.rrcm-portal .rrcm-mini-progress{
	width: 60px;
	height: 4px;
	background: var(--rrcm-border, #E5DFDE);
	border-radius: 2px;
	overflow: hidden;
	margin-top: 4px;
}

.rrcm-app .rrcm-mini-progress-bar,


.rrcm-portal .rrcm-mini-progress-bar{
	height: 100%;
	background: var(--rrcm-primary, #7A2B3D);
	border-radius: 2px;
}

.rrcm-app .rrcm-view-toggle,


.rrcm-portal .rrcm-view-toggle{
	display: inline-flex !important;
	align-items: center !important;
	background: #FAF8F7 !important;
	border: 1px solid var(--rrcm-border, #ECE8E5) !important;
	border-radius: 8px !important;
	padding: 2px !important;
	gap: 2px !important;
	flex-shrink: 0 !important;
}

.rrcm-app .rrcm-view-btn,


.rrcm-portal .rrcm-view-btn{
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 5px 9px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--rrcm-text-muted, #6E6467) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	line-height: 1 !important;
}

.rrcm-app .rrcm-view-btn:hover,


.rrcm-portal .rrcm-view-btn:hover{
	color: var(--rrcm-text, #1F1A1B) !important;
}

.rrcm-app .rrcm-view-btn.is-active,


.rrcm-portal .rrcm-view-btn.is-active{
	background: #ffffff !important;
	color: var(--rrcm-primary, #7A2B3D) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
	font-weight: 700 !important;
}/* Mobile vs Desktop View Switching (UI Spec §50, §78) */


.rrcm-app .rrcm-mobile-only,



.rrcm-portal .rrcm-mobile-only{
	display: none !important;
}

@media (max-width: 782px) {
	.rrcm-app .rrcm-desktop-only,

	.rrcm-portal .rrcm-desktop-only{
		display: none !important;
	}

	.rrcm-app .rrcm-mobile-only,


	.rrcm-portal .rrcm-mobile-only{
		display: block !important;
	}
}

@media (max-width: 768px) {
	.rrcm-app .rrcm-desktop-only,

	.rrcm-portal .rrcm-desktop-only{
		display: none !important;
	}

	.rrcm-app .rrcm-mobile-only,


	.rrcm-portal .rrcm-mobile-only{
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		padding: 12px 16px !important;
	}

	.rrcm-app .rrcm-drawer-panel,


	.rrcm-portal .rrcm-drawer-panel{
		max-width: 100% !important;
	}
}/* Interactive Table Row Pointer */


.rrcm-app .rrcm-table-clickable tbody tr,



.rrcm-portal .rrcm-table-clickable tbody tr{
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.rrcm-app .rrcm-table-clickable tbody tr:hover,


.rrcm-portal .rrcm-table-clickable tbody tr:hover{
	background-color: var(--rrcm-primary-soft, #F4EAEC) !important;
}/* Live Search Input */


.rrcm-app .rrcm-search-box,



.rrcm-portal .rrcm-search-box{
	display: inline-flex !important;
	align-items: center !important;
	position: relative !important;
	width: 210px !important;
	max-width: 210px !important;
	flex-shrink: 0 !important;
}

.rrcm-app .rrcm-search-input,


.rrcm-portal .rrcm-search-input{
	width: 100% !important;
	padding: 6px 12px 6px 32px !important;
	border: 1px solid var(--rrcm-border, #E5DFDE) !important;
	border-radius: 6px !important;
	font-size: 12.5px !important;
	background: #ffffff !important;
	color: var(--rrcm-text, #1F1A1B) !important;
	outline: none;
	height: 36px !important;
	box-sizing: border-box !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rrcm-app .rrcm-search-input:focus,


.rrcm-portal .rrcm-search-input:focus{
	border-color: var(--rrcm-primary, #7A2B3D) !important;
	box-shadow: 0 0 0 2px var(--rrcm-primary-soft, #F4EAEC) !important;
}

.rrcm-app .rrcm-search-icon,


.rrcm-portal .rrcm-search-icon{
	position: absolute;
	left: 10px;
	color: var(--rrcm-text-muted, #6E6467);
	pointer-events: none;
	display: flex;
	align-items: center;
	font-size: 13px;
}

@media (max-width: 680px) {
	.rrcm-app .rrcm-search-box,

	.rrcm-portal .rrcm-search-box{
		width: 100% !important;
		max-width: 100% !important;
	}
}/* Toast notification */


.rrcm-app .rrcm-toast,



.rrcm-portal .rrcm-toast{
	position: fixed;
	bottom: 24px;
	right: 24px;
	background: #1F1A1B;
	color: #ffffff;
	padding: 12px 20px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 500;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	z-index: 1000000;
	display: flex;
	align-items: center;
	gap: 10px;
	opacity: 0;
	transform: translateY(12px);
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
}

.rrcm-app .rrcm-toast--show,


.rrcm-portal .rrcm-toast--show{
	opacity: 1;
	transform: translateY(0);
}/* Clean Print Styling (@media print) */


@media print {
	.rrcm-app .rrcm-sidebar,

	.rrcm-portal .rrcm-sidebar,

	.rrcm-app .rrcm-topbar,

	.rrcm-portal .rrcm-topbar,

	.rrcm-app .rrcm-nav,

	.rrcm-portal .rrcm-nav,

	.rrcm-app .rrcm-btn,

	.rrcm-portal .rrcm-btn,

	.rrcm-app .rrcm-pagination,

	.rrcm-portal .rrcm-pagination,

	.rrcm-app .rrcm-drawer,

	.rrcm-portal .rrcm-drawer,

	.rrcm-app .rrcm-search-box,

	.rrcm-portal .rrcm-search-box,

	.rrcm-app .rrcm-card-head .rrcm-btn,

	.rrcm-portal .rrcm-card-head .rrcm-btn,

	.rrcm-app .rrcm-no-print,

	.rrcm-portal .rrcm-no-print{
		display: none !important;
	}

	.rrcm-app html.rrcm-portal-html,


	.rrcm-portal html.rrcm-portal-html,


	.rrcm-app body.rrcm-portal-body,


	.rrcm-portal body.rrcm-portal-body,


	.rrcm-portal-root,


	.rrcm-app,


	.rrcm-app--fullscreen,


	.rrcm-app .rrcm-main,


	.rrcm-portal .rrcm-main,


	.rrcm-app .rrcm-body,


	.rrcm-portal .rrcm-body{
		height: auto !important;
		overflow: visible !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #ffffff !important;
		color: #000000 !important;
	}

	.rrcm-app .rrcm-card,


	.rrcm-portal .rrcm-card{
		border: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.rrcm-app .rrcm-table,


	.rrcm-portal .rrcm-table{
		width: 100% !important;
		border: 1px solid #ccc !important;
		font-size: 11pt !important;
	}

	.rrcm-app .rrcm-table th,


	.rrcm-portal .rrcm-table th,


	.rrcm-app .rrcm-table td,


	.rrcm-portal .rrcm-table td{
		border-bottom: 1px solid #ddd !important;
		padding: 6px 8px !important;
	}

	.rrcm-app .rrcm-print-header,


	.rrcm-portal .rrcm-print-header{
		display: block !important;
		margin-bottom: 20px;
		padding-bottom: 12px;
		border-bottom: 2px solid #000;
	}
}/* Overview Elevation: Greeting Hero, Quick Actions, Trend Chart & Dual-View (PRD §9, UI Spec §45, §47, §68, §78, §80) */


.rrcm-app .rrcm-overview-hero,



.rrcm-portal .rrcm-overview-hero{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 14px;
	gap: 16px;
	flex-wrap: wrap;
}

.rrcm-app .rrcm-overview-hero-main,


.rrcm-portal .rrcm-overview-hero-main{
	min-width: 260px;
	flex: 1;
}

.rrcm-app .rrcm-overview-hero-controls,


.rrcm-portal .rrcm-overview-hero-controls{
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.rrcm-app .rrcm-overview-greeting,


.rrcm-portal .rrcm-overview-greeting{
	font-size: 20px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
	line-height: 1.25;
	margin: 0;
	letter-spacing: -0.015em;
}

.rrcm-app .rrcm-greeting-wave,


.rrcm-portal .rrcm-greeting-wave{
	display: inline-block;
	transform-origin: 70% 70%;
	animation: rrcm-wave 2s infinite ease-in-out;
}

@keyframes rrcm-wave {
	0%, 100% { transform: rotate(0deg); }
	20%, 60% { transform: rotate(14deg); }
	40%, 80% { transform: rotate(-8deg); }
}

.rrcm-app .rrcm-overview-sub,


.rrcm-portal .rrcm-overview-sub{
	font-size: 12.5px;
	color: var(--rrcm-text-muted, #6E6467);
	margin-top: 4px;
	margin-bottom: 0;
	line-height: 1.4;
}

.rrcm-app .rrcm-quick-actions-strip,


.rrcm-portal .rrcm-quick-actions-strip{
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 18px;
	padding: 8px 12px;
	background: #FAF8F7;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: var(--rrcm-radius-card, 6px);
}

.rrcm-app .rrcm-quick-actions-label,


.rrcm-portal .rrcm-quick-actions-label{
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--rrcm-text-muted, #6E6467);
	margin-right: 2px;
}

.rrcm-app .rrcm-quick-action-btn,


.rrcm-portal .rrcm-quick-action-btn{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 4px;
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	color: var(--rrcm-text, #1F1A1B);
	text-decoration: none;
	cursor: pointer;
	line-height: 1.3;
	white-space: nowrap;
	transition: all 0.15s ease;
}

.rrcm-app .rrcm-quick-action-btn:hover,


.rrcm-portal .rrcm-quick-action-btn:hover{
	background: #FFFFFF;
	border-color: var(--rrcm-primary, #7A2B3D);
	color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.rrcm-app .rrcm-bento-subitem--clickable,


.rrcm-portal .rrcm-bento-subitem--clickable{
	text-decoration: none;
	cursor: pointer;
	border-radius: 4px;
	padding: 3px 5px;
	margin: -3px -5px;
	transition: background 0.15s ease;
}

.rrcm-app .rrcm-bento-subitem--clickable:hover,


.rrcm-portal .rrcm-bento-subitem--clickable:hover{
	background: var(--rrcm-surface-muted, #F4F0EE);
}/* Performance Trend Visualization (Zero-Dependency Pure SVG) */


.rrcm-app .rrcm-trend-chart-card,



.rrcm-portal .rrcm-trend-chart-card{
	margin-top: 16px;
	margin-bottom: 16px;
	padding: 16px;
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: var(--rrcm-radius-card, 6px);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.rrcm-app .rrcm-trend-chart-head,


.rrcm-portal .rrcm-trend-chart-head{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rrcm-border, #ECE8E5);
}

.rrcm-app .rrcm-trend-head-controls,


.rrcm-portal .rrcm-trend-head-controls{
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.rrcm-app .rrcm-trend-currency-tabs,


.rrcm-portal .rrcm-trend-currency-tabs{
	display: inline-flex;
	background: var(--rrcm-surface-muted, #F4F0EE);
	padding: 2px;
	border-radius: 6px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	gap: 2px;
}

.rrcm-app .rrcm-trend-cur-tab,


.rrcm-portal .rrcm-trend-cur-tab{
	font-size: 11px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 4px;
	border: none;
	background: transparent;
	color: var(--rrcm-text-muted, #6E6467);
	cursor: pointer;
	line-height: 1.2;
	transition: all 0.15s ease;
}

.rrcm-app .rrcm-trend-cur-tab:hover,


.rrcm-portal .rrcm-trend-cur-tab:hover{
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-trend-cur-tab.is-active,


.rrcm-portal .rrcm-trend-cur-tab.is-active,


.rrcm-app .rrcm-trend-cur-tab--active,


.rrcm-portal .rrcm-trend-cur-tab--active{
	background: #FFFFFF;
	color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.rrcm-app .rrcm-trend-legend,


.rrcm-portal .rrcm-trend-legend{
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 11.5px;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-trend-legend-item,


.rrcm-portal .rrcm-trend-legend-item{
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.rrcm-app .rrcm-trend-chart-body,


.rrcm-portal .rrcm-trend-chart-body{
	position: relative;
	width: 100%;
}

.rrcm-app .rrcm-trend-chart-pane,


.rrcm-portal .rrcm-trend-chart-pane{
	display: none;
	width: 100%;
}

.rrcm-app .rrcm-trend-chart-pane.is-active,


.rrcm-portal .rrcm-trend-chart-pane.is-active,


.rrcm-app .rrcm-trend-chart-pane--active,


.rrcm-portal .rrcm-trend-chart-pane--active{
	display: block;
}

.rrcm-app .rrcm-svg-chart-container,


.rrcm-portal .rrcm-svg-chart-container{
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 4px;
}

.rrcm-app .rrcm-svg-chart,


.rrcm-portal .rrcm-svg-chart{
	display: block;
	width: 100%;
	height: auto;
	max-height: 220px;
}

.rrcm-app .rrcm-chart-group,


.rrcm-portal .rrcm-chart-group{
	cursor: pointer;
	transition: opacity 0.15s ease;
	outline: none;
}

.rrcm-app .rrcm-chart-group:hover,


.rrcm-portal .rrcm-chart-group:hover,


.rrcm-app .rrcm-chart-group:focus,


.rrcm-portal .rrcm-chart-group:focus{
	opacity: 0.82;
}

.rrcm-app .rrcm-bar,


.rrcm-portal .rrcm-bar{
	transition: y 0.2s ease, height 0.2s ease;
}/* Dual-View Generic Containers (Desktop Table vs Mobile Cards) */


.rrcm-app .rrcm-desktop-view,



.rrcm-portal .rrcm-desktop-view{
	display: block;
}

.rrcm-app .rrcm-mobile-view,


.rrcm-portal .rrcm-mobile-view{
	display: none !important;
}

@media (max-width: 768px) {
	.rrcm-app .rrcm-desktop-view,

	.rrcm-portal .rrcm-desktop-view{
		display: none !important;
	}
	.rrcm-app .rrcm-mobile-view,

	.rrcm-portal .rrcm-mobile-view{
		display: flex !important;
		flex-direction: column;
		gap: 10px;
	}
}

.rrcm-app .rrcm-mobile-card-list,


.rrcm-portal .rrcm-mobile-card-list{
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 8px 0;
}

.rrcm-app .rrcm-mobile-card-item,


.rrcm-portal .rrcm-mobile-card-item{
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
	padding: 12px 14px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	gap: 6px;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rrcm-app .rrcm-mobile-card-item:hover,


.rrcm-portal .rrcm-mobile-card-item:hover{
	border-color: #D5CFCB;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.04);
}

.rrcm-app .rrcm-mobile-card-top,


.rrcm-portal .rrcm-mobile-card-top{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

.rrcm-app .rrcm-mobile-card-id,


.rrcm-portal .rrcm-mobile-card-id{
	font-size: 13.5px;
	font-weight: 700;
	color: #1F191B;
}

.rrcm-app .rrcm-mobile-card-middle,


.rrcm-portal .rrcm-mobile-card-middle{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	margin: 2px 0;
}

.rrcm-app .rrcm-mobile-card-customer,


.rrcm-portal .rrcm-mobile-card-customer{
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
	color: #1F191B;
}

.rrcm-app .rrcm-mobile-card-date,


.rrcm-portal .rrcm-mobile-card-date{
	font-size: 11.5px;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-mobile-card-bottom,


.rrcm-portal .rrcm-mobile-card-bottom{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding-top: 6px;
	border-top: 1px dashed var(--rrcm-border, #ECE8E5);
}

.rrcm-app .rrcm-mobile-card-total,


.rrcm-portal .rrcm-mobile-card-total{
	font-size: 13px;
	font-weight: 700;
	color: #1F191B;
}

.rrcm-app .rrcm-overview-topbar,


.rrcm-portal .rrcm-overview-topbar{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom: 0;
}

.rrcm-app .rrcm-timeframe-group,


.rrcm-portal .rrcm-timeframe-group{
	display: inline-flex;
	background: var(--rrcm-surface-muted, #F4F0EE);
	padding: 2px;
	border-radius: 6px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
}

.rrcm-app .rrcm-timeframe-btn,


.rrcm-portal .rrcm-timeframe-btn{
	font-size: 11.5px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 4px;
	border: none;
	background: transparent;
	color: var(--rrcm-text-muted, #6E6467);
	cursor: pointer;
	text-decoration: none;
	transition: all 0.15s ease;
	line-height: 1.2;
}

.rrcm-app .rrcm-timeframe-btn:hover,


.rrcm-portal .rrcm-timeframe-btn:hover{
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-timeframe-btn--active,


.rrcm-portal .rrcm-timeframe-btn--active{
	background: #ffffff;
	color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.rrcm-app .rrcm-bento-grid,


.rrcm-portal .rrcm-bento-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 0;
}

@media (max-width: 960px) {
	.rrcm-app .rrcm-bento-grid,

	.rrcm-portal .rrcm-bento-grid{
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

.rrcm-app .rrcm-bento-card,


.rrcm-portal .rrcm-bento-card{
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: var(--rrcm-radius-card, 6px);
	padding: 11px 13px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.rrcm-app .rrcm-bento-card:hover,


.rrcm-portal .rrcm-bento-card:hover{
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
}

.rrcm-app .rrcm-bento-header,


.rrcm-portal .rrcm-bento-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6px;
}

.rrcm-app .rrcm-bento-title,


.rrcm-portal .rrcm-bento-title{
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-bento-tag,


.rrcm-portal .rrcm-bento-tag{
	font-size: 10.5px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 10px;
	background: var(--rrcm-surface-muted, #F4F0EE);
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-bento-hero,


.rrcm-portal .rrcm-bento-hero{
	font-size: 21px;
	font-weight: 600;
	color: var(--rrcm-text, #1F1A1B);
	line-height: 1.2;
	margin-bottom: 6px;
	letter-spacing: -0.015em;
}

.rrcm-app .rrcm-bento-hero-sub,


.rrcm-portal .rrcm-bento-hero-sub{
	font-size: 11px;
	font-weight: 400;
	color: var(--rrcm-text-muted, #6E6467);
	margin-top: 2px;
}

.rrcm-app .rrcm-bento-subgrid,


.rrcm-portal .rrcm-bento-subgrid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--rrcm-border, #E5DFDE);
	margin-top: auto;
}

.rrcm-app .rrcm-bento-subitem,


.rrcm-portal .rrcm-bento-subitem{
	display: flex;
	flex-direction: column;
}

.rrcm-app .rrcm-bento-subitem-label,


.rrcm-portal .rrcm-bento-subitem-label{
	font-size: 10.5px;
	color: var(--rrcm-text-faint, #9E9497);
	margin-bottom: 2px;
	white-space: nowrap;
}

.rrcm-app .rrcm-bento-subitem-value,


.rrcm-portal .rrcm-bento-subitem-value{
	font-size: 13px;
	font-weight: 600;
	color: #1F191B;
}

.rrcm-app .rrcm-legend-dot,


.rrcm-portal .rrcm-legend-dot{
	width: 8px;
	height: 8px;
	border-radius: 50%;
	display: inline-block;
	margin-right: 4px;
}/* ==========================================================================
   10.1 Overview 2-Column Bento Grid Workspace & Activity Hub
   ========================================================================== */



.rrcm-app .rrcm-bento-workspace,




.rrcm-portal .rrcm-bento-workspace{
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 14px;
	margin-top: 14px;
	margin-bottom: 16px;
	align-items: stretch;
}

@media (max-width: 960px) {
	.rrcm-app .rrcm-bento-workspace,

	.rrcm-portal .rrcm-bento-workspace{
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

.rrcm-app .rrcm-bento-col-main,


.rrcm-portal .rrcm-bento-col-main{
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.rrcm-app .rrcm-bento-col-main .rrcm-trend-chart-card,


.rrcm-portal .rrcm-bento-col-main .rrcm-trend-chart-card{
	margin-top: 0;
	margin-bottom: 0;
}

.rrcm-app .rrcm-bento-col-side,


.rrcm-portal .rrcm-bento-col-side{
	display: flex;
	flex-direction: column;
	min-width: 0;
}/* Scrollable Live Activity Hub */


.rrcm-app .rrcm-activity-hub,



.rrcm-portal .rrcm-activity-hub{
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: var(--rrcm-radius-card, 6px);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
	margin-top: 0;
	margin-bottom: 0;
}

.rrcm-app .rrcm-activity-hub-head,


.rrcm-portal .rrcm-activity-hub-head{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rrcm-border, #ECE8E5);
	flex-wrap: wrap;
}

.rrcm-app .rrcm-activity-hub-tabs,


.rrcm-portal .rrcm-activity-hub-tabs{
	display: inline-flex;
	background: var(--rrcm-surface-muted, #F4F0EE);
	padding: 2px;
	border-radius: 6px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	gap: 2px;
}

.rrcm-app .rrcm-hub-tab,


.rrcm-portal .rrcm-hub-tab{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 4px;
	border: none;
	background: transparent;
	color: var(--rrcm-text-muted, #6E6467);
	cursor: pointer;
	line-height: 1.2;
	transition: all 0.15s ease;
}

.rrcm-app .rrcm-hub-tab:hover,


.rrcm-portal .rrcm-hub-tab:hover{
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-hub-tab.is-active,


.rrcm-portal .rrcm-hub-tab.is-active{
	background: #FFFFFF;
	color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.rrcm-app .rrcm-hub-count,


.rrcm-portal .rrcm-hub-count{
	display: inline-block;
	padding: 1px 6px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.06);
	font-size: 10px;
	font-weight: 700;
	color: inherit;
}

.rrcm-app .rrcm-hub-tab.is-active .rrcm-hub-count,


.rrcm-portal .rrcm-hub-tab.is-active .rrcm-hub-count{
	background: var(--rrcm-primary-soft, #F4EAEC);
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-activity-scroll,


.rrcm-portal .rrcm-activity-scroll{
	flex: 1;
	max-height: 490px;
	overflow-y: auto;
	padding-right: 4px;
	scrollbar-width: thin;
	scrollbar-color: #D5CFCB transparent;
}

.rrcm-app .rrcm-activity-scroll::-webkit-scrollbar,


.rrcm-portal .rrcm-activity-scroll::-webkit-scrollbar{
	width: 5px;
}

.rrcm-app .rrcm-activity-scroll::-webkit-scrollbar-track,


.rrcm-portal .rrcm-activity-scroll::-webkit-scrollbar-track{
	background: transparent;
}

.rrcm-app .rrcm-activity-scroll::-webkit-scrollbar-thumb,


.rrcm-portal .rrcm-activity-scroll::-webkit-scrollbar-thumb{
	background: #D5CFCB;
	border-radius: 4px;
}

.rrcm-app .rrcm-activity-scroll::-webkit-scrollbar-thumb:hover,


.rrcm-portal .rrcm-activity-scroll::-webkit-scrollbar-thumb:hover{
	background: #B5ACA8;
}

.rrcm-app .rrcm-hub-pane,


.rrcm-portal .rrcm-hub-pane{
	width: 100%;
}

.rrcm-app .rrcm-hub-feed,


.rrcm-portal .rrcm-hub-feed{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.rrcm-app .rrcm-hub-item,


.rrcm-portal .rrcm-hub-item{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 9px 11px;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 6px;
	background: #FFFFFF;
	cursor: pointer;
	gap: 12px;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.rrcm-app .rrcm-hub-item:hover,


.rrcm-portal .rrcm-hub-item:hover,


.rrcm-app .rrcm-hub-item:focus,


.rrcm-portal .rrcm-hub-item:focus{
	border-color: #D8D2CD;
	background: var(--rrcm-surface-muted, #FDFCFC);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
	outline: none;
}

.rrcm-app .rrcm-hub-item-left,


.rrcm-portal .rrcm-hub-item-left{
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	flex: 1;
}

.rrcm-app .rrcm-hub-badge-icon,


.rrcm-portal .rrcm-hub-badge-icon{
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #E8F5E9;
	color: #007017;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: bold;
	flex-shrink: 0;
}

.rrcm-app .rrcm-hub-item-meta,


.rrcm-portal .rrcm-hub-item-meta{
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.rrcm-app .rrcm-hub-item-title,


.rrcm-portal .rrcm-hub-item-title{
	font-size: 12px;
	color: var(--rrcm-text, #1F1A1B);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: flex;
	align-items: center;
	gap: 4px;
}

.rrcm-app .rrcm-hub-item-dot,


.rrcm-portal .rrcm-hub-item-dot{
	color: var(--rrcm-text-faint, #A59B9E);
	font-size: 10px;
}

.rrcm-app .rrcm-hub-item-name,


.rrcm-portal .rrcm-hub-item-name,


.rrcm-app .rrcm-hub-item-ref,


.rrcm-portal .rrcm-hub-item-ref{
	color: var(--rrcm-text-muted, #6E6467);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rrcm-app .rrcm-hub-item-time,


.rrcm-portal .rrcm-hub-item-time{
	font-size: 10.5px;
	color: var(--rrcm-text-faint, #9E9497);
	margin-top: 1px;
}

.rrcm-app .rrcm-hub-item-right,


.rrcm-portal .rrcm-hub-item-right{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
	flex-shrink: 0;
}

.rrcm-app .rrcm-hub-item-val,


.rrcm-portal .rrcm-hub-item-val{
	font-size: 12.5px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
	line-height: 1.2;
}/* ==========================================================================
   11. Product Inventory Elevation: Filter Pills, Sorter & Smart Share
   ========================================================================== */



.rrcm-app .rrcm-filter-pills,




.rrcm-portal .rrcm-filter-pills{
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.rrcm-app .rrcm-filter-pill,


.rrcm-portal .rrcm-filter-pill{
	background: #FFF;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 999px;
	padding: 5px 12px;
	font-size: 12.5px;
	font-weight: 500;
	color: #4B4345;
	cursor: pointer;
	transition: all 0.15s ease;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	outline: none;
}

.rrcm-app .rrcm-filter-pill:hover,


.rrcm-portal .rrcm-filter-pill:hover{
	border-color: var(--rrcm-primary, #7A2B3D);
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-filter-pill--active,


.rrcm-portal .rrcm-filter-pill--active{
	background: var(--rrcm-primary, #7A2B3D);
	color: #FFF !important;
	border-color: var(--rrcm-primary, #7A2B3D) !important;
	font-weight: 600;
}

.rrcm-app .rrcm-filter-count,


.rrcm-portal .rrcm-filter-count{
	background: #ECE8E5;
	color: #6E6467;
	border-radius: 999px;
	padding: 1px 6px;
	font-size: 11px;
	font-weight: 600;
}

.rrcm-app .rrcm-filter-pill--active .rrcm-filter-count,


.rrcm-portal .rrcm-filter-pill--active .rrcm-filter-count{
	background: rgba(255, 255, 255, 0.25);
	color: #FFF;
}

.rrcm-app .rrcm-sorter-select,


.rrcm-portal .rrcm-sorter-select{
	height: 36px !important;
	min-width: 175px !important;
	max-width: 215px !important;
	width: auto !important;
	padding: 0 28px 0 10px !important;
	border: 1px solid var(--rrcm-border, #ECE8E5) !important;
	border-radius: 6px !important;
	font-size: 12.5px !important;
	color: #4B4345 !important;
	background: #FFF url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2210%22%20height%3D%226%22%20viewBox%3D%220%200%2010%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%201L5%205L9%201%22%20stroke%3D%22%236E6467%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat right 10px center !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer;
	outline: none;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rrcm-app .rrcm-sorter-select:focus,


.rrcm-portal .rrcm-sorter-select:focus{
	border-color: var(--rrcm-primary, #7A2B3D) !important;
	box-shadow: 0 0 0 2px var(--rrcm-primary-soft, #F4EAEC) !important;
}

@media (max-width: 680px) {
	.rrcm-app .rrcm-sorter-select,

	.rrcm-portal .rrcm-sorter-select{
		max-width: 100% !important;
		width: 100% !important;
	}
}

.rrcm-app .rrcm-btn--whatsapp,


.rrcm-portal .rrcm-btn--whatsapp{
	background: #25D366;
	color: #FFF !important;
	border: 1px solid #25D366;
	transition: background 0.15s ease;
}

.rrcm-app .rrcm-btn--whatsapp:hover,


.rrcm-portal .rrcm-btn--whatsapp:hover{
	background: #20BA5A;
	color: #FFF !important;
}/* --------------------------------------------------------------------------
   Customers & Orders Section: 4-Tile KPI Strip (UI Spec §51, §55)
   Matches My Products .rrcm-metrics scale and rhythm
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-kpi-grid,



.rrcm-portal .rrcm-kpi-grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.rrcm-app .rrcm-kpi-grid,

	.rrcm-portal .rrcm-kpi-grid{
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}

@media (max-width: 480px) {
	.rrcm-app .rrcm-kpi-grid,

	.rrcm-portal .rrcm-kpi-grid{
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

.rrcm-app .rrcm-kpi-card,


.rrcm-portal .rrcm-kpi-card{
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: var(--rrcm-radius-card, 6px);
	padding: 11px 13px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.rrcm-app .rrcm-kpi-card:hover,


.rrcm-portal .rrcm-kpi-card:hover{
	transform: translateY(-1px);
	box-shadow: 0 3px 8px rgba(122, 43, 61, 0.05);
}

.rrcm-app .rrcm-kpi-head,


.rrcm-portal .rrcm-kpi-head{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5px;
	gap: 6px;
}

.rrcm-app .rrcm-kpi-label,


.rrcm-portal .rrcm-kpi-label{
	font-size: 11.5px;
	font-weight: 500;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-kpi-val,


.rrcm-portal .rrcm-kpi-val{
	font-size: 21px;
	font-weight: 600;
	color: #1F191B;
	line-height: 1.2;
	letter-spacing: -0.015em;
	font-variant-numeric: tabular-nums;
}

.rrcm-app .rrcm-kpi-sub,


.rrcm-portal .rrcm-kpi-sub{
	font-size: 11px;
	color: var(--rrcm-text-faint, #9E9497);
	margin-top: 4px;
	line-height: 1.3;
}/* --------------------------------------------------------------------------
   Filter Pills & Toolbar
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-filter-pills-bar,



.rrcm-portal .rrcm-filter-pills-bar{
	padding: 10px 18px;
	border-bottom: 1px solid var(--rrcm-border, #ECE8E5);
	background: #FAF8F7;
}

.rrcm-app .rrcm-filter-pills,


.rrcm-portal .rrcm-filter-pills{
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.rrcm-app .rrcm-filter-pills::-webkit-scrollbar,


.rrcm-portal .rrcm-filter-pills::-webkit-scrollbar{
	display: none;
}

.rrcm-app .rrcm-filter-pill,


.rrcm-portal .rrcm-filter-pill,


.rrcm-app .rrcm-pill,


.rrcm-portal .rrcm-pill{
	border: 1px solid var(--rrcm-border, #ECE8E5);
	background: #FFFFFF;
	color: var(--rrcm-text-muted, #6E6467);
	font-size: 12.5px;
	font-weight: 500;
	border-radius: 999px;
	padding: 6px 14px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	transition: all 0.15s ease;
	font-family: inherit;
	line-height: 1.3;
	text-decoration: none;
	outline: none;
	box-shadow: none;
}

.rrcm-app .rrcm-filter-pill:hover,


.rrcm-portal .rrcm-filter-pill:hover,


.rrcm-app .rrcm-pill:hover,


.rrcm-portal .rrcm-pill:hover{
	border-color: #D5CFCB;
	color: #1F191B;
	background: #FAF8F7;
}

.rrcm-app .rrcm-filter-pill--active,


.rrcm-portal .rrcm-filter-pill--active,


.rrcm-app .rrcm-filter-pill.is-active,


.rrcm-portal .rrcm-filter-pill.is-active,


.rrcm-app .rrcm-pill.is-active,


.rrcm-portal .rrcm-pill.is-active{
	background: var(--rrcm-primary, #7A2B3D) !important;
	border-color: var(--rrcm-primary, #7A2B3D) !important;
	color: #FFFFFF !important;
	font-weight: 600;
}

.rrcm-app .rrcm-filter-pill--active .rrcm-pill-count,


.rrcm-portal .rrcm-filter-pill--active .rrcm-pill-count,


.rrcm-app .rrcm-filter-pill.is-active .rrcm-pill-count,


.rrcm-portal .rrcm-filter-pill.is-active .rrcm-pill-count,


.rrcm-app .rrcm-pill.is-active .rrcm-pill-count,


.rrcm-portal .rrcm-pill.is-active .rrcm-pill-count,


.rrcm-app .rrcm-filter-pill--active .rrcm-filter-count,


.rrcm-portal .rrcm-filter-pill--active .rrcm-filter-count,


.rrcm-app .rrcm-filter-pill.is-active .rrcm-filter-count,


.rrcm-portal .rrcm-filter-pill.is-active .rrcm-filter-count{
	background: rgba(255, 255, 255, 0.25) !important;
	color: #FFFFFF !important;
}

.rrcm-app .rrcm-pill-count,


.rrcm-portal .rrcm-pill-count,


.rrcm-app .rrcm-filter-count,


.rrcm-portal .rrcm-filter-count{
	display: inline-block;
	font-size: 11px;
	padding: 1px 6px;
	border-radius: 999px;
	background: #ECE8E5;
	color: #6E6467;
	font-weight: 600;
	line-height: 1.2;
}/* --------------------------------------------------------------------------
   Avatar Badge Circles
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-avatar,



.rrcm-portal .rrcm-avatar{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(122, 43, 61, 0.08);
	color: var(--rrcm-primary, #7A2B3D);
	font-weight: 700;
	flex-shrink: 0;
	user-select: none;
	letter-spacing: -0.5px;
}

.rrcm-app .rrcm-avatar--sm,


.rrcm-portal .rrcm-avatar--sm{
	width: 34px;
	height: 34px;
	font-size: 13px;
}

.rrcm-app .rrcm-avatar--lg,


.rrcm-portal .rrcm-avatar--lg{
	width: 52px;
	height: 52px;
	font-size: 20px;
	background: rgba(20, 108, 66, 0.1);
	color: #146C42;
}/* --------------------------------------------------------------------------
   Mobile Customer Touch Cards (UI Spec §79, §81)
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-customer-cards,



.rrcm-portal .rrcm-customer-cards{
	display: none;
	flex-direction: column;
	gap: 12px;
	padding: 14px;
}

.rrcm-app .rrcm-customer-card,


.rrcm-portal .rrcm-customer-card{
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 12px;
	padding: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
	cursor: pointer;
	transition: transform 0.1s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.rrcm-app .rrcm-customer-card:hover,


.rrcm-portal .rrcm-customer-card:hover{
	border-color: #D5CFCB;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.rrcm-app .rrcm-customer-card:active,


.rrcm-portal .rrcm-customer-card:active{
	transform: scale(0.99);
}

.rrcm-app .rrcm-customer-card-header,


.rrcm-portal .rrcm-customer-card-header{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
}

.rrcm-app .rrcm-customer-card-profile,


.rrcm-portal .rrcm-customer-card-profile{
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex: 1;
}

.rrcm-app .rrcm-customer-card-meta,


.rrcm-portal .rrcm-customer-card-meta{
	min-width: 0;
	flex: 1;
}

.rrcm-app .rrcm-customer-card-name,


.rrcm-portal .rrcm-customer-card-name{
	font-size: 15px;
	font-weight: 700;
	color: #1F191B;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rrcm-app .rrcm-customer-card-sub,


.rrcm-portal .rrcm-customer-card-sub{
	font-size: 11.5px;
	color: var(--rrcm-text-muted, #6E6467);
	margin-top: 2px;
}

.rrcm-app .rrcm-customer-card-body,


.rrcm-portal .rrcm-customer-card-body{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 12px;
}

.rrcm-app .rrcm-customer-card-contact,


.rrcm-portal .rrcm-customer-card-contact{
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-contact-icon,


.rrcm-portal .rrcm-contact-icon{
	font-size: 13px;
	opacity: 0.8;
}

.rrcm-app .rrcm-contact-link,


.rrcm-portal .rrcm-contact-link{
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.rrcm-app .rrcm-contact-link:hover,


.rrcm-portal .rrcm-contact-link:hover{
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-customer-card-metrics,


.rrcm-portal .rrcm-customer-card-metrics{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	background: #FAF8F7;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
	padding: 8px 10px;
	text-align: center;
	margin-bottom: 14px;
}

.rrcm-app .rrcm-card-metric-label,


.rrcm-portal .rrcm-card-metric-label{
	display: block;
	font-size: 10.5px;
	color: var(--rrcm-text-muted, #6E6467);
	margin-bottom: 2px;
}

.rrcm-app .rrcm-card-metric-val,


.rrcm-portal .rrcm-card-metric-val{
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: #1F191B;
}

.rrcm-app .rrcm-card-metric-val--sub,


.rrcm-portal .rrcm-card-metric-val--sub{
	font-size: 11.5px;
	font-weight: 500;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-customer-card-actions,


.rrcm-portal .rrcm-customer-card-actions{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	padding-top: 2px;
}/* --------------------------------------------------------------------------
   View Switcher & Quick Sorter Controls
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-view-toggle,



.rrcm-portal .rrcm-view-toggle{
	display: inline-flex;
	align-items: center;
	background: #FAF8F7;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
	padding: 2px;
	gap: 2px;
}

.rrcm-app .rrcm-view-toggle-btn,


.rrcm-portal .rrcm-view-toggle-btn{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--rrcm-text-muted, #6E6467);
	background: transparent;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
	line-height: 1;
}

.rrcm-app .rrcm-view-toggle-btn:hover,


.rrcm-portal .rrcm-view-toggle-btn:hover{
	color: #1F191B;
	background: rgba(0, 0, 0, 0.03);
}

.rrcm-app .rrcm-view-toggle-btn--active,


.rrcm-portal .rrcm-view-toggle-btn--active{
	background: #FFFFFF;
	color: var(--rrcm-primary, #7A2B3D);
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.rrcm-app .rrcm-sorter-wrap,


.rrcm-portal .rrcm-sorter-wrap{
	display: inline-flex;
	align-items: center;
}

.rrcm-app .rrcm-sorter-select,


.rrcm-portal .rrcm-sorter-select{
	height: 34px;
	padding: 0 32px 0 10px;
	font-size: 12.5px;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
	background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E6467' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 10px center;
	color: #1F191B;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.rrcm-app .rrcm-sorter-select:focus,


.rrcm-portal .rrcm-sorter-select:focus{
	outline: none;
	border-color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 0 0 2px rgba(122, 43, 61, 0.12);
}/* --------------------------------------------------------------------------
   Desktop Customer CRM Cards View (UI Spec §51–54)
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-customers-grid-view,



.rrcm-portal .rrcm-customers-grid-view{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
	padding: 18px 20px 24px;
}

.rrcm-app .rrcm-customers-view--hidden,


.rrcm-portal .rrcm-customers-view--hidden{
	display: none !important;
}

.rrcm-app .rrcm-customer-grid-card,


.rrcm-portal .rrcm-customer-grid-card{
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 12px;
	padding: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.rrcm-app .rrcm-customer-grid-card:hover,


.rrcm-portal .rrcm-customer-grid-card:hover{
	transform: translateY(-2px);
	border-color: #D5CFCB;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.rrcm-app .rrcm-customer-grid-header,


.rrcm-portal .rrcm-customer-grid-header{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
}

.rrcm-app .rrcm-customer-grid-profile,


.rrcm-portal .rrcm-customer-grid-profile{
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex: 1;
}

.rrcm-app .rrcm-customer-grid-meta,


.rrcm-portal .rrcm-customer-grid-meta{
	min-width: 0;
	flex: 1;
}

.rrcm-app .rrcm-customer-grid-name,


.rrcm-portal .rrcm-customer-grid-name{
	font-size: 14.5px;
	font-weight: 700;
	color: #1F191B;
	line-height: 1.25;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rrcm-app .rrcm-customer-grid-id,


.rrcm-portal .rrcm-customer-grid-id{
	font-size: 11px;
	color: var(--rrcm-text-muted, #6E6467);
	display: block;
	margin-top: 2px;
}

.rrcm-app .rrcm-customer-grid-status,


.rrcm-portal .rrcm-customer-grid-status{
	flex-shrink: 0;
}

.rrcm-app .rrcm-customer-grid-contact,


.rrcm-portal .rrcm-customer-grid-contact{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 12px;
}

.rrcm-app .rrcm-customer-grid-stats,


.rrcm-portal .rrcm-customer-grid-stats{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	background: #FAF8F7;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
	padding: 8px;
	text-align: center;
	margin-bottom: 14px;
}

.rrcm-app .rrcm-grid-stat-box,


.rrcm-portal .rrcm-grid-stat-box{
	min-width: 0;
}

.rrcm-app .rrcm-grid-stat-label,


.rrcm-portal .rrcm-grid-stat-label{
	display: block;
	font-size: 10px;
	color: var(--rrcm-text-muted, #6E6467);
	margin-bottom: 2px;
	text-transform: uppercase;
	letter-spacing: 0.2px;
}

.rrcm-app .rrcm-grid-stat-val,


.rrcm-portal .rrcm-grid-stat-val{
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #1F191B;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rrcm-app .rrcm-grid-stat-val--highlight,


.rrcm-portal .rrcm-grid-stat-val--highlight{
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-grid-stat-val--sub,


.rrcm-portal .rrcm-grid-stat-val--sub{
	font-size: 11px;
	font-weight: 500;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-customer-grid-footer,


.rrcm-portal .rrcm-customer-grid-footer{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--rrcm-border-subtle, #F3EFEF);
}

.rrcm-app .rrcm-customer-grid-quick-actions,


.rrcm-portal .rrcm-customer-grid-quick-actions{
	display: flex;
	align-items: center;
	gap: 4px;
}/* --------------------------------------------------------------------------
   Customer Detail Drawer Components
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-customer-drawer-hero,



.rrcm-portal .rrcm-customer-drawer-hero{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px;
	background: #FAF8F7;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 10px;
	margin-bottom: 18px;
}

.rrcm-app .rrcm-customer-drawer-actions,


.rrcm-portal .rrcm-customer-drawer-actions{
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}/* --------------------------------------------------------------------------
   Mobile Order Touch Cards (UI Spec §57, §79, §81)
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-orders-mobile-view,



.rrcm-portal .rrcm-orders-mobile-view{
	display: none;
	flex-direction: column;
	gap: 12px;
	padding: 14px;
}

.rrcm-app .rrcm-order-card,


.rrcm-portal .rrcm-order-card{
	background: #FFFFFF;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 12px;
	padding: 16px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
	cursor: pointer;
	transition: transform 0.1s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.rrcm-app .rrcm-order-card:hover,


.rrcm-portal .rrcm-order-card:hover{
	border-color: #D5CFCB;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.rrcm-app .rrcm-order-card:active,


.rrcm-portal .rrcm-order-card:active{
	transform: scale(0.99);
}

.rrcm-app .rrcm-order-card-header,


.rrcm-portal .rrcm-order-card-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.rrcm-app .rrcm-order-card-customer,


.rrcm-portal .rrcm-order-card-customer{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.rrcm-app .rrcm-order-card-fin-grid,


.rrcm-portal .rrcm-order-card-fin-grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	background: #FAF8F7;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
	padding: 10px 12px;
	margin-bottom: 14px;
}

.rrcm-app .rrcm-order-card-footer,


.rrcm-portal .rrcm-order-card-footer{
	padding-top: 2px;
}

.rrcm-app .rrcm-drawer-item-thumb,


.rrcm-portal .rrcm-drawer-item-thumb{
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--rrcm-border, #ECE8E5);
	flex-shrink: 0;
}/* --------------------------------------------------------------------------
   Responsive Switching Breakpoints
   -------------------------------------------------------------------------- */


@media (max-width: 768px) {
	.rrcm-app .rrcm-customers-desktop-view,

	.rrcm-portal .rrcm-customers-desktop-view,

	.rrcm-app .rrcm-orders-desktop-view,

	.rrcm-portal .rrcm-orders-desktop-view{
		display: none !important;
	}
	.rrcm-app .rrcm-customers-mobile-view,

	.rrcm-portal .rrcm-customers-mobile-view,

	.rrcm-app .rrcm-orders-mobile-view,

	.rrcm-portal .rrcm-orders-mobile-view{
		display: flex !important;
	}
}

@media (min-width: 769px) {
	.rrcm-app .rrcm-customers-desktop-view,

	.rrcm-portal .rrcm-customers-desktop-view,

	.rrcm-app .rrcm-orders-desktop-view,

	.rrcm-portal .rrcm-orders-desktop-view{
		display: block !important;
	}
	.rrcm-app .rrcm-customers-mobile-view,

	.rrcm-portal .rrcm-customers-mobile-view,

	.rrcm-app .rrcm-orders-mobile-view,

	.rrcm-portal .rrcm-orders-mobile-view{
		display: none !important;
	}
}/* Table Empty Row Unification (matches My Products empty table row) */

.rrcm-app .rrcm-table-empty-row td,


.rrcm-portal .rrcm-table-empty-row td{
	padding: 0 !important;
	border-bottom: none !important;
	background: transparent !important;
}

.rrcm-app .rrcm-table-empty-row:hover td,


.rrcm-portal .rrcm-table-empty-row:hover td{
	background-color: transparent !important;
}

.rrcm-app .rrcm-table-empty-row .rrcm-empty,


.rrcm-portal .rrcm-table-empty-row .rrcm-empty{
	padding: 32px 20px !important;
	text-align: center !important;
}

.rrcm-app .rrcm-table-empty-row .rrcm-empty .rrcm-empty-title,


.rrcm-portal .rrcm-table-empty-row .rrcm-empty .rrcm-empty-title,


.rrcm-app .rrcm-table-empty-row .rrcm-empty .rrcm-empty-text,


.rrcm-portal .rrcm-table-empty-row .rrcm-empty .rrcm-empty-text{
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}/* -------------------------------------------------------------------------
 * Orders section
 *
 * Replaces the inline style attributes the table and cards used to carry, so
 * the palette comes from the design tokens and a theme change reaches these
 * screens like every other one.
 * ---------------------------------------------------------------------- */



.rrcm-app .rrcm-sr-only,




.rrcm-portal .rrcm-sr-only{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.rrcm-app .rrcm-card-head--split,


.rrcm-portal .rrcm-card-head--split{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.rrcm-app .rrcm-card-head-title,


.rrcm-portal .rrcm-card-head-title{
	display: flex;
	align-items: center;
	gap: 8px;
}/* The toolbar mirrors the Products section: one compact row of controls in
   the card head, not a stack of labelled fields. Labels still exist for
   screen readers, they are just not painted (PRD 125). */


.rrcm-app .rrcm-card-head-tools,



.rrcm-portal .rrcm-card-head-tools{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.rrcm-app .rrcm-orders-toolbar,


.rrcm-portal .rrcm-orders-toolbar{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0;
}

.rrcm-app .rrcm-orders-toolbar .rrcm-search-box,


.rrcm-portal .rrcm-orders-toolbar .rrcm-search-box{
	min-width: 210px;
}

.rrcm-app .rrcm-daterange,


.rrcm-portal .rrcm-daterange{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 0 8px;
	height: 32px;
	background: var(--rrcm-surface, #FFFFFF);
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
}

.rrcm-app .rrcm-daterange:focus-within,


.rrcm-portal .rrcm-daterange:focus-within{
	border-color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-daterange-input,


.rrcm-portal .rrcm-daterange-input{
	border: 0;
	background: transparent;
	font-size: 12px;
	font-family: inherit;
	color: var(--rrcm-text, #1F1A1B);
	padding: 0;
	min-width: 104px;
	outline: none;
}

.rrcm-app .rrcm-daterange-sep,


.rrcm-portal .rrcm-daterange-sep{
	color: var(--rrcm-text-muted, #6E6467);
	font-size: 12px;
}

.rrcm-app .rrcm-cell-strong,


.rrcm-portal .rrcm-cell-strong{
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-cell-muted,


.rrcm-portal .rrcm-cell-muted{
	color: var(--rrcm-text-muted, #6E6467);
	font-size: 13px;
}

.rrcm-app .rrcm-cell-right,


.rrcm-portal .rrcm-cell-right{
	text-align: right;
}

.rrcm-app .rrcm-cell-actions,


.rrcm-portal .rrcm-cell-actions{
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.rrcm-app .rrcm-cell-person,


.rrcm-portal .rrcm-cell-person{
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.rrcm-app .rrcm-cell-person-meta,


.rrcm-portal .rrcm-cell-person-meta{
	min-width: 0;
}

.rrcm-app .rrcm-cell-name,


.rrcm-portal .rrcm-cell-name{
	font-weight: 600;
	font-size: 13.5px;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-cell-money-positive,


.rrcm-portal .rrcm-cell-money-positive{
	font-weight: 700;
	color: var(--rrcm-success-strong, #146C42);
}

.rrcm-app .rrcm-cell-money-positive .rrcm-cell-sub,


.rrcm-portal .rrcm-cell-money-positive .rrcm-cell-sub{
	font-weight: 500;
}

.rrcm-app .rrcm-truncate,


.rrcm-portal .rrcm-truncate{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rrcm-app .rrcm-avatar--xs,


.rrcm-portal .rrcm-avatar--xs{
	width: 28px;
	height: 28px;
	font-size: 11px;
	flex-shrink: 0;
}

.rrcm-app .rrcm-kpi-val--warning,


.rrcm-portal .rrcm-kpi-val--warning{
	color: var(--rrcm-warning-strong, #B45309);
}

.rrcm-app .rrcm-kpi-val--success,


.rrcm-portal .rrcm-kpi-val--success{
	color: var(--rrcm-success-strong, #146C42);
}

.rrcm-app .rrcm-kpi-val--primary,


.rrcm-portal .rrcm-kpi-val--primary{
	color: var(--rrcm-primary, #7A2B3D);
}/* A row that opens a drawer is focusable, so it needs a visible focus ring:
   a keyboard user has no pointer to tell them where they are (PRD 125). */


.rrcm-app .rrcm-table-clickable tbody tr[data-rrcm-order-row],



.rrcm-portal .rrcm-table-clickable tbody tr[data-rrcm-order-row],



.rrcm-app .rrcm-order-card[data-rrcm-order-row],



.rrcm-portal .rrcm-order-card[data-rrcm-order-row]{
	cursor: pointer;
}

.rrcm-app .rrcm-table-clickable tbody tr[data-rrcm-order-row]:focus-visible,


.rrcm-portal .rrcm-table-clickable tbody tr[data-rrcm-order-row]:focus-visible,


.rrcm-app .rrcm-order-card[data-rrcm-order-row]:focus-visible,


.rrcm-portal .rrcm-order-card[data-rrcm-order-row]:focus-visible{
	outline: 2px solid var(--rrcm-primary, #7A2B3D);
	outline-offset: -2px;
}

.rrcm-app .rrcm-order-card-num,


.rrcm-portal .rrcm-order-card-num{
	font-weight: 700;
	font-size: 16px;
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-order-card-date,


.rrcm-portal .rrcm-order-card-date{
	font-size: 12px;
	color: var(--rrcm-text-muted, #6E6467);
	margin-left: 6px;
}

.rrcm-app .rrcm-card-metric-row,


.rrcm-portal .rrcm-card-metric-row{
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}

.rrcm-app .rrcm-empty--error .rrcm-empty-icon,


.rrcm-portal .rrcm-empty--error .rrcm-empty-icon{
	color: var(--rrcm-danger, #A62620);
	background: var(--rrcm-danger-soft, #FCE8E6);
}

.rrcm-app .rrcm-drawer-loading,


.rrcm-portal .rrcm-drawer-loading{
	padding: 40px 20px;
	text-align: center;
	color: var(--rrcm-text-muted, #6E6467);
}

@media (max-width: 782px) {
	.rrcm-app .rrcm-card-head-tools,

	.rrcm-portal .rrcm-card-head-tools,

	.rrcm-app .rrcm-orders-toolbar,

	.rrcm-portal .rrcm-orders-toolbar{
		width: 100%;
	}

	.rrcm-app .rrcm-orders-toolbar .rrcm-search-box,


	.rrcm-portal .rrcm-orders-toolbar .rrcm-search-box{
		flex: 1 1 100%;
		min-width: 0;
	}

	.rrcm-app .rrcm-daterange,


	.rrcm-portal .rrcm-daterange{
		flex: 1 1 auto;
	}

	.rrcm-app .rrcm-orders-toolbar .rrcm-sorter-select,


	.rrcm-portal .rrcm-orders-toolbar .rrcm-sorter-select{
		flex: 1 1 auto;
	}/* Apply and Export are the two things a thumb reaches for; give each a
	   full-width target rather than leaving them stranded on half-empty
	   rows. */

	
	.rrcm-app .rrcm-orders-toolbar .rrcm-btn,


	
	.rrcm-portal .rrcm-orders-toolbar .rrcm-btn,


	
	.rrcm-app .rrcm-card-head-tools > form .rrcm-btn,


	
	.rrcm-portal .rrcm-card-head-tools > form .rrcm-btn{
		flex: 1 1 100%;
		justify-content: center;
	}

	.rrcm-app .rrcm-card-head-tools > .rrcm-inlineform,


	.rrcm-portal .rrcm-card-head-tools > .rrcm-inlineform{
		display: flex;
		width: 100%;
	}
}/* -------------------------------------------------------------------------
 * Commissions section
 * ---------------------------------------------------------------------- *//* PRD 68 asks for five summary figures, not four; the shared four-up KPI grid
   would leave one card orphaned on its own row at most widths. */




.rrcm-app .rrcm-kpi-grid--five,





.rrcm-portal .rrcm-kpi-grid--five{
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1200px) {
	.rrcm-app .rrcm-kpi-grid--five,

	.rrcm-portal .rrcm-kpi-grid--five{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.rrcm-app .rrcm-kpi-grid--five,

	.rrcm-portal .rrcm-kpi-grid--five{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.rrcm-app .rrcm-kpi-grid--five,

	.rrcm-portal .rrcm-kpi-grid--five{
		grid-template-columns: 1fr;
	}
}/* A currency-aware card holds one line per currency, so the single large
   figure of the other KPI cards has to give way to a readable stack. */


.rrcm-app .rrcm-kpi-val--stacked,



.rrcm-portal .rrcm-kpi-val--stacked{
	font-size: 17px;
	line-height: 1.35;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.rrcm-app .rrcm-kpi-val--danger,


.rrcm-portal .rrcm-kpi-val--danger{
	color: var(--rrcm-danger, #A62620);
}

.rrcm-app .rrcm-kpi-val--neutral,


.rrcm-portal .rrcm-kpi-val--neutral{
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-cell-money-negative,


.rrcm-portal .rrcm-cell-money-negative{
	color: var(--rrcm-danger, #A62620);
}

.rrcm-app .rrcm-table-clickable tbody tr[data-rrcm-commission-row],


.rrcm-portal .rrcm-table-clickable tbody tr[data-rrcm-commission-row],


.rrcm-app .rrcm-order-card[data-rrcm-commission-row],


.rrcm-portal .rrcm-order-card[data-rrcm-commission-row]{
	cursor: pointer;
}

.rrcm-app .rrcm-table-clickable tbody tr[data-rrcm-commission-row]:focus-visible,


.rrcm-portal .rrcm-table-clickable tbody tr[data-rrcm-commission-row]:focus-visible,


.rrcm-app .rrcm-order-card[data-rrcm-commission-row]:focus-visible,


.rrcm-portal .rrcm-order-card[data-rrcm-commission-row]:focus-visible{
	outline: 2px solid var(--rrcm-primary, #7A2B3D);
	outline-offset: -2px;
}/* -------------------------------------------------------------------------
 * Statement section
 * ---------------------------------------------------------------------- *//* Screen default. The print stylesheet flips this to block; it used to be an
   inline style attribute on the element, which the section no longer carries. */




.rrcm-app .rrcm-print-header,





.rrcm-portal .rrcm-print-header{
	display: none;
}

.rrcm-app .rrcm-statement-brought-forward td,


.rrcm-portal .rrcm-statement-brought-forward td,


.rrcm-app .rrcm-statement-closing td,


.rrcm-portal .rrcm-statement-closing td{
	font-weight: 700;
	background: var(--rrcm-surface-muted, #FAF8F7);
}

.rrcm-app .rrcm-statement-brought-forward td,


.rrcm-portal .rrcm-statement-brought-forward td{
	color: var(--rrcm-text-muted, #6E6467);
	font-weight: 600;
}/* -------------------------------------------------------------------------
 * Profile section
 * ---------------------------------------------------------------------- */



.rrcm-app .rrcm-profile-status-summary,




.rrcm-portal .rrcm-profile-status-summary{
	margin: 0;
	padding: 0 20px 14px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-permission-list,


.rrcm-portal .rrcm-permission-list{
	list-style: none;
	margin: 0;
	padding: 4px 20px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rrcm-app .rrcm-permission,


.rrcm-portal .rrcm-permission{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
}/* The tick and cross are decorative; the state is also spelled out in text
   for screen readers, and carried by more than colour alone. */


.rrcm-app .rrcm-permission-mark,



.rrcm-portal .rrcm-permission-mark{
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 11px;
	font-weight: 700;
	flex-shrink: 0;
}

.rrcm-app .rrcm-permission--yes .rrcm-permission-mark,


.rrcm-portal .rrcm-permission--yes .rrcm-permission-mark{
	background: var(--rrcm-success-soft, #EAF5EA);
	color: var(--rrcm-success-strong, #146C42);
}

.rrcm-app .rrcm-permission--no .rrcm-permission-mark,


.rrcm-portal .rrcm-permission--no .rrcm-permission-mark{
	background: var(--rrcm-danger-soft, #FCE8E6);
	color: var(--rrcm-danger, #A62620);
}

.rrcm-app .rrcm-permission--no .rrcm-permission-label,


.rrcm-portal .rrcm-permission--no .rrcm-permission-label{
	color: var(--rrcm-text-muted, #6E6467);
	text-decoration: line-through;
	text-decoration-color: var(--rrcm-border, #ECE8E5);
}/* The shared .rrcm-footnote is designed to sit outside a card, so it carries
   almost no horizontal padding. Inside one it has to line up with the card's
   own content instead of running into the border. */


.rrcm-app .rrcm-card > .rrcm-footnote,



.rrcm-portal .rrcm-card > .rrcm-footnote{
	margin: 0;
	padding: 0 20px 16px;
	border-top: 1px solid var(--rrcm-border, #ECE8E5);
	padding-top: 12px;
	line-height: 1.5;
}

.rrcm-app .rrcm-payout-destination-form,


.rrcm-portal .rrcm-payout-destination-form{
	padding: 0 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.rrcm-app .rrcm-payout-fieldrow,


.rrcm-portal .rrcm-payout-fieldrow{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.rrcm-app .rrcm-payout-method-fields,


.rrcm-portal .rrcm-payout-method-fields{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.rrcm-app .rrcm-payout-method-fields[hidden],


.rrcm-portal .rrcm-payout-method-fields[hidden]{
	display: none;
}

.rrcm-app .rrcm-payout-destination-footer,


.rrcm-portal .rrcm-payout-destination-footer{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.rrcm-app .rrcm-payout-destination-footer .rrcm-footnote,


.rrcm-portal .rrcm-payout-destination-footer .rrcm-footnote{
	margin: 0;
}

.rrcm-app .rrcm-payout-destination-status,


.rrcm-portal .rrcm-payout-destination-status{
	min-height: 20px;
	font-size: 13px;
	font-weight: 600;
}

.rrcm-app .rrcm-payout-destination-status.is-success,


.rrcm-portal .rrcm-payout-destination-status.is-success{
	color: var(--rrcm-success-strong, #146C42);
}

.rrcm-app .rrcm-payout-destination-status.is-error,


.rrcm-portal .rrcm-payout-destination-status.is-error{
	color: var(--rrcm-danger, #A62620);
}

.rrcm-app .rrcm-payout-request-card,


.rrcm-portal .rrcm-payout-request-card{
	margin-bottom: 20px;
}

.rrcm-app .rrcm-payout-request-grid,


.rrcm-portal .rrcm-payout-request-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 12px;
	padding: 0 20px 20px;
}

.rrcm-app .rrcm-payout-request-item,


.rrcm-portal .rrcm-payout-request-item{
	border: 1px solid var(--rrcm-border, #ECE8E5);
	border-radius: 8px;
	padding: 14px;
	background: var(--rrcm-surface-muted, #FAF8F7);
}

.rrcm-app .rrcm-payout-request-item__head,


.rrcm-portal .rrcm-payout-request-item__head,


.rrcm-app .rrcm-payout-request-amounts,


.rrcm-portal .rrcm-payout-request-amounts,


.rrcm-app .rrcm-payout-request-cancel,


.rrcm-portal .rrcm-payout-request-cancel,


.rrcm-app .rrcm-payout-request-create,


.rrcm-portal .rrcm-payout-request-create{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.rrcm-app .rrcm-payout-request-item__head h3,


.rrcm-portal .rrcm-payout-request-item__head h3{
	margin: 0;
	font-size: 15px;
}

.rrcm-app .rrcm-payout-request-amounts,


.rrcm-portal .rrcm-payout-request-amounts{
	align-items: flex-start;
	margin: 16px 0;
}

.rrcm-app .rrcm-payout-request-amounts div,


.rrcm-portal .rrcm-payout-request-amounts div{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.rrcm-app .rrcm-payout-request-amounts span,


.rrcm-portal .rrcm-payout-request-amounts span,


.rrcm-app .rrcm-payout-request-hint,


.rrcm-portal .rrcm-payout-request-hint{
	font-size: 12px;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-payout-request-amounts strong,


.rrcm-portal .rrcm-payout-request-amounts strong{
	font-size: 15px;
	color: var(--rrcm-text, #2D2528);
}

.rrcm-app .rrcm-payout-request-state,


.rrcm-portal .rrcm-payout-request-state{
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 12px;
}

.rrcm-app .rrcm-payout-request-state.is-pending,


.rrcm-portal .rrcm-payout-request-state.is-pending{
	color: var(--rrcm-warning-strong, #8A5A00);
}

.rrcm-app .rrcm-payout-request-state.is-declined,


.rrcm-portal .rrcm-payout-request-state.is-declined,


.rrcm-app .rrcm-payout-request-status.is-error,


.rrcm-portal .rrcm-payout-request-status.is-error{
	color: var(--rrcm-danger, #A62620);
}

.rrcm-app .rrcm-payout-request-status,


.rrcm-portal .rrcm-payout-request-status{
	min-height: 20px;
	font-size: 12px;
	font-weight: 600;
}

.rrcm-app .rrcm-payout-request-status.is-success,


.rrcm-portal .rrcm-payout-request-status.is-success{
	color: var(--rrcm-success-strong, #146C42);
}

.rrcm-app .rrcm-payout-request-hint,


.rrcm-portal .rrcm-payout-request-hint{
	margin: 8px 0 0;
}

@media (max-width: 640px) {
	.rrcm-app .rrcm-payout-fieldrow,

	.rrcm-portal .rrcm-payout-fieldrow{
		grid-template-columns: 1fr;
	}

	.rrcm-app .rrcm-payout-destination-footer,


	.rrcm-portal .rrcm-payout-destination-footer{
		align-items: stretch;
		flex-direction: column;
	}

	.rrcm-app .rrcm-payout-request-grid,


	.rrcm-portal .rrcm-payout-request-grid{
		grid-template-columns: 1fr;
		padding: 0 14px 14px;
	}

	.rrcm-app .rrcm-payout-request-amounts,


	.rrcm-portal .rrcm-payout-request-amounts{
		align-items: stretch;
		flex-direction: column;
	}

	.rrcm-app .rrcm-payout-request-create,


	.rrcm-portal .rrcm-payout-request-create,


	.rrcm-app .rrcm-payout-request-cancel,


	.rrcm-portal .rrcm-payout-request-cancel{
		align-items: flex-start;
		flex-direction: column;
	}
}/* --------------------------------------------------------------------------
   Activity feed (PRD 148, UI Spec 155)

   The bell sits in the topbar and the panel is anchored to it. The count is
   absent rather than zero: a badge showing "0" draws the eye for nothing.
   -------------------------------------------------------------------------- */



.rrcm-app .rrcm-feed,




.rrcm-portal .rrcm-feed{ position: relative; }

.rrcm-app .rrcm-feed-bell,


.rrcm-portal .rrcm-feed-bell{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding-inline: 9px;
}

.rrcm-app .rrcm-feed-count,


.rrcm-portal .rrcm-feed-count{
	display: inline-block;
	min-width: 17px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--rrcm-primary, #7A2B3D);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
}

.rrcm-app .rrcm-feed-panel,


.rrcm-portal .rrcm-feed-panel{
	position: absolute;
	inset-inline-end: 0;
	top: calc(100% + 6px);
	z-index: 40;
	width: min(360px, calc(100vw - 32px));
	max-height: 60vh;
	overflow-y: auto;
	background: var(--rrcm-surface, #fff);
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.rrcm-app .rrcm-feed-head,


.rrcm-portal .rrcm-feed-head{
	padding: 11px 14px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	font-size: 13px;
}

.rrcm-app .rrcm-feed-empty,


.rrcm-portal .rrcm-feed-empty{
	margin: 0;
	padding: 22px 14px;
	color: var(--rrcm-text-muted, #6B6260);
	font-size: 13px;
	text-align: center;
}

.rrcm-app .rrcm-feed-list,


.rrcm-portal .rrcm-feed-list{
	margin: 0;
	padding: 0;
	list-style: none;
}

.rrcm-app .rrcm-feed-item + .rrcm-feed-item,


.rrcm-portal .rrcm-feed-item + .rrcm-feed-item{ border-top: 1px solid var(--rrcm-border-soft, #F0EBEA); }

.rrcm-app .rrcm-feed-item a,


.rrcm-portal .rrcm-feed-item a{
	display: block;
	padding: 11px 14px;
	color: inherit;
	text-decoration: none;
}

.rrcm-app .rrcm-feed-item a:hover,


.rrcm-portal .rrcm-feed-item a:hover,


.rrcm-app .rrcm-feed-item a:focus-visible,


.rrcm-portal .rrcm-feed-item a:focus-visible{ background: var(--rrcm-surface-sunken, #FAF8F7); }/* Unread is carried by weight and a marker, never by colour alone. */


.rrcm-app .rrcm-feed-item.is-unread a,



.rrcm-portal .rrcm-feed-item.is-unread a{ position: relative; }

.rrcm-app .rrcm-feed-item.is-unread .rrcm-feed-title,


.rrcm-portal .rrcm-feed-item.is-unread .rrcm-feed-title{ font-weight: 700; }

.rrcm-app .rrcm-feed-item.is-unread .rrcm-feed-title::before,


.rrcm-portal .rrcm-feed-item.is-unread .rrcm-feed-title::before{
	content: "●";
	margin-inline-end: 6px;
	color: var(--rrcm-primary, #7A2B3D);
	font-size: 9px;
	vertical-align: middle;
}

.rrcm-app .rrcm-feed-title,


.rrcm-portal .rrcm-feed-title{
	display: block;
	font-size: 13px;
	line-height: 1.4;
}

.rrcm-app .rrcm-feed-meta,


.rrcm-portal .rrcm-feed-meta,


.rrcm-app .rrcm-feed-when,


.rrcm-portal .rrcm-feed-when{
	display: block;
	color: var(--rrcm-text-muted, #6B6260);
	font-size: 12px;
}

.rrcm-app .rrcm-feed-when,


.rrcm-portal .rrcm-feed-when{ margin-top: 2px; font-size: 11px; }/* Credential handover: the no-email switch on the Add Customer form, and the
   one-time card that follows it (PRD 150, UI Spec 159). */


.rrcm-app .rrcm-checkline,



.rrcm-portal .rrcm-checkline{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 500;
	cursor: pointer;
}
.rrcm-app .rrcm-checkline input[type="checkbox"],

.rrcm-portal .rrcm-checkline input[type="checkbox"]{
	width: 16px;
	height: 16px;
	accent-color: var(--rrcm-primary, #7A2B3D);
	cursor: pointer;
}
.rrcm-app .rrcm-handover-list dt,

.rrcm-portal .rrcm-handover-list dt{
	font-weight: 500;
}
.rrcm-app .rrcm-handover-list dd,

.rrcm-portal .rrcm-handover-list dd{
	word-break: break-all;
}/* The reseller hands this over on paper, so printing the page must produce the
   credential and nothing else. */


@media print{
	.rrcm-app body.rrcm-printing-handover *,

	.rrcm-portal body.rrcm-printing-handover *{ visibility: hidden; }
	.rrcm-app body.rrcm-printing-handover .rrcm-handover,

	.rrcm-portal body.rrcm-printing-handover .rrcm-handover,

	.rrcm-app body.rrcm-printing-handover .rrcm-handover *,

	.rrcm-portal body.rrcm-printing-handover .rrcm-handover *{ visibility: visible; }
	.rrcm-app body.rrcm-printing-handover .rrcm-handover,

	.rrcm-portal body.rrcm-printing-handover .rrcm-handover{
		position: absolute;
		inset: 0 auto auto 0;
		width: 100%;
		border: 0;
		background: #fff;
	}
	.rrcm-app body.rrcm-printing-handover .rrcm-copybox-btn,

	.rrcm-portal body.rrcm-printing-handover .rrcm-copybox-btn{ display: none; }
}/* New Order screen (UI Spec 161). A full screen, not a drawer: the review has
   to be visible at the same time as what is being reviewed. */


.rrcm-app .rrcm-neworder-lines,



.rrcm-portal .rrcm-neworder-lines{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 14px 0 12px;
}
.rrcm-app .rrcm-neworder-line,

.rrcm-portal .rrcm-neworder-line{
	display: grid;
	grid-template-columns: 1fr 110px 36px;
	gap: 10px;
	align-items: end;
	padding: 12px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 10px;
	background: var(--rrcm-surface-muted, #FAF8F7);
}
.rrcm-app .rrcm-neworder-line .rrcm-field,

.rrcm-portal .rrcm-neworder-line .rrcm-field{ margin: 0; }
.rrcm-app .rrcm-neworder-remove,

.rrcm-portal .rrcm-neworder-remove{
	height: 38px;
	padding: 0;
	font-size: 20px;
	line-height: 1;
	color: var(--rrcm-text-muted, #6E6467);
}
.rrcm-app .rrcm-neworder-review,

.rrcm-portal .rrcm-neworder-review{
	margin-top: 16px;
	padding: 12px 14px;
	border-left: 3px solid var(--rrcm-primary, #7A2B3D);
	background: var(--rrcm-surface-muted, #FAF8F7);
	border-radius: 0 8px 8px 0;
	font-size: 13px;
	color: var(--rrcm-text-muted, #6E6467);
}
.rrcm-app .rrcm-neworder-review p,

.rrcm-portal .rrcm-neworder-review p{ margin: 0; }
.rrcm-app .rrcm-neworder-actions,

.rrcm-portal .rrcm-neworder-actions{
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}
@media (max-width: 640px){
	.rrcm-app .rrcm-neworder-line,

	.rrcm-portal .rrcm-neworder-line{
		grid-template-columns: 1fr 90px 32px;
		padding: 10px;
	}
	.rrcm-app .rrcm-neworder-actions,

	.rrcm-portal .rrcm-neworder-actions{ flex-direction: column-reverse; }
	.rrcm-app .rrcm-neworder-actions .rrcm-btn,

	.rrcm-portal .rrcm-neworder-actions .rrcm-btn{ width: 100%; }
}/* What a partner's customer sees where an add-to-cart button would be
   (UI Spec 158). Stated, not implied — and never styled as an error, because
   nothing has gone wrong. */


.rrcm-app .rrcm-storefront-unavailable,



.rrcm-portal .rrcm-storefront-unavailable{
	margin: 12px 0 18px;
	padding: 12px 14px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-left: 3px solid var(--rrcm-primary, #7A2B3D);
	border-radius: 0 8px 8px 0;
	background: var(--rrcm-surface-muted, #FAF8F7);
	font-size: 14px;
	font-weight: 600;
	color: var(--rrcm-text, #1F1A1B);
	line-height: 1.5;
}
.rrcm-app .rrcm-storefront-unavailable span,

.rrcm-portal .rrcm-storefront-unavailable span{
	font-weight: 400;
	font-size: 13px;
	color: var(--rrcm-text-muted, #6E6467);
}/* A payout's deductions, under the figure the partner actually received
   (PRD 156, UI Spec 163). */


.rrcm-app .rrcm-payout-deduction,



.rrcm-portal .rrcm-payout-deduction{
	display: block;
	font-size: 11.5px;
	color: var(--rrcm-text-muted, #6E6467);
	line-height: 1.4;
}/* ---------------------------------------------------------------------------
   The partner's handbook (Docs\Handbook rendered by Help_Section).

   Same shape as the operator's User Guide, deliberately: contents down the
   left, one chapter at a time on the right. A reseller who has been shown the
   admin screen once should not have to learn a second way of reading the same
   text, and twelve chapters stacked open is a wall nobody scrolls.
   -------------------------------------------------------------------------*/



.rrcm-app .rrcm-handbook-head,




.rrcm-portal .rrcm-handbook-head{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	padding-bottom: 14px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
}
.rrcm-app .rrcm-handbook-head-text,

.rrcm-portal .rrcm-handbook-head-text{ flex: 1 1 320px; min-width: 0; }
.rrcm-app .rrcm-handbook-heading,

.rrcm-portal .rrcm-handbook-heading{
	margin: 0 0 4px;
	font-size: 18px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
}
.rrcm-app .rrcm-handbook-sub,

.rrcm-portal .rrcm-handbook-sub{
	margin: 0;
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--rrcm-text-muted, #6E6467);
}
.rrcm-app .rrcm-handbook-print,

.rrcm-portal .rrcm-handbook-print{ flex: 0 0 auto; }

.rrcm-app .rrcm-handbook-reader,


.rrcm-portal .rrcm-handbook-reader{
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	width: 100%;
}/* The chapter fills the column it is in. Prose inside it is still held to a
   reading measure, but the card itself should not leave half the dashboard
   empty. */

.rrcm-app .rrcm-handbook-panels,


.rrcm-portal .rrcm-handbook-panels{ min-width: 0; }/* ---- contents rail ---- */



.rrcm-app .rrcm-handbook-index,




.rrcm-portal .rrcm-handbook-index{
	position: sticky;
	top: 16px;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 12px 8px;
}
.rrcm-app .rrcm-handbook-index-label,

.rrcm-portal .rrcm-handbook-index-label{
	margin: 0 0 8px;
	padding: 0 10px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--rrcm-text-muted, #6E6467);
}
.rrcm-app .rrcm-handbook-index-list,

.rrcm-portal .rrcm-handbook-index-list{
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.rrcm-app .rrcm-handbook-index-item,

.rrcm-portal .rrcm-handbook-index-item{
	display: flex;
	align-items: flex-start;
	gap: 9px;
	width: 100%;
	padding: 8px 10px;
	border: 0;
	border-left: 3px solid transparent;
	border-radius: 6px;
	background: transparent;
	text-align: left;
	font-family: inherit;
	font-size: 13px;
	line-height: 1.4;
	color: var(--rrcm-text, #1F1A1B);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.rrcm-app .rrcm-handbook-index-item:hover,

.rrcm-portal .rrcm-handbook-index-item:hover{ background: var(--rrcm-surface-muted, #FAF8F7); }
.rrcm-app .rrcm-handbook-index-item.is-active,

.rrcm-portal .rrcm-handbook-index-item.is-active{
	background: var(--rrcm-surface-muted, #FAF8F7);
	border-left-color: var(--rrcm-primary, #7A2B3D);
	color: var(--rrcm-primary, #7A2B3D);
	font-weight: 600;
}
.rrcm-app .rrcm-handbook-index-num,

.rrcm-portal .rrcm-handbook-index-num{
	flex: 0 0 auto;
	min-width: 1.5em;
	line-height: 1.45;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--rrcm-text-faint, #9A8F91);
}
.rrcm-app .rrcm-handbook-index-item.is-active .rrcm-handbook-index-num,

.rrcm-portal .rrcm-handbook-index-item.is-active .rrcm-handbook-index-num{ color: var(--rrcm-primary, #7A2B3D); }/* A contents entry wraps to a second line rather than being cut off. An index
   whose entries cannot be read is not an index. */

.rrcm-app .rrcm-handbook-index-title,


.rrcm-portal .rrcm-handbook-index-title{
	flex: 1 1 auto;
	min-width: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.rrcm-app .rrcm-handbook-index-badge,

.rrcm-portal .rrcm-handbook-index-badge{
	flex: 0 0 auto;
	align-self: flex-start;
	margin-top: 1px;
	white-space: nowrap;
	font-size: 9.5px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 10px;
	background: var(--rrcm-border, #E5DFDE);
	color: var(--rrcm-text-muted, #6E6467);
}/* ---- the chapter ---- */



.rrcm-app .rrcm-handbook-article,




.rrcm-portal .rrcm-handbook-article{ padding: 22px 24px; }
.rrcm-app .rrcm-handbook-article[hidden],

.rrcm-portal .rrcm-handbook-article[hidden]{ display: none; }

.rrcm-app .rrcm-handbook-article-head,


.rrcm-portal .rrcm-handbook-article-head{
	padding-bottom: 14px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
}
.rrcm-app .rrcm-handbook-eyebrow,

.rrcm-portal .rrcm-handbook-eyebrow{
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}
.rrcm-app .rrcm-handbook-category,

.rrcm-portal .rrcm-handbook-category{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--rrcm-primary, #7A2B3D);
}
.rrcm-app .rrcm-handbook-dot,

.rrcm-portal .rrcm-handbook-dot{ color: var(--rrcm-border, #E5DFDE); }
.rrcm-app .rrcm-handbook-en,

.rrcm-portal .rrcm-handbook-en{
	font-size: 10.5px;
	padding: 2px 6px;
	border-radius: 4px;
	background: var(--rrcm-surface-muted, #FAF8F7);
	color: var(--rrcm-text-muted, #6E6467);
}
.rrcm-app .rrcm-handbook-article-title,

.rrcm-portal .rrcm-handbook-article-title{
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--rrcm-text, #1F1A1B);
}
.rrcm-app .rrcm-handbook-article-num,

.rrcm-portal .rrcm-handbook-article-num{ color: var(--rrcm-primary, #7A2B3D); }
.rrcm-app .rrcm-handbook-lede,

.rrcm-portal .rrcm-handbook-lede{
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-handbook-h4,


.rrcm-portal .rrcm-handbook-h4{
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 700;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-handbook-steps,


.rrcm-portal .rrcm-handbook-steps{
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	counter-reset: rrcm-hb-step;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.rrcm-app .rrcm-handbook-steps > li,

.rrcm-portal .rrcm-handbook-steps > li{
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	column-gap: 12px;
	row-gap: 2px;
	padding: 11px 13px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 9px;
	background: var(--rrcm-surface-muted, #FAF8F7);
}/* The title and the body are two elements, so both are told to sit in the
   second column. Without this the body wraps onto a new row inside the 26px
   number column and every line holds one character. */

.rrcm-app .rrcm-handbook-steps > li > b,


.rrcm-portal .rrcm-handbook-steps > li > b,


.rrcm-app .rrcm-handbook-steps > li > span,


.rrcm-portal .rrcm-handbook-steps > li > span{ grid-column: 2; }
.rrcm-app .rrcm-handbook-steps > li::before,

.rrcm-portal .rrcm-handbook-steps > li::before{
	counter-increment: rrcm-hb-step;
	content: counter(rrcm-hb-step);
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--rrcm-primary, #7A2B3D);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
}
.rrcm-app .rrcm-handbook-steps b,

.rrcm-portal .rrcm-handbook-steps b{
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--rrcm-text, #1F1A1B);
	margin-bottom: 2px;
}
.rrcm-app .rrcm-handbook-steps span,

.rrcm-portal .rrcm-handbook-steps span{
	display: block;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-handbook-tablewrap,


.rrcm-portal .rrcm-handbook-tablewrap{ margin: 0 0 18px; }
.rrcm-app .rrcm-handbook-table,

.rrcm-portal .rrcm-handbook-table{ font-size: 13px; }

.rrcm-app .rrcm-handbook-rules,


.rrcm-portal .rrcm-handbook-rules{
	margin: 0 0 18px;
	padding: 13px 15px;
	border-left: 3px solid var(--rrcm-primary, #7A2B3D);
	border-radius: 0 8px 8px 0;
	background: var(--rrcm-surface-muted, #FAF8F7);
}
.rrcm-app .rrcm-handbook-rules-label,

.rrcm-portal .rrcm-handbook-rules-label{
	margin: 0 0 7px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--rrcm-primary, #7A2B3D);
}
.rrcm-app .rrcm-handbook-rules ul,

.rrcm-portal .rrcm-handbook-rules ul{
	margin: 0;
	padding-left: 17px;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.rrcm-app .rrcm-handbook-rules li,

.rrcm-portal .rrcm-handbook-rules li{
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-handbook-faqs,


.rrcm-portal .rrcm-handbook-faqs{ }
.rrcm-app .rrcm-handbook-faq,

.rrcm-portal .rrcm-handbook-faq{
	padding: 10px 0;
	border-top: 1px solid var(--rrcm-border, #E5DFDE);
}
.rrcm-app .rrcm-handbook-faq-q,

.rrcm-portal .rrcm-handbook-faq-q{
	margin: 0 0 3px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--rrcm-text, #1F1A1B);
}
.rrcm-app .rrcm-handbook-faq-a,

.rrcm-portal .rrcm-handbook-faq-a{
	margin: 0;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--rrcm-text-muted, #6E6467);
}

.rrcm-app .rrcm-handbook-action,


.rrcm-portal .rrcm-handbook-action{ margin: 18px 0 0; }
.rrcm-app .rrcm-handbook-foot,

.rrcm-portal .rrcm-handbook-foot{ margin-top: 12px; }

@media (max-width: 900px){
	.rrcm-app .rrcm-handbook-reader,

	.rrcm-portal .rrcm-handbook-reader{ grid-template-columns: minmax(0, 1fr); }
	.rrcm-app .rrcm-handbook-index,

	.rrcm-portal .rrcm-handbook-index{ position: static; }
	.rrcm-app .rrcm-handbook-index-list,

	.rrcm-portal .rrcm-handbook-index-list{
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 2px 6px;
	}
}
@media (max-width: 640px){
	.rrcm-app .rrcm-handbook-head,

	.rrcm-portal .rrcm-handbook-head{ flex-direction: column; gap: 12px; }
	.rrcm-app .rrcm-handbook-print,

	.rrcm-portal .rrcm-handbook-print{ width: 100%; }
	.rrcm-app .rrcm-handbook-article,

	.rrcm-portal .rrcm-handbook-article{ padding: 18px 16px; }
	.rrcm-app .rrcm-handbook-article-title,

	.rrcm-portal .rrcm-handbook-article-title{ font-size: 18px; }
	.rrcm-app .rrcm-handbook-index-list,

	.rrcm-portal .rrcm-handbook-index-list{ grid-template-columns: minmax(0, 1fr); }
}/* The screen-level half of a chapter: which control does what. Set quieter
   than the business rules above it, because it answers a smaller question. */


.rrcm-app .rrcm-handbook-screen,



.rrcm-portal .rrcm-handbook-screen{ margin-bottom: 18px; }
.rrcm-app .rrcm-handbook-screen-item,

.rrcm-portal .rrcm-handbook-screen-item{
	padding-left: 12px;
	border-left: 2px solid var(--rrcm-border, #E5DFDE);
	margin-bottom: 10px;
}
.rrcm-app .rrcm-handbook-screen-item b,

.rrcm-portal .rrcm-handbook-screen-item b{
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--rrcm-text, #1F1A1B);
	margin-bottom: 2px;
}
.rrcm-app .rrcm-handbook-screen-item span,

.rrcm-portal .rrcm-handbook-screen-item span{
	display: block;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--rrcm-text-muted, #6E6467);
}
.rrcm-app .rrcm-handbook-screen-rules,

.rrcm-portal .rrcm-handbook-screen-rules{
	margin: 12px 0 0;
	padding-left: 17px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.rrcm-app .rrcm-handbook-screen-rules li,

.rrcm-portal .rrcm-handbook-screen-rules li{
	font-size: 13px;
	line-height: 1.7;
	color: var(--rrcm-text-muted, #6E6467);
}/* ---------------------------------------------------------------------------
   The outlet portal.

   A till is used standing up, often on a tablet, sometimes with a thumb. So
   the frame is built mobile-first and only widens: the tab strip scrolls
   horizontally rather than wrapping into two rows that move under the finger,
   and every target is at least 44px tall. At 320px nothing is cut off; the
   layout simply has one column.

   It deliberately does not imitate wp-admin. Shop staff never see wp-admin, so
   a sidebar copied from it would be a shape with no meaning for them.
--------------------------------------------------------------------------- */



.rrcm-app--outlet{
	/*
	 * .rrcm-app carries min-width: 900px, which is right in wp-admin and wrong
	 * in a shop: on a phone it forces the whole page 900px wide and the page
	 * scrolls sideways under the thumb. A till is the one screen that has to
	 * work at 320px, so the variant clears it.
	 */
	min-width: 0;
	max-width: 1440px;
	margin: 0 auto;
	padding: 12px;
	border: 0;
	background: transparent;
}

.rrcm-app .rrcm-outlet-head,


.rrcm-portal .rrcm-outlet-head{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-start;
	justify-content: space-between;
	padding: 12px 14px;
	background: var(--rrcm-surface, #FFFFFF);
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 10px;
}

.rrcm-app .rrcm-outlet-title,


.rrcm-portal .rrcm-outlet-title{
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-outlet-sub,


.rrcm-portal .rrcm-outlet-sub{ margin: 2px 0 0; }

.rrcm-app .rrcm-outlet-actions,


.rrcm-portal .rrcm-outlet-actions{
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}/* Scrolls rather than wraps: a second row of tabs appearing as the queue
   changes would move the target under somebody's thumb mid-tap. */


.rrcm-app .rrcm-outlet-nav,



.rrcm-portal .rrcm-outlet-nav{
	display: flex;
	gap: 6px;
	margin: 12px 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	/*
	 * Without this the strip refuses to shrink below the width of its tabs and
	 * pushes the page wide instead of scrolling — a flex container's automatic
	 * minimum size is its content, and overflow-x alone does not override it.
	 */
	min-width: 0;
}

.rrcm-app .rrcm-outlet-tab,


.rrcm-portal .rrcm-outlet-tab{
	display: inline-flex;
	gap: 7px;
	align-items: center;
	flex: 0 0 auto;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 999px;
	background: var(--rrcm-surface, #FFFFFF);
	color: var(--rrcm-text-muted, #6E6467);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	white-space: nowrap;
}

.rrcm-app .rrcm-outlet-tab:hover,


.rrcm-portal .rrcm-outlet-tab:hover{ border-color: var(--rrcm-border-strong, #D3CACA); }

.rrcm-app .rrcm-outlet-tab:focus,


.rrcm-portal .rrcm-outlet-tab:focus,


.rrcm-app .rrcm-outlet-tab:focus-visible,


.rrcm-portal .rrcm-outlet-tab:focus-visible,


.rrcm-app .rrcm-outlet-tab:active,


.rrcm-portal .rrcm-outlet-tab:active{
	outline: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-outlet-tab.is-active,


.rrcm-portal .rrcm-outlet-tab.is-active,


.rrcm-app .rrcm-outlet-tab.is-active:hover,


.rrcm-portal .rrcm-outlet-tab.is-active:hover,


.rrcm-app .rrcm-outlet-tab.is-active:focus,


.rrcm-portal .rrcm-outlet-tab.is-active:focus,


.rrcm-app .rrcm-outlet-tab.is-active:focus-visible,


.rrcm-portal .rrcm-outlet-tab.is-active:focus-visible,


.rrcm-app .rrcm-outlet-tab.is-active:active,


.rrcm-portal .rrcm-outlet-tab.is-active:active{
	background: var(--rrcm-primary, #7A2B3D) !important;
	border-color: var(--rrcm-primary, #7A2B3D) !important;
	color: #FFFFFF !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-outlet-body,


.rrcm-portal .rrcm-outlet-body{ display: block; }

.rrcm-app .rrcm-outlet-foot,


.rrcm-portal .rrcm-outlet-foot{
	margin-top: 18px;
	padding-top: 12px;
	border-top: 1px solid var(--rrcm-border-soft, #F0EBEA);
}

.rrcm-app .rrcm-outlet-notice,


.rrcm-portal .rrcm-outlet-notice{
	max-width: 560px;
	margin: 24px auto;
	padding: 20px;
	text-align: center;
}

.rrcm-app .rrcm-outlet-mount,


.rrcm-portal .rrcm-outlet-mount{ min-height: 240px; }

.rrcm-portal-root .rrcm-outlet-mount{
	height: 100%;
	max-height: 100%;
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

@media (min-width: 768px) {
	.rrcm-app--outlet{ padding: 20px; }
	.rrcm-app .rrcm-outlet-title,

	.rrcm-portal .rrcm-outlet-title{ font-size: 22px; }
}/* Dedicated outlet portal shell & styling */


.rrcm-app.rrcm-app--outlet{
	max-width: none;
	margin: 0;
	padding: 0;
	height: 100vh;
	max-height: 100vh;
	overflow: hidden;
	background: var(--rrcm-bg);
	border-radius: 0;
}

.rrcm-app.rrcm-app--outlet.rrcm-outlet-workspace{
	display: grid;
}

.rrcm-app.rrcm-app--outlet .rrcm-shell{
	grid-template-columns: 240px 1fr;
	height: 100vh;
	max-height: 100vh;
	overflow: hidden;
	width: 100%;
	background: #ffffff;
}

.rrcm-app.rrcm-app--outlet .rrcm-main{
	background: var(--rrcm-bg);
	height: 100vh;
	max-height: 100vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.rrcm-app.rrcm-app--outlet .rrcm-topbar{
	height: auto;
	min-height: 72px;
	padding: 18px 28px;
	flex-shrink: 0;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-sizing: border-box;
	background: #ffffff;
	border-bottom: 1px solid var(--rrcm-border);
}

.rrcm-app.rrcm-app--outlet .rrcm-topbar .rrcm-crumb{
	margin-bottom: 4px;
	line-height: 1.3;
}

.rrcm-app.rrcm-app--outlet .rrcm-topbar .rrcm-title{
	margin-bottom: 5px;
	line-height: 1.25;
}

.rrcm-app.rrcm-app--outlet .rrcm-topbar .rrcm-help{
	margin: 0;
	line-height: 1.4;
	font-size: 12.5px;
	color: var(--rrcm-text-muted);
}

.rrcm-app.rrcm-app--outlet .rrcm-body{
	flex: 1 1 0%;
	min-height: 0;
	overflow-y: auto;
	padding: 24px 32px 64px;
	box-sizing: border-box;
}

.rrcm-app.rrcm-app--outlet .rrcm-card{
	flex-shrink: 0;
}

.rrcm-app.rrcm-app--outlet,


.rrcm-app.rrcm-app--outlet button,


.rrcm-app.rrcm-app--outlet input,


.rrcm-app.rrcm-app--outlet select,


.rrcm-app.rrcm-app--outlet textarea{
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

.rrcm-app.rrcm-app--outlet a{
	color: inherit;
	text-decoration: none;
}

.rrcm-app.rrcm-app--outlet a.rrcm-link{
	color: var(--rrcm-primary);
	text-decoration: none;
}

.rrcm-app.rrcm-app--outlet a.rrcm-link:hover{
	text-decoration: underline;
}

.rrcm-app.rrcm-app--outlet .rrcm-sidebar{
	height: 100vh;
	max-height: 100vh;
	background: #ffffff;
	border-right: 1px solid var(--rrcm-border);
	display: flex;
	flex-direction: column;
	padding: 16px 12px;
	box-sizing: border-box;
	overflow-y: auto;
}

.rrcm-app .rrcm-outlet-sidebar .rrcm-outlet-nav,


.rrcm-portal .rrcm-outlet-sidebar .rrcm-outlet-nav{
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	min-width: 0;
	overflow-x: visible;
}

.rrcm-app.rrcm-app--outlet .rrcm-sidebar-footer{
	margin-top: auto;
	flex-shrink: 0;
	padding-top: 14px;
	border-top: 1px solid var(--rrcm-border);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rrcm-app .rrcm-outlet-user-card,


.rrcm-portal .rrcm-outlet-user-card{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 6px;
	background: var(--rrcm-surface-muted);
	border: 1px solid var(--rrcm-border);
}

.rrcm-app .rrcm-outlet-user-avatar,


.rrcm-portal .rrcm-outlet-user-avatar{
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--rrcm-primary-soft);
	color: var(--rrcm-primary);
	display: grid;
	place-items: center;
	font-size: 11.5px;
	font-weight: 700;
	flex: none;
}

.rrcm-app .rrcm-outlet-user-meta,


.rrcm-portal .rrcm-outlet-user-meta{
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}

.rrcm-app .rrcm-outlet-user-name,


.rrcm-portal .rrcm-outlet-user-name{
	font-size: 12.5px;
	font-weight: 600;
	color: var(--rrcm-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rrcm-app .rrcm-outlet-user-role,


.rrcm-portal .rrcm-outlet-user-role{
	font-size: 11px;
	color: var(--rrcm-text-muted);
	text-transform: capitalize;
}

.rrcm-app .rrcm-outlet-counter-stage,


.rrcm-portal .rrcm-outlet-counter-stage{
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

@media (max-width: 782px) {
	.rrcm-app.rrcm-app--outlet{
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.rrcm-app.rrcm-app--outlet .rrcm-shell{
		display: flex !important;
		flex-direction: column !important;
		height: auto !important;
		max-height: none !important;
		min-height: 100vh !important;
		overflow: visible !important;
	}

	.rrcm-app.rrcm-app--outlet .rrcm-sidebar{
		display: none !important;
	}

	.rrcm-app.rrcm-app--outlet .rrcm-main{
		height: auto !important;
		max-height: none !important;
		min-height: 100vh !important;
		overflow: visible !important;
	}

	.rrcm-app.rrcm-app--outlet .rrcm-topbar{
		padding: 12px 14px !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
	}

	.rrcm-app.rrcm-app--outlet .rrcm-topbar-actions{
		width: 100% !important;
		display: flex !important;
		gap: 8px !important;
		flex-wrap: wrap !important;
	}

	.rrcm-app.rrcm-app--outlet .rrcm-topbar-actions .rrcm-btn{
		flex: 1 1 auto !important;
		justify-content: center !important;
	}

	.rrcm-app.rrcm-app--outlet .rrcm-body{
		padding: 12px !important;
		gap: 12px !important;
		overflow-y: visible !important;
	}
}/* The logged-in outlet portal is a responsive shell, not a wp-admin canvas. */


.rrcm-app.rrcm-outlet-portal-body,



.rrcm-app.rrcm-outlet-portal-root{ min-width: 0; width: 100%; max-width: 100%; }

@media (max-width: 782px) {
 .rrcm-portal-root.rrcm-outlet-portal-root .rrcm-outlet-mount{ overflow-y: auto; overflow-x: hidden; }
}

/* --------------------------------------------------------------------------
   Operator application (wp-admin)

   Visually contained: nothing here reaches #wpadminbar, #adminmenu or any
   other plugin's screen (UI spec 96).
   -------------------------------------------------------------------------- */

.rrcm-wrap{ margin: 20px 20px 0 2px; }
.rrcm-wrap .rrcm-app{ min-width: 0; }

.rrcm-app--admin{ border-radius: 10px; }
.rrcm-app--admin .rrcm-shell{ min-height: 70vh; }
.rrcm-app--admin .rrcm-view-stage{
	min-height: 420px;
}

.rrcm-app .rrcm-search input,


.rrcm-portal .rrcm-search input,


.rrcm-app .rrcm-search input[type="search"],


.rrcm-portal .rrcm-search input[type="search"],


.rrcm-app .rrcm-search input[type="text"],


.rrcm-portal .rrcm-search input[type="text"],


.rrcm-app .rrcm-searchinput,


.rrcm-portal .rrcm-searchinput{
	font: inherit;
	font-size: 13px;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--rrcm-text) !important;
	width: 100%;
	min-width: 0;
	padding: 0 !important;
	margin: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.4 !important;
}
.rrcm-app .rrcm-searchinput::placeholder,

.rrcm-portal .rrcm-searchinput::placeholder,

.rrcm-app .rrcm-search input::placeholder,

.rrcm-portal .rrcm-search input::placeholder{ color: var(--rrcm-text-faint); }
.rrcm-app .rrcm-search:focus-within,

.rrcm-portal .rrcm-search:focus-within{ border-color: var(--rrcm-primary); box-shadow: 0 0 0 1px var(--rrcm-primary); }

.rrcm-app select.rrcm-chip,


.rrcm-portal select.rrcm-chip{
	font: inherit;
	font-size: 12.5px;
	font-weight: 500;
	appearance: none;
	padding-right: 26px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E6467' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
}
.rrcm-app select.rrcm-chip.is-set,

.rrcm-portal select.rrcm-chip.is-set{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237A2B3D' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat !important;
	background-position: right 8px center !important;
}
.rrcm-app select.rrcm-chip:focus-visible,

.rrcm-portal select.rrcm-chip:focus-visible{ outline: 2px solid var(--rrcm-primary); outline-offset: 1px; }

.rrcm-app button.rrcm-clear,


.rrcm-portal button.rrcm-clear{
	font: inherit;
	font-size: 12.5px;
	font-weight: 500;
	background: none;
	border: none;
	color: var(--rrcm-primary);
	cursor: pointer;
	padding: 5px 4px;
}
.rrcm-app button.rrcm-clear:hover,

.rrcm-portal button.rrcm-clear:hover{ text-decoration: underline; }/* Overlays are fixed so the wp-admin layout cannot clip them. */


.rrcm-app .rrcm-overlay,



.rrcm-portal .rrcm-overlay{
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
}
.rrcm-app .rrcm-overlay--center,

.rrcm-portal .rrcm-overlay--center{
	align-items: center;
	justify-content: center;
	padding: 24px;
	z-index: 100050;
}
.rrcm-app .rrcm-overlay .rrcm-scrim,

.rrcm-portal .rrcm-overlay .rrcm-scrim{
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.45);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}
.rrcm-app .rrcm-overlay .rrcm-drawer,

.rrcm-portal .rrcm-overlay .rrcm-drawer{
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	width: 560px !important;
	max-width: 100% !important;
	height: 100vh !important;
	max-height: 100vh !important;
	background: #ffffff !important;
	border-left: 1px solid var(--rrcm-border, #E5DFDE) !important;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.16) !important;
	z-index: 2;
	overflow: hidden;
	animation: rrcmSlideInRight 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.rrcm-app .rrcm-overlay .rrcm-drawer.rrcm-drawer--wide,

.rrcm-portal .rrcm-overlay .rrcm-drawer.rrcm-drawer--wide{
	width: 780px !important;
}
.rrcm-app .rrcm-bulk-picker,

.rrcm-portal .rrcm-bulk-picker{
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	height: min(210px, 25vh);
	min-height: 120px;
	max-height: 210px;
	overflow: auto;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
	background: #fff;
}
.rrcm-app .rrcm-bulk-option,

.rrcm-portal .rrcm-bulk-option{
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	cursor: pointer;
}
.rrcm-app .rrcm-bulk-option:last-child,

.rrcm-portal .rrcm-bulk-option:last-child{ border-bottom: 0; }
.rrcm-app .rrcm-bulk-option:hover,

.rrcm-portal .rrcm-bulk-option:hover{ background: var(--rrcm-surface-muted, #FAF8F7); }
.rrcm-app .rrcm-bulk-option input,

.rrcm-portal .rrcm-bulk-option input{ margin: 0; }
.rrcm-app .rrcm-bulk-option span,

.rrcm-portal .rrcm-bulk-option span{ min-width: 0; }
.rrcm-app .rrcm-bulk-option strong,

.rrcm-portal .rrcm-bulk-option strong,

.rrcm-app .rrcm-bulk-option small,

.rrcm-portal .rrcm-bulk-option small{ display: block; }
.rrcm-app .rrcm-bulk-option small,

.rrcm-portal .rrcm-bulk-option small{ color: var(--rrcm-text-muted, #6E6467); }
.rrcm-app .rrcm-bulk-count,

.rrcm-portal .rrcm-bulk-count{
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--rrcm-info-soft, #E8F1FB);
	color: var(--rrcm-text, #1F1A1B);
	font-size: 13px;
}
.rrcm-app .rrcm-bulk-count.is-error,

.rrcm-portal .rrcm-bulk-count.is-error{ background: var(--rrcm-danger-soft, #FCE8E8); color: var(--rrcm-danger, #A12622); }
.rrcm-app .rrcm-bulk-summary,

.rrcm-portal .rrcm-bulk-summary{ display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 11px 13px; border-radius: 8px; background: var(--rrcm-surface-muted, #FAF8F7); font-size: 13px; }

@media (max-width: 600px) {
	.rrcm-app .rrcm-bulk-option,

	.rrcm-portal .rrcm-bulk-option{ grid-template-columns: auto minmax(0, 1fr); }
	.rrcm-app .rrcm-bulk-option > small,

	.rrcm-portal .rrcm-bulk-option > small{ grid-column: 2; }
}
.rrcm-app .rrcm-overlay .rrcm-drawer-head,

.rrcm-portal .rrcm-overlay .rrcm-drawer-head{
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 18px 24px !important;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE) !important;
	background: var(--rrcm-surface-muted, #FAF8F7) !important;
	flex-shrink: 0 !important;
}
.rrcm-app .rrcm-overlay .rrcm-drawer-body,

.rrcm-portal .rrcm-overlay .rrcm-drawer-body{
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	box-sizing: border-box !important;
	padding: 22px 24px !important;
}
.rrcm-app .rrcm-overlay .rrcm-drawer-foot,

.rrcm-portal .rrcm-overlay .rrcm-drawer-foot{
	display: flex !important;
	gap: 10px !important;
	justify-content: flex-end !important;
	align-items: center !important;
	padding: 16px 24px !important;
	border-top: 1px solid var(--rrcm-border, #E5DFDE) !important;
	background: var(--rrcm-surface-muted, #FAF8F7) !important;
	flex-shrink: 0 !important;
	box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.03) !important;
}
.rrcm-app .rrcm-overlay .rrcm-dialog,

.rrcm-portal .rrcm-overlay .rrcm-dialog{ position: relative; }

@keyframes rrcmSlideInRight {
	from {
		transform: translateX(100%);
	}
	to {
		transform: translateX(0);
	}
}/* Row overflow menu. Portalled to <body> and positioned from the viewport, so
   .rrcm-tablewrap { overflow: auto } cannot clip it on the last row. */


.rrcm-app .rrcm-menu,



.rrcm-portal .rrcm-menu{ position: relative; display: inline-flex; }
.rrcm-app .rrcm-menu-list,

.rrcm-portal .rrcm-menu-list{
	position: fixed;
	z-index: 100005;
	min-width: 175px;
	background: #FFFFFF;
	background: var(--rrcm-surface, #FFFFFF);
	border: 1px solid #E5DFDE;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: var(--rrcm-radius-card, 8px);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.08);
	padding: 6px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.rrcm-app .rrcm-menu-list button,

.rrcm-portal .rrcm-menu-list button{
	font: inherit;
	font-size: 13px;
	font-weight: 500;
	text-align: left;
	background: transparent;
	border: none;
	border-radius: 6px;
	padding: 8px 12px;
	cursor: pointer;
	color: #1F1A1B;
	color: var(--rrcm-text, #1F1A1B);
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	transition: background 0.12s ease, color 0.12s ease;
}
.rrcm-app .rrcm-menu-list button:hover,

.rrcm-portal .rrcm-menu-list button:hover{
	background: #FAF8F7;
	background: var(--rrcm-surface-muted, #FAF8F7);
	color: #1F1A1B;
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-menu-list button.is-destructive,


.rrcm-portal .rrcm-menu-list button.is-destructive{
	color: #A62620;
	color: var(--rrcm-danger, #A62620);
}
.rrcm-app .rrcm-menu-list button.is-destructive:hover,

.rrcm-portal .rrcm-menu-list button.is-destructive:hover{
	background: #FBEAE9;
	background: var(--rrcm-danger-soft, #FBEAE9);
	color: #A62620;
	color: var(--rrcm-danger, #A62620);
}
.rrcm-app .rrcm-menu-list button:focus-visible,

.rrcm-portal .rrcm-menu-list button:focus-visible{
	outline: 2px solid var(--rrcm-primary, #7A2B3D);
	outline-offset: -2px;
}
.rrcm-app .rrcm-menu-divider,

.rrcm-portal .rrcm-menu-divider{
	height: 1px;
	background: #E5DFDE;
	background: var(--rrcm-border, #E5DFDE);
	margin: 4px 0;
}

.rrcm-app .rrcm-toaststack,


.rrcm-portal .rrcm-toaststack{
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 100001;
	display: flex;
	flex-direction: column;
	gap: 9px;
	max-width: 380px;
}

.rrcm-app .rrcm-title,


.rrcm-portal .rrcm-title{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.rrcm-app .screen-reader-text,


.rrcm-portal .screen-reader-text{
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}/* --------------------------------------------------------------------------
   Admin Mobile Responsiveness & Navigation (<= 782px)
   -------------------------------------------------------------------------- */



.rrcm-app .rrcm-admin-toolbar,




.rrcm-portal .rrcm-admin-toolbar{
	padding: 14px 16px;
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	flex-wrap: wrap;
}

.rrcm-app .rrcm-admin-toolbar-controls,


.rrcm-portal .rrcm-admin-toolbar-controls{
	display: flex;
	gap: 10px;
	flex: 1 1 auto;
	min-width: 280px;
	max-width: 640px;
}

.rrcm-app .rrcm-admin-toolbar-action,


.rrcm-portal .rrcm-admin-toolbar-action{
	display: flex;
	align-items: center;
}

.rrcm-app .rrcm-admin-mobile-nav,


.rrcm-portal .rrcm-admin-mobile-nav{
	display: none;
}

.rrcm-app .rrcm-payout-destination-panel,


.rrcm-portal .rrcm-payout-destination-panel{
	border: 1px solid var(--rrcm-border);
	border-radius: var(--rrcm-radius-card);
	background: var(--rrcm-surface-muted);
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rrcm-app .rrcm-payout-destination-panel__head,


.rrcm-portal .rrcm-payout-destination-panel__head{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.rrcm-app .rrcm-payout-destination-panel__head p,


.rrcm-portal .rrcm-payout-destination-panel__head p{
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--rrcm-text-muted);
	line-height: 1.45;
}

.rrcm-app .rrcm-payout-destination-panel__actions,


.rrcm-portal .rrcm-payout-destination-panel__actions,


.rrcm-app .rrcm-payout-destination-editor__actions,


.rrcm-portal .rrcm-payout-destination-editor__actions{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.rrcm-app .rrcm-payout-destination-editor,


.rrcm-portal .rrcm-payout-destination-editor{
	border-top: 1px solid var(--rrcm-border);
	padding-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

@media (max-width: 782px) {
	.rrcm-app .rrcm-payout-destination-panel__head,

	.rrcm-portal .rrcm-payout-destination-panel__head{
		flex-direction: column;
	}

	.rrcm-app .rrcm-payout-destination-panel__actions,


	.rrcm-portal .rrcm-payout-destination-panel__actions{
		width: 100%;
		justify-content: flex-start;
	}
	.rrcm-wrap{
		margin: 8px 8px 24px 8px !important;
	}

	.rrcm-app--admin{
		border-radius: 8px !important;
	}

	.rrcm-app--admin .rrcm-shell{
		min-height: auto !important;
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.rrcm-app--admin .rrcm-main{
		width: 100% !important;
		min-width: 0 !important;
	}

	.rrcm-app--admin .rrcm-topbar{
		padding: 12px 14px !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.rrcm-app--admin .rrcm-title{
		font-size: 18px !important;
	}

	.rrcm-app--admin .rrcm-topbar-actions{
		width: 100% !important;
		display: flex !important;
		gap: 8px !important;
		flex-wrap: wrap !important;
	}

	.rrcm-app--admin .rrcm-topbar-actions .rrcm-btn,


	.rrcm-app--admin .rrcm-topbar-actions button{
		flex: 1 1 auto !important;
		justify-content: center !important;
		padding: 8px 12px !important;
	}

	.rrcm-app--admin .rrcm-body{
		padding: 12px !important;
		gap: 12px !important;
	}

	.rrcm-app--admin .rrcm-view-stage{
		min-height: 360px;
	}/* Mobile navigation pill strip */

	
	.rrcm-app .rrcm-admin-mobile-nav,


	
	.rrcm-portal .rrcm-admin-mobile-nav{
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
		padding: 8px 12px !important;
		background: #ffffff !important;
		border-bottom: 1px solid var(--rrcm-border, #E5DFDE) !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		white-space: nowrap !important;
		flex-shrink: 0 !important;
	}

	.rrcm-app .rrcm-admin-mobile-nav::-webkit-scrollbar,


	.rrcm-portal .rrcm-admin-mobile-nav::-webkit-scrollbar{
		display: none !important;
	}

	.rrcm-app .rrcm-admin-mobile-tab,


	.rrcm-portal .rrcm-admin-mobile-tab{
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		padding: 6px 12px !important;
		border-radius: 20px !important;
		border: 1px solid var(--rrcm-border, #E5DFDE) !important;
		background: var(--rrcm-surface-muted, #FAF8F7) !important;
		color: var(--rrcm-text, #1F1A1B) !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		cursor: pointer !important;
		flex-shrink: 0 !important;
		text-decoration: none !important;
		transition: all 0.15s ease !important;
	}

	.rrcm-app .rrcm-admin-mobile-tab:hover,


	.rrcm-portal .rrcm-admin-mobile-tab:hover{
		background: var(--rrcm-primary-soft, #F4EAEC) !important;
		color: var(--rrcm-primary, #7A2B3D) !important;
		border-color: var(--rrcm-primary, #7A2B3D) !important;
	}

	.rrcm-app .rrcm-admin-mobile-tab.is-active,


	.rrcm-portal .rrcm-admin-mobile-tab.is-active{
		background: var(--rrcm-primary, #7A2B3D) !important;
		color: #ffffff !important;
		border-color: var(--rrcm-primary, #7A2B3D) !important;
		font-weight: 600 !important;
	}/* 2-column metrics grid with balanced odd card spanning full width */

	
	.rrcm-app .rrcm-metrics,


	
	.rrcm-portal .rrcm-metrics,


	
	.rrcm-app .rrcm-metrics--3,


	
	.rrcm-portal .rrcm-metrics--3,


	
	.rrcm-app .rrcm-metrics--5,


	
	.rrcm-portal .rrcm-metrics--5{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.rrcm-app .rrcm-metrics > .rrcm-metric:last-child:nth-child(odd),


	.rrcm-portal .rrcm-metrics > .rrcm-metric:last-child:nth-child(odd),


	.rrcm-app .rrcm-metrics--3 > .rrcm-metric:last-child:nth-child(odd),


	.rrcm-portal .rrcm-metrics--3 > .rrcm-metric:last-child:nth-child(odd),


	.rrcm-app .rrcm-metrics--5 > .rrcm-metric:last-child:nth-child(odd),


	.rrcm-portal .rrcm-metrics--5 > .rrcm-metric:last-child:nth-child(odd){
		grid-column: 1 / -1 !important;
	}

	.rrcm-app .rrcm-metric,


	.rrcm-portal .rrcm-metric{
		padding: 10px 12px !important;
	}

	.rrcm-app .rrcm-metric-value,


	.rrcm-portal .rrcm-metric-value{
		font-size: 19px !important;
	}

	.rrcm-app .rrcm-metric-label,


	.rrcm-portal .rrcm-metric-label{
		font-size: 11px !important;
	}

	.rrcm-app .rrcm-metric-sub,


	.rrcm-portal .rrcm-metric-sub{
		font-size: 10.5px !important;
	}/* Responsive toolbars & filters */

	
	.rrcm-app .rrcm-admin-toolbar,


	
	.rrcm-portal .rrcm-admin-toolbar{
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		padding: 12px !important;
	}

	.rrcm-app .rrcm-admin-toolbar-controls,


	.rrcm-portal .rrcm-admin-toolbar-controls{
		flex-direction: column !important;
		min-width: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		gap: 8px !important;
	}

	.rrcm-app .rrcm-admin-toolbar-controls > *,


	.rrcm-portal .rrcm-admin-toolbar-controls > *{
		width: 100% !important;
	}

	.rrcm-app .rrcm-admin-toolbar-controls select,


	.rrcm-portal .rrcm-admin-toolbar-controls select,


	.rrcm-app .rrcm-admin-toolbar-controls select.rrcm-input,


	.rrcm-portal .rrcm-admin-toolbar-controls select.rrcm-input{
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.rrcm-app .rrcm-admin-toolbar-action,


	.rrcm-portal .rrcm-admin-toolbar-action{
		width: 100% !important;
	}

	.rrcm-app .rrcm-admin-toolbar-action .rrcm-btn,


	.rrcm-portal .rrcm-admin-toolbar-action .rrcm-btn,


	.rrcm-app .rrcm-admin-toolbar-action button,


	.rrcm-portal .rrcm-admin-toolbar-action button{
		width: 100% !important;
		justify-content: center !important;
		padding: 10px 16px !important;
		font-size: 13.5px !important;
		box-sizing: border-box !important;
	}

	.rrcm-app .rrcm-filters,


	.rrcm-portal .rrcm-filters{
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
		padding: 10px 12px !important;
	}

	.rrcm-app .rrcm-filters > div:first-child,


	.rrcm-portal .rrcm-filters > div:first-child{
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		gap: 8px !important;
	}

	.rrcm-app .rrcm-search,


	.rrcm-portal .rrcm-search{
		width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.rrcm-app .rrcm-filters select.rrcm-chip,


	.rrcm-portal .rrcm-filters select.rrcm-chip{
		width: 100% !important;
		box-sizing: border-box !important;
	}/* Smooth table scrolling without clipped columns */

	
	.rrcm-app .rrcm-tablewrap,


	
	.rrcm-portal .rrcm-tablewrap{
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		position: relative !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.rrcm-app .rrcm-tablewrap table.rrcm-table,


	.rrcm-portal .rrcm-tablewrap table.rrcm-table{
		min-width: 680px !important;
	}

	.rrcm-app .rrcm-tablewrap table.rrcm-table th,


	.rrcm-portal .rrcm-tablewrap table.rrcm-table th,


	.rrcm-app .rrcm-tablewrap table.rrcm-table td,


	.rrcm-portal .rrcm-tablewrap table.rrcm-table td{
		padding: 10px 12px !important;
	}/* Full-screen drawer on mobile devices */

	
	.rrcm-app .rrcm-overlay .rrcm-drawer,


	
	.rrcm-portal .rrcm-overlay .rrcm-drawer{
		width: 100% !important;
		max-width: 100% !important;
		height: 100vh !important;
		max-height: 100vh !important;
		border-left: none !important;
	}
}/* --------------------------------------------------------------------------
   Bulk selection bar (UI Spec 157)

   Replaces the filter bar while a selection is live, so the operator cannot
   change what they are looking at without noticing what they had selected.
   -------------------------------------------------------------------------- */



.rrcm-app .rrcm-bulkbar,




.rrcm-portal .rrcm-bulkbar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
	padding: 9px 13px;
	border: 1px solid var(--rrcm-primary, #7A2B3D);
	border-radius: 8px;
	background: var(--rrcm-primary-soft, #F7EDEF);
	font-size: 13px;
}

.rrcm-app .rrcm-bulkbar-actions,


.rrcm-portal .rrcm-bulkbar-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.rrcm-app .rrcm-linkbtn,


.rrcm-portal .rrcm-linkbtn{
	padding: 0;
	border: 0;
	background: none;
	color: var(--rrcm-primary, #7A2B3D);
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.rrcm-app .rrcm-selection-cleared,


.rrcm-portal .rrcm-selection-cleared{
	margin: 0 0 10px;
	color: var(--rrcm-text-muted, #6B6260);
	font-size: 12px;
}/* The result table a bulk action leaves behind, per UI Spec 157: it stays
   until dismissed, and reports per row rather than as one number. */


.rrcm-app .rrcm-bulkresult,



.rrcm-portal .rrcm-bulkresult{
	max-height: 320px;
	overflow-y: auto;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
}

.rrcm-app .rrcm-bulkresult table,


.rrcm-portal .rrcm-bulkresult table{ width: 100%; border-collapse: collapse; font-size: 13px; }
.rrcm-app .rrcm-bulkresult th,

.rrcm-portal .rrcm-bulkresult th,

.rrcm-app .rrcm-bulkresult td,

.rrcm-portal .rrcm-bulkresult td{ padding: 7px 10px; text-align: left; border-bottom: 1px solid var(--rrcm-border-soft, #F0EBEA); }
.rrcm-app .rrcm-bulkresult tr:last-child td,

.rrcm-portal .rrcm-bulkresult tr:last-child td{ border-bottom: 0; }/* Outlet Price Book layout: two work areas on desktop, one focused column on small screens. */


.rrcm-app .rrcm-grid--two,



.rrcm-portal .rrcm-grid--two{
	display: grid;
	grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.4fr);
	gap: 16px;
	align-items: start;
}

.rrcm-app .rrcm-stack,


.rrcm-portal .rrcm-stack{
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rrcm-app .rrcm-form-grid,


.rrcm-portal .rrcm-form-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

@media (max-width: 900px) {
	.rrcm-app .rrcm-grid--two,

	.rrcm-portal .rrcm-grid--two{
		grid-template-columns: 1fr;
	}

}

@media (max-width: 560px) {
	.rrcm-app .rrcm-form-grid,

	.rrcm-portal .rrcm-form-grid{
		grid-template-columns: 1fr;
	}

}/* --------------------------------------------------------------------------
   Outlet directory and task-focused workspace
   -------------------------------------------------------------------------- */



.rrcm-app .rrcm-outlets-view,




.rrcm-portal .rrcm-outlets-view,




.rrcm-app .rrcm-outlet-workspace,




.rrcm-portal .rrcm-outlet-workspace{
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rrcm-app .rrcm-outlet-directory-head,


.rrcm-portal .rrcm-outlet-directory-head{
	justify-content: space-between;
	align-items: flex-start;
}

.rrcm-app .rrcm-outlet-directory-head .rrcm-help,


.rrcm-portal .rrcm-outlet-directory-head .rrcm-help,


.rrcm-app .rrcm-outlet-notes-head .rrcm-help,


.rrcm-portal .rrcm-outlet-notes-head .rrcm-help{
	margin: 4px 0 0;
}

.rrcm-app .rrcm-outlet-directory-tools,


.rrcm-portal .rrcm-outlet-directory-tools,


.rrcm-app .rrcm-outlet-filters,


.rrcm-portal .rrcm-outlet-filters,


.rrcm-app .rrcm-outlet-workspace-actions,


.rrcm-portal .rrcm-outlet-workspace-actions,


.rrcm-app .rrcm-member-actions,


.rrcm-portal .rrcm-member-actions{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.rrcm-app .rrcm-outlet-directory-tools .rrcm-btn,


.rrcm-portal .rrcm-outlet-directory-tools .rrcm-btn,


.rrcm-app .rrcm-outlet-workspace-actions .rrcm-btn,


.rrcm-portal .rrcm-outlet-workspace-actions .rrcm-btn,


.rrcm-app .rrcm-member-actions .rrcm-btn,


.rrcm-portal .rrcm-member-actions .rrcm-btn{
	margin-left: 0;
}

.rrcm-app .rrcm-outlet-directory-row,


.rrcm-portal .rrcm-outlet-directory-row{
	cursor: pointer;
}

.rrcm-app .rrcm-outlet-link,


.rrcm-portal .rrcm-outlet-link{
	color: var(--rrcm-text);
	font-weight: 650;
	text-decoration: none;
}

.rrcm-app .rrcm-outlet-link:hover,


.rrcm-portal .rrcm-outlet-link:hover,


.rrcm-app .rrcm-outlet-link:focus-visible,


.rrcm-portal .rrcm-outlet-link:focus-visible{
	color: var(--rrcm-primary);
	text-decoration: underline;
}

.rrcm-app .rrcm-outlet-system-label,


.rrcm-portal .rrcm-outlet-system-label,


.rrcm-app .rrcm-member-email,


.rrcm-portal .rrcm-member-email{
	display: block;
	margin-top: 3px;
	font-size: 11.5px;
	color: var(--rrcm-text-faint);
}

.rrcm-app .rrcm-outlet-directory-action,


.rrcm-portal .rrcm-outlet-directory-action,


.rrcm-app .rrcm-member-action-cell,


.rrcm-portal .rrcm-member-action-cell{
	text-align: right;
}

.rrcm-app .rrcm-outlet-workspace-header,


.rrcm-portal .rrcm-outlet-workspace-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
}

.rrcm-app .rrcm-outlet-workspace-summary,


.rrcm-portal .rrcm-outlet-workspace-summary{
	display: flex;
	align-items: center;
	min-width: 0;
	gap: 12px;
}

.rrcm-app .rrcm-outlet-workspace-icon,


.rrcm-portal .rrcm-outlet-workspace-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 9px;
	background: var(--rrcm-primary-soft);
	color: var(--rrcm-primary);
}

.rrcm-app .rrcm-outlet-workspace-name,


.rrcm-portal .rrcm-outlet-workspace-name{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.rrcm-app .rrcm-workspace-tabs,


.rrcm-portal .rrcm-workspace-tabs{
	display: flex;
	align-items: center;
	gap: 4px;
	overflow-x: auto;
	padding: 5px;
	border: 1px solid var(--rrcm-border);
	border-radius: var(--rrcm-radius-card);
	background: var(--rrcm-surface);
	scrollbar-width: none;
}

.rrcm-app .rrcm-workspace-tabs::-webkit-scrollbar,


.rrcm-portal .rrcm-workspace-tabs::-webkit-scrollbar{
	display: none;
}

.rrcm-app .rrcm-workspace-tab,


.rrcm-portal .rrcm-workspace-tab{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 14px;
	border: 0;
	background: transparent;
	border-radius: 6px;
	color: var(--rrcm-text-muted);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	font-family: inherit;
	outline: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
}

.rrcm-app .rrcm-workspace-tab:hover,


.rrcm-portal .rrcm-workspace-tab:hover{
	color: var(--rrcm-primary);
	background: var(--rrcm-primary-soft);
}

.rrcm-app .rrcm-workspace-tab:focus,


.rrcm-portal .rrcm-workspace-tab:focus,


.rrcm-app .rrcm-workspace-tab:focus-visible,


.rrcm-portal .rrcm-workspace-tab:focus-visible,


.rrcm-app .rrcm-workspace-tab:active,


.rrcm-portal .rrcm-workspace-tab:active{
	outline: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-workspace-tab.is-active,


.rrcm-portal .rrcm-workspace-tab.is-active,


.rrcm-app .rrcm-workspace-tab.is-active:hover,


.rrcm-portal .rrcm-workspace-tab.is-active:hover,


.rrcm-app .rrcm-workspace-tab.is-active:focus,


.rrcm-portal .rrcm-workspace-tab.is-active:focus,


.rrcm-app .rrcm-workspace-tab.is-active:focus-visible,


.rrcm-portal .rrcm-workspace-tab.is-active:focus-visible,


.rrcm-app .rrcm-workspace-tab.is-active:active,


.rrcm-portal .rrcm-workspace-tab.is-active:active{
	color: #fff !important;
	background: var(--rrcm-primary) !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-outlet-panel,


.rrcm-portal .rrcm-outlet-panel{
	overflow: hidden;
}

.rrcm-app .rrcm-outlet-readouts,


.rrcm-portal .rrcm-outlet-readouts{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.rrcm-app .rrcm-outlet-readouts > div,


.rrcm-portal .rrcm-outlet-readouts > div{
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
	padding: 18px;
	border-right: 1px solid var(--rrcm-border);
}

.rrcm-app .rrcm-outlet-readouts > div:last-child,


.rrcm-portal .rrcm-outlet-readouts > div:last-child{
	border-right: 0;
}

.rrcm-app .rrcm-outlet-readouts strong,


.rrcm-portal .rrcm-outlet-readouts strong{
	font-weight: 500;
	overflow-wrap: anywhere;
}

.rrcm-app .rrcm-member-actions,


.rrcm-portal .rrcm-member-actions{
	justify-content: flex-end;
}

.rrcm-app .rrcm-outlet-notes-body,


.rrcm-portal .rrcm-outlet-notes-body{
	padding: 16px;
}

@media (max-width: 782px) {
	.rrcm-app .rrcm-outlets-view,

	.rrcm-portal .rrcm-outlets-view,

	.rrcm-app .rrcm-outlet-workspace,

	.rrcm-portal .rrcm-outlet-workspace{
		gap: 12px;
	}

	.rrcm-app .rrcm-outlet-directory-head,


	.rrcm-portal .rrcm-outlet-directory-head,


	.rrcm-app .rrcm-outlet-workspace-header,


	.rrcm-portal .rrcm-outlet-workspace-header{
		align-items: stretch;
		flex-direction: column;
	}

	.rrcm-app .rrcm-outlet-directory-tools,


	.rrcm-portal .rrcm-outlet-directory-tools,


	.rrcm-app .rrcm-outlet-workspace-actions,


	.rrcm-portal .rrcm-outlet-workspace-actions{
		width: 100%;
	}

	.rrcm-app .rrcm-outlet-filters,


	.rrcm-portal .rrcm-outlet-filters{
		flex: 1 1 auto;
	}

	.rrcm-app .rrcm-outlet-directory-tools > .rrcm-btn,


	.rrcm-portal .rrcm-outlet-directory-tools > .rrcm-btn,


	.rrcm-app .rrcm-outlet-workspace-actions > .rrcm-btn,


	.rrcm-portal .rrcm-outlet-workspace-actions > .rrcm-btn{
		flex: 1 1 auto;
		justify-content: center;
	}

	.rrcm-app .rrcm-workspace-tabs,


	.rrcm-portal .rrcm-workspace-tabs{
		border-radius: 8px;
	}

	.rrcm-app .rrcm-workspace-tab,


	.rrcm-portal .rrcm-workspace-tab{
		flex: 1 0 auto;
	}

	.rrcm-app .rrcm-outlet-readouts,


	.rrcm-portal .rrcm-outlet-readouts{
		grid-template-columns: 1fr;
	}

	.rrcm-app .rrcm-outlet-readouts > div,


	.rrcm-portal .rrcm-outlet-readouts > div,


	.rrcm-app .rrcm-outlet-readouts > div:last-child,


	.rrcm-portal .rrcm-outlet-readouts > div:last-child{
		border-right: 0;
		border-bottom: 1px solid var(--rrcm-border);
	}

	.rrcm-app .rrcm-outlet-readouts > div:last-child,


	.rrcm-portal .rrcm-outlet-readouts > div:last-child{
		border-bottom: 0;
	}

	.rrcm-app .rrcm-outlet-directory-tablewrap,


	.rrcm-portal .rrcm-outlet-directory-tablewrap,


	.rrcm-app .rrcm-member-tablewrap,


	.rrcm-portal .rrcm-member-tablewrap{
		overflow: visible !important;
	}

	.rrcm-app .rrcm-outlet-directory-tablewrap table.rrcm-outlet-directory-table,


	.rrcm-portal .rrcm-outlet-directory-tablewrap table.rrcm-outlet-directory-table,


	.rrcm-app .rrcm-member-tablewrap table.rrcm-member-table,


	.rrcm-portal .rrcm-member-tablewrap table.rrcm-member-table{
		display: block;
		min-width: 0 !important;
	}

	.rrcm-app .rrcm-outlet-directory-table thead,


	.rrcm-portal .rrcm-outlet-directory-table thead,


	.rrcm-app .rrcm-member-table thead,


	.rrcm-portal .rrcm-member-table thead{
		display: none;
	}

	.rrcm-app .rrcm-outlet-directory-table tbody,


	.rrcm-portal .rrcm-outlet-directory-table tbody,


	.rrcm-app .rrcm-outlet-directory-table tr,


	.rrcm-portal .rrcm-outlet-directory-table tr,


	.rrcm-app .rrcm-outlet-directory-table td,


	.rrcm-portal .rrcm-outlet-directory-table td,


	.rrcm-app .rrcm-member-table tbody,


	.rrcm-portal .rrcm-member-table tbody,


	.rrcm-app .rrcm-member-table tr,


	.rrcm-portal .rrcm-member-table tr,


	.rrcm-app .rrcm-member-table td,


	.rrcm-portal .rrcm-member-table td{
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.rrcm-app .rrcm-outlet-directory-table tr,


	.rrcm-portal .rrcm-outlet-directory-table tr,


	.rrcm-app .rrcm-member-table tr,


	.rrcm-portal .rrcm-member-table tr{
		padding: 12px 14px;
		border-bottom: 1px solid var(--rrcm-border);
	}

	.rrcm-app .rrcm-outlet-directory-table tr:last-child,


	.rrcm-portal .rrcm-outlet-directory-table tr:last-child,


	.rrcm-app .rrcm-member-table tr:last-child,


	.rrcm-portal .rrcm-member-table tr:last-child{
		border-bottom: 0;
	}

	.rrcm-app .rrcm-outlet-directory-table table,


	.rrcm-portal .rrcm-outlet-directory-table table,


	.rrcm-app .rrcm-member-table table,


	.rrcm-portal .rrcm-member-table table{
		border-spacing: 0;
	}

	.rrcm-app .rrcm-outlet-directory-table td,


	.rrcm-portal .rrcm-outlet-directory-table td,


	.rrcm-app .rrcm-member-table td,


	.rrcm-portal .rrcm-member-table td{
		display: grid;
		grid-template-columns: minmax(92px, 0.42fr) minmax(0, 1fr);
		align-items: start;
		gap: 10px;
		padding: 6px 0 !important;
		border: 0 !important;
		white-space: normal !important;
		text-align: left;
		overflow-wrap: anywhere;
	}

	.rrcm-app .rrcm-outlet-directory-table td::before,


	.rrcm-portal .rrcm-outlet-directory-table td::before,


	.rrcm-app .rrcm-member-table td::before,


	.rrcm-portal .rrcm-member-table td::before{
		content: attr(data-label);
		color: var(--rrcm-text-faint);
		font-size: 10.5px;
		font-weight: 650;
		letter-spacing: .045em;
		line-height: 1.5;
		text-transform: uppercase;
	}

	.rrcm-app .rrcm-outlet-directory-table td:first-child,


	.rrcm-portal .rrcm-outlet-directory-table td:first-child,


	.rrcm-app .rrcm-member-table td:first-child,


	.rrcm-portal .rrcm-member-table td:first-child{
		display: block;
		padding-top: 0 !important;
		padding-bottom: 9px !important;
	}

	.rrcm-app .rrcm-outlet-directory-table td:first-child::before,


	.rrcm-portal .rrcm-outlet-directory-table td:first-child::before,


	.rrcm-app .rrcm-member-table td:first-child::before,


	.rrcm-portal .rrcm-member-table td:first-child::before,


	.rrcm-app .rrcm-outlet-directory-action::before,


	.rrcm-portal .rrcm-outlet-directory-action::before,


	.rrcm-app .rrcm-member-action-cell::before,


	.rrcm-portal .rrcm-member-action-cell::before{
		display: none;
	}

	.rrcm-app .rrcm-outlet-directory-action,


	.rrcm-portal .rrcm-outlet-directory-action,


	.rrcm-app .rrcm-member-action-cell,


	.rrcm-portal .rrcm-member-action-cell{
		display: block !important;
		padding-top: 9px !important;
	}

	.rrcm-app .rrcm-member-actions,


	.rrcm-portal .rrcm-member-actions{
		justify-content: flex-start;
	}
}/* -------------------------------------------------- workspace split grid -- */



.rrcm-app .rrcm-workspace-grid,




.rrcm-portal .rrcm-workspace-grid{
	display: grid;
	grid-template-columns: minmax(300px, 360px) 1fr;
	gap: 20px;
	align-items: start;
}

@media (max-width: 900px) {
	.rrcm-app .rrcm-workspace-grid,

	.rrcm-portal .rrcm-workspace-grid{
		grid-template-columns: 1fr;
	}
}/* ----------------------------------------------------------- pos workstation -- */



.rrcm-app .rrcm-pos-workstation,




.rrcm-portal .rrcm-pos-workstation{
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.rrcm-app .rrcm-pos-header-bar,


.rrcm-portal .rrcm-pos-header-bar{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding: 12px 18px;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
}

.rrcm-app .rrcm-pos-header-left,


.rrcm-portal .rrcm-pos-header-left{
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.rrcm-app .rrcm-pos-title-badge,


.rrcm-portal .rrcm-pos-title-badge{
	display: flex;
	align-items: center;
	gap: 8px;
}

.rrcm-app .rrcm-pos-title,


.rrcm-portal .rrcm-pos-title{
	font-size: 17px;
	font-weight: 700;
	margin: 0;
	color: var(--rrcm-text, #1E1E1E);
	letter-spacing: -0.01em;
}

.rrcm-app .rrcm-pos-till-selector,


.rrcm-portal .rrcm-pos-till-selector{
	display: flex;
	align-items: center;
	gap: 8px;
	background: #F8F9FA;
	padding: 4px 10px;
	border-radius: 6px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
}

.rrcm-app .rrcm-pos-header-right,


.rrcm-portal .rrcm-pos-header-right{
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.rrcm-app .rrcm-pos-view-tabs,


.rrcm-portal .rrcm-pos-view-tabs{
	display: flex;
	background: #F0F2F5;
	padding: 3px;
	border-radius: 7px;
	gap: 2px;
}

.rrcm-app .rrcm-pos-view-tab,


.rrcm-portal .rrcm-pos-view-tab{
	font-size: 12.5px;
	font-weight: 600;
	padding: 5px 12px;
	border: none !important;
	border-radius: 5px;
	background: transparent;
	color: var(--rrcm-text-faint, #6E6467);
	cursor: pointer;
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent !important;
	transition: background 0.15s ease, color 0.15s ease;
}

.rrcm-app .rrcm-pos-view-tab:focus,


.rrcm-portal .rrcm-pos-view-tab:focus,


.rrcm-app .rrcm-pos-view-tab:focus-visible,


.rrcm-portal .rrcm-pos-view-tab:focus-visible,


.rrcm-app .rrcm-pos-view-tab:active,


.rrcm-portal .rrcm-pos-view-tab:active{
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-pos-view-tab.is-active,


.rrcm-portal .rrcm-pos-view-tab.is-active{
	background: #ffffff;
	color: var(--rrcm-text, #1E1E1E);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.rrcm-app .rrcm-pos-grid-layout,


.rrcm-portal .rrcm-pos-grid-layout{
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(360px, 420px);
	gap: 18px;
	align-items: start;
}

@media (max-width: 1040px) {
	.rrcm-app .rrcm-pos-grid-layout,

	.rrcm-portal .rrcm-pos-grid-layout{
		grid-template-columns: 1fr;
	}
}/* Catalog surface */


.rrcm-app .rrcm-pos-catalog-card,



.rrcm-portal .rrcm-pos-catalog-card{
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
	overflow: hidden;
	min-height: 620px;
}

.rrcm-app .rrcm-pos-catalog-head,


.rrcm-portal .rrcm-pos-catalog-head{
	padding: 14px 18px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	background: #FAFAFA;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rrcm-app .rrcm-pos-search-box,


.rrcm-portal .rrcm-pos-search-box{
	display: flex;
	align-items: center;
	gap: 10px;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #D0D5DD);
	border-radius: 6px;
	padding: 8px 12px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rrcm-app .rrcm-pos-search-box:focus-within,


.rrcm-portal .rrcm-pos-search-box:focus-within{
	border-color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 0 0 2px rgba(122, 43, 61, 0.15);
}

.rrcm-app .rrcm-pos-search-box input,


.rrcm-portal .rrcm-pos-search-box input{
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	font-size: 13.5px;
	width: 100%;
	padding: 0 !important;
	margin: 0 !important;
	color: var(--rrcm-text, #1E1E1E);
}

.rrcm-app .rrcm-pos-catalog-subhead,


.rrcm-portal .rrcm-pos-catalog-subhead{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	color: var(--rrcm-text-faint, #6E6467);
	padding: 0 2px;
}

.rrcm-app .rrcm-pos-catalog-body,


.rrcm-portal .rrcm-pos-catalog-body{
	padding: 16px;
	flex: 1;
	overflow-y: auto;
	max-height: calc(100vh - 290px);
	min-height: 420px;
}

.rrcm-app .rrcm-pos-products-grid,


.rrcm-portal .rrcm-pos-products-grid{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
	gap: 12px;
}

.rrcm-app .rrcm-pos-product-item,


.rrcm-portal .rrcm-pos-product-item{
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
	padding: 10px;
	cursor: pointer;
	text-align: left;
	transition: transform 0.1s ease, border-color 0.15s ease, box-shadow 0.15s ease;
	position: relative;
	user-select: none;
}

.rrcm-app .rrcm-pos-product-item:hover,


.rrcm-portal .rrcm-pos-product-item:hover{
	border-color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	transform: translateY(-1px);
}

.rrcm-app .rrcm-pos-product-item:active,


.rrcm-portal .rrcm-pos-product-item:active{
	transform: scale(0.98);
}

.rrcm-app .rrcm-pos-product-thumb,


.rrcm-portal .rrcm-pos-product-thumb{
	width: 100%;
	height: 105px;
	border-radius: 6px;
	background: #F4F4F5;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 8px;
}

.rrcm-app .rrcm-pos-product-thumb img,


.rrcm-portal .rrcm-pos-product-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rrcm-app .rrcm-pos-product-thumb-placeholder,


.rrcm-portal .rrcm-pos-product-thumb-placeholder{
	color: var(--rrcm-text-faint, #8C828A);
	display: flex;
	align-items: center;
	justify-content: center;
}

.rrcm-app .rrcm-pos-product-info,


.rrcm-portal .rrcm-pos-product-info{
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.rrcm-app .rrcm-pos-product-name,


.rrcm-portal .rrcm-pos-product-name{
	font-size: 13px;
	font-weight: 600;
	color: var(--rrcm-text, #1E1E1E);
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 35px;
}

.rrcm-app .rrcm-pos-product-sku,


.rrcm-portal .rrcm-pos-product-sku{
	font-size: 11px;
	color: var(--rrcm-text-faint, #6E6467);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rrcm-app .rrcm-pos-product-meta,


.rrcm-portal .rrcm-pos-product-meta{
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: auto;
	padding-top: 6px;
	border-top: 1px dashed #F0F0F0;
}

.rrcm-app .rrcm-pos-product-price,


.rrcm-portal .rrcm-pos-product-price{
	font-size: 13.5px;
	font-weight: 700;
	color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-pos-product-stock,


.rrcm-portal .rrcm-pos-product-stock{
	font-size: 11px;
	font-weight: 500;
	color: var(--rrcm-text-faint, #6E6467);
}/* Register / Receipt pane */


.rrcm-app .rrcm-pos-register-card,



.rrcm-portal .rrcm-pos-register-card{
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 8px;
	position: sticky;
	top: 32px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.rrcm-app .rrcm-pos-register-head,


.rrcm-portal .rrcm-pos-register-head{
	padding: 12px 16px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #FAFAFA;
}

.rrcm-app .rrcm-pos-register-title,


.rrcm-portal .rrcm-pos-register-title{
	font-size: 14.5px;
	font-weight: 700;
	margin: 0;
	color: var(--rrcm-text, #1E1E1E);
	display: flex;
	align-items: center;
	gap: 8px;
}

.rrcm-app .rrcm-pos-customer-section,


.rrcm-portal .rrcm-pos-customer-section{
	padding: 12px 16px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	background: #FCFCFD;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rrcm-app .rrcm-pos-customer-tabs,


.rrcm-portal .rrcm-pos-customer-tabs{
	display: flex;
	gap: 6px;
}

.rrcm-app .rrcm-pos-cust-tab,


.rrcm-portal .rrcm-pos-cust-tab{
	flex: 1;
	font-size: 12px;
	font-weight: 600;
	padding: 6px 10px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: 5px;
	background: #ffffff;
	cursor: pointer;
	text-align: center;
	color: var(--rrcm-text, #1E1E1E);
	transition: all 0.12s ease;
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent !important;
}

.rrcm-app .rrcm-pos-cust-tab:focus,


.rrcm-portal .rrcm-pos-cust-tab:focus,


.rrcm-app .rrcm-pos-cust-tab:focus-visible,


.rrcm-portal .rrcm-pos-cust-tab:focus-visible,


.rrcm-app .rrcm-pos-cust-tab:active,


.rrcm-portal .rrcm-pos-cust-tab:active{
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-pos-cust-tab.is-active,


.rrcm-portal .rrcm-pos-cust-tab.is-active{
	background: var(--rrcm-primary, #7A2B3D);
	color: #ffffff;
	border-color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-pos-lines-container,


.rrcm-portal .rrcm-pos-lines-container{
	padding: 12px 16px;
	max-height: 270px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rrcm-app .rrcm-pos-empty-cart,


.rrcm-portal .rrcm-pos-empty-cart{
	padding: 32px 16px;
	text-align: center;
	color: var(--rrcm-text-faint, #6E6467);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.rrcm-app .rrcm-pos-line,


.rrcm-portal .rrcm-pos-line{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 10px;
	background: #F9FAFB;
	border: 1px solid #ECEFF2;
	border-radius: 6px;
}

.rrcm-app .rrcm-pos-line-details,


.rrcm-portal .rrcm-pos-line-details{
	flex: 1;
	min-width: 0;
}

.rrcm-app .rrcm-pos-line-name,


.rrcm-portal .rrcm-pos-line-name{
	font-size: 12.5px;
	font-weight: 600;
	color: var(--rrcm-text, #1E1E1E);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rrcm-app .rrcm-pos-line-sub,


.rrcm-portal .rrcm-pos-line-sub{
	font-size: 11px;
	color: var(--rrcm-text-faint, #6E6467);
	display: flex;
	gap: 6px;
}

.rrcm-app .rrcm-pos-qty-stepper,


.rrcm-portal .rrcm-pos-qty-stepper{
	display: flex;
	align-items: center;
	gap: 2px;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #D0D5DD);
	border-radius: 5px;
	padding: 1px;
}

.rrcm-app .rrcm-pos-stepper-btn,


.rrcm-portal .rrcm-pos-stepper-btn{
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	cursor: pointer;
	font-weight: 700;
	font-size: 14px;
	color: var(--rrcm-text, #1E1E1E);
	border-radius: 3px;
	outline: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-pos-stepper-btn:hover,


.rrcm-portal .rrcm-pos-stepper-btn:hover{
	background: #F0F2F5;
}

.rrcm-app .rrcm-pos-qty-input,


.rrcm-portal .rrcm-pos-qty-input{
	width: 32px;
	text-align: center;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	font-size: 12.5px;
	font-weight: 600;
	padding: 0 !important;
	margin: 0 !important;
	height: auto !important;
	color: var(--rrcm-text, #1E1E1E);
}

.rrcm-app .rrcm-pos-line-total,


.rrcm-portal .rrcm-pos-line-total{
	font-size: 13px;
	font-weight: 700;
	color: var(--rrcm-text, #1E1E1E);
	min-width: 60px;
	text-align: right;
}

.rrcm-app .rrcm-pos-register-totals,


.rrcm-portal .rrcm-pos-register-totals{
	padding: 12px 16px;
	border-top: 1px dashed var(--rrcm-border, #E5DFDE);
	background: #FAFAFA;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rrcm-app .rrcm-pos-total-row,


.rrcm-portal .rrcm-pos-total-row{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12.5px;
	color: var(--rrcm-text-faint, #6E6467);
}

.rrcm-app .rrcm-pos-total-row.is-grand-total,


.rrcm-portal .rrcm-pos-total-row.is-grand-total{
	font-size: 16px;
	font-weight: 700;
	color: var(--rrcm-text, #1E1E1E);
	border-top: 1px solid var(--rrcm-border, #E5DFDE);
	padding-top: 8px;
	margin-top: 2px;
}

.rrcm-app .rrcm-pos-payment-pills,


.rrcm-portal .rrcm-pos-payment-pills{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
	gap: 5px;
	margin-top: 4px;
}

.rrcm-app .rrcm-pos-pay-btn,


.rrcm-portal .rrcm-pos-pay-btn{
	padding: 6px 4px;
	font-size: 11.5px;
	font-weight: 600;
	text-align: center;
	background: #ffffff;
	border: 1px solid var(--rrcm-border, #D0D5DD);
	border-radius: 5px;
	cursor: pointer;
	color: var(--rrcm-text, #1E1E1E);
	transition: all 0.12s ease;
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent !important;
}

.rrcm-app .rrcm-pos-pay-btn:focus,


.rrcm-portal .rrcm-pos-pay-btn:focus,


.rrcm-app .rrcm-pos-pay-btn:focus-visible,


.rrcm-portal .rrcm-pos-pay-btn:focus-visible,


.rrcm-app .rrcm-pos-pay-btn:active,


.rrcm-portal .rrcm-pos-pay-btn:active{
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-pos-pay-btn.is-selected,


.rrcm-portal .rrcm-pos-pay-btn.is-selected{
	background: var(--rrcm-primary, #7A2B3D);
	color: #ffffff;
	border-color: var(--rrcm-primary, #7A2B3D);
}

.rrcm-app .rrcm-pos-checkout-actions,


.rrcm-portal .rrcm-pos-checkout-actions{
	padding: 12px 16px;
	border-top: 1px solid var(--rrcm-border, #E5DFDE);
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #ffffff;
}

.rrcm-app .rrcm-pos-toggles,


.rrcm-portal .rrcm-pos-toggles{
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 12px;
}

.rrcm-app .rrcm-pos-toggles label,


.rrcm-portal .rrcm-pos-toggles label{
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	user-select: none;
}/* --------------------------------------------------------------------------
   Overview Workspace Redesign & Interactive Tiles
   -------------------------------------------------------------------------- */


.rrcm-app .rrcm-metric.is-clickable,



.rrcm-portal .rrcm-metric.is-clickable{
	cursor: pointer;
	transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
	position: relative;
}

.rrcm-app .rrcm-metric.is-clickable:hover,


.rrcm-portal .rrcm-metric.is-clickable:hover{
	border-color: var(--rrcm-primary, #7A2B3D);
	box-shadow: 0 3px 10px rgba(31, 26, 27, 0.08);
	transform: translateY(-1px);
}

.rrcm-app .rrcm-metric.is-clickable:focus-visible,


.rrcm-portal .rrcm-metric.is-clickable:focus-visible{
	outline: 2px solid var(--rrcm-primary, #7A2B3D);
	outline-offset: 2px;
}

.rrcm-app .rrcm-overview-workspace-tabs,


.rrcm-portal .rrcm-overview-workspace-tabs{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--rrcm-surface-muted, #f4eaec);
	padding: 4px;
	border-radius: 8px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	margin-bottom: 2px;
}

.rrcm-app .rrcm-overview-tab,


.rrcm-portal .rrcm-overview-tab{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 16px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: var(--rrcm-text-muted, #6E6467);
	font-weight: 500;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.15s ease;
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent !important;
}

.rrcm-app .rrcm-overview-tab:focus,


.rrcm-portal .rrcm-overview-tab:focus,


.rrcm-app .rrcm-overview-tab:focus-visible,


.rrcm-portal .rrcm-overview-tab:focus-visible,


.rrcm-app .rrcm-overview-tab:active,


.rrcm-portal .rrcm-overview-tab:active{
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-overview-tab.is-active,


.rrcm-portal .rrcm-overview-tab.is-active,


.rrcm-app .rrcm-overview-tab.is-active:focus,


.rrcm-portal .rrcm-overview-tab.is-active:focus,


.rrcm-app .rrcm-overview-tab.is-active:focus-visible,


.rrcm-portal .rrcm-overview-tab.is-active:focus-visible,


.rrcm-app .rrcm-overview-tab.is-active:active,


.rrcm-portal .rrcm-overview-tab.is-active:active{
	background: var(--rrcm-surface, #ffffff);
	color: var(--rrcm-primary, #7A2B3D);
	font-weight: 600;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-pipeline-card,


.rrcm-portal .rrcm-pipeline-card{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	padding: 14px 16px;
	background: var(--rrcm-surface, #ffffff);
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: var(--rrcm-radius-card, 8px);
}

.rrcm-app .rrcm-pipeline-item,


.rrcm-portal .rrcm-pipeline-item{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.rrcm-app .rrcm-pipeline-label,


.rrcm-portal .rrcm-pipeline-label{
	font-size: 11.5px;
	font-weight: 500;
	color: var(--rrcm-text-muted, #6E6467);
	display: flex;
	align-items: center;
	gap: 6px;
}

.rrcm-app .rrcm-pipeline-val,


.rrcm-portal .rrcm-pipeline-val{
	font-size: 18px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--rrcm-text, #1E1E1E);
}

.rrcm-app .rrcm-pipeline-sub,


.rrcm-portal .rrcm-pipeline-sub{
	font-size: 11px;
	color: var(--rrcm-text-faint, #8C8285);
}/* Command Bar: Unified Workspace Tabs + Timeframe Filter + Refresh */


.rrcm-app .rrcm-overview-command-bar,



.rrcm-portal .rrcm-overview-command-bar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 2px 0;
}

.rrcm-app .rrcm-overview-command-left,


.rrcm-portal .rrcm-overview-command-left{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.rrcm-app .rrcm-overview-command-sep,


.rrcm-portal .rrcm-overview-command-sep{
	width: 1px;
	height: 22px;
	background: var(--rrcm-border, #E5DFDE);
	margin: 0 4px;
}

.rrcm-app .rrcm-overview-command-right,


.rrcm-portal .rrcm-overview-command-right{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.rrcm-app .rrcm-overview-updated,


.rrcm-portal .rrcm-overview-updated{
	font-size: 12px;
	color: var(--rrcm-text-faint, #8C8285);
}/* Executive Deck: High-efficiency side-by-side layout on desktop/1920px */


.rrcm-app .rrcm-overview-executive-deck,



.rrcm-portal .rrcm-overview-executive-deck{
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	align-items: stretch;
}

@media (min-width: 1280px) {
	.rrcm-app .rrcm-overview-executive-deck,

	.rrcm-portal .rrcm-overview-executive-deck{
		grid-template-columns: minmax(0, 1.7fr) minmax(380px, 1.15fr);
	}
}

.rrcm-app .rrcm-overview-deck-left,


.rrcm-portal .rrcm-overview-deck-left{
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
}

.rrcm-app .rrcm-overview-metric-quad,


.rrcm-portal .rrcm-overview-metric-quad{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	flex: 1;
}

@media (min-width: 640px) {
	.rrcm-app .rrcm-overview-metric-quad,

	.rrcm-portal .rrcm-overview-metric-quad{
		grid-template-columns: repeat(4, 1fr);
	}
}

.rrcm-app .rrcm-overview-metric-quad .rrcm-metric,


.rrcm-portal .rrcm-overview-metric-quad .rrcm-metric{
	margin-bottom: 0;
	padding: 10px 14px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.rrcm-app .rrcm-overview-metric-quad .rrcm-metric-value,


.rrcm-portal .rrcm-overview-metric-quad .rrcm-metric-value{
	font-size: 19px;
	margin: 3px 0 2px;
}

.rrcm-app .rrcm-overview-metric-quad .rrcm-metric-sub,


.rrcm-portal .rrcm-overview-metric-quad .rrcm-metric-sub{
	font-size: 11px;
}/* Compact Distribution Strip */


.rrcm-app .rrcm-overview-distribution-strip,



.rrcm-portal .rrcm-overview-distribution-strip{
	background: var(--rrcm-surface, #ffffff);
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: var(--rrcm-radius-card, 8px);
	padding: 8px 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.rrcm-app .rrcm-overview-dist-head,


.rrcm-portal .rrcm-overview-dist-head{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11.5px;
}

.rrcm-app .rrcm-overview-dist-bar,


.rrcm-portal .rrcm-overview-dist-bar{
	width: 100%;
	height: 7px;
	border-radius: 4px;
	background: var(--rrcm-border, #e2e4e7);
	overflow: hidden;
	display: flex;
}/* Right Deck: Payout Pipeline Card */


.rrcm-app .rrcm-overview-deck-right,



.rrcm-portal .rrcm-overview-deck-right{
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-bottom: 0 !important;
	padding: 0;
	background: var(--rrcm-surface, #ffffff);
	border: 1px solid var(--rrcm-border, #E5DFDE);
	border-radius: var(--rrcm-radius-card, 8px);
}

.rrcm-app .rrcm-pipeline-deck-head,


.rrcm-portal .rrcm-pipeline-deck-head{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 14px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	background: var(--rrcm-surface-muted, #FAF7F6);
	border-top-left-radius: var(--rrcm-radius-card, 8px);
	border-top-right-radius: var(--rrcm-radius-card, 8px);
}

.rrcm-app .rrcm-pipeline-deck-body,


.rrcm-portal .rrcm-pipeline-deck-body{
	flex: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	padding: 12px 14px;
	align-items: center;
}

.rrcm-app .rrcm-pipeline-deck-col,


.rrcm-portal .rrcm-pipeline-deck-col{
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.rrcm-app .rrcm-pipeline-deck-col .rrcm-pipeline-val,


.rrcm-portal .rrcm-pipeline-deck-col .rrcm-pipeline-val{
	font-size: 17px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.rrcm-app .rrcm-pipeline-deck-col .rrcm-pipeline-sub,


.rrcm-portal .rrcm-pipeline-deck-col .rrcm-pipeline-sub{
	font-size: 10.5px;
	color: var(--rrcm-text-faint, #8C8285);
	line-height: 1.3;
}/* Overview Triad (3-column on desktop/1920px) and Duo (2-column on desktop/1920px) Grid Layouts */


.rrcm-app .rrcm-overview-triad-grid,



.rrcm-portal .rrcm-overview-triad-grid{
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	align-items: stretch;
}

@media (min-width: 1024px) {
	.rrcm-app .rrcm-overview-triad-grid,

	.rrcm-portal .rrcm-overview-triad-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1400px) {
	.rrcm-app .rrcm-overview-triad-grid,

	.rrcm-portal .rrcm-overview-triad-grid{
		grid-template-columns: repeat(3, 1fr);
	}
}

.rrcm-app .rrcm-overview-duo-grid,


.rrcm-portal .rrcm-overview-duo-grid{
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	align-items: stretch;
}

@media (min-width: 1024px) {
	.rrcm-app .rrcm-overview-duo-grid,

	.rrcm-portal .rrcm-overview-duo-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}/* Equal-height Overview Widget Card with internal scrolling and sticky headers */


.rrcm-app .rrcm-overview-card,



.rrcm-portal .rrcm-overview-card{
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-bottom: 0 !important;
}

.rrcm-app .rrcm-overview-card .rrcm-card-head,


.rrcm-portal .rrcm-overview-card .rrcm-card-head{
	flex-shrink: 0;
	min-height: 52px;
}

.rrcm-app .rrcm-overview-card .rrcm-tablewrap,


.rrcm-portal .rrcm-overview-card .rrcm-tablewrap{
	flex: 1 1 auto;
	overflow-y: auto;
	overflow-x: auto;
	height: 442px;
	min-height: 442px;
	max-height: 442px;
}

.rrcm-app .rrcm-overview-card .rrcm-tablewrap thead th,


.rrcm-portal .rrcm-overview-card .rrcm-tablewrap thead th{
	position: sticky;
	top: 0;
	z-index: 2;
	background: var(--rrcm-surface-muted, #FAF7F6);
	box-shadow: 0 1px 0 var(--rrcm-border, #E5DFDE);
}

.rrcm-app .rrcm-overview-card .rrcm-tablewrap table.rrcm-table th,


.rrcm-portal .rrcm-overview-card .rrcm-tablewrap table.rrcm-table th,


.rrcm-app .rrcm-overview-card .rrcm-tablewrap table.rrcm-table td,


.rrcm-portal .rrcm-overview-card .rrcm-tablewrap table.rrcm-table td,


.rrcm-app .rrcm-overview-card .rrcm-tablewrap table.rrcm-table tbody th,


.rrcm-portal .rrcm-overview-card .rrcm-tablewrap table.rrcm-table tbody th{
	padding: 8px 8px;
}

.rrcm-app .rrcm-overview-card .rrcm-pagination,


.rrcm-portal .rrcm-overview-card .rrcm-pagination{
	margin-top: auto;
	flex-shrink: 0;
	padding: 8px 12px;
	background: var(--rrcm-surface, #ffffff);
	border-top: 1px solid var(--rrcm-border, #E5DFDE);
}

.rrcm-app .rrcm-overview-card .rrcm-empty,


.rrcm-portal .rrcm-overview-card .rrcm-empty{
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 442px;
	min-height: 442px;
}/* Notes: one composer, readable records, local draft attachments. */


.rrcm-app .rrcm-notes-panel,



.rrcm-portal .rrcm-notes-panel,



.rrcm-app .rrcm-notes-stack,



.rrcm-portal .rrcm-notes-stack{
	display: grid;
	gap: 16px;
	min-width: 0;
}
.rrcm-app .rrcm-notes-columns,

.rrcm-portal .rrcm-notes-columns{
	display: grid;
	grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}
.rrcm-app .rrcm-note-composer,

.rrcm-portal .rrcm-note-composer,

.rrcm-app .rrcm-note-history,

.rrcm-portal .rrcm-note-history,

.rrcm-app .rrcm-note-latest,

.rrcm-portal .rrcm-note-latest{
	min-width: 0;
}
.rrcm-app .rrcm-note-composer .rrcm-card-head,

.rrcm-portal .rrcm-note-composer .rrcm-card-head,

.rrcm-app .rrcm-note-history .rrcm-card-head,

.rrcm-portal .rrcm-note-history .rrcm-card-head{
	display: block;
}
.rrcm-app .rrcm-note-composer .rrcm-help,

.rrcm-portal .rrcm-note-composer .rrcm-help,

.rrcm-app .rrcm-note-history .rrcm-card-head .rrcm-help,

.rrcm-portal .rrcm-note-history .rrcm-card-head .rrcm-help{
	margin: 6px 0 0;
}
.rrcm-app .rrcm-note-composer-body,

.rrcm-portal .rrcm-note-composer-body,

.rrcm-app .rrcm-note-history-body,

.rrcm-portal .rrcm-note-history-body,

.rrcm-app .rrcm-note-latest,

.rrcm-portal .rrcm-note-latest{
	padding: 16px;
}
.rrcm-app .rrcm-note-form,

.rrcm-portal .rrcm-note-form,

.rrcm-app .rrcm-note-fields,

.rrcm-portal .rrcm-note-fields{
	display: grid;
	gap: 16px;
	min-width: 0;
}
.rrcm-app .rrcm-note-fields,

.rrcm-portal .rrcm-note-fields{
	border: 0;
	padding: 0;
	margin: 0;
}
.rrcm-app .rrcm-note-form .rrcm-input,

.rrcm-portal .rrcm-note-form .rrcm-input{
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.rrcm-app .rrcm-note-form textarea,

.rrcm-portal .rrcm-note-form textarea{
	resize: vertical;
	min-height: 120px;
}
.rrcm-app .rrcm-note-form input[type="file"],

.rrcm-portal .rrcm-note-form input[type="file"]{
	font-size: 12px;
}
.rrcm-app .rrcm-note-form-actions,

.rrcm-portal .rrcm-note-form-actions{
	display: flex;
	justify-content: flex-end;
}
.rrcm-app .rrcm-note-list,

.rrcm-portal .rrcm-note-list{
	list-style: none;
	padding: 0;
	margin: 0;
}
.rrcm-app .rrcm-note-entry,

.rrcm-portal .rrcm-note-entry{
	padding: 16px 4px;
	border-bottom: 1px solid var(--rrcm-border);
	overflow-wrap: anywhere;
}
.rrcm-app .rrcm-note-entry:first-child,

.rrcm-portal .rrcm-note-entry:first-child{ padding-top: 0; }
.rrcm-app .rrcm-note-entry:last-child,

.rrcm-portal .rrcm-note-entry:last-child{ padding-bottom: 0; border-bottom: 0; }
.rrcm-app .rrcm-note-entry--withdrawn,

.rrcm-portal .rrcm-note-entry--withdrawn{ background: var(--rrcm-surface-muted); }
.rrcm-app .rrcm-note-meta,

.rrcm-portal .rrcm-note-meta,

.rrcm-app .rrcm-note-latest-heading,

.rrcm-portal .rrcm-note-latest-heading,

.rrcm-app .rrcm-note-file,

.rrcm-portal .rrcm-note-file,

.rrcm-app .rrcm-note-actions,

.rrcm-portal .rrcm-note-actions{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.rrcm-app .rrcm-note-meta .rrcm-help,

.rrcm-portal .rrcm-note-meta .rrcm-help{ flex-basis: 100%; }
.rrcm-app .rrcm-note-latest,

.rrcm-portal .rrcm-note-latest{
	border-left: 3px solid var(--rrcm-primary);
}
.rrcm-app .rrcm-note-latest-heading .rrcm-help,

.rrcm-portal .rrcm-note-latest-heading .rrcm-help{ margin-left: auto; }
.rrcm-app .rrcm-note-body,

.rrcm-portal .rrcm-note-body,

.rrcm-app .rrcm-note-latest-body,

.rrcm-portal .rrcm-note-latest-body{
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	line-height: 1.7;
	margin: 12px 0;
	max-width: 85ch;
}
.rrcm-app .rrcm-note-latest-body,

.rrcm-portal .rrcm-note-latest-body{ margin-bottom: 0; }
.rrcm-app .rrcm-note-file,

.rrcm-portal .rrcm-note-file{
	margin: 0;
	font-size: 12px;
	overflow-wrap: anywhere;
}
.rrcm-app .rrcm-note-file span,

.rrcm-portal .rrcm-note-file span,

.rrcm-app .rrcm-note-file a,

.rrcm-portal .rrcm-note-file a{ min-width: 0; }
.rrcm-app .rrcm-note-actions,

.rrcm-portal .rrcm-note-actions{ margin-top: 12px; }
.rrcm-app .rrcm-note-history .rrcm-empty,

.rrcm-portal .rrcm-note-history .rrcm-empty{ padding: 40px 16px; }
.rrcm-app .rrcm-note-revision-form,

.rrcm-portal .rrcm-note-revision-form{
	display: grid;
	gap: 12px;
	margin-top: 16px;
	padding: 16px;
	background: var(--rrcm-surface-muted);
	border-radius: var(--rrcm-radius);
}
.rrcm-app .rrcm-note-dialog,

.rrcm-portal .rrcm-note-dialog{
	max-width: 520px;
	width: calc(100% - 32px);
	max-height: calc(100dvh - 64px);
	overflow-y: auto;
}
.rrcm-app .rrcm-note-dialog-head,

.rrcm-portal .rrcm-note-dialog-head,

.rrcm-app .rrcm-note-dialog-foot,

.rrcm-portal .rrcm-note-dialog-foot{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px;
}
.rrcm-app .rrcm-note-dialog-head,

.rrcm-portal .rrcm-note-dialog-head{ border-bottom: 1px solid var(--rrcm-border); }
.rrcm-app .rrcm-note-dialog-body,

.rrcm-portal .rrcm-note-dialog-body{ padding: 16px; }
.rrcm-app .rrcm-note-dialog-foot,

.rrcm-portal .rrcm-note-dialog-foot{ justify-content: flex-end; border-top: 1px solid var(--rrcm-border); }
@media (max-width: 1024px) {
	.rrcm-app .rrcm-notes-columns,

	.rrcm-portal .rrcm-notes-columns{ grid-template-columns: minmax(0, 1fr); }
	.rrcm-app .rrcm-note-latest-heading .rrcm-help,

	.rrcm-portal .rrcm-note-latest-heading .rrcm-help{ margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 480px) {
	.rrcm-app .rrcm-note-form-actions .rrcm-btn,

	.rrcm-portal .rrcm-note-form-actions .rrcm-btn{ width: 100%; }
	.rrcm-app .rrcm-note-dialog,

	.rrcm-portal .rrcm-note-dialog{ width: calc(100% - 24px); }
}/* Outlet overflow action uses native keyboard-operable disclosure. */


.rrcm-app .rrcm-outlet-more,



.rrcm-portal .rrcm-outlet-more{ position: relative; }
.rrcm-app .rrcm-outlet-more > summary,

.rrcm-portal .rrcm-outlet-more > summary{ list-style: none; display: flex; align-items: center; justify-content: center; width: 36px; height: 34px; cursor: pointer; border: 1px solid var(--rrcm-border); border-radius: 6px; background: var(--rrcm-surface); }
.rrcm-app .rrcm-outlet-more > summary::-webkit-details-marker,

.rrcm-portal .rrcm-outlet-more > summary::-webkit-details-marker{ display: none; }
.rrcm-app .rrcm-outlet-more > summary:focus-visible,

.rrcm-portal .rrcm-outlet-more > summary:focus-visible{ outline: 2px solid var(--rrcm-primary); outline-offset: 2px; }
.rrcm-app .rrcm-outlet-more-menu,

.rrcm-portal .rrcm-outlet-more-menu{ position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 160px; padding: 8px; border: 1px solid var(--rrcm-border); border-radius: 6px; background: var(--rrcm-surface); box-shadow: 0 8px 24px rgb(0 0 0 / 10%); }
.rrcm-app .rrcm-outlet-more-menu .rrcm-btn,

.rrcm-portal .rrcm-outlet-more-menu .rrcm-btn{ width: 100%; justify-content: flex-start; }/* Global operator navigation and header alerts. */


.rrcm-app .rrcm-system-nav summary,



.rrcm-portal .rrcm-system-nav summary{ cursor: pointer; padding: 12px 8px; }
.rrcm-app .rrcm-more-tools-nav summary,

.rrcm-portal .rrcm-more-tools-nav summary{ cursor: pointer; padding: 12px 8px; }
.rrcm-app .rrcm-alert-bell,

.rrcm-portal .rrcm-alert-bell{ position: relative; display: inline-grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--rrcm-border); border-radius: 6px; color: var(--rrcm-text-muted); background: var(--rrcm-surface); text-decoration: none; }
.rrcm-app .rrcm-alert-bell:hover,

.rrcm-portal .rrcm-alert-bell:hover{ color: var(--rrcm-primary); background: var(--rrcm-primary-soft); }
.rrcm-app .rrcm-alert-bell:focus-visible,

.rrcm-portal .rrcm-alert-bell:focus-visible{ outline: 2px solid var(--rrcm-primary); outline-offset: 2px; }
.rrcm-app .rrcm-alert-bell-count,

.rrcm-portal .rrcm-alert-bell-count{ position: absolute; top: -6px; right: -6px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border-radius: 999px; background: var(--rrcm-danger); color: #fff; font-size: 10px; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 782px) {
 .rrcm-app .rrcm-admin-mobile-nav,

 .rrcm-portal .rrcm-admin-mobile-nav{ flex-wrap: wrap !important; white-space: normal !important; overflow: visible !important; }
 .rrcm-app .rrcm-mobile-nav-section,

 .rrcm-portal .rrcm-mobile-nav-section{ display: contents; }
 .rrcm-app .rrcm-admin-mobile-nav .rrcm-navgroup,

 .rrcm-portal .rrcm-admin-mobile-nav .rrcm-navgroup{ flex-basis: 100%; padding: 6px 0 0; }
 .rrcm-app .rrcm-mobile-system,

 .rrcm-portal .rrcm-mobile-system{ width: 100%; }
 .rrcm-app .rrcm-mobile-more-tools,

 .rrcm-portal .rrcm-mobile-more-tools{ width: 100%; }
 .rrcm-app .rrcm-mobile-system-links,

 .rrcm-portal .rrcm-mobile-system-links{ display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 0; }
}/* Shared assignment/return drawer: keep product names and quantities visible on phones. */


@media (max-width: 560px) {
	.rrcm-app .rrcm-tablewrap table.rrcm-stock-selection-table,

	.rrcm-portal .rrcm-tablewrap table.rrcm-stock-selection-table{ display: block; min-width: 0 !important; width: 100%; }
	.rrcm-app .rrcm-stock-selection-table thead,

	.rrcm-portal .rrcm-stock-selection-table thead{ display: none; }
	.rrcm-app .rrcm-stock-selection-table tbody,

	.rrcm-portal .rrcm-stock-selection-table tbody{ display: block; }
	.rrcm-app .rrcm-stock-selection-table tr,

	.rrcm-portal .rrcm-stock-selection-table tr{ display: grid; grid-template-columns: 1fr 90px 30px; padding: 8px; }
	.rrcm-app .rrcm-stock-selection-table td,

	.rrcm-portal .rrcm-stock-selection-table td{ min-width: 0; border: 0; }
	.rrcm-app .rrcm-stock-selection-table td:first-child,

	.rrcm-portal .rrcm-stock-selection-table td:first-child{ display: none; }
	.rrcm-app .rrcm-stock-selection-table td:nth-child(2),

	.rrcm-portal .rrcm-stock-selection-table td:nth-child(2){ grid-column: 1 / -1; }
	.rrcm-app .rrcm-stock-selection-table td:nth-child(2) strong,

	.rrcm-portal .rrcm-stock-selection-table td:nth-child(2) strong{ white-space: normal !important; overflow-wrap: anywhere; }
}/* Inventory detail grids must shrink inside the drawer; tables scroll locally. */


.rrcm-app .rrcm-stock-detail > .rrcm-card,



.rrcm-portal .rrcm-stock-detail > .rrcm-card{ min-width: 0; }
.rrcm-app .rrcm-stock-detail .rrcm-tablewrap,

.rrcm-portal .rrcm-stock-detail .rrcm-tablewrap{ min-width: 0; max-width: 100%; overflow-x: auto; }
.rrcm-app .rrcm-stock-detail .rrcm-tablewrap table.rrcm-table,

.rrcm-portal .rrcm-stock-detail .rrcm-tablewrap table.rrcm-table{ min-width: 900px !important; table-layout: auto; }
.rrcm-app .rrcm-stock-detail .rrcm-table th,

.rrcm-portal .rrcm-stock-detail .rrcm-table th,

.rrcm-app .rrcm-stock-detail .rrcm-table td,

.rrcm-portal .rrcm-stock-detail .rrcm-table td{ white-space: nowrap; }

.rrcm-app .rrcm-overlay .rrcm-drawer.rrcm-stock-detail-drawer,


.rrcm-portal .rrcm-overlay .rrcm-drawer.rrcm-stock-detail-drawer{ width: 1100px !important; max-width: 100vw !important; }/* Outlet stock overview: compact action cards and a readable narrow-screen list. */


.rrcm-app .rrcm-stock-summary,



.rrcm-portal .rrcm-stock-summary{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.rrcm-app .rrcm-stock-summary button,

.rrcm-portal .rrcm-stock-summary button{ text-align: left; padding: 16px; border: 1px solid var(--rrcm-border); border-radius: 10px; background: var(--rrcm-surface, #fff); color: var(--rrcm-text); cursor: pointer; min-width: 0; }
.rrcm-app .rrcm-stock-summary button.is-active,

.rrcm-portal .rrcm-stock-summary button.is-active{ border-color: var(--rrcm-primary); background: var(--rrcm-surface-subtle, #faf7f8); }
.rrcm-app .rrcm-stock-summary .rrcm-metric-value,

.rrcm-portal .rrcm-stock-summary .rrcm-metric-value{ margin: 8px 0; }
.rrcm-app .rrcm-stock-filters,

.rrcm-portal .rrcm-stock-filters{ display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 16px; }
.rrcm-app .rrcm-stock-notices,

.rrcm-portal .rrcm-stock-notices{ display: flex; flex-wrap: wrap; gap: 12px; padding: 12px 16px; }
.rrcm-app .rrcm-stock-notices a,

.rrcm-portal .rrcm-stock-notices a{ color: var(--rrcm-primary); font-weight: 600; }
@media (max-width: 767px) {
 .rrcm-app .rrcm-stock-summary,

 .rrcm-portal .rrcm-stock-summary{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
 .rrcm-app .rrcm-stock-summary button,

 .rrcm-portal .rrcm-stock-summary button{ padding: 12px; }
 .rrcm-app .rrcm-stock-table,

 .rrcm-portal .rrcm-stock-table{ min-width: 0 !important; }
 .rrcm-app .rrcm-stock-table thead,

 .rrcm-portal .rrcm-stock-table thead{ display: none; }
 .rrcm-app .rrcm-stock-table tbody,

 .rrcm-portal .rrcm-stock-table tbody{ display: block; }
 .rrcm-app .rrcm-stock-table tbody tr,

 .rrcm-portal .rrcm-stock-table tbody tr{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; border-bottom: 1px solid var(--rrcm-border); }
 .rrcm-app .rrcm-stock-table tbody th,

 .rrcm-portal .rrcm-stock-table tbody th,

 .rrcm-app .rrcm-stock-table tbody td,

 .rrcm-portal .rrcm-stock-table tbody td{ display: block; border: 0; padding: 8px 4px; white-space: normal; overflow-wrap: anywhere; text-align: left !important; }
 .rrcm-app .rrcm-stock-table tbody th,

 .rrcm-portal .rrcm-stock-table tbody th,

 .rrcm-app .rrcm-stock-table .rrcm-stock-actions,

 .rrcm-portal .rrcm-stock-table .rrcm-stock-actions{ grid-column: 1 / -1; }
 .rrcm-app .rrcm-stock-table td[data-label]::before,

 .rrcm-portal .rrcm-stock-table td[data-label]::before{ content: attr(data-label); display: block; font-size: 11px; color: var(--rrcm-text-muted); margin-bottom: 4px; }
}
@media (max-width: 767px) {
 .rrcm-app .rrcm-stock-view table.rrcm-stock-table,

 .rrcm-portal .rrcm-stock-view table.rrcm-stock-table{ display: block; width: 100% !important; min-width: 0 !important; }
 .rrcm-app .rrcm-stock-view .rrcm-stock-table tbody,

 .rrcm-portal .rrcm-stock-view .rrcm-stock-table tbody{ width: 100%; }
 .rrcm-app .rrcm-stock-view .rrcm-stock-table .screen-reader-text,

 .rrcm-portal .rrcm-stock-view .rrcm-stock-table .screen-reader-text{ display: none; }
}/* Shared courier configuration and order fulfillment surfaces. */


.rrcm-app .rrcm-courier-settings,



.rrcm-portal .rrcm-courier-settings,



.rrcm-app .rrcm-order-fulfillment,



.rrcm-portal .rrcm-order-fulfillment{ display: grid; gap: 16px; min-width: 0; }
.rrcm-app .rrcm-order-fulfillment .rrcm-card,

.rrcm-portal .rrcm-order-fulfillment .rrcm-card{ margin: 0; min-width: 0; }
.rrcm-app .rrcm-courier-form,

.rrcm-portal .rrcm-courier-form{ display: grid; gap: 12px; padding: 14px 16px; min-width: 0; }
.rrcm-app .rrcm-courier-form form,

.rrcm-portal .rrcm-courier-form form{ display: grid; gap: 12px; min-width: 0; }
.rrcm-app .rrcm-courier-grid,

.rrcm-portal .rrcm-courier-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.rrcm-app .rrcm-courier-grid > *,

.rrcm-portal .rrcm-courier-grid > *{ min-width: 0; }
.rrcm-app .rrcm-courier-grid .rrcm-input,

.rrcm-portal .rrcm-courier-grid .rrcm-input,

.rrcm-app .rrcm-courier-grid .rrcm-select,

.rrcm-portal .rrcm-courier-grid .rrcm-select{ max-width: 100%; width: 100%; }
.rrcm-app .rrcm-courier-actions,

.rrcm-portal .rrcm-courier-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rrcm-app .rrcm-courier-snapshot,

.rrcm-portal .rrcm-courier-snapshot{ display: flex; flex-wrap: wrap; gap: 10px 16px; padding: 12px 16px; background: var(--rrcm-surface-muted); border-radius: 6px; overflow-wrap: anywhere; }
.rrcm-app .rrcm-courier-snapshot > span,

.rrcm-portal .rrcm-courier-snapshot > span{ font-size: 13px; }
.rrcm-app .rrcm-courier-history,

.rrcm-portal .rrcm-courier-history{ display: grid; gap: 8px; margin: 12px 0; padding: 0 16px; }
.rrcm-app .rrcm-courier-history li,

.rrcm-portal .rrcm-courier-history li{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 12px; }
.rrcm-app .rrcm-courier-pagination,

.rrcm-portal .rrcm-courier-pagination{ display: flex; justify-content: flex-end; padding: 12px 16px; }
@media (max-width: 600px) {
 .rrcm-app .rrcm-courier-grid,

 .rrcm-portal .rrcm-courier-grid{ grid-template-columns: minmax(0, 1fr); }
 .rrcm-app .rrcm-courier-actions .rrcm-btn,

 .rrcm-portal .rrcm-courier-actions .rrcm-btn{ min-height: 40px; }
}
.rrcm-app .rrcm-order-fulfillment .rrcm-tablewrap table.rrcm-table,

.rrcm-portal .rrcm-order-fulfillment .rrcm-tablewrap table.rrcm-table{ min-width: 0 !important; width: 100%; }
.rrcm-app .rrcm-order-fulfillment .rrcm-table th,

.rrcm-portal .rrcm-order-fulfillment .rrcm-table th,

.rrcm-app .rrcm-order-fulfillment .rrcm-table td,

.rrcm-portal .rrcm-order-fulfillment .rrcm-table td{ white-space: normal; }
.rrcm-app .rrcm-order-fulfillment .rrcm-table td:first-child,

.rrcm-portal .rrcm-order-fulfillment .rrcm-table td:first-child{ overflow-wrap: anywhere; }/* Fulfillment shares the assignment drawer's controls, with quieter task grouping. */


.rrcm-app .rrcm-operation-tabs,



.rrcm-portal .rrcm-operation-tabs{ flex: 0 0 auto; gap: 4px; border: 0; border-bottom: 1px solid var(--rrcm-border); border-radius: 0; padding: 0 16px; background: var(--rrcm-surface); }
.rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab,

.rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab{ min-height: 44px; border-radius: 0; border-bottom: 2px solid transparent; padding: 0 16px; }
.rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab.is-active,

.rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab.is-active,

.rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab.is-active:hover,

.rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab.is-active:hover,

.rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab.is-active:focus,

.rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab.is-active:focus,

.rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab.is-active:focus-visible,

.rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab.is-active:focus-visible,

.rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab.is-active:active,

.rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab.is-active:active{ background: transparent !important; border-bottom-color: var(--rrcm-primary); color: var(--rrcm-primary) !important; }
.rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab:hover,

.rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab:hover{ background: var(--rrcm-surface-muted); }
.rrcm-app .rrcm-operation-intro h2,

.rrcm-portal .rrcm-operation-intro h2{ font-size: 16px; margin: 0 0 4px; }
.rrcm-app .rrcm-operation-intro p,

.rrcm-portal .rrcm-operation-intro p{ color: var(--rrcm-text-muted); font-size: 13px; margin: 0; }
.rrcm-app .rrcm-shipping-operations,

.rrcm-portal .rrcm-shipping-operations{ display: grid; gap: 16px; min-width: 0; }
.rrcm-app .rrcm-shipping-toolbar,

.rrcm-portal .rrcm-shipping-toolbar{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.rrcm-app .rrcm-shipping-toolbar > p,

.rrcm-portal .rrcm-shipping-toolbar > p{ margin: 0; }
.rrcm-app .rrcm-shipping-connection-help,

.rrcm-portal .rrcm-shipping-connection-help{ font-size: 13px; }
.rrcm-app .rrcm-shipping-connection-help p,

.rrcm-portal .rrcm-shipping-connection-help p{ margin: 8px 0 0; max-width: 75ch; }
.rrcm-app .rrcm-courier-settings-body,

.rrcm-portal .rrcm-courier-settings-body{ padding: 20px; }
.rrcm-app .rrcm-connection-list,

.rrcm-portal .rrcm-connection-list{ margin: 0; overflow: hidden; }
.rrcm-app .rrcm-connection-row,

.rrcm-portal .rrcm-connection-row{ display: flex; align-items: center; gap: 16px; padding: 20px; }
.rrcm-app .rrcm-connection-row + .rrcm-connection-row,

.rrcm-portal .rrcm-connection-row + .rrcm-connection-row{ border-top: 1px solid var(--rrcm-border); }
.rrcm-app .rrcm-connection-icon,

.rrcm-portal .rrcm-connection-icon{ display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; background: var(--rrcm-primary-soft); color: var(--rrcm-primary); border-radius: 8px; }
.rrcm-app .rrcm-connection-name,

.rrcm-portal .rrcm-connection-name{ flex: 1; min-width: 0; }
.rrcm-app .rrcm-connection-name h3,

.rrcm-portal .rrcm-connection-name h3{ margin: 0 0 4px; font-size: 14px; }
.rrcm-app .rrcm-connection-name p,

.rrcm-portal .rrcm-connection-name p{ margin: 0; font-size: 13px; color: var(--rrcm-text-muted); }
.rrcm-app .rrcm-connection-row .rrcm-courier-actions,

.rrcm-portal .rrcm-connection-row .rrcm-courier-actions{ gap: 16px; }
.rrcm-app .rrcm-connection-editor,

.rrcm-portal .rrcm-connection-editor{ display: grid; gap: 20px; width: 100%; max-width: none; margin: 0; }
.rrcm-app .rrcm-editor-section,

.rrcm-portal .rrcm-editor-section{ display: grid; gap: 14px; min-width: 0; padding: 16px; border: 1px solid var(--rrcm-border); border-radius: var(--rrcm-radius-card); background: var(--rrcm-surface); }
.rrcm-app .rrcm-editor-section h3,

.rrcm-portal .rrcm-editor-section h3{ font-size: 14px; margin: 0; }
.rrcm-app .rrcm-editor-section-head,

.rrcm-portal .rrcm-editor-section-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rrcm-app .rrcm-editor-section > .rrcm-field,

.rrcm-portal .rrcm-editor-section > .rrcm-field{ max-width: 100%; }
.rrcm-app .rrcm-editor-section .rrcm-select,

.rrcm-portal .rrcm-editor-section .rrcm-select,

.rrcm-app .rrcm-editor-section .rrcm-input,

.rrcm-portal .rrcm-editor-section .rrcm-input{ width: 100%; max-width: 100%; }
.rrcm-app .rrcm-editor-footer,

.rrcm-portal .rrcm-editor-footer{ display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; }
.rrcm-app .rrcm-editor-footer .rrcm-courier-actions,

.rrcm-portal .rrcm-editor-footer .rrcm-courier-actions{ justify-content: flex-end; }
.rrcm-app .rrcm-advanced > summary,

.rrcm-portal .rrcm-advanced > summary{ cursor: pointer; font-size: 13px; font-weight: 600; color: var(--rrcm-text); }
.rrcm-app .rrcm-advanced-body,

.rrcm-portal .rrcm-advanced-body{ display: grid; gap: 14px; padding-top: 14px; }
.rrcm-app .rrcm-advanced-body .rrcm-btn,

.rrcm-portal .rrcm-advanced-body .rrcm-btn{ justify-self: start; }
.rrcm-app .rrcm-outlet-workspace .rrcm-shell,

.rrcm-portal .rrcm-outlet-workspace .rrcm-shell{ min-width: 0; max-width: 100%; }
.rrcm-app .rrcm-fulfillment-list,

.rrcm-portal .rrcm-fulfillment-list{ display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; max-width: 100%; }
.rrcm-app .rrcm-fulfillment-list > .rrcm-card,

.rrcm-portal .rrcm-fulfillment-list > .rrcm-card{ min-width: 0; }
.rrcm-app .rrcm-order-counts,

.rrcm-portal .rrcm-order-counts{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 2px 0; font-size: 13px; color: var(--rrcm-text-muted); }
.rrcm-app .rrcm-order-counts > span,

.rrcm-portal .rrcm-order-counts > span{ display: inline-flex; gap: 8px; align-items: baseline; }
.rrcm-app .rrcm-order-counts strong,

.rrcm-portal .rrcm-order-counts strong{ color: var(--rrcm-text); font-size: 15px; font-variant-numeric: tabular-nums; }
.rrcm-app .rrcm-fulfillment-toolbar,

.rrcm-portal .rrcm-fulfillment-toolbar{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; }
.rrcm-app .rrcm-fulfillment-search,

.rrcm-portal .rrcm-fulfillment-search{ width: min(420px, 100%); }
.rrcm-app .rrcm-fulfillment-search .rrcm-label,

.rrcm-portal .rrcm-fulfillment-search .rrcm-label{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.rrcm-app .rrcm-search-control,

.rrcm-portal .rrcm-search-control{ position: relative; }
.rrcm-app .rrcm-search-control > svg,

.rrcm-portal .rrcm-search-control > svg{ position: absolute; top: 50%; left: 12px; transform: translateY(-50%); pointer-events: none; color: var(--rrcm-text-muted); }
.rrcm-app .rrcm-search-control .rrcm-input,

.rrcm-portal .rrcm-search-control .rrcm-input{ padding-left: 36px; width: 100%; min-height: 40px; }
.rrcm-app .rrcm-orders-table th,

.rrcm-portal .rrcm-orders-table th,

.rrcm-app .rrcm-orders-table td,

.rrcm-portal .rrcm-orders-table td{ padding: 14px 16px; }
.rrcm-app .rrcm-orders-table .rrcm-orders-total,

.rrcm-portal .rrcm-orders-table .rrcm-orders-total{ font-variant-numeric: tabular-nums; white-space: nowrap; }
.rrcm-app .rrcm-orders-table .rrcm-orders-action,

.rrcm-portal .rrcm-orders-table .rrcm-orders-action{ width: 90px; text-align: right; }
.rrcm-app .rrcm-orders-table tbody tr:hover,

.rrcm-portal .rrcm-orders-table tbody tr:hover{ background: var(--rrcm-surface-muted); }
.rrcm-app .rrcm-overlay .rrcm-drawer.rrcm-fulfillment-drawer,

.rrcm-portal .rrcm-overlay .rrcm-drawer.rrcm-fulfillment-drawer{ width: min(960px, 100vw) !important; }
.rrcm-app .rrcm-drawer-navigation,

.rrcm-portal .rrcm-drawer-navigation{ flex: 0 0 auto; background: var(--rrcm-surface); border-bottom: 1px solid var(--rrcm-border); }
.rrcm-app .rrcm-order-summary,

.rrcm-portal .rrcm-order-summary{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 16px 24px; }
.rrcm-app .rrcm-order-summary > div,

.rrcm-portal .rrcm-order-summary > div{ display: flex; align-items: flex-start; flex-wrap: wrap; gap: 4px 8px; min-width: 0; }
.rrcm-app .rrcm-order-summary > div > span:first-child,

.rrcm-portal .rrcm-order-summary > div > span:first-child{ width: 100%; font-size: 12px; color: var(--rrcm-text-muted); }
.rrcm-app .rrcm-order-summary strong,

.rrcm-portal .rrcm-order-summary strong{ font-size: 13px; overflow-wrap: anywhere; }
.rrcm-app .rrcm-order-tab-content,

.rrcm-portal .rrcm-order-tab-content{ display: grid; gap: 16px; min-width: 0; }
.rrcm-app .rrcm-order-tab-content[hidden],

.rrcm-portal .rrcm-order-tab-content[hidden]{ display: none; }
.rrcm-app .rrcm-fulfillment-drawer .rrcm-drawer-foot .rrcm-btn,

.rrcm-portal .rrcm-fulfillment-drawer .rrcm-drawer-foot .rrcm-btn{ min-height: 40px; }
.rrcm-app .rrcm-fulfillment-drawer .rrcm-order-tab-content > .rrcm-card,

.rrcm-portal .rrcm-fulfillment-drawer .rrcm-order-tab-content > .rrcm-card{ border: 0; border-bottom: 1px solid var(--rrcm-border); border-radius: 0; }
@media (max-width: 767px) {
 .rrcm-app .rrcm-order-summary,

 .rrcm-portal .rrcm-order-summary{ grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px 16px; gap: 12px; }
 .rrcm-app .rrcm-operation-tabs,

 .rrcm-portal .rrcm-operation-tabs{ padding: 0 8px; }
 .rrcm-app .rrcm-operation-tabs .rrcm-workspace-tab,

 .rrcm-portal .rrcm-operation-tabs .rrcm-workspace-tab{ padding: 0 12px; }
 .rrcm-app .rrcm-courier-settings-body,

 .rrcm-portal .rrcm-courier-settings-body{ padding: 16px; }
 .rrcm-app .rrcm-connection-row,

 .rrcm-portal .rrcm-connection-row{ flex-wrap: wrap; padding: 16px; gap: 12px; }
 .rrcm-app .rrcm-connection-row .rrcm-courier-actions,

 .rrcm-portal .rrcm-connection-row .rrcm-courier-actions{ width: 100%; justify-content: space-between; padding-left: 54px; }
 .rrcm-app .rrcm-fulfillment-toolbar,

 .rrcm-portal .rrcm-fulfillment-toolbar{ flex-wrap: wrap; gap: 8px; }
 .rrcm-app .rrcm-fulfillment-search,

 .rrcm-portal .rrcm-fulfillment-search{ width: 100%; }
 .rrcm-app .rrcm-editor-footer,

 .rrcm-portal .rrcm-editor-footer{ align-items: flex-start; }
 .rrcm-app .rrcm-editor-footer .rrcm-courier-actions,

 .rrcm-portal .rrcm-editor-footer .rrcm-courier-actions{ flex-wrap: wrap; }
 .rrcm-app .rrcm-fulfillment-list .rrcm-tablewrap,

 .rrcm-portal .rrcm-fulfillment-list .rrcm-tablewrap{ overflow: visible; }
 .rrcm-app .rrcm-fulfillment-list table.rrcm-orders-table,

 .rrcm-portal .rrcm-fulfillment-list table.rrcm-orders-table{ display: block; width: 100% !important; min-width: 0 !important; }
 .rrcm-app .rrcm-orders-table thead,

 .rrcm-portal .rrcm-orders-table thead{ display: none; }
 .rrcm-app .rrcm-orders-table tbody,

 .rrcm-portal .rrcm-orders-table tbody{ display: grid; }
 .rrcm-app .rrcm-orders-table tbody tr,

 .rrcm-portal .rrcm-orders-table tbody tr{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 16px; padding: 16px; border-bottom: 1px solid var(--rrcm-border); }
 .rrcm-app .rrcm-orders-table td,

 .rrcm-portal .rrcm-orders-table td{ display: block; padding: 0; border: 0; white-space: normal; min-width: 0; overflow-wrap: anywhere; }
 .rrcm-app .rrcm-orders-table td::before,

 .rrcm-portal .rrcm-orders-table td::before{ content: attr(data-label); display: block; color: var(--rrcm-text-muted); font-size: 11px; margin-bottom: 4px; }
 .rrcm-app .rrcm-orders-table .rrcm-orders-action,

 .rrcm-portal .rrcm-orders-table .rrcm-orders-action{ width: auto; align-self: end; }
 .rrcm-app .rrcm-orders-table .rrcm-orders-action::before,

 .rrcm-portal .rrcm-orders-table .rrcm-orders-action::before{ display: none; }
}

.rrcm-app .rrcm-order-state-toolbar,


.rrcm-portal .rrcm-order-state-toolbar{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--rrcm-border); }
.rrcm-app .rrcm-order-state-toolbar h3,

.rrcm-portal .rrcm-order-state-toolbar h3{ margin: 0; font-size: 14px; }
.rrcm-app .rrcm-order-state-toolbar p,

.rrcm-portal .rrcm-order-state-toolbar p{ margin: 4px 0 0; }
.rrcm-app .rrcm-shipment-identity,

.rrcm-portal .rrcm-shipment-identity{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
.rrcm-app .rrcm-shipment-summary,

.rrcm-portal .rrcm-shipment-summary{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 16px; background: var(--rrcm-surface-muted); border-radius: 8px; }
.rrcm-app .rrcm-shipment-summary > div,

.rrcm-portal .rrcm-shipment-summary > div{ min-width: 0; }
.rrcm-app .rrcm-shipment-summary dt,

.rrcm-portal .rrcm-shipment-summary dt{ color: var(--rrcm-text-muted); font-size: 12px; margin-bottom: 4px; }
.rrcm-app .rrcm-shipment-summary dd,

.rrcm-portal .rrcm-shipment-summary dd{ margin: 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.rrcm-app .rrcm-tracking-events,

.rrcm-portal .rrcm-tracking-events{ border-top: 1px solid var(--rrcm-border); padding-top: 14px; }
.rrcm-app .rrcm-tracking-events h4,

.rrcm-portal .rrcm-tracking-events h4{ margin: 0 0 8px; font-size: 13px; }
@media (max-width: 480px) {
 .rrcm-app .rrcm-shipment-summary,

 .rrcm-portal .rrcm-shipment-summary{ grid-template-columns: minmax(0, 1fr); }
}

.rrcm-app .rrcm-courier-panel form > .rrcm-btn,


.rrcm-portal .rrcm-courier-panel form > .rrcm-btn{ justify-self: start; }

/* POS keeps the catalog compact and the draft reachable on small screens. */
.rrcm-app .rrcm-pos-grid-layout,

.rrcm-portal .rrcm-pos-grid-layout{ grid-template-columns: minmax(0, 1fr) minmax(330px, 390px); gap: 14px; }
.rrcm-app .rrcm-pos-products-grid,

.rrcm-portal .rrcm-pos-products-grid{ grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)); gap: 10px; }
.rrcm-app .rrcm-pos-product-item,

.rrcm-portal .rrcm-pos-product-item{ min-width: 0; padding: 8px; }
.rrcm-app .rrcm-pos-product-item:disabled,

.rrcm-portal .rrcm-pos-product-item:disabled{ cursor: default; opacity: .55; transform: none; box-shadow: none; }
.rrcm-app .rrcm-pos-product-thumb,

.rrcm-portal .rrcm-pos-product-thumb{ height: 88px; }
.rrcm-app .rrcm-pos-product-thumb img,

.rrcm-portal .rrcm-pos-product-thumb img{ object-fit: contain; }
.rrcm-app .rrcm-pos-catalog-card,

.rrcm-portal .rrcm-pos-catalog-card{ min-height: 480px; }
.rrcm-app .rrcm-pos-catalog-body,

.rrcm-portal .rrcm-pos-catalog-body{ min-height: 310px; max-height: calc(100vh - 310px); padding: 12px; }
.rrcm-app .rrcm-pos-register-card,

.rrcm-portal .rrcm-pos-register-card{ min-width: 0; }
.rrcm-app .rrcm-pos-pagination,

.rrcm-portal .rrcm-pos-pagination{ display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-top: 1px solid var(--rrcm-border); gap: 8px; }
.rrcm-app .rrcm-pos-estimate-help,

.rrcm-portal .rrcm-pos-estimate-help{ color: var(--rrcm-text-faint); font-size: 11px; line-height: 1.5; margin: 0; padding: 10px 16px; }
.rrcm-app .rrcm-pos-mobile-total,

.rrcm-portal .rrcm-pos-mobile-total,

.rrcm-app .rrcm-pos-mobile-close,

.rrcm-portal .rrcm-pos-mobile-close{ display: none; }
.rrcm-app .rrcm-pos-cart-dialog,

.rrcm-portal .rrcm-pos-cart-dialog{ width: min(440px, 95vw); max-height: 90dvh; overflow-y: auto; padding: 12px 0; }
.rrcm-app .rrcm-pos-cart-dialog .rrcm-pos-mobile-close,

.rrcm-portal .rrcm-pos-cart-dialog .rrcm-pos-mobile-close{ display: flex; margin: 0 14px 8px auto; }
.rrcm-app .rrcm-pos-order-dialog,

.rrcm-portal .rrcm-pos-order-dialog{ width: min(800px, 95vw); max-height: 90dvh; overflow-y: auto; }
.rrcm-app .rrcm-pos-catalog-subhead,

.rrcm-portal .rrcm-pos-catalog-subhead{ flex-wrap: wrap; gap: 8px; }
.rrcm-app .rrcm-pos-catalog-subhead label,

.rrcm-portal .rrcm-pos-catalog-subhead label{ display: flex; align-items: center; gap: 6px; }
.rrcm-app .rrcm-pos-view-tab:focus,

.rrcm-portal .rrcm-pos-view-tab:focus,

.rrcm-app .rrcm-pos-view-tab:focus-visible,

.rrcm-portal .rrcm-pos-view-tab:focus-visible,

.rrcm-app .rrcm-pos-view-tab:active,

.rrcm-portal .rrcm-pos-view-tab:active,

.rrcm-app .rrcm-pos-view-tab.is-active,

.rrcm-portal .rrcm-pos-view-tab.is-active,

.rrcm-app .rrcm-pos-view-tab[aria-selected="true"],

.rrcm-portal .rrcm-pos-view-tab[aria-selected="true"]{ outline: 0 !important; outline-offset: 0 !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent !important; }
@media (max-width: 900px) {
 .rrcm-app .rrcm-pos-grid-layout,

 .rrcm-portal .rrcm-pos-grid-layout{ grid-template-columns: minmax(0, 1fr); }
 .rrcm-app .rrcm-pos-grid-layout > .rrcm-pos-register-card,

 .rrcm-portal .rrcm-pos-grid-layout > .rrcm-pos-register-card{ display: none; }
 .rrcm-app .rrcm-pos-workstation,

 .rrcm-portal .rrcm-pos-workstation{ padding-bottom: 74px; }
 .rrcm-app .rrcm-pos-catalog-body,

 .rrcm-portal .rrcm-pos-catalog-body{ max-height: none; }
 .rrcm-app .rrcm-pos-mobile-total,

 .rrcm-portal .rrcm-pos-mobile-total{ display: block; position: fixed; z-index: 90; bottom: 12px; left: 14px; right: 14px; width: calc(100% - 28px); padding: 14px 12px; background: var(--rrcm-primary); color: #fff; border: 0; border-radius: 8px; font-weight: 600; cursor: pointer; box-shadow: 0 3px 16px rgba(0,0,0,.16); }
 .rrcm-app .rrcm-pos-till-selector,

 .rrcm-portal .rrcm-pos-till-selector{ flex-wrap: wrap; max-width: 100%; }
 .rrcm-app .rrcm-pos-till-selector select,

 .rrcm-portal .rrcm-pos-till-selector select{ min-width: 0 !important; max-width: 100%; }
 .rrcm-app .rrcm-pos-header-bar,

 .rrcm-portal .rrcm-pos-header-bar{ padding: 12px; }
}
@media (max-width: 400px) {
 .rrcm-app .rrcm-pos-products-grid,

 .rrcm-portal .rrcm-pos-products-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
 .rrcm-app .rrcm-pos-catalog-head,

 .rrcm-portal .rrcm-pos-catalog-head{ padding: 12px; }
 .rrcm-app .rrcm-pos-catalog-subhead,

 .rrcm-portal .rrcm-pos-catalog-subhead{ font-size: 11px; }
 .rrcm-app .rrcm-pos-line,

 .rrcm-portal .rrcm-pos-line{ flex-wrap: wrap; }
 .rrcm-app .rrcm-pos-line-details,

 .rrcm-portal .rrcm-pos-line-details{ flex-basis: 100%; }
}

.rrcm-app .rrcm-pos-product-meta,


.rrcm-portal .rrcm-pos-product-meta{ flex-direction: column; align-items: flex-start; gap: 4px; }
.rrcm-app .rrcm-pos-product-price,

.rrcm-portal .rrcm-pos-product-price{ white-space: nowrap; }
.rrcm-app .rrcm-pos-product-stock,

.rrcm-portal .rrcm-pos-product-stock{ text-align: left; }
.rrcm-app .rrcm-pos-mobile-close,

.rrcm-portal .rrcm-pos-mobile-close{ border: 1px solid var(--rrcm-border); border-radius: 6px; padding: 6px 12px; background: var(--rrcm-surface); color: var(--rrcm-text); font: inherit; cursor: pointer; }
.rrcm-app .rrcm-pos-register-card input[type="checkbox"],

.rrcm-portal .rrcm-pos-register-card input[type="checkbox"],

.rrcm-app .rrcm-pos-cart-dialog input[type="checkbox"],

.rrcm-portal .rrcm-pos-cart-dialog input[type="checkbox"]{ width: 16px; height: 16px; min-width: 16px; }
.rrcm-app .rrcm-mobile-pos-entry,

.rrcm-portal .rrcm-mobile-pos-entry{ display: none; }
@media (max-width: 900px) {
 .rrcm-app .rrcm-mobile-pos-entry,

 .rrcm-portal .rrcm-mobile-pos-entry{ display: flex; justify-content: flex-end; padding: 8px 12px; border-bottom: 1px solid var(--rrcm-border); background: var(--rrcm-surface); }
}/* Outlet history and customer choices use the same compact POS rhythm. */


.rrcm-app .rrcm-pos-list-tools,



.rrcm-portal .rrcm-pos-list-tools{ display: flex; align-items: flex-end; gap: 12px; padding: 14px 16px; }
.rrcm-app .rrcm-pos-list-tools .rrcm-field,

.rrcm-portal .rrcm-pos-list-tools .rrcm-field{ flex: 1; min-width: 0; }
.rrcm-app .rrcm-pos-orders-table-wrap,

.rrcm-portal .rrcm-pos-orders-table-wrap{ overflow-x: auto; }
.rrcm-app .rrcm-pos-orders-table,

.rrcm-portal .rrcm-pos-orders-table{ width: 100%; border-collapse: collapse; text-align: left; }
.rrcm-app .rrcm-pos-orders-table th,

.rrcm-portal .rrcm-pos-orders-table th{ background: var(--rrcm-surface-alt); color: var(--rrcm-text-faint); font-size: 12px; font-weight: 600; }
.rrcm-app .rrcm-pos-orders-table th,

.rrcm-portal .rrcm-pos-orders-table th,

.rrcm-app .rrcm-pos-orders-table td,

.rrcm-portal .rrcm-pos-orders-table td{ padding: 12px 16px; border-bottom: 1px solid var(--rrcm-border); overflow-wrap: anywhere; }
.rrcm-app .rrcm-pos-row-actions,

.rrcm-portal .rrcm-pos-row-actions{ display: flex; flex-wrap: wrap; gap: 6px; }
.rrcm-app .rrcm-pos-customer-picker,

.rrcm-portal .rrcm-pos-customer-picker{ display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.rrcm-app .rrcm-pos-customer-picker .rrcm-pos-pagination,

.rrcm-portal .rrcm-pos-customer-picker .rrcm-pos-pagination{ padding: 8px 0; border-top: 0; font-size: 11px; }
.rrcm-app .rrcm-pos-customer-options,

.rrcm-portal .rrcm-pos-customer-options{ list-style: none; margin: 0; padding: 0; max-height: 220px; overflow-y: auto; border: 1px solid var(--rrcm-border); border-radius: 6px; }
.rrcm-app .rrcm-pos-customer-options li + li,

.rrcm-portal .rrcm-pos-customer-options li + li{ border-top: 1px solid var(--rrcm-border); }
.rrcm-app .rrcm-pos-customer-options button,

.rrcm-portal .rrcm-pos-customer-options button{ display: flex; flex-direction: column; gap: 3px; width: 100%; text-align: left; padding: 10px 12px; background: var(--rrcm-surface); color: var(--rrcm-text); border: 0; cursor: pointer; font: inherit; }
.rrcm-app .rrcm-pos-customer-options button:hover,

.rrcm-portal .rrcm-pos-customer-options button:hover,

.rrcm-app .rrcm-pos-customer-options button:focus-visible,

.rrcm-portal .rrcm-pos-customer-options button:focus-visible{ background: var(--rrcm-surface-alt); }
.rrcm-app .rrcm-pos-customer-options button span,

.rrcm-portal .rrcm-pos-customer-options button span{ font-size: 11px; color: var(--rrcm-text-faint); overflow-wrap: anywhere; }
.rrcm-app .rrcm-pos-selected-customer,

.rrcm-portal .rrcm-pos-selected-customer{ display: flex; align-items: center; justify-content: space-between; gap: 8px; overflow-wrap: anywhere; }
.rrcm-app .rrcm-pos-product-item:disabled,

.rrcm-portal .rrcm-pos-product-item:disabled{ opacity: .75; }
@media (max-width: 768px) {
 .rrcm-app .rrcm-pos-orders-table thead,

 .rrcm-portal .rrcm-pos-orders-table thead{ display: none; }
 .rrcm-app .rrcm-pos-orders-table,

 .rrcm-portal .rrcm-pos-orders-table,

 .rrcm-app .rrcm-pos-orders-table tbody,

 .rrcm-portal .rrcm-pos-orders-table tbody,

 .rrcm-app .rrcm-pos-orders-table tr,

 .rrcm-portal .rrcm-pos-orders-table tr,

 .rrcm-app .rrcm-pos-orders-table td,

 .rrcm-portal .rrcm-pos-orders-table td{ display: block; }
 .rrcm-app .rrcm-pos-orders-table tr,

 .rrcm-portal .rrcm-pos-orders-table tr{ padding: 12px 16px; border-bottom: 1px solid var(--rrcm-border); }
 .rrcm-app .rrcm-pos-orders-table td,

 .rrcm-portal .rrcm-pos-orders-table td{ display: grid; grid-template-columns: minmax(70px, .4fr) minmax(0, 1fr); gap: 10px; border: 0; padding: 6px 0; }
 .rrcm-app .rrcm-pos-orders-table td::before,

 .rrcm-portal .rrcm-pos-orders-table td::before{ content: attr(data-label); color: var(--rrcm-text-faint); font-size: 12px; }
 .rrcm-app .rrcm-pos-list-tools,

 .rrcm-portal .rrcm-pos-list-tools{ flex-wrap: wrap; }
}/* Orders queue toolbar & segmented status navigation */


.rrcm-app .rrcm-orders-toolbar,



.rrcm-portal .rrcm-orders-toolbar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--rrcm-border, #E5DFDE);
	background: var(--rrcm-surface, #ffffff);
}

.rrcm-app .rrcm-orders-segmented-tabs,


.rrcm-portal .rrcm-orders-segmented-tabs{
	display: inline-flex;
	align-items: center;
	gap: 3px;
	background: var(--rrcm-surface-muted, #f4eaec);
	padding: 3px;
	border-radius: 8px;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	max-width: 100%;
	overflow-x: auto;
}

.rrcm-app .rrcm-orders-segmented-tab,


.rrcm-portal .rrcm-orders-segmented-tab{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--rrcm-text-muted, #6E6467);
	font-weight: 500;
	font-size: 13px;
	white-space: nowrap;
	cursor: pointer;
	transition: all 0.15s ease;
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent !important;
}

.rrcm-app .rrcm-orders-segmented-tab:focus,


.rrcm-portal .rrcm-orders-segmented-tab:focus,


.rrcm-app .rrcm-orders-segmented-tab:focus-visible,


.rrcm-portal .rrcm-orders-segmented-tab:focus-visible,


.rrcm-app .rrcm-orders-segmented-tab:active,


.rrcm-portal .rrcm-orders-segmented-tab:active{
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
}

.rrcm-app .rrcm-orders-segmented-tab.is-active,


.rrcm-portal .rrcm-orders-segmented-tab.is-active{
	background: var(--rrcm-surface, #ffffff) !important;
	color: var(--rrcm-primary, #7A2B3D) !important;
	font-weight: 600 !important;
	border-color: var(--rrcm-border, #E5DFDE) !important;
	box-shadow: 0 1px 3px rgba(31, 26, 27, 0.08), 0 1px 2px rgba(31, 26, 27, 0.04) !important;
}

.rrcm-app .rrcm-orders-tab-count,


.rrcm-portal .rrcm-orders-tab-count{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 6px;
	border-radius: 9999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	background: var(--rrcm-border, #E5DFDE);
	color: var(--rrcm-text-muted, #6E6467);
	transition: all 0.15s ease;
}

.rrcm-app .rrcm-orders-segmented-tab.is-active .rrcm-orders-tab-count,


.rrcm-portal .rrcm-orders-segmented-tab.is-active .rrcm-orders-tab-count{
	background: var(--rrcm-primary, #7A2B3D);
	color: #ffffff;
}

.rrcm-app .rrcm-orders-search-wrap,


.rrcm-portal .rrcm-orders-search-wrap{
	position: relative;
	display: flex;
	align-items: center;
	min-width: 240px;
	max-width: 380px;
	flex: 1;
}

.rrcm-app .rrcm-orders-search-icon,


.rrcm-portal .rrcm-orders-search-icon{
	position: absolute;
	left: 10px;
	color: var(--rrcm-text-muted, #6E6467);
	pointer-events: none;
	display: flex;
	align-items: center;
}

.rrcm-app .rrcm-orders-search-input,


.rrcm-portal .rrcm-orders-search-input{
	width: 100%;
	height: 36px;
	padding: 0 32px 0 32px !important;
	font-size: 13px;
	border-radius: 6px !important;
	border: 1px solid var(--rrcm-border, #E5DFDE);
	background: var(--rrcm-surface, #ffffff);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rrcm-app .rrcm-orders-search-input:focus,


.rrcm-portal .rrcm-orders-search-input:focus{
	border-color: var(--rrcm-primary, #7A2B3D) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 2px rgba(122, 43, 61, 0.12) !important;
}

.rrcm-app .rrcm-orders-search-clear,


.rrcm-portal .rrcm-orders-search-clear{
	position: absolute;
	right: 8px;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--rrcm-text-muted, #6E6467);
	font-size: 16px;
	line-height: 1;
	padding: 4px;
	display: flex;
	align-items: center;
	border-radius: 4px;
}

.rrcm-app .rrcm-orders-search-clear:hover,


.rrcm-portal .rrcm-orders-search-clear:hover{
	color: var(--rrcm-text, #1F1A1B);
}

.rrcm-app .rrcm-orders-search-spinner,


.rrcm-portal .rrcm-orders-search-spinner{
	position: absolute;
	right: 28px;
	width: 13px;
	height: 13px;
	border: 2px solid var(--rrcm-border, #E5DFDE);
	border-top-color: var(--rrcm-primary, #7A2B3D);
	border-radius: 50%;
	animation: rrcm-spin 0.6s linear infinite;
}

@keyframes rrcm-spin {
	to { transform: rotate(360deg); }
}

/* POS receipts use black ink and white paper regardless of application theme. */
.rrcm-app .rrcm-pos-receipt-panel,

.rrcm-portal .rrcm-pos-receipt-panel{ overflow: hidden; }
.rrcm-app .rrcm-pos-receipt-body,

.rrcm-portal .rrcm-pos-receipt-body{ padding: 16px; }
.rrcm-app .rrcm-pos-receipt-actions,

.rrcm-portal .rrcm-pos-receipt-actions,

.rrcm-app .rrcm-pos-receipt-toolbar,

.rrcm-portal .rrcm-pos-receipt-toolbar{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rrcm-app .rrcm-pos-receipt-toolbar label,

.rrcm-portal .rrcm-pos-receipt-toolbar label{ font-weight: 600; }
.rrcm-app .rrcm-pos-receipt-toolbar .rrcm-input,

.rrcm-portal .rrcm-pos-receipt-toolbar .rrcm-input{ width: auto; max-width: 100%; }
.rrcm-app .rrcm-pos-receipt-preview,

.rrcm-portal .rrcm-pos-receipt-preview{ padding: 24px 16px; background: var(--rrcm-bg, #f4f5f7); border: 1px solid var(--rrcm-border, #ddd); overflow: auto; }
.rrcm-app .rrcm-pos-receipt,

.rrcm-portal .rrcm-pos-receipt{ box-sizing: border-box; margin: 0 auto; color: #000; background: #fff; font-size: 12px; line-height: 1.5; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.rrcm-app .rrcm-pos-receipt--thermal,

.rrcm-portal .rrcm-pos-receipt--thermal{ width: 80mm; max-width: 100%; padding: 4mm; }
.rrcm-app .rrcm-pos-receipt--a4,

.rrcm-portal .rrcm-pos-receipt--a4{ width: 210mm; max-width: 100%; padding: 15mm; font-size: 14px; }
.rrcm-app .rrcm-pos-receipt-identity,

.rrcm-portal .rrcm-pos-receipt-identity{ text-align: center; padding-bottom: 12px; border-bottom: 2px solid #000; }
.rrcm-app .rrcm-pos-receipt-logo,

.rrcm-portal .rrcm-pos-receipt-logo{ display: block; width: auto; max-width: 48mm; max-height: 20mm; object-fit: contain; margin: 0 auto 8px; }
.rrcm-app .rrcm-pos-receipt-identity h2,

.rrcm-portal .rrcm-pos-receipt-identity h2{ margin: 0 0 6px; font-size: 21px; font-weight: 750; color: #000; line-height: 1.2; }
.rrcm-app .rrcm-pos-receipt p,

.rrcm-portal .rrcm-pos-receipt p{ margin: 3px 0; color: #000; }
.rrcm-app .rrcm-pos-receipt-address,

.rrcm-portal .rrcm-pos-receipt-address{ white-space: pre-line; }
.rrcm-app .rrcm-pos-receipt-outlet,

.rrcm-portal .rrcm-pos-receipt-outlet{ font-weight: 650; }
.rrcm-app .rrcm-pos-receipt-outlet span,

.rrcm-portal .rrcm-pos-receipt-outlet span{ display: block; font-weight: 400; }
.rrcm-app .rrcm-pos-receipt-kind,

.rrcm-portal .rrcm-pos-receipt-kind{ padding-top: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.rrcm-app .rrcm-pos-receipt dl,

.rrcm-portal .rrcm-pos-receipt dl{ margin: 0; }
.rrcm-app .rrcm-pos-receipt-meta,

.rrcm-portal .rrcm-pos-receipt-meta{ padding: 12px 0; }
.rrcm-app .rrcm-pos-receipt-meta div,

.rrcm-portal .rrcm-pos-receipt-meta div,

.rrcm-app .rrcm-pos-receipt-totals div,

.rrcm-portal .rrcm-pos-receipt-totals div{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 12px; padding: 3px 0; }
.rrcm-app .rrcm-pos-receipt dt,

.rrcm-portal .rrcm-pos-receipt dt{ font-weight: 400; }
.rrcm-app .rrcm-pos-receipt dd,

.rrcm-portal .rrcm-pos-receipt dd{ margin: 0; text-align: right; }
.rrcm-app .rrcm-pos-receipt-items,

.rrcm-portal .rrcm-pos-receipt-items{ width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0 0 12px; color: #000; font-size: inherit; }
.rrcm-app .rrcm-pos-receipt-items col:first-child,

.rrcm-portal .rrcm-pos-receipt-items col:first-child{ width: 41%; }
.rrcm-app .rrcm-pos-receipt-items col:nth-child(2),

.rrcm-portal .rrcm-pos-receipt-items col:nth-child(2){ width: 11%; }
.rrcm-app .rrcm-pos-receipt-items col:nth-child(3),

.rrcm-portal .rrcm-pos-receipt-items col:nth-child(3),

.rrcm-app .rrcm-pos-receipt-items col:nth-child(4),

.rrcm-portal .rrcm-pos-receipt-items col:nth-child(4){ width: 24%; }
.rrcm-app .rrcm-pos-receipt-items th,

.rrcm-portal .rrcm-pos-receipt-items th,

.rrcm-app .rrcm-pos-receipt-items td,

.rrcm-portal .rrcm-pos-receipt-items td{ vertical-align: top; padding: 8px 2px; border-bottom: 1px solid #ddd; text-align: right; background: transparent; color: #000; }
.rrcm-app .rrcm-pos-receipt-items th:first-child,

.rrcm-portal .rrcm-pos-receipt-items th:first-child{ text-align: left; padding-left: 0; }
.rrcm-app .rrcm-pos-receipt-items th:last-child,

.rrcm-portal .rrcm-pos-receipt-items th:last-child,

.rrcm-app .rrcm-pos-receipt-items td:last-child,

.rrcm-portal .rrcm-pos-receipt-items td:last-child{ padding-right: 0; }
.rrcm-app .rrcm-pos-receipt-items thead th,

.rrcm-portal .rrcm-pos-receipt-items thead th{ border-top: 1px solid #000; border-bottom: 1px solid #000; font-weight: 650; }
.rrcm-app .rrcm-pos-receipt-items tbody th,

.rrcm-portal .rrcm-pos-receipt-items tbody th{ font-weight: 500; }
.rrcm-app .rrcm-pos-receipt-items small,

.rrcm-portal .rrcm-pos-receipt-items small{ display: block; margin-top: 3px; font-size: 10px; font-weight: 400; }
.rrcm-app .rrcm-pos-receipt-totals,

.rrcm-portal .rrcm-pos-receipt-totals{ padding-top: 4px; border-top: 1px solid #000; }
.rrcm-app .rrcm-pos-receipt-totals .rrcm-pos-receipt-grand-total,

.rrcm-portal .rrcm-pos-receipt-totals .rrcm-pos-receipt-grand-total{ margin: 8px 0; padding: 8px 0; border-top: 2px solid #000; border-bottom: 2px solid #000; font-size: 17px; }
.rrcm-app .rrcm-pos-receipt-grand-total dt,

.rrcm-portal .rrcm-pos-receipt-grand-total dt,

.rrcm-app .rrcm-pos-receipt-grand-total dd,

.rrcm-portal .rrcm-pos-receipt-grand-total dd,

.rrcm-app .rrcm-pos-receipt-due dt,

.rrcm-portal .rrcm-pos-receipt-due dt,

.rrcm-app .rrcm-pos-receipt-due dd,

.rrcm-portal .rrcm-pos-receipt-due dd{ font-weight: 750; }
.rrcm-app .rrcm-pos-receipt footer,

.rrcm-portal .rrcm-pos-receipt footer{ margin-top: 16px; padding-top: 12px; border-top: 1px dashed #000; text-align: center; }
.rrcm-app .rrcm-pos-receipt-thanks,

.rrcm-portal .rrcm-pos-receipt-thanks{ padding-top: 8px; font-weight: 600; }
@media (max-width: 480px) {
 .rrcm-app .rrcm-pos-receipt-body,

 .rrcm-portal .rrcm-pos-receipt-body{ padding: 12px; }
 .rrcm-app .rrcm-pos-receipt-preview,

 .rrcm-portal .rrcm-pos-receipt-preview{ padding: 12px 4px; }
 .rrcm-app .rrcm-pos-receipt--a4,

 .rrcm-portal .rrcm-pos-receipt--a4{ padding: 4mm; font-size: 12px; }
 .rrcm-app .rrcm-pos-receipt-panel .rrcm-card-head,

 .rrcm-portal .rrcm-pos-receipt-panel .rrcm-card-head{ align-items: flex-start; flex-direction: column; gap: 12px; }
}

.rrcm-app .rrcm-pos-receipt-unit-note,


.rrcm-portal .rrcm-pos-receipt-unit-note{ display: none !important; }
.rrcm-app .rrcm-pos-receipt--thermal .rrcm-pos-receipt-unit-note,

.rrcm-portal .rrcm-pos-receipt--thermal .rrcm-pos-receipt-unit-note{ display: block !important; }
.rrcm-app .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:first-child,

.rrcm-portal .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:first-child{ width: 55%; }
.rrcm-app .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:nth-child(2),

.rrcm-portal .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:nth-child(2){ width: 10%; }
.rrcm-app .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:nth-child(3),

.rrcm-portal .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:nth-child(3),

.rrcm-app .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items tr > :nth-child(3),

.rrcm-portal .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items tr > :nth-child(3){ display: none; width: 0; }
.rrcm-app .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:nth-child(4),

.rrcm-portal .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items col:nth-child(4){ width: 35%; }
.rrcm-app .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items td,

.rrcm-portal .rrcm-pos-receipt--thermal .rrcm-pos-receipt-items td{ white-space: nowrap; font-size: 11px; }/* Receipts occupy a focused dialog instead of stacking above the register. */


.rrcm-app .rrcm-pos-receipt-overlay .rrcm-scrim,



.rrcm-portal .rrcm-pos-receipt-overlay .rrcm-scrim{ background: var(--rrcm-bg); opacity: 1; }
.rrcm-app .rrcm-pos-receipt-overlay .rrcm-pos-receipt-panel,

.rrcm-portal .rrcm-pos-receipt-overlay .rrcm-pos-receipt-panel{ width: min(960px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 48px); overflow-y: auto; }
.rrcm-app .rrcm-pos-receipt-controls.rrcm-card-head,

.rrcm-portal .rrcm-pos-receipt-controls.rrcm-card-head{ position: sticky; top: 0; z-index: 1; background: var(--rrcm-surface); }
@media (max-width: 480px) {
 .rrcm-app .rrcm-pos-receipt-overlay,

 .rrcm-portal .rrcm-pos-receipt-overlay{ padding: 8px; }
 .rrcm-app .rrcm-pos-receipt-overlay .rrcm-pos-receipt-panel,

 .rrcm-portal .rrcm-pos-receipt-overlay .rrcm-pos-receipt-panel{ width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
}

