:root{
  --bg:#0a1310; --bg2:#0e1814; --surface:#101c16; --surface2:#16241d;
  --line:#22332b; --line-soft:#1a2820;
  --text:#f1f6f2; --muted:#9db0a6; --faint:#6e837a;
  --amber:#ffcb6b; --amber-deep:#f5a623;
  --neon:#6fb78f; --neon-soft:#8fcaa9;
  --green:#5ad19a; --blue:#5d6bf2;
  --bs-body-bg:var(--bg); --bs-body-color:var(--text);
  --bs-border-color:var(--line); --bs-border-radius:12px;
  --gradient-hero: radial-gradient(circle at center, #d9e021 0%, #4d5610 55%, #000000 100%);
  --background: oklch(0.14 0.04 280);
  --foreground: oklch(0.98 0.005 280);
  --font-display: "Fraunces", system-ui, sans-serif;
  --font-sans: "Inter", system-ui, sans-serif;
}
html {
  margin: 0;
  padding: 0;
  background: var(--gradient-hero);
  background-attachment: fixed;
  color: var(--foreground);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  min-height: 100%;
}
body { background-color: transparent !important; }
h1,
h2,
h3 {
    text-shadow:
        0 2px 3px rgba(0, 0, 0, 0.85),
        0 4px 12px rgba(0, 0, 0, 0.45);
}
.bg-gradient{ position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(62% 44% at 50% -8%, rgba(98,176,131,.34), transparent 62%),
    radial-gradient(46% 34% at 86% 3%, rgba(70,150,112,.18), transparent 60%),
    radial-gradient(60% 50% at 10% 16%, rgba(58,128,96,.12), transparent 60%),
    linear-gradient(180deg, #0c1611 0%, #0a120e 50%, #070d0a 100%); }
.bg-grid{ position:fixed; inset:0; z-index:-2; pointer-events:none; opacity:.55;
  background:
    repeating-linear-gradient(90deg, rgba(170,200,185,.05) 0 1px, transparent 1px 74px),
    repeating-linear-gradient(0deg, rgba(170,200,185,.05) 0 1px, transparent 1px 74px);
  -webkit-mask-image:radial-gradient(72% 56% at 50% -2%, #000, transparent 78%);
          mask-image:radial-gradient(72% 56% at 50% -2%, #000, transparent 78%); }
.notes{ position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.notes .note{ position:absolute; bottom:-7vh; opacity:0; will-change:transform,opacity;
  animation:rise var(--dur) linear var(--delay) infinite; }
@keyframes rise{
  0%{ transform:translateY(0) translateX(0) rotate(0deg); opacity:0; }
  12%{ opacity:var(--op); }
  50%{ transform:translateY(-55vh) translateX(var(--drift)) rotate(160deg); }
  88%{ opacity:var(--op); }
  100%{ transform:translateY(-112vh) translateX(0) rotate(320deg); opacity:0; }
}
.disp{ font-family:'Bricolage Grotesque',sans-serif; letter-spacing:-.02em; line-height:1.04; }
.mono{ font-family:'JetBrains Mono',monospace; }
.muted{ color:var(--muted); } .faint{ color:var(--faint); }
.eyebrow{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--neon); font-weight:700; }

/* topbar */
.topbar{ position:sticky; top:0; z-index:40; backdrop-filter:blur(12px);
  background:rgba(7,17,11,.4); border-bottom:1px solid var(--line-soft); transition:transform .32s ease; }
.topbar.nav-hidden{ transform:translateY(-105%); }
.site-footer{ text-align:center; padding:34px 18px 44px; color:#000000; font-size:12.5px; }
.site-footer a{ color:#000000; text-decoration:none; font-weight:600; }
.site-footer a:hover{ color:#FFFFFF; text-decoration:underline; }
.brand{ display:flex; align-items:center; justify-content:center; gap:11px; }
.brand .rmsl-logo{ height:54px; width:auto; display:block; }
.brand .rmsl-logo path:not(.st0){ fill:var(--text); }
.topbar-in{ display:flex; flex-direction:column; align-items:center; gap:13px; padding:18px 18px 15px; }
.tent .rmsl-logo{ height:30px; width:auto; display:block; margin:16px auto 0; }
.tent .powered{ font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:#9a7a4a; margin-top:7px; font-weight:700; }
.roles{ display:flex; gap:4px; background:var(--bg2); padding:4px; border-radius:12px; border:1px solid var(--line-soft); }
.role{ border:0; cursor:pointer; background:transparent; color:var(--muted); font-weight:600; font-size:13px;
  padding:7px 13px; border-radius:9px; display:flex; align-items:center; gap:7px; position:relative; }
.role:hover{ color:var(--text); }
.role.on{ background:var(--surface2); color:var(--text); box-shadow:0 6px 16px rgba(0,0,0,.35); }
.role .nb{ position:absolute; top:-5px; right:-5px; background:var(--neon); color:#1a0f16; font-size:10px;
  font-weight:800; min-width:17px; height:17px; border-radius:9px; display:grid; place-items:center; padding:0 4px; }

/* cards / surfaces */
.card2{ background:linear-gradient(180deg, rgba(28,42,34,.55), rgba(13,22,18,.9)); border:1px solid var(--line); border-radius:18px; }
.stat{ background:linear-gradient(180deg, rgba(28,42,34,.5), rgba(13,22,18,.9)); border:1px solid var(--line-soft); border-radius:16px; padding:15px 16px; }
.stat .n{ font-family:'Bricolage Grotesque'; font-weight:800; font-size:27px; line-height:1; }
.stat .l{ font-size:12px; color:var(--muted); margin-top:5px; font-weight:600; }

/* buttons */
.btnx{ cursor:pointer; border:0; border-radius:12px; font-weight:700; font-size:14px; display:inline-flex;
  align-items:center; justify-content:center; gap:8px; padding:12px 18px; transition:.15s; color:var(--text); }
.btnx:active{ transform:translateY(1px); }
.btn-pink{ background:linear-gradient(135deg,#6470f4,#525fe8); color:#fff; box-shadow:0 10px 26px rgba(93,107,242,.36); }
.btn-pink:hover{ filter:brightness(1.08); color:#fff; }
.btn-amber{ background:linear-gradient(135deg,#7cc09a,#5fa07a); color:#08140e; }
.btn-amber:hover{ color:#08140e; filter:brightness(1.05); }
.btn-ghost{ background:var(--surface2); color:var(--text); border:1px solid var(--line); }
.btn-ghost:hover{ border-color:var(--neon-soft); color:var(--text); }
.btnx:disabled{ opacity:.45; cursor:not-allowed; }
.iconbtn{ border:0; background:var(--surface); color:var(--muted); cursor:pointer; width:30px;height:30px;
  border-radius:9px; display:grid;place-items:center; transition:.12s; }
.iconbtn:hover{ color:var(--text); background:var(--line); }
.iconbtn:disabled{ opacity:.35; cursor:not-allowed; }

/* inputs */
.inp{ width:100%; background:var(--bg2); border:1px solid var(--line); color:var(--text); font-family:inherit;
  font-size:15px; padding:13px 14px; border-radius:12px; outline:none; }
.inp:focus{ border-color:var(--neon-soft); box-shadow:0 0 0 3px rgba(111,183,143,.14); }
.inp::placeholder{ color:var(--faint); }
.lbl{ font-size:12px; font-weight:700; color:var(--muted); margin-bottom:7px; display:block; }
.chip{ font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; display:inline-flex; align-items:center; gap:5px; }

/* stage */
.stage{ position:relative; overflow:hidden; border-radius:22px; padding:26px 22px 24px;
  background:linear-gradient(180deg, #15251d 0%, #0d1813 100%); border:1px solid var(--line); }
.stage:before{ content:""; position:absolute; inset:-50% 20% auto -20%; height:280px;
  background:radial-gradient(closest-side, rgba(98,176,131,.30), transparent); filter:blur(10px); }
.live{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--green);
  background:rgba(90,209,154,.1); border:1px solid rgba(90,209,154,.25); padding:5px 11px; border-radius:999px; }
.perfname{ font-family:'Bricolage Grotesque'; font-weight:800; font-size:34px; line-height:1.04; margin:14px 0 4px; }
.pulse{ width:8px;height:8px;border-radius:50%; background:var(--green); animation:pulse 1.8s infinite; }
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(90,209,154,.55)}70%{box-shadow:0 0 0 10px rgba(90,209,154,0)}100%{box-shadow:0 0 0 0 rgba(90,209,154,0)}}

/* art / results */
.art{ border-radius:10px; object-fit:cover; flex:none; background:var(--surface2); }
.art-ph{ border-radius:10px; flex:none; display:grid;place-items:center; font-family:'Bricolage Grotesque'; font-weight:800; color:#190f17; }
.result{ display:flex; align-items:center; gap:13px; padding:10px; border-radius:14px; cursor:pointer; border:1px solid transparent; transition:.12s; }
.result:hover{ background:var(--surface2); border-color:var(--line); }
.song-t{ font-weight:600; font-size:15px; line-height:1.2; }
.song-a{ font-size:13px; color:var(--muted); }

/* cart ticket */
.ticket{ background:var(--surface2); border:1px solid var(--line); border-radius:14px; padding:12px 14px; display:flex; gap:12px; align-items:flex-start; }
.prio-t{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; cursor:pointer;
  padding:6px 12px; border-radius:999px; border:1px solid var(--line); color:var(--muted); background:transparent;
  position:relative; transition:transform .15s; }
.prio-t.on{ color:var(--amber); border-color:var(--amber); background:rgba(255,203,107,.08); animation:none; box-shadow:none; }
.prio-t:not(.on){ color:var(--text); background:rgba(111,183,143,.05); animation:glowcycle 3.2s ease-in-out infinite, prioPulse 1.7s ease-in-out infinite; }
.prio-wrap{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.prio-hint{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:800; color:var(--neon); letter-spacing:.01em; }
.prio-hint i{ font-size:15px; animation:nudge 1.05s ease-in-out infinite; }
@keyframes prioPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.05); } }
@keyframes nudge{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(-6px); } }
@keyframes glowcycle{
  0%{   box-shadow:0 0 0 1px rgba(111,183,143,.55), 0 0 12px 1px rgba(111,183,143,.50); border-color:#6fb78f; }
  25%{  box-shadow:0 0 0 1px rgba(90,209,154,.55), 0 0 16px 2px rgba(90,209,154,.50); border-color:#5ad19a; }
  50%{  box-shadow:0 0 0 1px rgba(94,196,255,.55), 0 0 16px 2px rgba(94,196,255,.50); border-color:#5ec4ff; }
  75%{  box-shadow:0 0 0 1px rgba(255,203,107,.60), 0 0 16px 2px rgba(255,203,107,.50); border-color:#ffcb6b; }
  100%{ box-shadow:0 0 0 1px rgba(111,183,143,.55), 0 0 12px 1px rgba(111,183,143,.50); border-color:#6fb78f; }
}
.summary{ border-top:1px dashed var(--line); margin-top:4px; padding-top:14px; }
.srow{ display:flex; justify-content:space-between; align-items:center; font-size:14px; padding:5px 0; }
.total{ font-family:'Bricolage Grotesque'; font-weight:800; font-size:24px; }
.tip{ flex:1; text-align:center; padding:11px 6px; border-radius:12px; border:1px solid var(--line);
  background:var(--bg2); color:var(--muted); cursor:pointer; font-weight:700; font-size:14px; }
.tip.on{ border-color:var(--neon); color:var(--text); background:rgba(111,183,143,.1); }

/* modal */
.modal-bg{ position:fixed; inset:0; z-index:60; background:rgba(10,7,16,.72); backdrop-filter:blur(6px); display:grid; place-items:center; padding:18px; }
.modalx{ width:100%; max-width:420px; background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:22px; }
.pay{ display:flex; align-items:center; gap:12px; width:100%; padding:14px; border-radius:13px; cursor:pointer;
  border:1px solid var(--line); background:var(--bg2); color:var(--text); font-weight:600; font-size:15px; transition:.12s; }
.pay:hover{ border-color:var(--neon-soft); transform:translateY(-1px); }
.payicon{ width:38px;height:38px;border-radius:10px; display:grid;place-items:center; flex:none; color:#fff; font-size:17px; }

/* tabs */
.tabs{ display:flex; flex-wrap:wrap; gap:4px; background:var(--bg2); padding:4px; border-radius:12px; border:1px solid var(--line-soft); width:fit-content; max-width:100%; }
.tab{ border:0; background:transparent; color:var(--muted); font-weight:700; font-size:13px; padding:8px 15px; border-radius:9px; cursor:pointer; }
.tab.on{ background:var(--surface2); color:var(--text); }

/* queue rows */
.q{ display:flex; gap:13px; align-items:center; padding:13px 14px 13px 13px; border-radius:15px; background:var(--surface); border:1px solid var(--line-soft); }
.q.deck{ border-color:var(--neon); background:linear-gradient(125deg, #1f5a39 0%, #15412b 48%, #0c2a1b 100%); box-shadow:0 0 0 1px rgba(111,183,143,.22), 0 16px 44px rgba(0,0,0,.42); }
.q.prio{ border-color:rgba(255,203,107,.5); }
.q.done .art,.q.done .art-ph,.q.done .song-t,.q.done .song-a{ opacity:.6; }
.drag-handle{ flex:none; align-self:stretch; display:flex; align-items:center; padding:0 6px; margin:-13px 0; color:var(--faint); cursor:grab; touch-action:none; user-select:none; font-size:18px; }
.drag-handle:active{ cursor:grabbing; color:var(--neon); }
.q-item{ touch-action:pan-y; }
.q-item.dragging{ position:relative; z-index:30; opacity:.97; box-shadow:0 18px 44px rgba(0,0,0,.55); border-color:var(--neon); animation:none; }
.qbtns{ display:flex; flex-direction:column; gap:11px; flex:none; align-items:stretch; }
.qbtn{ border:0; cursor:pointer; border-radius:12px; padding:6px 12px;
  display:flex; align-items:center; justify-content:center; gap:7px; font-family:inherit; font-weight:700; font-size:12.5px; transition:.12s; }
.qbtn i{ font-size:18px; line-height:1; }
.qbtn-play{ background:var(--green); color:#06160e; min-width:96px; min-height:56px; font-size:14px; box-shadow:0 7px 20px rgba(90,209,154,.30); }
.qbtn-play i{ font-size:24px; }
.qbtn-play:hover{ filter:brightness(1.07); }
.qbtn-skip{ background:transparent; color:var(--faint); border:1px solid var(--line); min-width:96px; min-height:36px; font-size:11.5px; }
.qbtn-skip i{ font-size:15px; }
.qbtn-skip:hover{ color:var(--text); border-color:var(--neon-soft); }
.qbtn-undo{ background:rgba(111,183,143,.14); color:var(--neon); border:1px solid rgba(111,183,143,.3); min-height:38px; min-width:98px; }
.qbtn-undo:hover{ background:rgba(111,183,143,.24); }
.qbtn-refund{ background:rgba(232,90,90,.14); color:#ff6b6b; border:1px solid rgba(232,90,90,.42); min-height:38px; min-width:98px; }
.qbtn-refund:hover{ background:rgba(232,90,90,.24); }
.refund-tag{ display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:11.5px; color:#ff6b6b; background:rgba(232,90,90,.12); border:1px solid rgba(232,90,90,.3); border-radius:999px; padding:5px 11px; white-space:nowrap; }
.req-by{ margin-top:9px; font-size:15px; font-weight:600; color:#fff; display:flex; align-items:center; gap:8px; }
.req-by i{ color:var(--neon); font-size:16px; flex:none; }
.req-by .lab{ color:var(--muted); font-weight:500; font-size:12.5px; margin-right:2px; }
.req-note{ margin-top:9px; font-size:15px; line-height:1.4; color:#fff; background:rgba(0,0,0,.30); border-left:3px solid var(--neon); padding:10px 13px; border-radius:9px; display:flex; gap:9px; align-items:flex-start; }
.req-note i{ color:var(--neon); font-size:15px; margin-top:3px; flex:none; }
.q.deck .req-note{ background:rgba(0,0,0,.34); }
.q-num{ font-family:'Bricolage Grotesque'; font-weight:800; font-size:18px; color:var(--faint); width:26px; text-align:center; flex:none; }
.stub{ font-family:'JetBrains Mono'; font-weight:700; background:var(--bg2); border:1px solid var(--line); border-radius:10px; padding:7px 11px; text-align:center; flex:none; }
.stub .amt{ font-size:16px; color:var(--green); } .stub .lbl{ font-size:9px; color:var(--faint); letter-spacing:.08em; }

/* analytics bars */
.bar-track{ height:8px; background:var(--bg2); border-radius:6px; overflow:hidden; }
.bar-fill{ height:100%; border-radius:6px; }

/* qr sign */
.tent{ background:linear-gradient(165deg,#fbf6ec,#efe6d4); color:#241500; border-radius:18px; padding:26px 22px; text-align:center; border:1px solid #d8cbb0; box-shadow:0 24px 60px rgba(0,0,0,.4); }
.tent .top{ font-family:'Bricolage Grotesque'; font-weight:800; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:#b4451f; }
.tent .big{ font-family:'Bricolage Grotesque'; font-weight:800; font-size:26px; margin:6px 0 16px; line-height:1.05; }
.qrbox{ width:188px;height:188px; margin:0 auto; background:#fff; border-radius:14px; padding:10px; border:1px solid #e3d9c4; display:grid; place-items:center; }
.qrbox img{ width:100%; height:100%; image-rendering:pixelated; }

.pmethod{ display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:11px; border:1px solid var(--line); background:var(--bg2); cursor:pointer; font-weight:600; font-size:14px; user-select:none; }
.pmethod.on{ border-color:var(--neon); background:rgba(111,183,143,.08); }
.checkbox{ width:18px;height:18px;border-radius:6px; border:1.5px solid var(--line); display:grid;place-items:center; flex:none; }
.pmethod.on .checkbox{ background:var(--neon); border-color:var(--neon); color:#190f17; }

.toast-x{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%); z-index:70; background:var(--surface2);
  border:1px solid var(--amber); color:var(--text); padding:13px 18px; border-radius:14px; display:flex; align-items:center;
  gap:11px; font-weight:600; box-shadow:0 16px 50px rgba(0,0,0,.5); animation:slup .35s cubic-bezier(.2,.9,.3,1.2); }
@keyframes slup{from{transform:translate(-50%,18px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.spin{ animation:spin .9s linear infinite; } @keyframes spin{to{transform:rotate(360deg)}}

.dim{ font-size:12px; color:var(--faint); }
.lyr-link{ border:1px solid var(--line); background:rgba(111,183,143,.07); color:var(--neon); cursor:pointer; font-family:inherit; font-weight:700; font-size:11.5px; padding:3px 10px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; transition:.12s; }
.lyr-link:hover{ background:rgba(111,183,143,.18); border-color:var(--neon); }
.lyr-sec{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:700; margin:15px 0 8px; }
.lyr-item{ display:flex; align-items:center; gap:12px; width:100%; padding:12px 14px; border-radius:13px; cursor:pointer; border:1px solid var(--line); background:var(--bg2); color:var(--text); text-decoration:none; font-weight:600; font-size:14px; transition:.12s; }
.lyr-item:hover{ border-color:var(--neon-soft); transform:translateY(-1px); color:var(--text); }
.lyr-ic{ width:36px;height:36px;border-radius:10px; display:grid;place-items:center; flex:none; color:#fff; font-size:16px; }
.lyr-ic.sm{ width:30px; height:30px; font-size:14px; border-radius:9px; }
.lyr-modal{ max-width:480px; max-height:90vh; overflow:auto; }
.lyr-body{ max-height:46vh; overflow:auto; background:var(--bg2); border:1px solid var(--line-soft); border-radius:12px; padding:14px 16px; white-space:pre-wrap; font-size:14.5px; line-height:1.58; color:var(--text); }
.lyr-loading{ text-align:center; padding:30px 10px; color:var(--muted); font-weight:600; }
.lyr-audio{ width:100%; height:38px; margin-bottom:12px; }
.lyr-mini{ display:flex; align-items:center; gap:10px; width:100%; padding:11px 13px; border-radius:12px; border:1px solid var(--line); background:var(--bg2); color:var(--text); text-decoration:none; font-weight:600; font-size:13.5px; transition:.12s; }
.lyr-mini:hover{ border-color:var(--neon-soft); color:var(--text); }
.lyr-seg{ display:flex; gap:4px; background:var(--bg2); padding:4px; border-radius:11px; border:1px solid var(--line-soft); margin-bottom:14px; }
.lyr-seg button{ flex:1; border:0; background:transparent; color:var(--muted); font-weight:700; font-size:13px; padding:8px; border-radius:8px; cursor:pointer; font-family:inherit; }
.lyr-seg button.on{ background:var(--surface2); color:var(--text); }
.chord-pal{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 14px; }
.chord-pal button{ border:1px solid var(--line); background:var(--bg2); color:var(--muted); font-weight:700; font-size:12px; padding:5px 10px; border-radius:8px; cursor:pointer; font-family:inherit; }
.chord-pal button:hover{ color:var(--text); border-color:var(--neon-soft); }
.chord-grid{ display:flex; flex-wrap:wrap; gap:10px; }
.chord-card{ width:64px; text-align:center; }
.chord-card svg{ width:64px; height:84px; display:block; }
.chord-name{ font-size:12px; font-weight:700; margin-top:1px; color:var(--text); }
.chord-empty{ color:var(--faint); font-size:12.5px; text-align:center; padding:14px 4px 4px; }
.card2{ box-shadow:0 16px 38px rgba(0,0,0,.5); }
.stat,.ticket{ box-shadow:0 12px 26px rgba(0,0,0,.42); }
.q{ box-shadow:0 10px 24px rgba(0,0,0,.4); }
.stage{ box-shadow:0 18px 44px rgba(0,0,0,.46); }
.tent{ box-shadow:0 26px 60px rgba(0,0,0,.55); }
html,body{ max-width:100%; overflow-x:clip; }
.q{ min-width:0; }
@media (max-width:640px){ .perfname{font-size:28px} .q-num{display:none} .hide-sm{display:none!important}
  .q{ gap:7px; padding:12px 11px; } .qbtn{padding:6px} .qbtn span{display:none}
  .q .art,.q .art-ph{ width:44px!important; height:44px!important; }
  .q .meta-row{ flex-wrap:wrap; row-gap:5px; column-gap:12px!important; }
  .lyr-link{ font-size:11px; padding:3px 9px; }
  .stub{ padding:5px 7px; } .stub .amt{ font-size:14px; } .stub .lbl{ font-size:8px; }
  .drag-handle{ padding:0 2px; font-size:16px; }
  .qbtns{ gap:9px; } .qbtn-play{ min-width:54px; min-height:60px; } .qbtn-play i{font-size:28px}
  .qbtn-skip{ min-width:54px; min-height:38px; } .qbtn-skip i{font-size:19px} .qbtn-undo{ min-width:50px; } .qbtn-refund{ min-width:50px; }
  .req-by{font-size:15px} .req-note{font-size:15px} }
*:focus-visible{ outline:2px solid var(--neon-soft); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){ *{animation:none!important; transition:none!important} }


/* ==========================================================================
   PAGE-SPECIFIC STYLES MOVED FROM CFM FILES
   --------------------------------------------------------------------------
   The sections below were previously embedded in individual .cfm pages.
   Rules are page-scoped where needed to prevent one page from changing the
   appearance of another page that loads this shared stylesheet.
   ========================================================================== */

/* ==========================================================================
   account.cfm
   Purpose: Unified user account page for roles, performer access, and musician memberships.
   Source: moved from the inline <style> block in account.cfm.
   ========================================================================== */
body.page-account{background:#0c0d0e;color:#fff;font-family:Arial}.page-account .w{max-width:950px;margin:auto;padding:30px 20px}.page-account .top{display:flex;justify-content:space-between;gap:15px;align-items:center}.page-account .brand{color:#baff39;font-weight:900}.page-account .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.page-account .c{background:#151718;border:1px solid #333;border-radius:16px;padding:20px;margin-top:16px}.page-account .pill{display:inline-block;padding:7px 10px;border-radius:999px;background:rgba(186,255,57,.1);border:1px solid rgba(186,255,57,.3);margin:3px;color:#dfff9e}.page-account .item{padding:14px;border:1px solid #333;border-radius:12px;margin:9px 0;background:#101213}.page-account .btn{display:inline-block;background:#baff39;color:#071007;text-decoration:none;padding:10px 13px;border-radius:9px;font-weight:bold;border:0}.page-account .ghost{background:#252829;color:#fff}.page-account .muted{color:#aaa}.page-account .ok{padding:10px;border-radius:10px;background:rgba(186,255,57,.08);border:1px solid rgba(186,255,57,.25)}.page-account a{color:#baff39}@media(max-width:700px){.page-account .grid{grid-template-columns:1fr}.page-account .top{align-items:flex-start;flex-direction:column}}

/* ==========================================================================
   admin.cfm
   Purpose: Administrator dashboard and system-management page.
   Source: moved from the inline <style> block in admin.cfm.
   ========================================================================== */
.page-admin .ev-wrap{ max-width:980px; margin:0 auto; padding:8px 16px 90px; }
  .page-admin .ev-wrap *, .page-admin .ev-wrap *::before, .page-admin .ev-wrap *::after{ box-sizing:border-box; }
  .page-admin .ev-title{ font-family:var(--font-display,"Bricolage Grotesque"); font-size:26px; margin:2px 0 6px; color:var(--text); }
  .page-admin .muted{ color:var(--muted); font-size:13px; }
  .page-admin .card2{ background:var(--surface); border:1px solid var(--line); border-radius:16px; }
  .page-admin .lbl{ font-size:11px; font-weight:700; color:var(--muted); letter-spacing:.04em; text-transform:uppercase; display:block; margin-bottom:6px; }
  .page-admin .inp{ width:100%; background:var(--bg2); border:1px solid var(--line); color:var(--text); font-family:inherit;
    font-size:13.5px; padding:10px 12px; border-radius:11px; outline:none; }
  .page-admin .inp:focus{ border-color:var(--green); }
  .page-admin .btnx{ display:inline-flex; align-items:center; gap:7px; border-radius:11px; padding:10px 15px; font-weight:700;
    font-size:13px; cursor:pointer; border:1px solid var(--line); font-family:inherit; text-decoration:none; }
  .page-admin .btn-amber{ background:var(--amber); color:#2a1c04; border-color:transparent; }
  .page-admin .btn-ghost{ background:transparent; color:var(--text); }
  .page-admin .flash{ background:rgba(90,209,154,.12); border:1px solid rgba(90,209,154,.4); color:#a9e8c8;
    font-size:13px; padding:11px 13px; border-radius:11px; margin-bottom:16px; }
  .page-admin .errbox{ background:rgba(230,90,90,.12); border:1px solid rgba(230,90,90,.4); color:#ffb4b4;
    font-size:13px; padding:11px 13px; border-radius:11px; margin-bottom:16px; }
  .page-admin table.adm{ width:100%; border-collapse:collapse; font-size:13.5px; }
  .page-admin table.adm th{ text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted);
    padding:10px 12px; border-bottom:1px solid var(--line); white-space:nowrap; }
  .page-admin table.adm th a{ color:var(--muted); text-decoration:none; }
  .page-admin table.adm th a:hover{ color:var(--text); }
  .page-admin table.adm td{ padding:11px 12px; border-bottom:1px solid var(--line-soft); vertical-align:middle; }
  .page-admin .avz{ width:36px; height:36px; border-radius:10px; object-fit:cover; background:var(--bg2); border:1px solid var(--line); }
  .page-admin .avz.ph{ display:flex; align-items:center; justify-content:center; color:var(--faint); }
  .page-admin .chipx{ font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:99px; white-space:nowrap; }
  .page-admin .chip-on{ background:rgba(90,209,154,.16); color:var(--green); }
  .page-admin .chip-off{ background:rgba(230,90,90,.14); color:#ff9c9c; }
  .page-admin .grid2{ display:grid; grid-template-columns:1fr 1fr; gap:13px; }
  .page-admin .kv{ display:flex; justify-content:space-between; gap:14px; padding:9px 12px; background:var(--bg2); border-radius:10px; font-size:13px; }
  .page-admin .kv b{ color:var(--text); word-break:break-all; text-align:right; }
  .page-admin .mono{ font-family:ui-monospace,monospace; }
  @media (max-width:680px){ .page-admin .grid2{ grid-template-columns:1fr; } .page-admin table.adm .hidesm{ display:none; } }

 .page-admin .st0{ fill: #d9e021; }

/* ==========================================================================
   admin_login.cfm
   Purpose: Administrator sign-in page and authentication handler.
   Source: moved from the inline <style> block in admin_login.cfm.
   ========================================================================== */
.page-admin-login .login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
  .page-admin-login .login-card{ width:100%; max-width:420px; background:var(--surface); border:1px solid var(--line);
    border-radius:20px; padding:30px 28px; box-shadow:0 20px 60px rgba(0,0,0,.35); }
  .page-admin-login .login-card h1{ font-family:var(--font-display,"Bricolage Grotesque"); font-size:24px; margin:0 0 4px; color:var(--text); }
  .page-admin-login .login-card .sub{ color:var(--muted); font-size:14px; margin:0 0 22px; }
  .page-admin-login .login-card .lbl2{ font-size:12px; font-weight:700; color:var(--muted); margin:14px 0 7px; display:block; }
  .page-admin-login .login-card .inp2{ width:100%; box-sizing:border-box; background:var(--bg2); border:1px solid var(--line); color:var(--text);
    font-family:inherit; font-size:15px; padding:12px 13px; border-radius:12px; }
  .page-admin-login .login-card .inp2:focus{ outline:none; border-color:var(--green); }
  .page-admin-login .login-btn{ width:100%; margin-top:22px; padding:13px; border:0; border-radius:12px; cursor:pointer;
    background:var(--green); color:#06160e; font-weight:800; font-size:15px; font-family:inherit; }
  .page-admin-login .login-err{ background:rgba(230,90,90,.12); border:1px solid rgba(230,90,90,.4); color:#ffb4b4;
    font-size:13px; padding:10px 12px; border-radius:10px; margin-bottom:18px; }

/* ==========================================================================
   admin_mailgun_test.cfm
   Purpose: Administrator Mailgun test form and diagnostic output.
   Source: moved from the inline <style> block in admin_mailgun_test.cfm.
   ========================================================================== */
body.page-admin-mailgun-test{margin:0;background:#0d0f0e;color:#f4f6f4;font-family:Arial,sans-serif}.page-admin-mailgun-test .wrap{max-width:620px;margin:60px auto;padding:24px}.page-admin-mailgun-test .card{background:#151816;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px}.page-admin-mailgun-test input{width:100%;box-sizing:border-box;padding:12px;border-radius:10px;border:1px solid #444;background:#0d0f0e;color:#fff}.page-admin-mailgun-test button{margin-top:14px;padding:12px 18px;border:0;border-radius:10px;background:#baff39;font-weight:700;cursor:pointer}.page-admin-mailgun-test .ok, .page-admin-mailgun-test .err, .page-admin-mailgun-test .info{margin:15px 0;padding:12px;border-radius:10px;white-space:pre-wrap;word-break:break-word}.page-admin-mailgun-test .ok{border:1px solid #5ad19a}.page-admin-mailgun-test .err{border:1px solid #ff5d69}.page-admin-mailgun-test .info{border:1px solid #777}.page-admin-mailgun-test small{color:#a6ada8}

/* ==========================================================================
   events.cfm
   Purpose: Performer event management page.
   Source: moved from the inline <style> block in events.cfm.
   ========================================================================== */
.page-events .ev-wrap{ max-width:1120px; margin:0 auto; padding:8px 16px 90px; }
  .page-events .ev-title{ font-family:var(--font-display,"Bricolage Grotesque"); font-size:26px; margin:2px 0 18px; color:var(--text); }
  .page-events .frm{ display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
  .page-events .fld{ display:flex; flex-direction:column; gap:6px; }
  .page-events .fld .lbl{ margin:0; }
  .page-events .frm .inp{ min-width:130px; }
  .page-events .grow{ flex:1; min-width:0; }
  /* compact form fields (venue + gig) so nothing overflows the card */
  .page-events .ev-wrap *, .page-events .ev-wrap *::before, .page-events .ev-wrap *::after{ box-sizing:border-box; }
  .page-events .cform .inp{ font-size:13px; padding:8px 11px; min-width:0; width:100%; }
  .page-events .cform .fld{ min-width:0; }
  .page-events .cform .lbl{ font-size:10.5px; }
  .page-events .cform .frm{ gap:12px; }
  .page-events .cform select.inp{ padding-right:30px; }
  .page-events .cform input[type="date"]{ min-width:150px; }
  .page-events .cform input[type="time"]{ min-width:118px; }
  /* collapsible venue form: smooth expand / collapse to real height */
  .page-events #venueForm{ display:grid; grid-template-rows:0fr; opacity:.3; transition:grid-template-rows .4s ease, opacity .3s ease; }
  .page-events #venueForm.open{ grid-template-rows:1fr; opacity:1; }
  .page-events #venueForm > form{ overflow:hidden; min-height:0; }
  /* mobile: stack the form fields full-width, like Bootstrap columns */
  @media (max-width:640px){
    .page-events .cform .frm{ flex-direction:column; align-items:stretch; gap:12px; }
    .page-events .cform .frm > .fld{ flex:1 1 auto !important; width:100%; }
    .page-events .cform .btnx{ width:100%; justify-content:center; }
  }
  .page-events .muted{ color:var(--muted); font-size:12px; }
  .page-events .empty{ color:var(--faint); font-size:13px; padding:10px 0; }
  .page-events .row2{ display:flex; align-items:center; gap:12px; padding:11px 0; border-top:1px solid var(--line); }
  .page-events .row2:first-of-type{ border-top:0; }
  .page-events .btn-x{ background:transparent; border:1px solid var(--line); color:var(--faint); border-radius:8px; padding:7px 10px; cursor:pointer; font-size:12px; }
  .page-events .btn-x:hover{ color:#ffb4b4; border-color:rgba(230,90,90,.5); }
  .page-events .datebadge{ background:var(--surface2); border:1px solid var(--line); border-radius:10px; text-align:center; padding:7px 10px; min-width:58px; }
  .page-events .datebadge .d{ font-size:19px; font-weight:800; color:var(--text); line-height:1; }
  .page-events .datebadge .m{ font-size:10px; color:var(--green); text-transform:uppercase; letter-spacing:.06em; }
  .page-events .past{ opacity:.5; }
  .page-events .stitle{ font-weight:600; color:var(--text); font-size:14px; }
  .page-events .songart{ width:42px; height:42px; border-radius:8px; object-fit:cover; flex:0 0 auto; background:var(--surface2); border:1px solid var(--line); }
  .page-events .songart.ph{ display:flex; align-items:center; justify-content:center; color:var(--faint); font-size:18px; }
  .page-events .chkall{ display:inline-flex; align-items:center; gap:7px; color:var(--text); font-weight:700; font-size:13px; cursor:pointer; background:var(--bg2); border:1px solid var(--line); border-radius:10px; padding:10px 13px; }
  .page-events .chkall input{ width:17px; height:17px; accent-color:var(--green); }
  .page-events .msong .drag-handle{ flex:0 0 auto; }
  .page-events .msong.dragging{ background:var(--surface2); border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.4); }
  .page-events .cbx{ width:18px; height:18px; accent-color:var(--green); flex:0 0 auto; }

 .page-events .st0{ fill: #d9e021; }

/* ==========================================================================
   fan_setup.cfm
   Purpose: Fan setup/profile page.
   Source: moved from the inline <style> block in fan_setup.cfm.
   ========================================================================== */
body.page-fan-setup{background:#0c0d0e;color:#fff;font-family:Arial}.page-fan-setup .c{max-width:500px;margin:80px auto;background:#151718;padding:28px;border-radius:18px}.page-fan-setup input, .page-fan-setup select, .page-fan-setup button{width:100%;box-sizing:border-box;padding:13px;margin-top:10px;border-radius:10px}.page-fan-setup input, .page-fan-setup select{background:#0d0f0e;color:#fff;border:1px solid #444}.page-fan-setup button{background:#baff39;border:0;font-weight:bold}.page-fan-setup a{color:#baff39}

/* ==========================================================================
   forgot.cfm
   Purpose: Password-reset request form.
   Source: moved from the inline <style> block in forgot.cfm.
   ========================================================================== */
body.page-forgot{margin:0;background:#0c0d0e;color:#fff;font-family:Arial}.page-forgot .p{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.page-forgot .c{width:420px;max-width:100%;background:#151718;border:1px solid #333;border-radius:20px;padding:30px}.page-forgot .brand{color:#baff39;font-weight:900}.page-forgot input, .page-forgot button{width:100%;box-sizing:border-box;padding:13px;margin-top:12px;border-radius:10px}.page-forgot input{background:#0d0f0e;color:#fff;border:1px solid #444}.page-forgot button{background:#baff39;border:0;font-weight:bold}.page-forgot a{color:#baff39;text-decoration:none}.page-forgot .muted{color:#aaa}

/* ==========================================================================
   fusion.cfm
   Purpose: Combined/legacy full application view containing fan, performer, setup, and analytics UI.
   Source: moved from the inline <style> block in fusion.cfm.
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap");

.page-fusion{
  --bg:#0a1310; --bg2:#0e1814; --surface:#101c16; --surface2:#16241d;
  --line:#22332b; --line-soft:#1a2820;
  --text:#f1f6f2; --muted:#9db0a6; --faint:#6e837a;
  --amber:#ffcb6b; --amber-deep:#f5a623;
  --neon:#6fb78f; --neon-soft:#8fcaa9;
  --green:#5ad19a; --blue:#5d6bf2;
  --bs-body-bg:var(--bg); --bs-body-color:var(--text);
  --bs-border-color:var(--line); --bs-border-radius:12px;
  --gradient-hero: radial-gradient(circle at center, #d9e021 0%, #4d5610 55%, #000000 100%);
  --background: oklch(0.14 0.04 280);
  --foreground: oklch(0.98 0.005 280);
  --font-display: "Fraunces", system-ui, sans-serif;
  --font-sans: "Inter", system-ui, sans-serif;
}
html:has(body.page-fusion), body.page-fusion{
  margin: 0;
  padding: 0;
  background: var(--gradient-hero);
  background-attachment: fixed;
  color: var(--foreground);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  min-height: 100%;
}
.page-fusion .bg-gradient{ position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(62% 44% at 50% -8%, rgba(98,176,131,.34), transparent 62%),
    radial-gradient(46% 34% at 86% 3%, rgba(70,150,112,.18), transparent 60%),
    radial-gradient(60% 50% at 10% 16%, rgba(58,128,96,.12), transparent 60%),
    linear-gradient(180deg, #0c1611 0%, #0a120e 50%, #070d0a 100%); }
.page-fusion .bg-grid{ position:fixed; inset:0; z-index:-2; pointer-events:none; opacity:.55;
  background:
    repeating-linear-gradient(90deg, rgba(170,200,185,.05) 0 1px, transparent 1px 74px),
    repeating-linear-gradient(0deg, rgba(170,200,185,.05) 0 1px, transparent 1px 74px);
  -webkit-mask-image:radial-gradient(72% 56% at 50% -2%, #000, transparent 78%);
          mask-image:radial-gradient(72% 56% at 50% -2%, #000, transparent 78%); }
.page-fusion .notes{ position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.page-fusion .notes .note{ position:absolute; bottom:-7vh; opacity:0; will-change:transform,opacity;
  animation:rise var(--dur) linear var(--delay) infinite; }
@keyframes rise{
  0%{ transform:translateY(0) translateX(0) rotate(0deg); opacity:0; }
  12%{ opacity:var(--op); }
  50%{ transform:translateY(-55vh) translateX(var(--drift)) rotate(160deg); }
  88%{ opacity:var(--op); }
  100%{ transform:translateY(-112vh) translateX(0) rotate(320deg); opacity:0; }
}
.page-fusion .disp{ font-family:"Bricolage Grotesque",sans-serif; letter-spacing:-.02em; line-height:1.04; }
.page-fusion .mono{ font-family:"JetBrains Mono",monospace; }
.page-fusion .muted{ color:var(--muted); } .page-fusion .faint{ color:var(--faint); }
.page-fusion .eyebrow{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--neon); font-weight:700; }

/* topbar */
.page-fusion .topbar{ position:sticky; top:0; z-index:40; backdrop-filter:blur(12px);
  background:rgba(7,17,11,.4); border-bottom:1px solid var(--line-soft); transition:transform .32s ease; }
.page-fusion .topbar.nav-hidden{ transform:translateY(-105%); }
.page-fusion .site-footer{ text-align:center; padding:34px 18px 44px; color:var(--faint); font-size:12.5px; }
.page-fusion .site-footer a{ color:var(--muted); text-decoration:none; font-weight:600; }
.page-fusion .site-footer a:hover{ color:var(--neon); text-decoration:underline; }
.page-fusion .brand{ display:flex; align-items:center; justify-content:center; gap:11px; }
.page-fusion .brand .rmsl-logo{ height:54px; width:auto; display:block; }
.page-fusion .brand .rmsl-logo path:not(.st0){ fill:var(--text); }
.page-fusion .topbar-in{ display:flex; flex-direction:column; align-items:center; gap:13px; padding:18px 18px 15px; }
.page-fusion .tent .rmsl-logo{ height:30px; width:auto; display:block; margin:16px auto 0; }
.page-fusion .tent .powered{ font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:#9a7a4a; margin-top:7px; font-weight:700; }
.page-fusion .roles{ display:flex; gap:4px; background:var(--bg2); padding:4px; border-radius:12px; border:1px solid var(--line-soft); }
.page-fusion .role{ border:0; cursor:pointer; background:transparent; color:var(--muted); font-weight:600; font-size:13px;
  padding:7px 13px; border-radius:9px; display:flex; align-items:center; gap:7px; position:relative; }
.page-fusion .role:hover{ color:var(--text); }
.page-fusion .role.on{ background:var(--surface2); color:var(--text); box-shadow:0 6px 16px rgba(0,0,0,.35); }
.page-fusion .role .nb{ position:absolute; top:-5px; right:-5px; background:var(--neon); color:#1a0f16; font-size:10px;
  font-weight:800; min-width:17px; height:17px; border-radius:9px; display:grid; place-items:center; padding:0 4px; }

/* cards / surfaces */
.page-fusion .card2{ background:linear-gradient(180deg, rgba(28,42,34,.55), rgba(13,22,18,.9)); border:1px solid var(--line); border-radius:18px; }
.page-fusion .stat{ background:linear-gradient(180deg, rgba(28,42,34,.5), rgba(13,22,18,.9)); border:1px solid var(--line-soft); border-radius:16px; padding:15px 16px; }
.page-fusion .stat .n{ font-family:"Bricolage Grotesque"; font-weight:800; font-size:27px; line-height:1; }
.page-fusion .stat .l{ font-size:12px; color:var(--muted); margin-top:5px; font-weight:600; }

/* buttons */
.page-fusion .btnx{ cursor:pointer; border:0; border-radius:12px; font-weight:700; font-size:14px; display:inline-flex;
  align-items:center; justify-content:center; gap:8px; padding:12px 18px; transition:.15s; color:var(--text); }
.page-fusion .btnx:active{ transform:translateY(1px); }
.page-fusion .btn-pink{ background:linear-gradient(135deg,#6470f4,#525fe8); color:#fff; box-shadow:0 10px 26px rgba(93,107,242,.36); }
.page-fusion .btn-pink:hover{ filter:brightness(1.08); color:#fff; }
.page-fusion .btn-amber{ background:linear-gradient(135deg,#7cc09a,#5fa07a); color:#08140e; }
.page-fusion .btn-amber:hover{ color:#08140e; filter:brightness(1.05); }
.page-fusion .btn-ghost{ background:var(--surface2); color:var(--text); border:1px solid var(--line); }
.page-fusion .btn-ghost:hover{ border-color:var(--neon-soft); color:var(--text); }
.page-fusion .btnx:disabled{ opacity:.45; cursor:not-allowed; }
.page-fusion .iconbtn{ border:0; background:var(--surface); color:var(--muted); cursor:pointer; width:30px;height:30px;
  border-radius:9px; display:grid;place-items:center; transition:.12s; }
.page-fusion .iconbtn:hover{ color:var(--text); background:var(--line); }
.page-fusion .iconbtn:disabled{ opacity:.35; cursor:not-allowed; }

/* inputs */
.page-fusion .inp{ width:100%; background:var(--bg2); border:1px solid var(--line); color:var(--text); font-family:inherit;
  font-size:15px; padding:13px 14px; border-radius:12px; outline:none; }
.page-fusion .inp:focus{ border-color:var(--neon-soft); box-shadow:0 0 0 3px rgba(111,183,143,.14); }
.page-fusion .inp::placeholder{ color:var(--faint); }
.page-fusion .lbl{ font-size:12px; font-weight:700; color:var(--muted); margin-bottom:7px; display:block; }
.page-fusion .chip{ font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; display:inline-flex; align-items:center; gap:5px; }

/* stage */
.page-fusion .stage{ position:relative; overflow:hidden; border-radius:22px; padding:26px 22px 24px;
  background:linear-gradient(180deg, #15251d 0%, #0d1813 100%); border:1px solid var(--line); }
.page-fusion .stage:before{ content:""; position:absolute; inset:-50% 20% auto -20%; height:280px;
  background:radial-gradient(closest-side, rgba(98,176,131,.30), transparent); filter:blur(10px); }
.page-fusion .live{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--green);
  background:rgba(90,209,154,.1); border:1px solid rgba(90,209,154,.25); padding:5px 11px; border-radius:999px; }
.page-fusion .perfname{ font-family:"Bricolage Grotesque"; font-weight:800; font-size:34px; line-height:1.04; margin:14px 0 4px; }
.page-fusion .pulse{ width:8px;height:8px;border-radius:50%; background:var(--green); animation:pulse 1.8s infinite; }
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(90,209,154,.55)}70%{box-shadow:0 0 0 10px rgba(90,209,154,0)}100%{box-shadow:0 0 0 0 rgba(90,209,154,0)}}

/* art / results */
.page-fusion .art{ border-radius:10px; object-fit:cover; flex:none; background:var(--surface2); }
.page-fusion .art-ph{ border-radius:10px; flex:none; display:grid;place-items:center; font-family:"Bricolage Grotesque"; font-weight:800; color:#190f17; }
.page-fusion .result{ display:flex; align-items:center; gap:13px; padding:10px; border-radius:14px; cursor:pointer; border:1px solid transparent; transition:.12s; }
.page-fusion .result:hover{ background:var(--surface2); border-color:var(--line); }
.page-fusion .song-t{ font-weight:600; font-size:15px; line-height:1.2; }
.page-fusion .song-a{ font-size:13px; color:var(--muted); }

/* cart ticket */
.page-fusion .ticket{ background:var(--surface2); border:1px solid var(--line); border-radius:14px; padding:12px 14px; display:flex; gap:12px; align-items:flex-start; }
.page-fusion .prio-t{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; cursor:pointer;
  padding:6px 12px; border-radius:999px; border:1px solid var(--line); color:var(--muted); background:transparent;
  position:relative; transition:transform .15s; }
.page-fusion .prio-t.on{ color:var(--amber); border-color:var(--amber); background:rgba(255,203,107,.08); animation:none; box-shadow:none; }
.page-fusion .prio-t:not(.on){ color:var(--text); background:rgba(111,183,143,.05); animation:glowcycle 3.2s ease-in-out infinite, prioPulse 1.7s ease-in-out infinite; }
.page-fusion .prio-wrap{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.page-fusion .prio-hint{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:800; color:var(--neon); letter-spacing:.01em; }
.page-fusion .prio-hint i{ font-size:15px; animation:nudge 1.05s ease-in-out infinite; }
@keyframes prioPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.05); } }
@keyframes nudge{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(-6px); } }
@keyframes glowcycle{
  0%{   box-shadow:0 0 0 1px rgba(111,183,143,.55), 0 0 12px 1px rgba(111,183,143,.50); border-color:#6fb78f; }
  25%{  box-shadow:0 0 0 1px rgba(90,209,154,.55), 0 0 16px 2px rgba(90,209,154,.50); border-color:#5ad19a; }
  50%{  box-shadow:0 0 0 1px rgba(94,196,255,.55), 0 0 16px 2px rgba(94,196,255,.50); border-color:#5ec4ff; }
  75%{  box-shadow:0 0 0 1px rgba(255,203,107,.60), 0 0 16px 2px rgba(255,203,107,.50); border-color:#ffcb6b; }
  100%{ box-shadow:0 0 0 1px rgba(111,183,143,.55), 0 0 12px 1px rgba(111,183,143,.50); border-color:#6fb78f; }
}
.page-fusion .summary{ border-top:1px dashed var(--line); margin-top:4px; padding-top:14px; }
.page-fusion .srow{ display:flex; justify-content:space-between; align-items:center; font-size:14px; padding:5px 0; }
.page-fusion .total{ font-family:"Bricolage Grotesque"; font-weight:800; font-size:24px; }
.page-fusion .tip{ flex:1; text-align:center; padding:11px 6px; border-radius:12px; border:1px solid var(--line);
  background:var(--bg2); color:var(--muted); cursor:pointer; font-weight:700; font-size:14px; }
.page-fusion .tip.on{ border-color:var(--neon); color:var(--text); background:rgba(111,183,143,.1); }

/* modal */
.page-fusion .modal-bg{ position:fixed; inset:0; z-index:60; background:rgba(10,7,16,.72); backdrop-filter:blur(6px); display:grid; place-items:center; padding:18px; }
.page-fusion .modalx{ width:100%; max-width:420px; background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:22px; }
.page-fusion .pay{ display:flex; align-items:center; gap:12px; width:100%; padding:14px; border-radius:13px; cursor:pointer;
  border:1px solid var(--line); background:var(--bg2); color:var(--text); font-weight:600; font-size:15px; transition:.12s; }
.page-fusion .pay:hover{ border-color:var(--neon-soft); transform:translateY(-1px); }
.page-fusion .payicon{ width:38px;height:38px;border-radius:10px; display:grid;place-items:center; flex:none; color:#fff; font-size:17px; }

/* tabs */
.page-fusion .tabs{ display:flex; flex-wrap:wrap; gap:4px; background:var(--bg2); padding:4px; border-radius:12px; border:1px solid var(--line-soft); width:fit-content; max-width:100%; }
.page-fusion .tab{ border:0; background:transparent; color:var(--muted); font-weight:700; font-size:13px; padding:8px 15px; border-radius:9px; cursor:pointer; }
.page-fusion .tab.on{ background:var(--surface2); color:var(--text); }

/* queue rows */
.page-fusion .q{ display:flex; gap:13px; align-items:center; padding:13px 14px 13px 13px; border-radius:15px; background:var(--surface); border:1px solid var(--line-soft); }
.page-fusion .q.deck{ border-color:var(--neon); background:linear-gradient(125deg, #1f5a39 0%, #15412b 48%, #0c2a1b 100%); box-shadow:0 0 0 1px rgba(111,183,143,.22), 0 16px 44px rgba(0,0,0,.42); }
.page-fusion .q.prio{ border-color:rgba(255,203,107,.5); }
.page-fusion .q.done .art, .page-fusion .q.done .art-ph, .page-fusion .q.done .song-t, .page-fusion .q.done .song-a{ opacity:.6; }
.page-fusion .drag-handle{ flex:none; align-self:stretch; display:flex; align-items:center; padding:0 6px; margin:-13px 0; color:var(--faint); cursor:grab; touch-action:none; user-select:none; font-size:18px; }
.page-fusion .drag-handle:active{ cursor:grabbing; color:var(--neon); }
.page-fusion .q-item{ touch-action:pan-y; }
.page-fusion .q-item.dragging{ position:relative; z-index:30; opacity:.97; box-shadow:0 18px 44px rgba(0,0,0,.55); border-color:var(--neon); animation:none; }
.page-fusion .qbtns{ display:flex; flex-direction:column; gap:11px; flex:none; align-items:stretch; }
.page-fusion .qbtn{ border:0; cursor:pointer; border-radius:12px; padding:6px 12px;
  display:flex; align-items:center; justify-content:center; gap:7px; font-family:inherit; font-weight:700; font-size:12.5px; transition:.12s; }
.page-fusion .qbtn i{ font-size:18px; line-height:1; }
.page-fusion .qbtn-play{ background:var(--green); color:#06160e; min-width:96px; min-height:56px; font-size:14px; box-shadow:0 7px 20px rgba(90,209,154,.30); }
.page-fusion .qbtn-play i{ font-size:24px; }
.page-fusion .qbtn-play:hover{ filter:brightness(1.07); }
.page-fusion .qbtn-skip{ background:transparent; color:var(--faint); border:1px solid var(--line); min-width:96px; min-height:36px; font-size:11.5px; }
.page-fusion .qbtn-skip i{ font-size:15px; }
.page-fusion .qbtn-skip:hover{ color:var(--text); border-color:var(--neon-soft); }
.page-fusion .qbtn-undo{ background:rgba(111,183,143,.14); color:var(--neon); border:1px solid rgba(111,183,143,.3); min-height:38px; min-width:98px; }
.page-fusion .qbtn-undo:hover{ background:rgba(111,183,143,.24); }
.page-fusion .qbtn-refund{ background:rgba(232,90,90,.14); color:#ff6b6b; border:1px solid rgba(232,90,90,.42); min-height:38px; min-width:98px; }
.page-fusion .qbtn-refund:hover{ background:rgba(232,90,90,.24); }
.page-fusion .refund-tag{ display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:11.5px; color:#ff6b6b; background:rgba(232,90,90,.12); border:1px solid rgba(232,90,90,.3); border-radius:999px; padding:5px 11px; white-space:nowrap; }
.page-fusion .req-by{ margin-top:9px; font-size:15px; font-weight:600; color:#fff; display:flex; align-items:center; gap:8px; }
.page-fusion .req-by i{ color:var(--neon); font-size:16px; flex:none; }
.page-fusion .req-by .lab{ color:var(--muted); font-weight:500; font-size:12.5px; margin-right:2px; }
.page-fusion .req-note{ margin-top:9px; font-size:15px; line-height:1.4; color:#fff; background:rgba(0,0,0,.30); border-left:3px solid var(--neon); padding:10px 13px; border-radius:9px; display:flex; gap:9px; align-items:flex-start; }
.page-fusion .req-note i{ color:var(--neon); font-size:15px; margin-top:3px; flex:none; }
.page-fusion .q.deck .req-note{ background:rgba(0,0,0,.34); }
.page-fusion .q-num{ font-family:"Bricolage Grotesque"; font-weight:800; font-size:18px; color:var(--faint); width:26px; text-align:center; flex:none; }
.page-fusion .stub{ font-family:"JetBrains Mono"; font-weight:700; background:var(--bg2); border:1px solid var(--line); border-radius:10px; padding:7px 11px; text-align:center; flex:none; }
.page-fusion .stub .amt{ font-size:16px; color:var(--green); } .page-fusion .stub .lbl{ font-size:9px; color:var(--faint); letter-spacing:.08em; }

/* analytics bars */
.page-fusion .bar-track{ height:8px; background:var(--bg2); border-radius:6px; overflow:hidden; }
.page-fusion .bar-fill{ height:100%; border-radius:6px; }

/* qr sign */
.page-fusion .tent{ background:linear-gradient(165deg,#fbf6ec,#efe6d4); color:#241500; border-radius:18px; padding:26px 22px; text-align:center; border:1px solid #d8cbb0; box-shadow:0 24px 60px rgba(0,0,0,.4); }
.page-fusion .tent .top{ font-family:"Bricolage Grotesque"; font-weight:800; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:#b4451f; }
.page-fusion .tent .big{ font-family:"Bricolage Grotesque"; font-weight:800; font-size:26px; margin:6px 0 16px; line-height:1.05; }
.page-fusion .qrbox{ width:188px;height:188px; margin:0 auto; background:#fff; border-radius:14px; padding:10px; border:1px solid #e3d9c4; display:grid; place-items:center; }
.page-fusion .qrbox img{ width:100%; height:100%; image-rendering:pixelated; }

.page-fusion .pmethod{ display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:11px; border:1px solid var(--line); background:var(--bg2); cursor:pointer; font-weight:600; font-size:14px; user-select:none; }
.page-fusion .pmethod.on{ border-color:var(--neon); background:rgba(111,183,143,.08); }
.page-fusion .checkbox{ width:18px;height:18px;border-radius:6px; border:1.5px solid var(--line); display:grid;place-items:center; flex:none; }
.page-fusion .pmethod.on .checkbox{ background:var(--neon); border-color:var(--neon); color:#190f17; }

.page-fusion .toast-x{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%); z-index:70; background:var(--surface2);
  border:1px solid var(--amber); color:var(--text); padding:13px 18px; border-radius:14px; display:flex; align-items:center;
  gap:11px; font-weight:600; box-shadow:0 16px 50px rgba(0,0,0,.5); animation:slup .35s cubic-bezier(.2,.9,.3,1.2); }
@keyframes slup{from{transform:translate(-50%,18px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.page-fusion .spin{ animation:spin .9s linear infinite; } @keyframes spin{to{transform:rotate(360deg)}}

.page-fusion .dim{ font-size:12px; color:var(--faint); }
.page-fusion .lyr-link{ border:1px solid var(--line); background:rgba(111,183,143,.07); color:var(--neon); cursor:pointer; font-family:inherit; font-weight:700; font-size:11.5px; padding:3px 10px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; transition:.12s; }
.page-fusion .lyr-link:hover{ background:rgba(111,183,143,.18); border-color:var(--neon); }
.page-fusion .lyr-sec{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:700; margin:15px 0 8px; }
.page-fusion .lyr-item{ display:flex; align-items:center; gap:12px; width:100%; padding:12px 14px; border-radius:13px; cursor:pointer; border:1px solid var(--line); background:var(--bg2); color:var(--text); text-decoration:none; font-weight:600; font-size:14px; transition:.12s; }
.page-fusion .lyr-item:hover{ border-color:var(--neon-soft); transform:translateY(-1px); color:var(--text); }
.page-fusion .lyr-ic{ width:36px;height:36px;border-radius:10px; display:grid;place-items:center; flex:none; color:#fff; font-size:16px; }
.page-fusion .lyr-ic.sm{ width:30px; height:30px; font-size:14px; border-radius:9px; }
.page-fusion .lyr-modal{ max-width:480px; max-height:90vh; overflow:auto; }
.page-fusion .lyr-body{ max-height:46vh; overflow:auto; background:var(--bg2); border:1px solid var(--line-soft); border-radius:12px; padding:14px 16px; white-space:pre-wrap; font-size:14.5px; line-height:1.58; color:var(--text); }
.page-fusion .lyr-loading{ text-align:center; padding:30px 10px; color:var(--muted); font-weight:600; }
.page-fusion .lyr-audio{ width:100%; height:38px; margin-bottom:12px; }
.page-fusion .lyr-mini{ display:flex; align-items:center; gap:10px; width:100%; padding:11px 13px; border-radius:12px; border:1px solid var(--line); background:var(--bg2); color:var(--text); text-decoration:none; font-weight:600; font-size:13.5px; transition:.12s; }
.page-fusion .lyr-mini:hover{ border-color:var(--neon-soft); color:var(--text); }
.page-fusion .lyr-seg{ display:flex; gap:4px; background:var(--bg2); padding:4px; border-radius:11px; border:1px solid var(--line-soft); margin-bottom:14px; }
.page-fusion .lyr-seg button{ flex:1; border:0; background:transparent; color:var(--muted); font-weight:700; font-size:13px; padding:8px; border-radius:8px; cursor:pointer; font-family:inherit; }
.page-fusion .lyr-seg button.on{ background:var(--surface2); color:var(--text); }
.page-fusion .chord-pal{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 14px; }
.page-fusion .chord-pal button{ border:1px solid var(--line); background:var(--bg2); color:var(--muted); font-weight:700; font-size:12px; padding:5px 10px; border-radius:8px; cursor:pointer; font-family:inherit; }
.page-fusion .chord-pal button:hover{ color:var(--text); border-color:var(--neon-soft); }
.page-fusion .chord-grid{ display:flex; flex-wrap:wrap; gap:10px; }
.page-fusion .chord-card{ width:64px; text-align:center; }
.page-fusion .chord-card svg{ width:64px; height:84px; display:block; }
.page-fusion .chord-name{ font-size:12px; font-weight:700; margin-top:1px; color:var(--text); }
.page-fusion .chord-empty{ color:var(--faint); font-size:12.5px; text-align:center; padding:14px 4px 4px; }
.page-fusion .card2{ box-shadow:0 16px 38px rgba(0,0,0,.5); }
.page-fusion .stat, .page-fusion .ticket{ box-shadow:0 12px 26px rgba(0,0,0,.42); }
.page-fusion .q{ box-shadow:0 10px 24px rgba(0,0,0,.4); }
.page-fusion .stage{ box-shadow:0 18px 44px rgba(0,0,0,.46); }
.page-fusion .tent{ box-shadow:0 26px 60px rgba(0,0,0,.55); }
html:has(body.page-fusion), body.page-fusion{ max-width:100%; overflow-x:clip; }
.page-fusion .q{ min-width:0; }
@media (max-width:640px){ .page-fusion .perfname{font-size:28px} .page-fusion .q-num{display:none} .page-fusion .hide-sm{display:none!important}
  .page-fusion .q{ gap:7px; padding:12px 11px; } .page-fusion .qbtn{padding:6px} .page-fusion .qbtn span{display:none}
  .page-fusion .q .art, .page-fusion .q .art-ph{ width:44px!important; height:44px!important; }
  .page-fusion .q .meta-row{ flex-wrap:wrap; row-gap:5px; column-gap:12px!important; }
  .page-fusion .lyr-link{ font-size:11px; padding:3px 9px; }
  .page-fusion .stub{ padding:5px 7px; } .page-fusion .stub .amt{ font-size:14px; } .page-fusion .stub .lbl{ font-size:8px; }
  .page-fusion .drag-handle{ padding:0 2px; font-size:16px; }
  .page-fusion .qbtns{ gap:9px; } .page-fusion .qbtn-play{ min-width:54px; min-height:60px; } .page-fusion .qbtn-play i{font-size:28px}
  .page-fusion .qbtn-skip{ min-width:54px; min-height:38px; } .page-fusion .qbtn-skip i{font-size:19px} .page-fusion .qbtn-undo{ min-width:50px; } .page-fusion .qbtn-refund{ min-width:50px; }
  .page-fusion .req-by{font-size:15px} .page-fusion .req-note{font-size:15px} }
.page-fusion *:focus-visible{ outline:2px solid var(--neon-soft); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){ .page-fusion *{animation:none!important; transition:none!important} }

 .page-fusion .st0{ fill: #d9e021; }

/* ==========================================================================
   index.cfm
   Purpose: Public homepage with performer browsing and future-event discovery.
   Source: moved from the inline <style> block in index.cfm.
   ========================================================================== */
.page-index h1, .page-index h2, .page-index h3{
    text-shadow:
        0 2px 3px rgba(0, 0, 0, 0.85),
        0 4px 12px rgba(0, 0, 0, 0.45);
}
	  .page-index .rmsl-home{min-height:calc(100vh - 102px);padding:64px 22px 80px;background:radial-gradient(circle at 50% 0,rgba(99,184,130,.18),transparent 34%)}.page-index .rmsl-home-wrap{max-width:1180px;margin:auto}.page-index .rmsl-home-hero{text-align:center;max-width:850px;margin:0 auto 34px}.page-index .rmsl-home-kicker{font:700 10px/1 "JetBrains Mono",monospace;letter-spacing:.2em;color:#baff39;text-transform:uppercase}.page-index .rmsl-home h1{font:800 clamp(36px,6vw,68px)/.98 "Bricolage Grotesque",sans-serif;letter-spacing:-.04em;margin:13px 0 15px;color:#fff}.page-index .rmsl-home h1 span{color:#baff39}.page-index .rmsl-home-lead{color:#111;font-size:17px;line-height:1.55;max-width:720px;margin:auto}.page-index .rmsl-home-tabs{display:flex;justify-content:center;gap:8px;margin:32px 0 24px}.page-index .rmsl-home-tab{border:1px solid #334039;background:#101712;color:#aab5af;border-radius:999px;padding:11px 18px;font-weight:800;cursor:pointer}.page-index .rmsl-home-tab.active{background:#baff39;border-color:#baff39;color:#071007}.page-index .rmsl-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.page-index .rmsl-count{color:#8f9a94;font-size:13px}.page-index .rmsl-sort{display:flex;gap:7px}.page-index .rmsl-sort button{border:1px solid #35423a;background:#0d140f;color:#9da8a2;padding:8px 12px;border-radius:9px;font-weight:700;cursor:pointer}.page-index .rmsl-sort button.active{color:#dfff9f;border-color:rgba(186,255,57,.45);background:rgba(186,255,57,.06)}.page-index .rmsl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.page-index .rmsl-card{display:block;background:linear-gradient(180deg,rgba(20,29,24,.94),rgba(10,15,12,.97));border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:18px;color:#fff!important;text-decoration:none!important;transition:.18s}.page-index .rmsl-card:hover{transform:translateY(-3px);border-color:rgba(186,255,57,.32);box-shadow:0 16px 40px rgba(0,0,0,.24)}.page-index .rmsl-performer-top{display:flex;gap:13px;align-items:center}.page-index .rmsl-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#161d18;border:1px solid rgba(255,255,255,.10)}.page-index .rmsl-avatar-fallback{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#182119;color:#baff39;font-size:22px;font-weight:900}.page-index .rmsl-name{font-size:19px;font-weight:800}.page-index .rmsl-meta{color:#8e9a94;font-size:12px;margin-top:4px}.page-index .rmsl-tagline{color:#a6b0ab;font-size:13px;line-height:1.45;margin:14px 0 0}.page-index .rmsl-event-date{color:#baff39;font:700 11px/1 "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.page-index .rmsl-event-title{font-size:18px;font-weight:800;margin-top:9px}.page-index .rmsl-event-place{color:#a5b0aa;font-size:13px;margin-top:8px;line-height:1.45}.page-index .rmsl-distance{color:#d7e2dc;font-size:11px;margin-top:12px}.page-index .rmsl-empty{grid-column:1/-1;text-align:center;padding:48px;border:1px dashed #344139;border-radius:18px;color:#8f9a94}.page-index .hide{display:none!important}@media(max-width:900px){.page-index .rmsl-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.page-index .rmsl-home{padding-top:40px}.page-index .rmsl-grid{grid-template-columns:1fr}.page-index .rmsl-toolbar{align-items:flex-start;flex-direction:column}.page-index .rmsl-sort{width:100%}.page-index .rmsl-sort button{flex:1}.page-index .rmsl-home-tabs{flex-direction:column}.page-index .rmsl-home-tab{width:100%}}

/* ==========================================================================
   java-mailgun-diagnostics.cfm
   Purpose: Java/Mailgun connectivity diagnostic page.
   Source: moved from the inline <style> block in java-mailgun-diagnostics.cfm.
   ========================================================================== */
html:has(body.page-java-mailgun-diagnostics), body.page-java-mailgun-diagnostics{min-height:100%}
body.page-java-mailgun-diagnostics{font-family:Arial,sans-serif}
.page-java-mailgun-diagnostics .diagnostic-wrap{max-width:1000px;margin:0 auto}
.page-java-mailgun-diagnostics code{word-break:break-all;color:inherit}
.page-java-mailgun-diagnostics .table th{width:240px}

/* ==========================================================================
   mailgun-auth-region-test.cfm
   Purpose: Mailgun authentication and region diagnostic page.
   Source: moved from the inline <style> block in mailgun-auth-region-test.cfm.
   ========================================================================== */
body.page-mailgun-auth-region-test{margin:0;background:#0d0f0e;color:#f4f6f4;font-family:Arial,sans-serif}
.page-mailgun-auth-region-test .wrap{max-width:760px;margin:40px auto;padding:20px}
.page-mailgun-auth-region-test .card{background:#151816;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px}
.page-mailgun-auth-region-test label{display:block;margin:14px 0 6px;font-weight:700}
.page-mailgun-auth-region-test input{width:100%;box-sizing:border-box;padding:12px;border-radius:10px;border:1px solid #555;background:#0d0f0e;color:#fff}
.page-mailgun-auth-region-test button{margin-top:18px;padding:12px 18px;border:0;border-radius:10px;background:#baff39;font-weight:800;cursor:pointer}
.page-mailgun-auth-region-test .result{margin-top:18px;padding:14px;border:1px solid #666;border-radius:12px;white-space:pre-wrap;word-break:break-word}
.page-mailgun-auth-region-test .good{border-color:#5ad19a}.page-mailgun-auth-region-test .bad{border-color:#ff5d69}
.page-mailgun-auth-region-test small{color:#a6ada8}
.page-mailgun-auth-region-test code{color:#baff39}

/* ==========================================================================
   musician.cfm
   Purpose: Musician page for performer-related musician access/workflow.
   Source: moved from the inline <style> block in musician.cfm.
   ========================================================================== */
body.page-musician{background:#0c0d0e;color:#fff;font-family:Arial}.page-musician .w{max-width:850px;margin:auto;padding:30px}.page-musician .c{background:#151718;padding:20px;border-radius:16px;margin:15px 0}.page-musician input, .page-musician button{padding:11px;margin:4px;border-radius:8px}.page-musician input{background:#0d0f0e;color:#fff;border:1px solid #444}.page-musician button{background:#baff39;border:0;font-weight:bold}.page-musician a{color:#baff39}.page-musician .ok{color:#baff39}.page-musician .err{color:#ff9090}

/* ==========================================================================
   musician_dashboard.cfm
   Purpose: Unified musician dashboard showing all performer memberships.
   Source: moved from the inline <style> block in musician_dashboard.cfm.
   ========================================================================== */
body.page-musician-dashboard{background:#0c0d0e;color:#fff;font-family:Arial}.page-musician-dashboard .w{max-width:800px;margin:auto;padding:30px}.page-musician-dashboard .c{background:#151718;padding:20px;border-radius:16px;margin:14px 0}.page-musician-dashboard a{color:#baff39}

/* ==========================================================================
   musicians.cfm
   Purpose: Performer-side musician management page.
   Source: moved from the inline <style> block in musicians.cfm.
   ========================================================================== */
body.page-musicians{background:#0c0d0e;color:#fff;font-family:Arial}.page-musicians .w{max-width:850px;margin:auto;padding:30px}.page-musicians .c{background:#151718;padding:20px;border-radius:16px;margin:15px 0}.page-musicians input, .page-musicians button{padding:11px;margin:4px;border-radius:8px}.page-musicians input{background:#0d0f0e;color:#fff;border:1px solid #444}.page-musicians button{background:#baff39;border:0;font-weight:bold}.page-musicians a{color:#baff39}.page-musicians .ok{color:#baff39}.page-musicians .err{color:#ff9090}

/* ==========================================================================
   payments.cfm
   Purpose: Payment and request checkout page/logic.
   Source: moved from the inline <style> block in payments.cfm.
   ========================================================================== */
.page-payments .ev-wrap{ max-width:860px; margin:0 auto; padding:8px 16px 90px; }
  .page-payments .ev-wrap *, .page-payments .ev-wrap *::before, .page-payments .ev-wrap *::after{ box-sizing:border-box; }
  .page-payments .ev-title{ font-family:var(--font-display,"Bricolage Grotesque"); font-size:26px; margin:2px 0 6px; color:var(--text); }
  .page-payments .muted{ color:var(--muted); font-size:13px; }
  .page-payments .gw{ background:var(--surface); border:1px solid var(--line); border-radius:16px; margin-bottom:14px; overflow:hidden; }
  .page-payments .gw-head{ display:flex; align-items:center; gap:13px; padding:15px 16px; cursor:pointer; }
  .page-payments .gw-ic{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:19px; flex:0 0 auto; }
  .page-payments .gw-name{ font-weight:800; color:var(--text); font-size:15px; }
  .page-payments .gw-sub{ color:var(--muted); font-size:12px; }
  .page-payments .chipx{ font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:99px; letter-spacing:.02em; white-space:nowrap; }
  .page-payments .chip-on{ background:rgba(90,209,154,.16); color:var(--green); }
  .page-payments .chip-off{ background:var(--bg2); color:var(--faint); }
  .page-payments .chip-def{ background:rgba(255,203,107,.14); color:var(--amber); }
  .page-payments .chip-live{ background:rgba(93,107,242,.16); color:#9aa6ff; }
  .page-payments .gw-body{ display:none; border-top:1px solid var(--line); padding:16px; }
  .page-payments .gw.open .gw-body{ display:block; }
  .page-payments .fld2{ margin-bottom:13px; }
  .page-payments .fld2 .lbl{ margin-bottom:6px; }
  .page-payments .inp3{ width:100%; background:var(--bg2); border:1px solid var(--line); color:var(--text); font-family:var(--font-mono,monospace);
    font-size:13px; padding:11px 12px; border-radius:11px; }
  .page-payments .inp3:focus{ outline:none; border-color:var(--green); }
  .page-payments .inp3::placeholder{ font-family:inherit; color:var(--faint); }
  .page-payments .seg{ display:inline-flex; background:var(--bg2); border:1px solid var(--line); border-radius:11px; overflow:hidden; }
  .page-payments .seg button{ border:0; background:transparent; color:var(--muted); font-weight:700; font-size:12.5px; padding:9px 15px; cursor:pointer; font-family:inherit; }
  .page-payments .seg button.on{ background:var(--surface2); color:var(--text); }
  .page-payments .rowline{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:14px 0; }
  .page-payments .switch{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-size:13px; font-weight:700; color:var(--text); }
  .page-payments .switch .tk{ width:40px; height:22px; border-radius:99px; background:var(--bg2); border:1px solid var(--line); position:relative; transition:.2s; }
  .page-payments .switch .tk::after{ content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:var(--faint); transition:.2s; }
  .page-payments .switch.on .tk{ background:rgba(90,209,154,.3); border-color:var(--green); }
  .page-payments .switch.on .tk::after{ left:20px; background:var(--green); }
  .page-payments .btnrow{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
  .page-payments .helpbox{ background:var(--bg2); border:1px dashed var(--line); border-radius:11px; padding:11px 13px; font-size:12.5px; color:var(--muted); margin-bottom:14px; }
  .page-payments .helpbox a{ color:var(--green); font-weight:700; text-decoration:none; }
  .page-payments .tmsg{ font-size:13px; font-weight:600; margin-top:10px; display:none; padding:10px 12px; border-radius:10px; }
  .page-payments .tmsg.ok{ display:block; background:rgba(90,209,154,.12); border:1px solid rgba(90,209,154,.4); color:#a9e8c8; }
  .page-payments .tmsg.warn{ display:block; background:rgba(255,203,107,.1); border:1px solid rgba(255,203,107,.35); color:#ffe2ae; }
  .page-payments .tmsg.err{ display:block; background:rgba(230,90,90,.12); border:1px solid rgba(230,90,90,.4); color:#ffb4b4; }
  @media (max-width:640px){ .page-payments .rowline{ align-items:flex-start; } .page-payments .btnrow .btnx{ width:100%; justify-content:center; } }

 .page-payments .st0{ fill: #d9e021; }

/* ==========================================================================
   reset.cfm
   Purpose: Unified password-reset form and token validation page.
   Source: moved from the inline <style> block in reset.cfm.
   ========================================================================== */
body.page-reset{background:#0c0d0e;color:#fff;font-family:Arial}.page-reset .c{max-width:430px;margin:100px auto;padding:30px;background:#151718;border-radius:20px}.page-reset input, .page-reset button{width:100%;box-sizing:border-box;padding:13px;margin-top:12px;border-radius:10px}.page-reset input{background:#0d0f0e;color:#fff;border:1px solid #444}.page-reset button{background:#baff39;border:0;font-weight:bold}.page-reset a{color:#baff39}

/* ==========================================================================
   signup-performer.cfm
   Purpose: Create-performer-profile page for authenticated unified users.
   Source: moved from the inline <style> block in signup-performer.cfm.
   ========================================================================== */
body.page-signup-performer{background:#0c0d0e;color:#fff;font-family:Arial}.page-signup-performer .w{max-width:500px;margin:80px auto;padding:25px;background:#151718;border-radius:18px}.page-signup-performer input, .page-signup-performer button{width:100%;box-sizing:border-box;padding:13px;margin-top:10px;border-radius:10px}.page-signup-performer input{background:#0d0f0e;color:#fff;border:1px solid #444}.page-signup-performer button{background:#baff39;border:0;font-weight:bold}.page-signup-performer a{color:#baff39}

/* ==========================================================================
   signup.cfm
   Purpose: Unified sign-in and multi-role account-registration page.
   Source: moved from the inline <style> block in signup.cfm.
   ========================================================================== */
.page-signup .rmsl-auth-page{min-height:calc(100vh - 102px);padding:54px 22px 70px;background:radial-gradient(circle at 50% 0,rgba(89,170,117,.16),transparent 38%)}.page-signup .rmsl-auth-shell{max-width:1120px;margin:auto}.page-signup .rmsl-auth-head{text-align:center;margin-bottom:28px}.page-signup .rmsl-auth-head h1{font:800 clamp(30px,4vw,48px)/1.05 "Bricolage Grotesque",sans-serif;margin:0 0 10px}.page-signup .rmsl-auth-head p{color:#2B3530;margin:0}.page-signup .rmsl-auth-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:20px;align-items:start}.page-signup .rmsl-auth-card{background:linear-gradient(180deg,rgba(20,29,24,.96),rgba(10,15,12,.98));border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:28px;box-shadow:0 22px 60px rgba(0,0,0,.22)}.page-signup .rmsl-auth-card h2{font:800 25px/1.1 "Bricolage Grotesque",sans-serif;margin:0 0 6px}.page-signup .rmsl-auth-sub{color:#929e98;font-size:13px;margin-bottom:22px}.page-signup .rmsl-lbl{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9ba79f;margin:14px 0 7px}.page-signup .rmsl-inp{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:11px;border:1px solid #36423b;background:#080d0a;color:#fff;outline:0}.page-signup .rmsl-inp:focus{border-color:#baff39;box-shadow:0 0 0 3px rgba(186,255,57,.09)}.page-signup .rmsl-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:9px}.page-signup .rmsl-role{position:relative;border:1px solid #344039;border-radius:12px;padding:13px;background:#0a100c;cursor:pointer;font-weight:700}.page-signup .rmsl-role:has(input:checked){border-color:rgba(186,255,57,.65);background:rgba(186,255,57,.07);color:#dfff9d}.page-signup .rmsl-role input{margin-right:6px;accent-color:#baff39}.page-signup .rmsl-btn{width:100%;margin-top:20px;padding:13px;border:0;border-radius:11px;background:#baff39;color:#071007;font-weight:900;cursor:pointer}.page-signup .rmsl-btn:hover{filter:brightness(1.05)}.page-signup .rmsl-performer-fields{display:none;padding:14px;margin-top:12px;border:1px solid rgba(186,255,57,.25);border-radius:13px;background:rgba(186,255,57,.04)}.page-signup .rmsl-error{padding:11px 13px;border:1px solid rgba(255,90,90,.32);background:rgba(255,90,90,.08);border-radius:10px;color:#ffc1c1;margin:12px 0}.page-signup .rmsl-auth-links{text-align:center;color:#939f99;font-size:12px;margin-top:16px}.page-signup .rmsl-auth-links a{color:#baff39;text-decoration:none}.page-signup .rmsl-or{display:flex;align-items:center;gap:10px;color:#657069;font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin:20px 0}.page-signup .rmsl-or:before, .page-signup .rmsl-or:after{content:"";height:1px;background:#28322c;flex:1}@media(max-width:850px){.page-signup .rmsl-auth-grid{grid-template-columns:1fr}.page-signup .rmsl-auth-page{padding-top:34px}}@media(max-width:560px){.page-signup .rmsl-roles{grid-template-columns:1fr}.page-signup .rmsl-auth-card{padding:21px}}

/* ==========================================================================
   top_nav.cfm
   Purpose: Shared site-wide navigation include with performer autocomplete and account menu.
   Source: moved from the inline <style> block in top_nav.cfm.
   ========================================================================== */
.rmsl-site-nav{position:sticky;top:0;left:0;right:0;width:100%;z-index:10000;background:rgba(0,10,5,.72);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.16);font-family:"Bricolage Grotesque",Arial,sans-serif;color:#fff;box-shadow:0 6px 30px rgba(0,0,0,.16)}
.rmsl-site-nav *{box-sizing:border-box}.rmsl-nav-main{height:66px;display:grid;grid-template-columns:260px minmax(320px,670px) 260px;align-items:center;justify-content:space-between;gap:28px;max-width:1600px;margin:auto;padding:0 22px}.rmsl-nav-logo{display:inline-flex;align-items:center;width:170px;height:56px}.rmsl-nav-logo img{display:block;max-width:100%;max-height:52px;object-fit:contain}.rmsl-nav-search-wrap{position:relative;width:100%}.rmsl-nav-search{height:50px;width:100%;border:1px solid rgba(185,255,57,.24);border-radius:999px;background:linear-gradient(90deg,rgba(12,34,23,.88),rgba(8,21,15,.96));color:#fff;padding:0 58px 0 47px;outline:0;font-size:15px;font-weight:650;box-shadow:inset 0 0 24px rgba(186,255,57,.025),0 0 0 1px rgba(186,255,57,.04)}.rmsl-nav-search:focus{border-color:#baff39;box-shadow:0 0 0 3px rgba(186,255,57,.10),0 0 30px rgba(186,255,57,.08)}.rmsl-nav-search::placeholder{color:rgba(255,255,255,.72)}.rmsl-nav-search-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#a8b2ac;pointer-events:none}.rmsl-nav-search-button{position:absolute;right:7px;top:7px;width:36px;height:36px;border:0;border-radius:50%;background:#baff39;color:#071007;display:grid;place-items:center;cursor:pointer}.rmsl-nav-results{display:none;position:absolute;top:58px;left:0;right:0;border:1px solid rgba(255,255,255,.13);background:#0b110e;border-radius:16px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.55);max-height:370px;overflow-y:auto}.rmsl-nav-results.show{display:block}.rmsl-nav-result{display:flex;gap:12px;align-items:center;padding:11px 14px;color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.07)}.rmsl-nav-result:last-child{border-bottom:0}.rmsl-nav-result:hover,.rmsl-nav-result.active{background:rgba(186,255,57,.08)}.rmsl-nav-result-photo{width:43px;height:43px;border-radius:50%;object-fit:cover;background:#151a17;border:1px solid rgba(255,255,255,.1)}.rmsl-nav-result-fallback{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#182018;color:#baff39;font-weight:900}.rmsl-nav-result-name{font-weight:800;font-size:14px}.rmsl-nav-result-meta{color:#929d97;font-size:11px;margin-top:2px}.rmsl-nav-empty{padding:14px;color:#a9b2ad;font-size:13px}.rmsl-nav-account{justify-self:end;position:relative}.rmsl-nav-signin,.rmsl-nav-userbtn{height:42px;padding:0 16px;border:0;background:transparent;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:900;display:flex;align-items:center;gap:9px;cursor:pointer}.rmsl-nav-signin:hover,.rmsl-nav-userbtn:hover{color:#baff39!important}.rmsl-nav-usercopy{text-align:right;line-height:1.05}.rmsl-nav-usercopy small{display:block;color:#7f8b84;font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}.rmsl-nav-caret{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}.rmsl-nav-menu{display:none;position:absolute;top:47px;right:0;width:220px;padding:7px;background:#0b110e;border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 20px 55px rgba(0,0,0,.5)}.rmsl-nav-menu.show{display:block}.rmsl-nav-menu a{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:9px;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:13px}.rmsl-nav-menu a:hover{background:rgba(186,255,57,.09);color:#dfff97!important}.rmsl-nav-menu .sep{height:1px;background:rgba(255,255,255,.09);margin:6px}.rmsl-nav-menu .logout{color:#ffaaaa!important}.rmsl-nav-mobile-search{display:none}
@media(max-width:980px){.rmsl-nav-main{grid-template-columns:180px 1fr 180px;gap:12px}.rmsl-nav-logo{width:150px}.rmsl-nav-search{font-size:13px}}
@media(max-width:760px){.rmsl-nav-main{height:auto;grid-template-columns:1fr auto;padding:7px 12px;gap:8px}.rmsl-nav-logo{width:145px;height:48px}.rmsl-nav-main>.rmsl-nav-search-wrap{grid-column:1/-1;grid-row:2;margin-bottom:7px}.rmsl-nav-account{grid-column:2;grid-row:1}.rmsl-nav-usercopy small{display:none}.rmsl-nav-search{height:44px}.rmsl-nav-search-button{width:32px;height:32px;top:6px}.rmsl-nav-results{top:50px}}


/* ==========================================================================
   STATIC INLINE STYLE ATTRIBUTES MOVED FROM CFM PAGES
   ========================================================================== */

/* ==========================================================================
   account.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* account.cfm: former inline style on <h1> #1. */
.page-account .rmsl-account-inline-001{margin-bottom:5px}
/* account.cfm: former inline style on <div> #2. */
.page-account .rmsl-account-inline-002{margin-top:15px}
/* account.cfm: former inline style on <form> #3. */
.page-account .rmsl-account-inline-003{display:inline}
/* account.cfm: former inline style on <form> #4. */
.page-account .rmsl-account-inline-004{display:inline}
/* account.cfm: former inline style on <div> #5. */
.page-account .rmsl-account-inline-005{margin-top:10px}
/* account.cfm: former inline style on <div> #6. */
.page-account .rmsl-account-inline-006{margin-top:10px}

/* ==========================================================================
   admin.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* admin.cfm: former inline style on <p> #1. */
.page-admin .rmsl-admin-inline-001{margin:0 0 20px}
/* admin.cfm: former inline style on <div> #2. */
.page-admin .rmsl-admin-inline-002{padding:22px;margin-bottom:22px;border-color:rgba(90,209,154,.5)}
/* admin.cfm: former inline style on <div> #3. */
.page-admin .rmsl-admin-inline-003{color:var(--green);margin-bottom:10px}
/* admin.cfm: former inline style on <div> #4. */
.page-admin .rmsl-admin-inline-004{margin-bottom:13px}
/* admin.cfm: former inline style on <a> #5. */
.page-admin .rmsl-admin-inline-005{color:var(--green)}
/* admin.cfm: former inline style on <div> #6. */
.page-admin .rmsl-admin-inline-006{grid-column:1/-1}
/* admin.cfm: former inline style on <div> #7. */
.page-admin .rmsl-admin-inline-007{margin-bottom:9px}
/* admin.cfm: former inline style on <b> #8. */
.page-admin .rmsl-admin-inline-008{color:var(--text)}
/* admin.cfm: former inline style on <ul> #9. */
.page-admin .rmsl-admin-inline-009{margin:0 0 13px;padding-left:20px;line-height:1.8}
/* admin.cfm: former inline style on <span> #10. */
.page-admin .rmsl-admin-inline-010{font-size:11.5px}
/* admin.cfm: former inline style on <div> #11. */
.page-admin .rmsl-admin-inline-011{padding:20px;margin-bottom:22px}
/* admin.cfm: former inline style on <div> #12. */
.page-admin .rmsl-admin-inline-012{margin-bottom:14px}
/* admin.cfm: former inline style on <div> #13. */
.page-admin .rmsl-admin-inline-013{margin-bottom:13px}
/* admin.cfm: former inline style on <div> #14. */
.page-admin .rmsl-admin-inline-014{margin-bottom:14px}
/* admin.cfm: former inline style on <div> #15. */
.page-admin .rmsl-admin-inline-015{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
/* admin.cfm: former inline style on <img> #16. */
.page-admin .rmsl-admin-inline-016{width:76px;height:76px;border-radius:14px;object-fit:cover;border:1px solid var(--line)}
/* admin.cfm: former inline style on <img> #17. */
.page-admin .rmsl-admin-inline-017{width:76px;height:76px;border-radius:14px;object-fit:cover;border:1px solid var(--line);display:none}
/* admin.cfm: former inline style on <div> #18. */
.page-admin .rmsl-admin-inline-018{width:76px;height:76px;border-radius:14px;border:1px dashed var(--line);display:grid;place-items:center;color:var(--faint)}
/* admin.cfm: former inline style on <i> #19. */
.page-admin .rmsl-admin-inline-019{font-size:26px}
/* admin.cfm: former inline style on <div> #20. */
.page-admin .rmsl-admin-inline-020{margin-top:6px;font-size:12px}
/* admin.cfm: former inline style on <input> #21. */
.page-admin .rmsl-admin-inline-021{display:none}
/* admin.cfm: former inline style on <div> #22. */
.page-admin .rmsl-admin-inline-022{margin-bottom:14px;max-width:420px}
/* admin.cfm: former inline style on <span> #23. */
.page-admin .rmsl-admin-inline-023{font-weight:400;color:var(--faint)}
/* admin.cfm: former inline style on <span> #24. */
.page-admin .rmsl-admin-inline-024{font-weight:400;color:var(--faint)}
/* admin.cfm: former inline style on <div> #25. */
.page-admin .rmsl-admin-inline-025{position:relative}
/* admin.cfm: former inline style on <input> #26. */
.page-admin .rmsl-admin-inline-026{padding-right:74px}
/* admin.cfm: former inline style on <button> #27. */
.page-admin .rmsl-admin-inline-027{position:absolute;right:38px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--faint);cursor:pointer;padding:6px;font-size:15px;line-height:1}
/* admin.cfm: former inline style on <button> #28. */
.page-admin .rmsl-admin-inline-028{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--faint);cursor:pointer;padding:6px;font-size:15px;line-height:1}
/* admin.cfm: former inline style on <div> #29. */
.page-admin .rmsl-admin-inline-029{color:var(--faint);font-size:11.5px;margin-top:5px}
/* admin.cfm: former inline style on <div> #30. */
.page-admin .rmsl-admin-inline-030{display:flex;gap:10px;flex-wrap:wrap}
/* admin.cfm: former inline style on <p> #31. */
.page-admin .rmsl-admin-inline-031{margin:12px 0 0;font-size:12px}
/* admin.cfm: former inline style on <div> #32. */
.page-admin .rmsl-admin-inline-032{padding:20px}
/* admin.cfm: former inline style on <div> #33. */
.page-admin .rmsl-admin-inline-033{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
/* admin.cfm: former inline style on <div> #34. */
.page-admin .rmsl-admin-inline-034{margin:0}
/* admin.cfm: former inline style on <form> #35. */
.page-admin .rmsl-admin-inline-035{display:flex;gap:8px;flex-wrap:wrap}
/* admin.cfm: former inline style on <input> #36. */
.page-admin .rmsl-admin-inline-036{width:190px}
/* admin.cfm: former inline style on <select> #37. */
.page-admin .rmsl-admin-inline-037{width:auto}
/* admin.cfm: former inline style on <div> #38. */
.page-admin .rmsl-admin-inline-038{overflow-x:auto}
/* admin.cfm: former inline style on <td> #39. */
.page-admin .rmsl-admin-inline-039{text-align:center;padding:26px}
/* admin.cfm: former inline style on <b> #40. */
.page-admin .rmsl-admin-inline-040{color:var(--text)}
/* admin.cfm: former inline style on <a> #41. */
.page-admin .rmsl-admin-inline-041{color:var(--green)}
/* admin.cfm: former inline style on <td> #42. */
.page-admin .rmsl-admin-inline-042{white-space:nowrap}
/* admin.cfm: former inline style on <a> #43. */
.page-admin .rmsl-admin-inline-043{padding:7px 10px}
/* admin.cfm: former inline style on <form> #44. */
.page-admin .rmsl-admin-inline-044{display:inline}
/* admin.cfm: former inline style on <form> #45. */
.page-admin .rmsl-admin-inline-045{display:inline}
/* admin.cfm: former inline style on <button> #46. */
.page-admin .rmsl-admin-inline-046{padding:7px 10px}
/* admin.cfm: former inline style on <div> #47. */
.page-admin .rmsl-admin-inline-047{padding:20px;margin-top:22px}
/* admin.cfm: former inline style on <div> #48. */
.page-admin .rmsl-admin-inline-048{margin-bottom:12px}
/* admin.cfm: former inline style on <form> #49. */
.page-admin .rmsl-admin-inline-049{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
/* admin.cfm: former inline style on <div> #50. */
.page-admin .rmsl-admin-inline-050{flex:1;min-width:220px}
/* admin.cfm: former inline style on <div> #51. */
.page-admin .rmsl-admin-inline-051{position:relative}
/* admin.cfm: former inline style on <input> #52. */
.page-admin .rmsl-admin-inline-052{padding-right:74px}
/* admin.cfm: former inline style on <button> #53. */
.page-admin .rmsl-admin-inline-053{position:absolute;right:38px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--faint);cursor:pointer;padding:6px;font-size:15px;line-height:1}
/* admin.cfm: former inline style on <button> #54. */
.page-admin .rmsl-admin-inline-054{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--faint);cursor:pointer;padding:6px;font-size:15px;line-height:1}

/* ==========================================================================
   admin_login.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* admin_login.cfm: former inline style on <div> #1. */
.page-admin-login .rmsl-admin-login-inline-001{text-align:center;margin-top:16px;font-size:13px}
/* admin_login.cfm: former inline style on <a> #2. */
.page-admin-login .rmsl-admin-login-inline-002{color:var(--muted);text-decoration:none;font-weight:600}

/* ==========================================================================
   cf2025-test.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* cf2025-test.cfm: former inline style on <body> #1. */
.page-cf2025-test .rmsl-cf2025-test-inline-001{font-family:Arial;padding:30px}
/* cf2025-test.cfm: former inline style on <p> #2. */
.page-cf2025-test .rmsl-cf2025-test-inline-002{color:green}
/* cf2025-test.cfm: former inline style on <p> #3. */
.page-cf2025-test .rmsl-cf2025-test-inline-003{color:red}

/* ==========================================================================
   cfmailMailGun-CF2025-explicit-auth.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* cfmailMailGun-CF2025-explicit-auth.cfm: former inline style on <div> #1. */
.page-cfmailmailgun-cf2025-explicit-auth .rmsl-cfmailmailgun-cf2025-explicit-auth-inline-001{padding:15px;border:2px solid green;}
/* cfmailMailGun-CF2025-explicit-auth.cfm: former inline style on <div> #2. */
.page-cfmailmailgun-cf2025-explicit-auth .rmsl-cfmailmailgun-cf2025-explicit-auth-inline-002{padding:15px;border:2px solid red;}

/* ==========================================================================
   events.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* events.cfm: former inline style on <div> #1. */
.page-events .rmsl-events-inline-001{padding:20px;margin-bottom:20px}
/* events.cfm: former inline style on <div> #2. */
.page-events .rmsl-events-inline-002{margin-bottom:14px}
/* events.cfm: former inline style on <form> #3. */
.page-events .rmsl-events-inline-003{margin-bottom:6px}
/* events.cfm: former inline style on <div> #4. */
.page-events .rmsl-events-inline-004{padding:20px;margin-bottom:20px}
/* events.cfm: former inline style on <div> #5. */
.page-events .rmsl-events-inline-005{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
/* events.cfm: former inline style on <div> #6. */
.page-events .rmsl-events-inline-006{margin:0}
/* events.cfm: former inline style on <form> #7. */
.page-events .rmsl-events-inline-007{margin-bottom:6px}
/* events.cfm: former inline style on <div> #8. */
.page-events .rmsl-events-inline-008{margin-bottom:10px}
/* events.cfm: former inline style on <div> #9. */
.page-events .rmsl-events-inline-009{margin-bottom:10px}
/* events.cfm: former inline style on <div> #10. */
.page-events .rmsl-events-inline-010{margin-bottom:10px}
/* events.cfm: former inline style on <div> #11. */
.page-events .rmsl-events-inline-011{flex:0 0 150px}
/* events.cfm: former inline style on <div> #12. */
.page-events .rmsl-events-inline-012{flex:0 0 100px}
/* events.cfm: former inline style on <a> #13. */
.page-events .rmsl-events-inline-013{color:var(--muted)}
/* events.cfm: former inline style on <div> #14. */
.page-events .rmsl-events-inline-014{padding:20px}
/* events.cfm: former inline style on <div> #15. */
.page-events .rmsl-events-inline-015{margin-bottom:8px}
/* events.cfm: former inline style on <p> #16. */
.page-events .rmsl-events-inline-016{margin:0 0 14px}
/* events.cfm: former inline style on <a> #17. */
.page-events .rmsl-events-inline-017{color:var(--green)}
/* events.cfm: former inline style on <div> #18. */
.page-events .rmsl-events-inline-018{margin-bottom:14px}
/* events.cfm: former inline style on <i> #19. */
.page-events .rmsl-events-inline-019{color:var(--green)}
/* events.cfm: former inline style on <div> #20. */
.page-events .rmsl-events-inline-020{margin-bottom:10px}
/* events.cfm: former inline style on <label> #21. */
.page-events .rmsl-events-inline-021{cursor:pointer}
/* events.cfm: former inline style on <div> #22. */
.page-events .rmsl-events-inline-022{margin-top:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* ==========================================================================
   fan.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* fan.cfm: former inline style on <div> #1. */
.page-fan .rmsl-fan-inline-001{max-width:1120px}

/* ==========================================================================
   fusion.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* fusion.cfm: former inline style on <div> #1. */
.page-fusion .rmsl-fusion-inline-001{max-width:1120px}
/* fusion.cfm: former inline style on <div> #2. */
.page-fusion .rmsl-fusion-inline-002{min-width:0;flex:1}
/* fusion.cfm: former inline style on <div> #3. */
.page-fusion .rmsl-fusion-inline-003{flex:1;min-width:0}
/* fusion.cfm: former inline style on <div> #4. */
.page-fusion .rmsl-fusion-inline-004{margin-bottom:2px}
/* fusion.cfm: former inline style on <div> #5. */
.page-fusion .rmsl-fusion-inline-005{margin-bottom:9px}
/* fusion.cfm: former inline style on <input> #6. */
.page-fusion .rmsl-fusion-inline-006{margin-top:9px;font-size:13px;padding:9px 11px}
/* fusion.cfm: former inline style on <div> #7. */
.page-fusion .rmsl-fusion-inline-007{max-width:560px}
/* fusion.cfm: former inline style on <div> #8. */
.page-fusion .rmsl-fusion-inline-008{font-size:14px}
/* fusion.cfm: former inline style on <div> #9. */
.page-fusion .rmsl-fusion-inline-009{margin-top:16px;font-size:13px}
/* fusion.cfm: former inline style on <i> #10. */
.page-fusion .rmsl-fusion-inline-010{color:var(--amber)}
/* fusion.cfm: former inline style on <i> #11. */
.page-fusion .rmsl-fusion-inline-011{color:var(--amber)}
/* fusion.cfm: former inline style on <div> #12. */
.page-fusion .rmsl-fusion-inline-012{position:relative;margin-top:18px}
/* fusion.cfm: former inline style on <i> #13. */
.page-fusion .rmsl-fusion-inline-013{position:absolute;left:14px;top:14px;color:var(--faint)}
/* fusion.cfm: former inline style on <input> #14. */
.page-fusion .rmsl-fusion-inline-014{padding-left:42px}
/* fusion.cfm: former inline style on <i> #15. */
.page-fusion .rmsl-fusion-inline-015{position:absolute;right:14px;top:14px;color:var(--faint)}
/* fusion.cfm: former inline style on <div> #16. */
.page-fusion .rmsl-fusion-inline-016{margin-top:7px}
/* fusion.cfm: former inline style on <div> #17. */
.page-fusion .rmsl-fusion-inline-017{margin-top:10px;padding:7px}
/* fusion.cfm: former inline style on <div> #18. */
.page-fusion .rmsl-fusion-inline-018{margin-top:18px;padding:16px}
/* fusion.cfm: former inline style on <div> #19. */
.page-fusion .rmsl-fusion-inline-019{margin-bottom:12px}
/* fusion.cfm: former inline style on <div> #20. */
.page-fusion .rmsl-fusion-inline-020{margin-top:16px}
/* fusion.cfm: former inline style on <div> #21. */
.page-fusion .rmsl-fusion-inline-021{margin-top:16px}
/* fusion.cfm: former inline style on <div> #22. */
.page-fusion .rmsl-fusion-inline-022{flex:1;position:relative}
/* fusion.cfm: former inline style on <span> #23. */
.page-fusion .rmsl-fusion-inline-023{position:absolute;left:11px;top:11px;color:var(--faint);font-weight:700}
/* fusion.cfm: former inline style on <input> #24. */
.page-fusion .rmsl-fusion-inline-024{padding-left:22px;text-align:center}
/* fusion.cfm: former inline style on <div> #25. */
.page-fusion .rmsl-fusion-inline-025{margin-top:6px}
/* fusion.cfm: former inline style on <span> #26. */
.page-fusion .rmsl-fusion-inline-026{color:var(--neon)}
/* fusion.cfm: former inline style on <button> #27. */
.page-fusion .rmsl-fusion-inline-027{margin-top:14px;font-size:16px;padding:15px}
/* fusion.cfm: former inline style on <div> #28. */
.page-fusion .rmsl-fusion-inline-028{padding:40px 20px}
/* fusion.cfm: former inline style on <i> #29. */
.page-fusion .rmsl-fusion-inline-029{font-size:34px;opacity:.5}
/* fusion.cfm: former inline style on <p> #30. */
.page-fusion .rmsl-fusion-inline-030{margin:12px 0 0;font-size:14px}
/* fusion.cfm: former inline style on <div> #31. */
.page-fusion .rmsl-fusion-inline-031{margin-bottom:4px}
/* fusion.cfm: former inline style on <div> #32. */
.page-fusion .rmsl-fusion-inline-032{font-size:30px;margin:2px 0}
/* fusion.cfm: former inline style on <div> #33. */
.page-fusion .rmsl-fusion-inline-033{font-size:13px;margin-bottom:18px}
/* fusion.cfm: former inline style on <span> #34. */
.page-fusion .rmsl-fusion-inline-034{text-align:left;flex:1}
/* fusion.cfm: former inline style on <div> #35. */
.page-fusion .rmsl-fusion-inline-035{font-size:11.5px;font-weight:500}
/* fusion.cfm: former inline style on <p> #36. */
.page-fusion .rmsl-fusion-inline-036{font-size:11px;margin:16px 0 0}
/* fusion.cfm: former inline style on <div> #37. */
.page-fusion .rmsl-fusion-inline-037{padding:26px 10px}
/* fusion.cfm: former inline style on <i> #38. */
.page-fusion .rmsl-fusion-inline-038{font-size:34px;color:var(--neon)}
/* fusion.cfm: former inline style on <div> #39. */
.page-fusion .rmsl-fusion-inline-039{font-size:20px;margin-top:14px}
/* fusion.cfm: former inline style on <div> #40. */
.page-fusion .rmsl-fusion-inline-040{font-size:13px;margin-top:6px}
/* fusion.cfm: former inline style on <div> #41. */
.page-fusion .rmsl-fusion-inline-041{max-width:560px}
/* fusion.cfm: former inline style on <div> #42. */
.page-fusion .rmsl-fusion-inline-042{padding:28px;text-align:center}
/* fusion.cfm: former inline style on <h2> #43. */
.page-fusion .rmsl-fusion-inline-043{font-size:26px;margin:0 0 6px}
/* fusion.cfm: former inline style on <p> #44. */
.page-fusion .rmsl-fusion-inline-044{margin:0 0 18px;font-size:15px}
/* fusion.cfm: former inline style on <div> #45. */
.page-fusion .rmsl-fusion-inline-045{text-align:left;display:grid;gap:8px;margin-bottom:20px}
/* fusion.cfm: former inline style on <div> #46. */
.page-fusion .rmsl-fusion-inline-046{background:var(--bg2);border-radius:11px;padding:10px 13px}
/* fusion.cfm: former inline style on <i> #47. */
.page-fusion .rmsl-fusion-inline-047{color:var(--neon)}
/* fusion.cfm: former inline style on <span> #48. */
.page-fusion .rmsl-fusion-inline-048{background:rgba(122,162,255,.12);color:var(--blue)}
/* fusion.cfm: former inline style on <div> #49. */
.page-fusion .rmsl-fusion-inline-049{text-align:center}
/* fusion.cfm: former inline style on <div> #50. */
.page-fusion .rmsl-fusion-inline-050{width:56px;height:56px;border-radius:50%;background:rgba(232,90,90,.14);border:1px solid rgba(232,90,90,.32);display:grid;place-items:center;margin:0 auto 14px}
/* fusion.cfm: former inline style on <div> #51. */
.page-fusion .rmsl-fusion-inline-051{font-size:22px;margin-bottom:9px}
/* fusion.cfm: former inline style on <p> #52. */
.page-fusion .rmsl-fusion-inline-052{font-size:14.5px;line-height:1.55;margin-bottom:6px}
/* fusion.cfm: former inline style on <b> #53. */
.page-fusion .rmsl-fusion-inline-053{color:var(--text)}
/* fusion.cfm: former inline style on <span> #54. */
.page-fusion .rmsl-fusion-inline-054{color:var(--text)}
/* fusion.cfm: former inline style on <p> #55. */
.page-fusion .rmsl-fusion-inline-055{font-size:12.5px;margin-bottom:22px}
/* fusion.cfm: former inline style on <button> #56. */
.page-fusion .rmsl-fusion-inline-056{justify-content:center}
/* fusion.cfm: former inline style on <div> #57. */
.page-fusion .rmsl-fusion-inline-057{margin-bottom:18px}
/* fusion.cfm: former inline style on <div> #58. */
.page-fusion .rmsl-fusion-inline-058{padding:40px 20px;text-align:center}
/* fusion.cfm: former inline style on <i> #59. */
.page-fusion .rmsl-fusion-inline-059{font-size:32px;opacity:.5}
/* fusion.cfm: former inline style on <p> #60. */
.page-fusion .rmsl-fusion-inline-060{margin:10px 0 0}
/* fusion.cfm: former inline style on <div> #61. */
.page-fusion .rmsl-fusion-inline-061{margin-top:26px}
/* fusion.cfm: former inline style on <div> #62. */
.page-fusion .rmsl-fusion-inline-062{margin-bottom:12px}
/* fusion.cfm: former inline style on <div> #63. */
.page-fusion .rmsl-fusion-inline-063{flex:1;min-width:0}
/* fusion.cfm: former inline style on <div> #64. */
.page-fusion .rmsl-fusion-inline-064{margin-bottom:16px}
/* fusion.cfm: former inline style on <div> #65. */
.page-fusion .rmsl-fusion-inline-065{font-size:27px;margin-top:4px}
/* fusion.cfm: former inline style on <div> #66. */
.page-fusion .rmsl-fusion-inline-066{margin-bottom:16px}
/* fusion.cfm: former inline style on <i> #67. */
.page-fusion .rmsl-fusion-inline-067{margin-left:auto;font-size:12px}
/* fusion.cfm: former inline style on <i> #68. */
.page-fusion .rmsl-fusion-inline-068{font-size:26px;color:var(--neon)}
/* fusion.cfm: former inline style on <div> #69. */
.page-fusion .rmsl-fusion-inline-069{margin-top:10px}
/* fusion.cfm: former inline style on <i> #70. */
.page-fusion .rmsl-fusion-inline-070{font-size:24px;color:var(--faint)}
/* fusion.cfm: former inline style on <div> #71. */
.page-fusion .rmsl-fusion-inline-071{margin-top:9px}
/* fusion.cfm: former inline style on <div> #72. */
.page-fusion .rmsl-fusion-inline-072{margin-bottom:12px}
/* fusion.cfm: former inline style on <div> #73. */
.page-fusion .rmsl-fusion-inline-073{min-width:0}
/* fusion.cfm: former inline style on <div> #74. */
.page-fusion .rmsl-fusion-inline-074{font-size:20px;margin-top:5px}
/* fusion.cfm: former inline style on <div> #75. */
.page-fusion .rmsl-fusion-inline-075{font-size:13px}
/* fusion.cfm: former inline style on <p> #76. */
.page-fusion .rmsl-fusion-inline-076{font-size:11px;text-align:center;margin:14px 0 0}
/* fusion.cfm: former inline style on <div> #77. */
.page-fusion .rmsl-fusion-inline-077{min-width:0;flex:1}
/* fusion.cfm: former inline style on <div> #78. */
.page-fusion .rmsl-fusion-inline-078{flex:1;min-width:0}
/* fusion.cfm: former inline style on <div> #79. */
.page-fusion .rmsl-fusion-inline-079{margin-bottom:2px}
/* fusion.cfm: former inline style on <span> #80. */
.page-fusion .rmsl-fusion-inline-080{max-width:100%}
/* fusion.cfm: former inline style on <span> #81. */
.page-fusion .rmsl-fusion-inline-081{background:rgba(111,183,143,.16);color:var(--neon)}
/* fusion.cfm: former inline style on <div> #82. */
.page-fusion .rmsl-fusion-inline-082{margin-top:7px}
/* fusion.cfm: former inline style on <div> #83. */
.page-fusion .rmsl-fusion-inline-083{position:relative;margin-bottom:14px}
/* fusion.cfm: former inline style on <i> #84. */
.page-fusion .rmsl-fusion-inline-084{position:absolute;left:14px;top:14px;color:var(--faint)}
/* fusion.cfm: former inline style on <input> #85. */
.page-fusion .rmsl-fusion-inline-085{padding-left:42px}
/* fusion.cfm: former inline style on <i> #86. */
.page-fusion .rmsl-fusion-inline-086{position:absolute;right:14px;top:14px;color:var(--faint)}
/* fusion.cfm: former inline style on <div> #87. */
.page-fusion .rmsl-fusion-inline-087{margin-bottom:16px;padding:7px}
/* fusion.cfm: former inline style on <div> #88. */
.page-fusion .rmsl-fusion-inline-088{margin-bottom:12px}
/* fusion.cfm: former inline style on <div> #89. */
.page-fusion .rmsl-fusion-inline-089{padding:38px 20px;text-align:center}
/* fusion.cfm: former inline style on <i> #90. */
.page-fusion .rmsl-fusion-inline-090{font-size:32px;opacity:.5;color:var(--faint)}
/* fusion.cfm: former inline style on <p> #91. */
.page-fusion .rmsl-fusion-inline-091{margin:10px 0 0}
/* fusion.cfm: former inline style on <div> #92. */
.page-fusion .rmsl-fusion-inline-092{flex:1;min-width:0}
/* fusion.cfm: former inline style on <div> #93. */
.page-fusion .rmsl-fusion-inline-093{margin-bottom:2px}
/* fusion.cfm: former inline style on <span> #94. */
.page-fusion .rmsl-fusion-inline-094{max-width:100%}
/* fusion.cfm: former inline style on <span> #95. */
.page-fusion .rmsl-fusion-inline-095{background:rgba(255,203,107,.16);color:var(--amber)}
/* fusion.cfm: former inline style on <span> #96. */
.page-fusion .rmsl-fusion-inline-096{background:rgba(255,203,107,.12);color:var(--amber)}
/* fusion.cfm: former inline style on <span> #97. */
.page-fusion .rmsl-fusion-inline-097{background:rgba(111,183,143,.16);color:var(--neon)}
/* fusion.cfm: former inline style on <div> #98. */
.page-fusion .rmsl-fusion-inline-098{margin-top:7px;font-size:12px}
/* fusion.cfm: former inline style on <span> #99. */
.page-fusion .rmsl-fusion-inline-099{color:var(--amber)}
/* fusion.cfm: former inline style on <div> #100. */
.page-fusion .rmsl-fusion-inline-100{margin-bottom:11px}
/* fusion.cfm: former inline style on <div> #101. */
.page-fusion .rmsl-fusion-inline-101{padding:2px 0}
/* fusion.cfm: former inline style on <span> #102. */
.page-fusion .rmsl-fusion-inline-102{font-size:13px}
/* fusion.cfm: former inline style on <p> #103. */
.page-fusion .rmsl-fusion-inline-103{margin:0}
/* fusion.cfm: former inline style on <div> #104. */
.page-fusion .rmsl-fusion-inline-104{margin-bottom:11px}
/* fusion.cfm: former inline style on <div> #105. */
.page-fusion .rmsl-fusion-inline-105{padding:2px 0}
/* fusion.cfm: former inline style on <span> #106. */
.page-fusion .rmsl-fusion-inline-106{text-transform:capitalize;font-weight:600}
/* fusion.cfm: former inline style on <span> #107. */
.page-fusion .rmsl-fusion-inline-107{color:var(--green)}
/* fusion.cfm: former inline style on <div> #108. */
.page-fusion .rmsl-fusion-inline-108{padding:18px}
/* fusion.cfm: former inline style on <div> #109. */
.page-fusion .rmsl-fusion-inline-109{margin-bottom:14px}
/* fusion.cfm: former inline style on <div> #110. */
.page-fusion .rmsl-fusion-inline-110{padding:18px}
/* fusion.cfm: former inline style on <div> #111. */
.page-fusion .rmsl-fusion-inline-111{margin-bottom:14px}
/* fusion.cfm: former inline style on <h2> #112. */
.page-fusion .rmsl-fusion-inline-112{font-size:26px;margin:6px 0 18px}
/* fusion.cfm: former inline style on <div> #113. */
.page-fusion .rmsl-fusion-inline-113{padding:18px}
/* fusion.cfm: former inline style on <div> #114. */
.page-fusion .rmsl-fusion-inline-114{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding-left:12px}
/* fusion.cfm: former inline style on <span> #115. */
.page-fusion .rmsl-fusion-inline-115{font-size:14px}
/* fusion.cfm: former inline style on <input> #116. */
.page-fusion .rmsl-fusion-inline-116{border:0;background:transparent;padding-left:2px}
/* fusion.cfm: former inline style on <div> #117. */
.page-fusion .rmsl-fusion-inline-117{padding:18px;margin-top:16px}
/* fusion.cfm: former inline style on <div> #118. */
.page-fusion .rmsl-fusion-inline-118{flex:1;position:relative}
/* fusion.cfm: former inline style on <span> #119. */
.page-fusion .rmsl-fusion-inline-119{position:absolute;left:11px;top:13px;color:var(--faint)}
/* fusion.cfm: former inline style on <input> #120. */
.page-fusion .rmsl-fusion-inline-120{padding-left:22px}
/* fusion.cfm: former inline style on <div> #121. */
.page-fusion .rmsl-fusion-inline-121{padding:18px;margin-top:16px}
/* fusion.cfm: former inline style on <div> #122. */
.page-fusion .rmsl-fusion-inline-122{margin-bottom:14px}
/* fusion.cfm: former inline style on <i> #123. */
.page-fusion .rmsl-fusion-inline-123{font-size:12px}
/* fusion.cfm: former inline style on <p> #124. */
.page-fusion .rmsl-fusion-inline-124{margin-top:14px}
/* fusion.cfm: former inline style on <div> #125. */
.page-fusion .rmsl-fusion-inline-125{margin-bottom:10px}
/* fusion.cfm: former inline style on <div> #126. */
.page-fusion .rmsl-fusion-inline-126{margin-top:16px;font-weight:700;font-size:14px}
/* fusion.cfm: former inline style on <div> #127. */
.page-fusion .rmsl-fusion-inline-127{margin-top:12px}
/* fusion.cfm: former inline style on <p> #128. */
.page-fusion .rmsl-fusion-inline-128{margin-top:10px;line-height:1.5}
/* fusion.cfm: former inline style on <div> #129. */
.page-fusion .rmsl-fusion-inline-129{position:relative}

/* ==========================================================================
   payments.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* payments.cfm: former inline style on <span> #1. */
.page-payments .rmsl-payments-inline-001{flex:1;min-width:0}
/* payments.cfm: former inline style on <span> #2. */
.page-payments .rmsl-payments-inline-002{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* payments.cfm: former inline style on <span> #3. */
.page-payments .rmsl-payments-inline-003{margin:0}
/* payments.cfm: former inline style on <span> #4. */
.page-payments .rmsl-payments-inline-004{color:var(--amber)}
/* payments.cfm: former inline style on <div> #5. */
.page-payments .rmsl-payments-inline-005{margin-top:4px}

/* ==========================================================================
   performer.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* performer.cfm: former inline style on <div> #1. */
.page-performer .rmsl-performer-inline-001{max-width:1120px}

/* ==========================================================================
   setup.cfm - moved static inline style attributes
   Each generated utility class below replaces a former style="..." attribute
   from this page. Runtime-calculated styles remain inline by necessity.
   ========================================================================== */
/* setup.cfm: former inline style on <div> #1. */
.page-setup .rmsl-setup-inline-001{max-width:1120px}

/* ==========================================================================
   FINAL STATIC INLINE STYLE CLEANUP
   These rules replace remaining non-dynamic style attributes.
   ========================================================================== */

/* payments.cfm: payment-account explanatory copy formerly styled inline. */
.page-payments .payments-direct-note{margin:0 0 22px;color:#000}
.page-payments .payments-direct-emphasis{color:#000}

/* forgot-process.cfm: password-reset result and error presentation. */
body.page-forgot-process.forgot-process-body{background:#0c0d0e;color:#fff;font-family:Arial}
.page-forgot-process .forgot-process-card{max-width:500px;margin:100px auto;padding:30px;background:#151718;border-radius:20px;text-align:center}
.page-forgot-process .forgot-process-muted{color:#aaa}
.page-forgot-process .forgot-process-link{color:#baff39}
body.page-forgot-process.forgot-process-error-body{background:#111;color:#fff;font-family:Arial;padding:40px}

/* fusion.cfm: static presentation removed from JavaScript-generated style attributes. */
.page-fusion .fusion-add-icon{background:var(--neon);color:#190f17}
.page-fusion .fusion-playlist-add-icon{background:var(--neon);color:#08140e}
.page-fusion .fusion-success-icon{width:60px;height:60px;border-radius:16px;margin:0 auto 14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#3fae7e)}
.page-fusion .fusion-success-check{font-size:30px;color:#0d2018}
.page-fusion .fusion-warning-icon{font-size:26px;color:#ff6b6b}
.page-fusion .fusion-refund-confirm{background:#e85a5a;color:#fff;justify-content:center}
.page-fusion .fusion-status-chip{background:var(--bg2)}
.page-fusion .fusion-qr-pricing{font-size:12.5px;margin-top:4px;color:#7a5a30}
.page-fusion .rmsl-qr-fallback-icon{font-size:120px;color:#241500}
.page-fusion .fusion-price-prefix{position:absolute;left:13px;top:13px;font-weight:700}
.page-fusion .fusion-price-input{padding-left:24px;font-weight:700}
.page-fusion .fusion-toast-icon{font-size:18px}
