/* Royal balanced customer body — production selectors only, 2026-10-07.
   Load after portal-premium.css and the shared balanced shell. Existing
   portal-premium.js, controller fields, translation keys and routes stay intact. */
:root body.royal-balanced-theme:is(.portal-customer,.portal-login) {
  --rc-panel:linear-gradient(145deg,#182332,#121c29 65%,#0f1823);
  --rc-raised:linear-gradient(160deg,#253449,#1a293a 55%,#132031);
  --rc-frame:#414951; --rc-line:#2d3847; --rc-soft:#172231;
  --rc-ink:#f5f5f4; --rc-text:#e9e9e7; --rc-muted:#d5d5d4;
  --rc-gold:#c8a96e; --rc-gold-ink:#e9d9ba; --rc-field:#0c1521;
  --rc-shadow:inset 0 1px #ffffff0c,inset 0 -1px #0005,0 8px 22px #0003;
  --panel:#101925; --panel2:#172231; --inp:#0c1521;
  --line:#2d3847; --line2:#ffffff12;
  --txt:#e9e9e7; --silver:#f5f5f4; --mut:#d5d5d4;
  --gold:#c8a96e; --gold-b:#e9d9ba; --gold-d:#ab8950;
  --red:#ffada3; --green:#8ae2b0; --amber:#efd092;
  --rc-ui:var(--royal-ui,'Plus Jakarta Sans',system-ui,sans-serif);
  --rc-prose:var(--royal-prose,'Raleway',system-ui,sans-serif);
  --rc-title:var(--royal-title,'Great Vibes',Georgia,serif);
}
:root[data-theme=light] body.royal-balanced-theme:is(.portal-customer,.portal-login) {
  --rc-panel:linear-gradient(145deg,#fffdf9,#f3efe7);
  --rc-raised:linear-gradient(160deg,#fffdf8,#ebe5da);
  --rc-frame:#c7bfb0; --rc-line:#d5cdc0; --rc-soft:#f1ede5;
  --rc-ink:#20334a; --rc-text:#344558; --rc-muted:#526171;
  --rc-gold:#85612c; --rc-gold-ink:#77531d; --rc-field:#fffdfa;
  --rc-shadow:inset 0 1px #fff,0 8px 22px #20365115;
  --panel:#fffdf9; --panel2:#f1ede5; --inp:#fffdfa;
  --line:#d5cdc0; --line2:#20334a15;
  --txt:#344558; --silver:#20334a; --mut:#526171;
  --gold:#85612c; --gold-b:#77531d; --gold-d:#735323;
  --red:#a92f30; --green:#14683e; --amber:#855719;
}
:root body.royal-balanced-theme.portal-customer .wrap { min-width:0; }
:root body.royal-balanced-theme.portal-customer .wrap > :is(h2,.paybox-h) {
  margin-block:30px 16px; color:var(--rc-ink); font-family:var(--rc-ui);
  font-weight:600; letter-spacing:0; text-transform:none; text-shadow:none;
}
:root body.royal-balanced-theme.portal-customer :is(.hint,.help,.foot,.paybox ol,.steps,.wide>p,.wrap>p,.wiki-hero-copy>p,.wiki-guide-card p,.wiki-article-lead,.wiki-tip p,.wiki-faq details p) {
  font-family:var(--rc-prose); font-weight:400; color:var(--rc-muted); line-height:1.7;
}
:root body.royal-balanced-theme.portal-customer :is(.card,.paybox,.prev,.tablewrap,.txlist),
:root body.royal-balanced-theme.portal-login .lbox {
  min-width:0; border:1px solid var(--rc-frame); border-top-color:#ffffff25;
  border-radius:16px; background:var(--rc-panel); outline:0; box-shadow:var(--rc-shadow);
}
:root[data-theme=light] body.royal-balanced-theme.portal-customer :is(.card,.paybox,.prev,.tablewrap,.txlist),
:root[data-theme=light] body.royal-balanced-theme.portal-login .lbox { border-top-color:#fff; }
:root body.royal-balanced-theme.portal-customer .cards { gap:20px; }
:root body.royal-balanced-theme.portal-customer .card { padding:clamp(20px,1.7vw,30px); }
:root body.royal-balanced-theme.portal-customer .cards .card { min-height:190px; }
:root body.royal-balanced-theme.portal-customer .card .lbl {
  font:600 13px/1.55 var(--rc-ui); color:var(--rc-muted); letter-spacing:.045em;
}
:root body.royal-balanced-theme.portal-customer :is(.card .big,.tx-amt) {
  font-family:var(--rc-ui); font-weight:500; letter-spacing:-.025em;
  font-variant-numeric:tabular-nums; text-shadow:none;
}
:root body.royal-balanced-theme.portal-customer .card.balance { border-color:#c8a96e70; }
:root body.royal-balanced-theme.portal-customer .card.balance .big {
  color:var(--rc-gold-ink); background:none; -webkit-text-fill-color:currentColor;
}
:root body.royal-balanced-theme.portal-customer .card.balance::before { height:2px; opacity:.8; }
:root body.royal-balanced-theme.portal-customer .card.balance .cur {
  font-family:var(--rc-ui); color:var(--rc-gold-ink); -webkit-text-fill-color:currentColor;
}
:root body.royal-balanced-theme.portal-customer .paybox { margin-block:18px; padding:22px 24px; }
:root body.royal-balanced-theme.portal-customer .paybox-h {
  font:600 clamp(16px,1vw,20px)/1.45 var(--rc-ui); text-transform:none; letter-spacing:0;
  color:var(--rc-ink);
}
:root body.royal-balanced-theme.portal-customer .paybox :is(ol,.hint) { font-size:14px; }
:root body.royal-balanced-theme.portal-customer .paybox input[name=recipient] { flex:1 1 240px; min-width:0; }
:root body.royal-balanced-theme.portal-customer .paybox input[readonly][aria-label=UUID] {
  font-family:Consolas,ui-monospace,monospace!important; width:100%; min-width:0;
}
:root body.royal-balanced-theme.portal-customer :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea) {
  max-width:100%; min-height:44px; font-family:var(--rc-ui);
  color:var(--rc-ink); border-color:var(--rc-frame); background:var(--rc-field);
  box-shadow:inset 0 2px 5px #0003; border-radius:9px;
}
/* Legacy credit form uses inline colours; override only its visual declarations. */
:root body.royal-balanced-theme.portal-customer .paybox input[style] {
  color:var(--rc-ink)!important; background:var(--rc-field)!important; border-color:var(--rc-frame)!important;
}
:root body.royal-balanced-theme.portal-customer :is(input,textarea)::placeholder { color:var(--rc-muted); opacity:1; }
:root body.royal-balanced-theme.portal-customer .amt { background:var(--rc-field); min-width:0; }
:root body.royal-balanced-theme.portal-customer .amt input { border:0; box-shadow:none; background:none; }
:root body.royal-balanced-theme.portal-customer .wrap :is(button,.btn) {
  font-family:var(--rc-ui); font-weight:600; text-shadow:none; letter-spacing:0;
  min-height:46px; border:1px solid #c8a96e; border-top-color:#ead5ad;
  color:#241c11; background:linear-gradient(145deg,#d7bf8e,#c8a96e 58%,#a88951);
  box-shadow:inset 0 1px #f6e4c43d,0 2px #6b512b,0 5px 10px #0003;
}
:root body.royal-balanced-theme.portal-customer .wrap :is(button,.btn).ghost {
  color:var(--rc-ink); border-color:var(--rc-frame); background:var(--rc-raised);
  box-shadow:inset 0 1px #ffffff15,inset 0 -1px #0005,0 2px #0007,0 5px 10px #0002;
}
:root body.royal-balanced-theme.portal-customer .wrap :is(button,.btn).pay.due {
  color:var(--due-ink); background:linear-gradient(180deg,var(--due-b),var(--red));
  border-color:var(--red); box-shadow:inset 0 1px #fff3,0 2px #652922,0 5px 10px #0003;
}
:root body.royal-balanced-theme.portal-customer .wrap :is(button,.btn):disabled { cursor:not-allowed; opacity:.55; transform:none; }
:root body.royal-balanced-theme.portal-customer .wrap :is(button,.btn):focus-visible { outline:2px solid var(--rc-gold); outline-offset:4px; }
:root body.royal-balanced-theme.portal-customer :is(.actions,.rowact) { gap:12px; flex-wrap:wrap; }
:root body.royal-balanced-theme.portal-customer .rowact a.map {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px;
  padding:10px 15px; border:1px solid var(--rc-frame); border-radius:9px;
  color:var(--rc-ink); background:var(--rc-raised); text-decoration:none;
  box-shadow:inset 0 1px #ffffff15,0 2px #0007,0 5px 10px #0002;
}
:root body.royal-balanced-theme.portal-customer .rowact a.map:hover { border-color:var(--rc-gold); }

/* Native submit button still performs the original per-box POST. Decorative
   track/knob are pointer-inert; label remains exactly AutoPay ON / OFF. */
:root body.royal-balanced-theme.portal-customer .wrap button.sm:is(.ap-on,.ap-off) {
  position:relative; min-width:160px; min-height:48px; margin:0;
  padding:10px 68px 10px 15px; font:600 15px/1.4 var(--rc-ui);
  border-radius:10px; text-shadow:none; opacity:1; white-space:nowrap;
  background:var(--rc-raised); color:var(--rc-ink); border-color:var(--rc-frame);
  box-shadow:inset 0 1px #ffffff15,inset 0 -1px #0005,0 2px #0007,0 5px 10px #0002;
}
:root body.royal-balanced-theme.portal-customer .wrap button.sm.ap-on { border-color:#c8a96eaa; color:var(--rc-gold-ink); }
:root body.royal-balanced-theme.portal-customer .wrap button.sm:is(.ap-on,.ap-off)::before {
  content:''; position:absolute; inset-inline-end:12px; top:50%; transform:translateY(-50%);
  width:46px; height:26px; border-radius:20px; box-sizing:border-box; pointer-events:none;
  border:1px solid #738094; background:#101b2a; box-shadow:inset 0 2px 3px #0007;
}
:root body.royal-balanced-theme.portal-customer .wrap button.sm.ap-on::before {
  border-color:#e9d9ba; background:linear-gradient(160deg,#e1c899,#c8a96e 52%,#ab8950);
}
:root body.royal-balanced-theme.portal-customer .wrap button.sm:is(.ap-on,.ap-off)::after {
  content:''; position:absolute; inset-inline-end:35px; top:50%; transform:translateY(-50%);
  width:20px; height:20px; border-radius:50%; pointer-events:none;
  background:linear-gradient(160deg,#fff,#c7d0da); box-shadow:0 1px 4px #0008;
}
:root body.royal-balanced-theme.portal-customer .wrap button.sm.ap-on::after { inset-inline-end:15px; background:linear-gradient(160deg,#fffaf0,#e7d4af); }
html[dir=rtl] body.royal-balanced-theme.portal-customer .wrap button.sm:is(.ap-on,.ap-off) { padding:10px 15px 10px 68px; }

/* Only the explicitly marked rental table becomes cards; HUD facts and device
   history retain normal table semantics and their own horizontal scroll area. */
:root body.royal-balanced-theme.portal-customer .tablewrap { max-width:100%; }
:root body.royal-balanced-theme.portal-customer table { font-family:var(--rc-ui); font-size:clamp(14px,.13vw + 12px,17px); }
:root body.royal-balanced-theme.portal-customer :is(th,td) { border-color:var(--rc-line); }
:root body.royal-balanced-theme.portal-customer th { color:var(--rc-muted); }
:root body.royal-balanced-theme.portal-customer :is(.sub,.tx-meta,.tx-note,.tx-src) { color:var(--rc-muted); }
:root body.royal-balanced-theme.portal-customer .tx-meta { font-size:clamp(12px,.1vw + 11px,14px); }
:root body.royal-balanced-theme.portal-customer .sub.red { color:var(--red); }
:root body.royal-balanced-theme.portal-customer .royal-rentals {
  overflow:visible; border:0; background:none; box-shadow:none;
}
:root body.royal-balanced-theme.portal-customer .royal-rentals table { display:block; min-width:0; }
:root body.royal-balanced-theme.portal-customer .royal-rentals thead {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0;
}
:root body.royal-balanced-theme.portal-customer .royal-rentals tbody {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;
}
:root body.royal-balanced-theme.portal-customer .royal-rentals tr {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(105px,.48fr);
  grid-template-areas:'region state' 'unit unit' 'time rent' 'actions actions';
  align-content:start; min-width:0; padding:22px; gap:15px 20px;
  border:1px solid var(--rc-frame); border-top-color:#ffffff25; border-radius:16px;
  background:var(--rc-panel); box-shadow:var(--rc-shadow);
}
:root body.royal-balanced-theme.portal-customer .royal-rentals td {
  display:block; min-width:0; padding:0; border:0; white-space:normal;
  background:none!important; color:var(--rc-ink); overflow-wrap:anywhere;
}
:root body.royal-balanced-theme.portal-customer .royal-rentals td[data-label]::before {
  content:attr(data-label); display:block; margin-bottom:5px;
  color:var(--rc-muted); font:500 12px/1.45 var(--rc-ui);
}
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-region { grid-area:region; font-size:21px; font-weight:600; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-region a { color:var(--rc-ink); text-decoration:none; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-region a:hover { color:var(--rc-gold-ink); }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-unit { grid-area:unit; color:var(--rc-muted); }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-unit .sub { margin-top:7px; font-size:12px!important; color:var(--rc-muted); user-select:all; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-state { grid-area:state; justify-self:end; align-self:start; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-time { grid-area:time; font-weight:500; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-time .sub { font-size:12px; line-height:1.6; font-weight:400; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-rent { grid-area:rent; font-weight:600; font-size:17px; font-variant-numeric:tabular-nums; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .rc-actions {
  grid-area:actions; border-top:1px solid var(--rc-line); padding-top:17px; margin-top:2px;
}
:root body.royal-balanced-theme.portal-customer .royal-rentals .rowact { justify-content:flex-start; gap:12px; }
:root body.royal-balanced-theme.portal-customer .royal-rentals .pill { font-size:11px; padding:6px 10px; line-height:1.5; }
:root body.royal-balanced-theme.portal-customer .tx { min-width:0; }
:root body.royal-balanced-theme.portal-customer .tx-note { white-space:normal; overflow-wrap:anywhere; max-width:none; }
:root body.royal-balanced-theme.portal-customer .tx-gain { white-space:normal; }
:root body.royal-balanced-theme.portal-customer .prev { padding:22px; border-color:#c8a96e88; }
:root body.royal-balanced-theme.portal-customer .prev .where { font-size:18px; color:var(--rc-ink); }
:root body.royal-balanced-theme.portal-customer .prev .meta { font-size:13px; color:var(--rc-muted); }
:root body.royal-balanced-theme.portal-customer .msg { overflow-wrap:anywhere; line-height:1.65; border:1px solid currentColor; }
:root body.royal-balanced-theme.portal-customer .msg.note { color:var(--rc-gold-ink); background:#c8a96e15; }
:root body.royal-balanced-theme.portal-customer .codebox { border-color:var(--rc-frame); background:var(--rc-field); }
:root body.royal-balanced-theme.portal-customer .codebox .code { color:var(--rc-gold-ink); overflow-wrap:anywhere; }

/* Reminder editor IDs/data hooks and visibility rules belong to the original JS. */
:root body.royal-balanced-theme.portal-customer :is(.schedule-current,.reminder-entry-row:not(.is-empty)) {
  border-color:var(--rc-line); background:var(--rc-raised); box-shadow:inset 0 1px #ffffff0c,inset 0 -1px #0004;
}
:root body.royal-balanced-theme.portal-customer .reminder-entry-row.is-empty { background:none; }
:root body.royal-balanced-theme.portal-customer .reminder-entry-row :is(input,select,.reminder-row-action) { min-height:44px; }
:root body.royal-balanced-theme.portal-customer :is(.discord-channel-head,.recipient-row,.delivery-row)>div { min-width:0; }
:root body.royal-balanced-theme.portal-customer .discord-channel-head .pill { white-space:normal; }
:root body.royal-balanced-theme.portal-customer :is(.recipient-row,.delivery-row) :is(strong,small) { white-space:normal; overflow-wrap:anywhere; }
:root body.royal-balanced-theme.portal-customer :is(.channel-icon,.recipient-icon,.delivery-icon) { color:var(--rc-gold-ink); background:var(--rc-raised); border-color:var(--rc-frame); }
:root body.royal-balanced-theme.portal-customer .formcard { max-width:520px; }

/* Wiki uses its own heading and controls. Keep search/filter/deep-link behaviour. */
:root body.royal-balanced-theme.portal-customer .wiki { color:var(--rc-text); font-family:var(--rc-ui); }
:root body.royal-balanced-theme.portal-customer .wiki :is(.wiki-hero,.wiki-guide-card,.wiki-article) { background:var(--rc-panel); border-color:var(--rc-frame); box-shadow:var(--rc-shadow); }
:root body.royal-balanced-theme.portal-customer .wiki-hero h2 { font:400 clamp(36px,3.2vw,52px)/1.3 var(--rc-title); letter-spacing:0; text-transform:none; }
:root body.royal-balanced-theme.portal-customer .wiki :is(.wiki-section-title h2,.wiki-article h2) { font-family:var(--rc-ui); font-weight:600; letter-spacing:0; text-transform:none; }
:root body.royal-balanced-theme.portal-customer .wiki .wiki-primary { color:#241c11!important; background:linear-gradient(145deg,#d7bf8e,#c8a96e 58%,#a88951); min-height:46px; }
:root body.royal-balanced-theme.portal-customer .wiki .wiki-categories button {
  min-height:44px; width:auto; margin:0; color:var(--rc-muted); background:transparent; border:1px solid var(--rc-line); box-shadow:none; font-size:13px;
}
:root body.royal-balanced-theme.portal-customer .wiki .wiki-categories button[aria-pressed=true] { color:var(--rc-gold-ink); background:#c8a96e15; border-color:var(--rc-gold); }
:root body.royal-balanced-theme.portal-customer .wiki :is(.wiki-clear,.wiki-reset) { width:auto; margin:0; min-height:44px; color:var(--rc-gold-ink); background:none; box-shadow:none; border:0; }
:root body.royal-balanced-theme.portal-customer .wiki-search-box input { background:none; border:0; box-shadow:none; }
:root body.royal-balanced-theme.portal-customer .wiki .wiki-related a { min-height:44px; display:inline-flex; align-items:center; }
:root body.royal-balanced-theme.portal-customer .wiki-flow-number { font-family:var(--rc-ui); }
:root body.royal-balanced-theme.portal-customer .wiki [hidden] { display:none!important; }
:root body.royal-balanced-theme.portal-login .lbox { width:100%; min-width:0; }
:root body.royal-balanced-theme.portal-login .lbox :is(form,input,button) { min-width:0; max-width:100%; }
:root body.royal-balanced-theme.portal-login .lbox :is(input,button) { min-height:48px; font-family:var(--rc-ui); }
:root body.royal-balanced-theme.portal-login .lbox input { color:var(--rc-ink); background:var(--rc-field); border-color:var(--rc-frame); }
:root body.royal-balanced-theme.portal-login .lbox button { color:#241c11; background:linear-gradient(145deg,#d7bf8e,#c8a96e 58%,#a88951); border:1px solid #c8a96e; text-shadow:none; font-weight:600; box-shadow:inset 0 1px #f6e4c43d,0 2px #6b512b,0 5px 10px #0003; }
:root body.royal-balanced-theme.portal-login .lbox :is(.msg,.help,.tag) { overflow-wrap:anywhere; }
:root body.royal-balanced-theme.portal-login .langbar { gap:7px; }
:root body.royal-balanced-theme.portal-login .langbar a { display:inline-flex; align-items:center; justify-content:center; color:var(--rc-muted); }
:root body.royal-balanced-theme.portal-login .langbar a.on { color:#241c11; background:linear-gradient(145deg,#d7bf8e,#c8a96e); }
:root body.royal-balanced-theme.portal-login .lbox .help { color:var(--rc-muted); font-family:var(--rc-prose); }
:root body.royal-balanced-theme.portal-login .langbar a { min-height:44px; }
html:lang(ar) body.royal-balanced-theme.portal-customer .wiki-steps li { padding-left:0; padding-right:44px; }
html:lang(ar) body.royal-balanced-theme.portal-customer .wiki-steps li::before { left:auto; right:0; }

@media(min-width:2000px) {
  :root body.royal-balanced-theme.portal-customer .royal-rentals tr { padding:28px; }
  :root body.royal-balanced-theme.portal-customer .royal-rentals .rc-region { font-size:24px; }
}
@media(max-width:1000px) {
  :root body.royal-balanced-theme.portal-customer .royal-rentals tbody { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  :root body.royal-balanced-theme.portal-customer .cards { grid-template-columns:1fr; }
  :root body.royal-balanced-theme.portal-customer :is(.paybox,.prev) { padding:18px; }
  :root body.royal-balanced-theme.portal-customer .royal-rentals tr { padding:18px; gap:15px 12px; grid-template-columns:minmax(0,1fr) minmax(88px,.48fr); }
  :root body.royal-balanced-theme.portal-customer .royal-rentals .rc-region { font-size:20px; }
  :root body.royal-balanced-theme.portal-customer .royal-rentals .rc-rent { font-size:15px; }
  :root body.royal-balanced-theme.portal-customer .royal-rentals .rowact { gap:10px; }
  :root body.royal-balanced-theme.portal-customer .royal-rentals .rc-actions .inline:last-child { flex-basis:100%; }
  :root body.royal-balanced-theme.portal-customer .tx { grid-template-columns:34px minmax(0,1fr); padding:16px; gap:9px 12px; }
  :root body.royal-balanced-theme.portal-customer .tx-right { grid-column:2; display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; text-align:start; white-space:normal; }
  :root body.royal-balanced-theme.portal-customer .tx-meta { margin:0; }
  :root body.royal-balanced-theme.portal-customer .reminder-entry-row { grid-template-columns:26px minmax(60px,.72fr) minmax(84px,1fr); gap:7px; }
  :root body.royal-balanced-theme.portal-customer .reminder-entry-row select { padding-inline:8px; }
  :root body.royal-balanced-theme.portal-customer .delivery-row time { white-space:normal; }
  :root body.royal-balanced-theme.portal-customer .wiki-flow-note { align-items:flex-start; }
  :root body.royal-balanced-theme.portal-customer .wiki-section-title { flex-wrap:wrap; }
  :root body.royal-balanced-theme.portal-customer .wiki .wiki-categories button { flex:1 1 auto; justify-content:center; }
  :root body.royal-balanced-theme.portal-customer .paybox input[name=recipient] { flex-basis:100%; }
}
@media(max-width:380px) {
  :root body.royal-balanced-theme.portal-customer .royal-rentals tr {
    grid-template-areas:'region state' 'unit unit' 'time time' 'rent rent' 'actions actions';
  }
}
@media(prefers-reduced-motion:reduce) {
  :root body.royal-balanced-theme.portal-customer .wrap :is(button,.btn,.card,.wiki-guide-card) { transition:none; }
  :root body.royal-balanced-theme.portal-customer .wrap :is(button,.btn):hover { transform:none; }
}
@media(forced-colors:active) {
  :root body.royal-balanced-theme.portal-customer :is(.card,.paybox,.prev,.tablewrap,.txlist,.royal-rentals tr,.wrap button,.wrap .btn,.rowact a.map),
  :root body.royal-balanced-theme.portal-login .lbox { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }
  :root body.royal-balanced-theme.portal-customer .wrap button.sm:is(.ap-on,.ap-off)::before { background:Canvas; border-color:CanvasText; }
  :root body.royal-balanced-theme.portal-customer .wrap button.sm:is(.ap-on,.ap-off)::after { background:CanvasText; box-shadow:none; }
}
