/* ==========================================================================
   AeroPsyence — Respondent UI (Figma "AEROPSYENCE" file, 2026 redesign)
   Everything is scoped to body.rx so the other roles keep the legacy look
   until the new style is rolled out to them.
   ========================================================================== */
body.rx{
  --rx-blue:#0B3C5D; --rx-teal:#4DB6AC; --rx-teal-deep:#3A9E94; --rx-grey:#495057;
  --rx-light-blue:#DDEFF2; --rx-light-grey:#FAFBFC; --rx-white:#fff;
  --rx-teal-soft:#E4F4F1; --rx-blue-soft:#E3EAF1; --rx-off:#E6EBF1; --rx-off-ink:#ABB5C2;
  --rx-radio:#9E9E9E; --rx-burst:#92A0AA; --rx-purple:#7E57C2;
  --rx-r:20px; --rx-r-sm:10px;
  --rx-ease:cubic-bezier(.2,.8,.2,1); --rx-spring:cubic-bezier(.34,1.56,.64,1);
  --rx-lift:0 14px 34px rgba(11,60,93,.08);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-head:'Figtree','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#fff;color:var(--rx-grey);min-height:100vh;position:relative;overflow-x:hidden;
}
/* Sky photo (airplane included) at 40% over white; the overview uses 56% */
body.rx::before{content:'';position:fixed;inset:-3%;z-index:-1;pointer-events:none;
  background:url(/static/img/resp/sky.jpg) 30% 40%/cover no-repeat;opacity:var(--rx-sky,.4);
  animation:rxSky 60s ease-in-out infinite alternate}
body.rx.rx-sky-strong{--rx-sky:.56}
@keyframes rxSky{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.05) translate3d(-1%,-.6%,0)}}
body.rx a{color:var(--rx-blue)}
body.rx a:hover{text-decoration:none}
body.rx ::selection{background:var(--rx-teal-soft)}

/* App frame ---------------------------------------------------------------- */
.rx-app{max-width:1440px;margin:0 auto;padding:0 40px 40px;display:grid;
  grid-template-columns:400px minmax(0,1fr);grid-template-rows:78px auto;min-height:100vh}
.rx-app.rx-side-none{grid-template-columns:minmax(0,1fr)}
.rx-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.rx-logo{display:block;line-height:0;transition:transform .4s var(--rx-ease)}
.rx-logo:hover{transform:translateY(-1px)}
.rx-logo img{width:192px;height:31px;display:block}
.rx-user{display:flex;align-items:center;gap:25px}
.rx-user form{margin:0}
.rx-name{font:600 16px/18.85px var(--font);color:var(--rx-blue)}

.rx-side{grid-row:2;min-width:0}
.rx-side-inner{position:sticky;top:0;height:min(calc(100vh - 78px - 40px),813px);min-height:520px;display:flex;flex-direction:column;padding:21px 40px 0 0}
.rx-tagline{margin:auto 0 -5px;font:italic 600 32px/32.3px var(--font-head);color:var(--rx-blue);max-width:296px;letter-spacing:-.005em}
.rx-tagline span{display:block;opacity:0;transform:translateY(8px);animation:rxRise .9s var(--rx-ease) forwards}
.rx-tagline span:nth-child(2){animation-delay:.15s}

/* Glass panel */
.rx-main{grid-row:2;min-width:0;display:flex;flex-direction:column}
.rx-panel{background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(29.7px);backdrop-filter:blur(29.7px);
  border-radius:var(--rx-r);padding:40px;min-height:813px;animation:rxPanel .7s var(--rx-ease) both}
body.rx-sky-strong .rx-panel{background:rgba(255,255,255,.17)}
.rx-focus .rx-main{justify-content:center}
@keyframes rxPanel{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Side navigation */
.rx-nav{display:flex;flex-direction:column;gap:8px;padding:24px 0}
.rx-nav-sec{font:700 12px/15.33px var(--font-head);text-transform:uppercase;color:var(--rx-blue);padding:3.8px 0 5.8px;letter-spacing:.02em}
.rx-nav a{position:relative;display:flex;align-items:center;gap:2px;padding:8.65px 11.5px;border-radius:8px;
  font:400 16px/19.5px var(--font);color:var(--rx-blue);width:max-content;transition:transform .35s var(--rx-ease),background .25s}
.rx-nav a img{width:16px;height:16px;margin-left:-4px;opacity:0;transform:translateX(-6px);transition:.35s var(--rx-ease);display:none}
.rx-nav a:hover{transform:translateX(4px);background:rgba(255,255,255,.35)}
.rx-nav a.active{font-weight:600;font-style:italic}
.rx-nav a.active img{display:block;opacity:1;transform:none;animation:rxNudge 2.8s ease-in-out 1s infinite}
@keyframes rxNudge{0%,80%,100%{transform:none}90%{transform:translateX(3px)}}

/* Type --------------------------------------------------------------------- */
.rx-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.rx-h1{margin:0;font:italic 600 26.91px/32.3px var(--font-head);color:var(--rx-blue);letter-spacing:0}
.rx-sub{margin:3.8px 0 0;font:400 13.46px/19.5px var(--font);color:var(--rx-blue)}
.rx-h2{margin:0;font:700 16px/23.2px var(--font-head);color:var(--rx-blue)}
.rx-title{margin:0;font:700 16px/23.2px var(--font-head);color:var(--rx-grey)}
.rx-label{margin:0;font:400 12px/23.2px var(--font-head);color:var(--rx-grey);text-transform:uppercase;letter-spacing:.01em}
.rx-meta{margin:0;font:400 12px/23.2px var(--font-head);color:var(--rx-grey)}
.rx-body{font:400 12px/19.5px var(--font);color:var(--rx-blue)}
.rx-body b,.rx-body strong{font-weight:700}
.rx-lead{font:400 16px/24px var(--font);color:var(--rx-blue)}
.rx-muted{color:#6c7680}

/* Buttons ------------------------------------------------------------------ */
.rx-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:32px;padding:0 16px;border-radius:40px;border:.961px solid transparent;cursor:pointer;white-space:nowrap;
  font:600 13.46px/19.5px var(--font);text-decoration:none;background:transparent;color:var(--rx-blue);
  transition:transform .3s var(--rx-spring),box-shadow .3s var(--rx-ease),background .25s,color .25s,border-color .25s,opacity .25s;
  -webkit-tap-highlight-color:transparent}
.rx-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,60,93,.14);text-decoration:none}
.rx-btn:active{transform:translateY(0) scale(.96);box-shadow:none;transition-duration:.1s}
.rx-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(77,182,172,.35)}
.rx-btn img{width:16px;height:16px;flex:none;transition:transform .4s var(--rx-spring)}
.rx-btn.sm{font-size:12px}
.rx-btn.xs{height:24px;padding:0 12px;font:500 12px/18px var(--font)}
.rx-btn.block{width:100%}
.rx-btn[hidden]{display:none}
.rx-btn.navy{background:var(--rx-blue);color:var(--rx-light-grey)}
.rx-btn.teal{background:var(--rx-teal);color:#fff}
.rx-btn.teal:hover{box-shadow:0 8px 20px rgba(77,182,172,.38)}
.rx-btn.white{background:#fff;color:var(--rx-blue)}
.rx-btn.outline{border-color:var(--rx-blue);color:var(--rx-blue)}
.rx-btn.outline:hover{background:var(--rx-blue);color:#fff}
.rx-btn.outline:hover img{filter:brightness(0) invert(1)}
.rx-btn.soft{border-color:rgba(11,60,93,.2);color:var(--rx-blue)}
.rx-btn.soft:hover{border-color:var(--rx-blue);background:rgba(255,255,255,.6)}
.rx-btn[disabled],.rx-btn.is-off{background:var(--rx-off);color:var(--rx-off-ink);border-color:transparent;cursor:not-allowed;box-shadow:none;transform:none}
.rx-btn.outline[disabled],.rx-btn.outline.is-off{background:transparent;border-color:var(--rx-blue);color:var(--rx-blue);opacity:.75}
/* icon micro-interactions */
.rx-btn:hover .i-back{transform:rotate(-90deg) translateY(-2px)}
.rx-btn .i-back{transform:rotate(-90deg)}
.rx-btn:hover .i-fwd{transform:translateX(3px)}
.rx-btn:hover .i-power{transform:rotate(90deg)}
.rx-btn:hover .i-save{animation:rxBounce .6s var(--rx-spring)}
@keyframes rxBounce{0%,100%{transform:none}40%{transform:translateY(2px) scale(.9)}70%{transform:translateY(-2px)}}
/* ripple */
.rx-ripple{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.22;transform:scale(0);animation:rxRipple .6s var(--rx-ease) forwards}
@keyframes rxRipple{to{transform:scale(2.6);opacity:0}}
/* attention glow (submit unlocked) */
.rx-btn.glow{animation:rxGlow 2.2s ease-in-out infinite}
@keyframes rxGlow{0%,100%{box-shadow:0 0 0 0 rgba(77,182,172,.45)}50%{box-shadow:0 0 0 9px rgba(77,182,172,0)}}

/* Pills -------------------------------------------------------------------- */
.rx-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:24px;padding:0 12px;border-radius:40px;
  font:500 12px/18.1px var(--font);white-space:nowrap;background:var(--rx-blue-soft);color:var(--rx-grey)}
.rx-pill.ok{background:var(--rx-teal-soft);color:var(--rx-teal)}
.rx-pill.count{background:var(--rx-blue-soft);color:var(--rx-blue);padding:0 8px}
.rx-pill.solid{background:var(--rx-teal);color:#fff;font-weight:400;padding:0 10px}
.rx-pill.live{background:#fff;color:var(--rx-teal-deep);box-shadow:inset 0 0 0 1px var(--rx-light-blue)}
.rx-pill.live::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--rx-teal);animation:rxPulse 1.8s ease-in-out infinite}
.rx-pill.review{background:var(--rx-blue-soft);color:var(--rx-blue)}
.rx-pill.off{background:#eef1f5;color:#8a949e}
@keyframes rxPulse{0%,100%{box-shadow:0 0 0 0 rgba(77,182,172,.55)}50%{box-shadow:0 0 0 5px rgba(77,182,172,0)}}

/* Cards & bento -------------------------------------------------------------- */
.rx-card{position:relative;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:25px 20px 25px 26px;
  transition:transform .45s var(--rx-ease),box-shadow .45s var(--rx-ease);min-width:0}
.rx-card.hover:hover{transform:translateY(-3px);box-shadow:var(--rx-lift)}
.rx-card.teal{background:var(--rx-teal-soft);border-color:transparent}
.rx-card.blue{background:var(--rx-blue-soft)}
.rx-card.ghost{background:transparent}
.rx-card.flex{display:flex;flex-direction:column}
.rx-card .push{margin-top:auto}
.rx-bento{display:grid;gap:16px}
.rx-bento.dash{grid-template-columns:minmax(0,478fr) minmax(0,193fr) minmax(0,193fr);grid-template-rows:repeat(2,minmax(194px,auto));grid-auto-rows:auto}
.rx-bento.dash .a{grid-column:1;grid-row:span 2}
.rx-bento.dash .b{grid-column:2/4}
.rx-bento.dash .full{grid-column:1/-1}
.rx-reveal>*{opacity:0;animation:rxPop .7s var(--rx-ease) forwards;animation-delay:calc(var(--i,0) * 110ms + 120ms)}
.rx-reveal>*:nth-child(1){--i:0}.rx-reveal>*:nth-child(2){--i:1}.rx-reveal>*:nth-child(3){--i:2}.rx-reveal>*:nth-child(4){--i:3}
.rx-reveal>*:nth-child(5){--i:4}.rx-reveal>*:nth-child(6){--i:5}.rx-reveal>*:nth-child(7){--i:6}.rx-reveal>*:nth-child(8){--i:7}
@keyframes rxPop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes rxRise{to{opacity:1;transform:none}}
.rx-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.rx-card h3{margin:0;font:700 16px/18px var(--font-head);color:var(--rx-grey);max-width:24ch}
.rx-card .tight{max-width:11ch}

/* Sittings schedule */
.rx-sits{margin-top:11.5px}
.rx-sit{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:7.7px 0 9px;border-bottom:.961px solid var(--rx-light-blue);margin-bottom:20px}
.rx-sit .n{font:700 12.5px/18.1px var(--font);color:var(--rx-grey)}
.rx-sit .d{font:400 11.5px/16.7px var(--font);color:var(--rx-grey)}
.rx-sit .rx-pill{justify-self:end;min-width:82px}
.rx-sit.is-now .n::after{content:'';display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:var(--rx-teal);vertical-align:middle;animation:rxPulse 1.8s ease-in-out infinite}

/* Journey dots (dashboard card when no conversation is open) */
.rx-dots{display:flex;gap:10px;margin:14px 0 6px}
.rx-dots i{width:34px;height:8px;border-radius:8px;background:rgba(11,60,93,.12);overflow:hidden;position:relative}
.rx-dots i.on::after{content:'';position:absolute;inset:0;background:var(--rx-teal);transform-origin:left;animation:rxFill .9s var(--rx-ease) both;animation-delay:calc(var(--d,0) * 140ms + .6s)}
@keyframes rxFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rx-big{font:italic 600 34px/1 var(--font-head);color:var(--rx-blue)}

/* Table */
.rx-table{width:100%;border-collapse:collapse}
.rx-table th{text-align:left;padding:0 0 14px;border-bottom:.961px solid var(--rx-light-blue);
  font:400 12px/23.2px var(--font-head);color:var(--rx-grey);text-transform:uppercase;letter-spacing:.01em}
.rx-table td{padding:16px 0 0;vertical-align:top;border:none;font:400 11.5px/16.7px var(--font);color:var(--rx-grey)}
.rx-table tr+tr td{padding-top:14px}
.rx-table td strong{display:block;font:700 14px/18.1px var(--font)}
.rx-table td .v{font:400 12px/18.1px var(--font)}
.rx-table tbody tr{transition:background .2s}

/* Info tip popover */
.rx-tip{position:absolute;top:20px;right:18px}
.rx-tip>button{background:none;border:0;padding:0;cursor:pointer;line-height:0;border-radius:50%;transition:transform .4s var(--rx-spring)}
.rx-tip>button:hover{transform:scale(1.12) rotate(8deg)}
.rx-tip>button img{width:24px;height:24px}
.rx-tip .pop{position:absolute;right:-6px;top:32px;width:260px;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:14px;
  padding:12px 14px;font:400 12px/18px var(--font);color:var(--rx-grey);box-shadow:var(--rx-lift);z-index:5;
  opacity:0;transform:translateY(-4px) scale(.98);pointer-events:none;transition:.3s var(--rx-ease)}
.rx-tip.open .pop{opacity:1;transform:none;pointer-events:auto}

/* Form controls ------------------------------------------------------------ */
body.rx label.rx-field{display:block;margin:0 0 14px;font:500 12px/18.85px var(--font);color:var(--rx-grey)}
body.rx .rx-input{display:block;width:100%;margin-top:6px;height:44px;padding:0 14px;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r-sm);
  background:#fff;font:500 14px/1 var(--font);color:var(--rx-grey);transition:border-color .25s,box-shadow .25s;min-height:0}
body.rx .rx-input:focus{outline:none;border-color:var(--rx-teal);box-shadow:0 0 0 4px var(--rx-teal-soft)}
body.rx .rx-input[disabled]{background:var(--rx-light-grey);color:#8a949e}
body.rx .rx-input.code{text-transform:uppercase;letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}
body.rx select.rx-select{height:32px;min-height:0;width:auto;padding:0 34px 0 12px;border:1px solid var(--rx-grey);border-radius:8px;background-color:var(--rx-teal-soft);
  font:400 12px/18.85px var(--font);color:var(--rx-grey);cursor:pointer;transition:box-shadow .25s}
body.rx select.rx-select:focus{outline:none;box-shadow:0 0 0 3px rgba(77,182,172,.3)}
/* the Figma chevron points up — it is overlaid and flipped so the select shows a down chevron */
body.rx select.rx-select{background-image:none}
.rx-selectwrap{position:relative;display:inline-flex}
.rx-selectwrap img{position:absolute;right:10px;top:8px;width:16px;height:16px;transform:rotate(180deg);pointer-events:none;transition:transform .3s var(--rx-ease)}
.rx-selectwrap:focus-within img{transform:rotate(0)}
.rx-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.rx-flash{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:12px;font:500 12.5px/18px var(--font);
  background:#fff;color:var(--rx-teal-deep);box-shadow:inset 0 0 0 1px var(--rx-light-blue);animation:rxPop .5s var(--rx-ease) both}
.rx-flash.err{color:#b2412d;box-shadow:inset 0 0 0 1px #f3d2cb;background:#fff8f6}
.rx-flash.warn{color:#8a5a0e;box-shadow:inset 0 0 0 1px #f0d9a8;background:#fffaf0}

/* Assessment ----------------------------------------------------------------- */
.rx-quiz{display:grid;grid-template-columns:minmax(0,637px) 235px;gap:16px;align-items:start;margin-top:33px}
.rx-qcard{padding:24px 26px 26px;min-height:0;overflow:hidden}
.rx-q[hidden]{display:none}
.rx-qcat{margin:0;font:400 14px/23.2px var(--font-head);color:var(--rx-teal);text-transform:uppercase;letter-spacing:.01em}
.rx-qcat b{font-weight:700}
.rx-qtxt{margin:0 0 19px;font:700 16px/23.2px var(--font-head);color:var(--rx-grey);min-height:23px}
.rx-opts{display:flex;flex-direction:column;gap:16px}
.rx-opt{position:relative;display:flex;align-items:center;gap:12px;min-height:47px;padding:12px 16px;border:1px solid var(--rx-light-blue);border-radius:var(--rx-r-sm);
  background:#fff;cursor:pointer;user-select:none;-webkit-user-select:none;font:700 14px/20.3px var(--font);color:var(--rx-grey);
  transition:transform .35s var(--rx-spring),box-shadow .3s var(--rx-ease),background .3s,border-color .3s}
.rx-opt input{position:absolute;opacity:0;pointer-events:none}
.rx-opt .mk{position:relative;width:18px;height:18px;border-radius:9px;border:2px solid var(--rx-radio);flex:none;transition:border-color .25s,background .25s}
.rx-opt .mk::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--rx-teal);opacity:0;transform:scale(.6)}
.rx-opt:hover{border-color:#bfe3df;transform:translateX(3px)}
.rx-opt:hover .mk{border-color:var(--rx-blue)}
.rx-opt.checked{background:linear-gradient(90deg,var(--rx-light-blue),var(--rx-light-grey));border-color:var(--rx-light-blue);box-shadow:inset 0 0 0 1px var(--rx-light-blue)}
.rx-opt.checked .mk{background:var(--rx-blue);border-color:var(--rx-blue);animation:rxMark .45s var(--rx-spring)}
.rx-opt.checked .mk::after{animation:rxRing .6s var(--rx-ease)}
.rx-opt:has(input:focus-visible){box-shadow:0 0 0 3px rgba(77,182,172,.28)}
.rx-opt .key{margin-left:auto;font:500 11px/1 var(--font);color:#b3bcc5;border:1px solid var(--rx-light-blue);border-radius:6px;padding:3px 6px;opacity:0;transition:opacity .25s}
.rx-opt:hover .key{opacity:1}
@keyframes rxMark{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes rxRing{0%{opacity:.8;transform:scale(.6)}100%{opacity:0;transform:scale(1.25)}}
.rx-qnav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:32px}
.rx-q.enter-next{animation:rxInR .5s var(--rx-ease) both}
.rx-q.enter-prev{animation:rxInL .5s var(--rx-ease) both}
.rx-q.enter-next .rx-opt,.rx-q.enter-prev .rx-opt{animation:rxPop .5s var(--rx-ease) both}
.rx-q .rx-opt:nth-child(1){animation-delay:.04s}.rx-q .rx-opt:nth-child(2){animation-delay:.08s}.rx-q .rx-opt:nth-child(3){animation-delay:.12s}
.rx-q .rx-opt:nth-child(4){animation-delay:.16s}.rx-q .rx-opt:nth-child(5){animation-delay:.2s}.rx-q .rx-opt:nth-child(6){animation-delay:.24s}
@keyframes rxInR{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes rxInL{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.rx-hint{display:flex;align-items:center;gap:8px;margin:17px 0 0;font:400 12px/16px var(--font);color:var(--rx-blue)}
.rx-hint span{max-width:216px}
.rx-hint img{width:32px;height:32px;flex:none;animation:rxBulb 4s ease-in-out infinite}
@keyframes rxBulb{0%,70%,100%{filter:none;transform:none}80%{filter:drop-shadow(0 0 6px rgba(77,182,172,.8));transform:scale(1.06)}}

/* Collapsible info boxes */
.rx-infos{display:flex;flex-direction:column;gap:16px}
.rx-info{border:1px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:0 21px;background:rgba(255,255,255,.12)}
.rx-info>button{display:flex;align-items:center;gap:7px;width:100%;height:66px;padding:0;transition:height .5s var(--rx-ease);background:none;border:0;cursor:pointer;
  font:700 12px/19.5px var(--font);color:var(--rx-blue);text-align:left}
.rx-info>button .ic{width:32px;height:32px;flex:none;transition:transform .5s var(--rx-spring)}
.rx-info>button:hover .ic{transform:rotate(-10deg) scale(1.08)}
.rx-info>button .chev{width:16px;height:16px;margin-left:auto;transition:transform .45s var(--rx-ease)}
.rx-info.collapsed>button .chev{transform:rotate(180deg)}
.rx-info .bd{display:grid;grid-template-rows:1fr;transition:grid-template-rows .5s var(--rx-ease),opacity .4s}
.rx-info.collapsed .bd{grid-template-rows:0fr;opacity:0}
.rx-info .bd>div{overflow:hidden}
.rx-info .bd p{margin:0 0 22px;font:400 12px/19.5px var(--font);color:var(--rx-blue)}
.rx-info.collapsed>button{height:86px}

.rx-quizbar{display:flex;justify-content:flex-end;align-items:center;gap:24px;margin-top:auto;padding-top:28px}
.rx-saved{font:500 12px/1 var(--font);color:var(--rx-teal-deep);opacity:0;transform:translateY(4px);transition:.35s var(--rx-ease)}
.rx-saved.show{opacity:1;transform:none}

/* Burst (progress) --------------------------------------------------------- */
.rx-burstbox{position:relative;align-self:center;margin:96px 0 0;width:226px;text-align:center;display:flex;flex-direction:column;align-items:center}
.rx-burst{position:relative;width:226px;height:226px}
.rx-burst svg{display:block;width:100%;height:100%;overflow:visible}
.rx-burst line{stroke-width:1;vector-effect:non-scaling-stroke}
.rx-hole{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rx-pct{font:700 16px/1 var(--font);color:var(--rx-blue);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.rx-frac{display:inline-flex;flex-direction:column;align-items:center;gap:5px;margin-bottom:14px;font:700 14px/1 var(--font);color:var(--rx-blue);font-variant-numeric:tabular-nums}
.rx-frac i{display:block;width:26px;height:1.5px;border-radius:2px;background:var(--rx-blue)}
.rx-cheer{min-height:18px;margin-top:12px;font:italic 600 14px/18px var(--font-head);color:var(--rx-teal-deep);opacity:0;transform:translateY(6px);transition:.6s var(--rx-ease)}
.rx-cheer.show{opacity:1;transform:none}

/* Centered "focus" scenes (submitted, expired) */
.rx-scene{display:flex;align-items:center;justify-content:center;gap:57px;min-height:calc(100vh - 78px - 80px);padding:20px 0}
.rx-scene .rx-burst{flex:none;width:222px;height:222px}
.rx-scene-txt{max-width:364px;animation:rxPop .8s var(--rx-ease) .2s both}
.rx-scene-txt .rx-h1{margin-bottom:17px}
.rx-scene-txt .rx-lead{margin:0 0 32px}

/* Stepper (report status) */
.rx-steps{display:flex;gap:0;margin:26px 0 8px;counter-reset:s}
.rx-step{flex:1;position:relative;padding-top:30px;font:500 12px/16px var(--font);color:#8a949e;text-align:center}
.rx-step::before{content:'';position:absolute;top:8px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:#fff;border:2px solid var(--rx-light-blue);z-index:1;transition:.4s}
.rx-step::after{content:'';position:absolute;top:15px;left:-50%;right:50%;height:2px;background:var(--rx-light-blue)}
.rx-step:first-child::after{display:none}
.rx-step.done{color:var(--rx-blue)}
.rx-step.done::before{background:var(--rx-teal);border-color:var(--rx-teal)}
.rx-step.done::after{background:var(--rx-teal)}
.rx-step.now{color:var(--rx-blue);font-weight:700}
.rx-step.now::before{border-color:var(--rx-teal);animation:rxPulse 1.8s ease-in-out infinite}
.rx-step.now::after{background:linear-gradient(90deg,var(--rx-teal),var(--rx-light-blue))}

/* Icon list (intro, onboarding) */
.rx-icons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;margin-top:16px}
.rx-icons>div{display:flex;gap:12px;align-items:flex-start}
.rx-icons img{width:32px;height:32px;flex:none;transition:transform .5s var(--rx-spring)}
.rx-icons>div:hover img{transform:translateY(-3px) rotate(-6deg)}
.rx-icons strong{display:block;font:700 13px/18px var(--font);color:var(--rx-blue)}
.rx-icons span{font:400 12px/18px var(--font);color:var(--rx-grey)}
.rx-stat{display:flex;flex-direction:column;justify-content:space-between}
.rx-stat .n{font:italic 600 30px/1 var(--font-head);color:var(--rx-blue)}
.rx-stat .n small{font-size:14px}
.rx-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rx-tags .rx-pill{opacity:0;animation:rxPop .5s var(--rx-ease) forwards;animation-delay:calc(var(--i,0) * 45ms + .5s)}
.rx-num{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:.961px solid var(--rx-light-blue)}
.rx-num:last-child{border-bottom:0}
.rx-num b{flex:none;width:26px;height:26px;border-radius:50%;background:var(--rx-teal-soft);color:var(--rx-teal-deep);display:flex;align-items:center;justify-content:center;font:700 12px/1 var(--font)}
.rx-num strong{display:block;font:700 13px/18px var(--font);color:var(--rx-blue)}
.rx-num span{font:400 12px/18px var(--font);color:var(--rx-grey)}

/* Legacy primitives re-skinned inside the respondent space (report, error) */
body.rx .card{background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);box-shadow:none}
body.rx .rpt{max-width:none;padding:0;margin:28px 0 0}
body.rx .rpt>.card{margin-top:8px;padding:26px 28px}
body.rx .rpt h2{font:700 16px/23.2px var(--font-head);color:var(--rx-blue);margin-bottom:10px}
body.rx .rpt h3{font-family:var(--font-head);color:var(--rx-grey)}
body.rx .rpt p,body.rx .rpt li{color:var(--rx-grey);font-size:13.5px}
body.rx .rpt .muted{color:#6c7680}
body.rx .rpt-hero{border-radius:var(--rx-r);padding:30px 30px !important}
body.rx .rpt-hero h1{font:italic 600 26.9px/32.3px var(--font-head)}
body.rx .rpt-sub{color:var(--rx-teal);font-family:var(--font-head);font-weight:700}
body.rx .rpt-area-eyebrow{color:var(--rx-teal)}
body.rx .badge{border-radius:40px;font:500 12px/18px var(--font);padding:3px 12px}
body.rx .badge.teal{background:var(--rx-teal-soft);color:var(--rx-teal)}
body.rx .badge.blue{background:var(--rx-blue-soft);color:var(--rx-blue)}
body.rx .notice-box{background:var(--rx-teal-soft);border:0;border-radius:var(--rx-r);padding:20px 24px}
body.rx .rpt-section-head{margin:30px 0 4px}
body.rx .rpt-table th{font:400 12px/23.2px var(--font-head);text-transform:uppercase;color:var(--rx-grey);border-bottom-color:var(--rx-light-blue)}
body.rx .rpt-table tr{border-bottom-color:var(--rx-light-blue) !important}
body.rx .rx-io{opacity:0;transform:translateY(18px);transition:opacity .7s var(--rx-ease),transform .7s var(--rx-ease)}
body.rx .rx-io.in{opacity:1;transform:none}
body.rx .rpt-totop{color:#fff;background:var(--rx-blue);border-radius:50%;bottom:92px;right:29px}
body.rx .aps-chat-launch{background:var(--rx-blue);box-shadow:0 10px 30px rgba(11,60,93,.28);transition:transform .35s var(--rx-spring)}
body.rx .aps-chat-launch:hover{transform:translateY(-3px) scale(1.06)}

/* Respondent report — editorial (2026) ------------------------------------------ */
.rr{max-width:880px;--rr-low:#0B3C5D;--rr-mod:#4DB6AC;--rr-elev:#7E57C2}
.rr p{color:var(--rx-grey);font:400 14.5px/1.72 var(--font);margin:0 0 14px}
.rr strong{color:var(--rx-blue);font-weight:600}
.rr .mono{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.rr-eyebrow{margin:0;font:600 11px/1.4 var(--font) !important;letter-spacing:.18em;text-transform:uppercase;color:var(--rx-teal) !important}
.rr-mast{padding-bottom:30px;border-bottom:1px solid rgba(11,60,93,.12)}
.rr-mast-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rr-title{margin:22px 0 10px;max-width:16ch;font:italic 600 46px/1.04 var(--font-head);letter-spacing:-.02em;color:var(--rx-blue)}
.rr-standfirst{font:400 17px/1.5 var(--font) !important;color:var(--rx-blue) !important;max-width:46ch;margin:0 0 26px !important}
.rr-meta{display:flex;flex-wrap:wrap;gap:12px 34px;margin:0}
.rr-meta div{min-width:0}
.rr-meta dt{font:500 10.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#7b8794;margin-bottom:6px}
.rr-meta dd{margin:0;font:600 13.5px/1.3 var(--font);color:var(--rx-blue)}

.rr-sec{padding:54px 0 6px;scroll-margin-top:24px}
.rr-sechead{display:flex;align-items:baseline;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.rr-sechead .no{font:italic 600 15px/1 var(--font-head);color:var(--rx-teal)}
.rr-sechead h2{margin:0;font:italic 600 28px/1.1 var(--font-head);color:var(--rx-blue);letter-spacing:-.01em}
.rr-sechead::after{content:'';flex:1;min-width:40px;height:1px;background:rgba(11,60,93,.12);align-self:center;order:2}
.rr-sechead .rr-legend{order:3}
.rr-intro{max-width:62ch}

/* Hero */
.rr-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:40px;align-items:center;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:36px 38px}
.rr-hero.solo{grid-template-columns:minmax(0,1fr)}
.rr-headline{margin:0 0 16px;font:italic 600 32px/1.12 var(--font-head);color:var(--rx-blue);letter-spacing:-.015em;max-width:20ch}
.rr-lead{font:400 16px/1.7 var(--font) !important;color:var(--rx-grey) !important}
.rr-lead.sm{font-size:15px !important}
.rr-quote{margin:20px 0 0;padding:4px 0 4px 20px;border-left:2px solid var(--rx-teal);font:italic 500 15.5px/1.6 var(--font-head);color:var(--rx-blue)}
.rr-dial{margin:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.rr-dial .rx-burst{width:200px;height:200px}
.rr-dial figcaption{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:14px}
.rr-dial .k{font:500 10.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#7b8794}
.rr-dial .h{font:400 12px/1.5 var(--font);color:var(--rx-grey);max-width:24ch}
.rr-disclaimer{margin:16px 4px 0 !important;font-size:12.5px !important;line-height:1.6 !important;color:#6c7680 !important;max-width:80ch}

/* Bands */
.rr-band{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 12px;border-radius:40px;font:600 12px/1 var(--font);white-space:nowrap}
.rr-band .d{width:7px;height:7px;border-radius:50%;background:currentColor}
.rr-band.low{background:var(--rx-blue-soft);color:var(--rr-low)}
.rr-band.mod{background:var(--rx-teal-soft);color:#2f8f86}
.rr-band.elev{background:#EFE9F8;color:var(--rr-elev)}
.rr-meter{display:inline-flex;gap:4px;vertical-align:middle}
.rr-meter i{width:22px;height:6px;border-radius:6px;background:rgba(11,60,93,.1);transform-origin:left;transition:background .4s}
.rr-meter.low i:nth-child(1){background:var(--rr-low)}
.rr-meter.mod i:nth-child(2){background:var(--rr-mod)}
.rr-meter.elev i:nth-child(3){background:var(--rr-elev)}
.rx-io.in .rr-meter i{animation:rrSeg .7s var(--rx-ease) both}
.rx-io.in .rr-meter i:nth-child(2){animation-delay:.08s}.rx-io.in .rr-meter i:nth-child(3){animation-delay:.16s}
@keyframes rrSeg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rr-legend{display:flex;gap:18px;flex-wrap:wrap}
.rr-legend span{display:inline-flex;align-items:center;gap:8px}
.rr-legend b{font:500 12px/1 var(--font);color:var(--rx-grey)}

/* Profile tiles */
.rr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:6px}
.rr-grid>.rr-tile:last-child:nth-child(odd){grid-column:1/-1}
.rr-tile{position:relative;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:22px 24px 20px;transition:transform .45s var(--rx-ease),box-shadow .45s var(--rx-ease)}
.rr-tile:hover{transform:translateY(-3px);box-shadow:var(--rx-lift)}
.rr-tile::before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:0 3px 3px 0;background:var(--rr-low)}
.rr-tile.mod::before{background:var(--rr-mod)}.rr-tile.elev::before{background:var(--rr-elev)}
.rr-tile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.rr-tile h4{margin:0;font:700 16px/1.3 var(--font-head);color:var(--rx-blue)}
.rr-tile .rr-meter{margin-bottom:12px}
.rr-tile p{font-size:13.5px;line-height:1.65;margin:0}
.rr-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rr-tile.open .rr-clamp{-webkit-line-clamp:unset}
.rr-more{margin-top:8px;padding:0;background:none;border:0;cursor:pointer;font:600 12px/1 var(--font);color:var(--rx-teal-deep)}
.rr-more:hover{text-decoration:underline}

/* Areas */
.rr-area{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:34px 36px;margin-top:16px}
.rr-area-side{position:sticky;top:24px;align-self:start}
.rr-area-no{display:block;font:500 10.5px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--rx-teal);margin-bottom:12px}
.rr-area h3{margin:0 0 10px;font:italic 600 27px/1.1 var(--font-head);color:var(--rx-blue);letter-spacing:-.01em}
.rr-def{font-size:13px !important;line-height:1.6 !important}
.rr-area-band{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--rx-light-blue)}
.rr-area-body{min-width:0}
.rr-muted{color:#6c7680 !important;font-size:13.5px !important}
.rr-kicker{margin:22px 0 10px;font:600 10.5px/1.2 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--rx-blue);display:flex;align-items:center;gap:8px}
.rr-count{font:600 11px/1 var(--font);letter-spacing:0;color:var(--rx-teal-deep);background:var(--rx-teal-soft);border-radius:20px;padding:3px 8px}
.rr-count:empty{display:none}
.rr-subs{list-style:none;margin:0;padding:0}
.rr-subs li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 0;border-bottom:1px solid var(--rx-light-blue)}
.rr-subs li:last-child{border-bottom:0}
.rr-subs strong{display:block;font:600 13.5px/1.35 var(--font);color:var(--rx-blue)}
.rr-subs span{font:400 12px/1.5 var(--font);color:#6c7680}
.rr-subs .rr-meter{flex:none}
.rr-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:6px}
.rr-two p{font-size:13.5px}

/* Checklists */
.rr-checks{list-style:none;margin:0;padding:0}
.rr-checks li{margin-bottom:8px}
.rr-checks label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:10px 12px;margin:0 -12px;border-radius:12px;transition:background .25s}
.rr-checks label:hover{background:var(--rx-light-grey)}
.rr-checks input{position:absolute;opacity:0;pointer-events:none}
.rr-checks .bx{position:relative;flex:none;width:18px;height:18px;margin-top:2px;border-radius:6px;border:1.5px solid #b8c3cc;transition:.25s}
.rr-checks .bx::after{content:'';position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .35s var(--rx-spring)}
.rr-checks .tx{font:400 13.5px/1.6 var(--font);color:var(--rx-grey);transition:color .25s}
.rr-checks li.on .bx{background:var(--rx-teal);border-color:var(--rx-teal);animation:rxMark .45s var(--rx-spring)}
.rr-checks li.on .bx::after{transform:rotate(45deg) scale(1)}
.rr-checks li.on .tx{color:#8a949e;text-decoration:line-through;text-decoration-color:rgba(77,182,172,.6)}
.rr-checks input:focus-visible+.bx{box-shadow:0 0 0 3px rgba(77,182,172,.35)}
.rr-checks.big .tx{font-size:15px}
.rr-steps-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:center;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:30px 36px}
.rr-progress{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.rr-progress .rx-burst{width:150px;height:150px}
.rr-progress-n{margin:0 !important;font:italic 600 34px/1 var(--font-head) !important;color:var(--rx-blue) !important}
.rr-progress-n .of{font-size:16px}
.rr-progress .rr-muted{font-size:12px !important;max-width:26ch;line-height:1.5 !important}

/* SMART */
.rr-smart{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.rr-smart-card{position:relative;display:flex;flex-direction:column;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:20px 18px 16px;cursor:text;transition:border-color .3s,box-shadow .3s,transform .45s var(--rx-ease)}
.rr-smart-card:focus-within{border-color:var(--rx-teal);box-shadow:0 0 0 4px var(--rx-teal-soft);transform:translateY(-3px)}
.rr-smart-card .L{font:italic 600 38px/1 var(--font-head);color:var(--rx-teal);transition:color .3s}
.rr-smart-card .w{margin-top:10px;font:700 13px/1.3 var(--font);color:var(--rx-blue)}
.rr-smart-card .h{margin-top:4px;font:400 11.5px/1.5 var(--font);color:#6c7680;flex:1}
.rr-smart-card textarea{margin-top:12px;min-height:66px;padding:8px 0 0;border:0;border-top:1px solid var(--rx-light-blue);border-radius:0;background:transparent;font:400 12.5px/1.5 var(--font);color:var(--rx-blue);resize:none;box-shadow:none !important}
.rr-smart-card textarea:focus{outline:none}
.rr-smart-card.on{border-color:#bfe3df}
.rr-smart-card.on .L{color:var(--rx-blue)}
.rr-smart-card.on::after{content:'✓';position:absolute;top:16px;right:16px;width:20px;height:20px;border-radius:50%;background:var(--rx-teal);color:#fff;font:700 11px/20px var(--font);text-align:center;animation:rxMark .45s var(--rx-spring)}
.rr-goal-done{margin:16px 0 0 !important;font:italic 600 14px/1.4 var(--font-head) !important;color:var(--rx-teal-deep) !important;opacity:0;transform:translateY(6px);transition:.5s var(--rx-ease)}
.rr-goal-done.show{opacity:1;transform:none}

/* About */
.rr-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.rr-cols p{font-size:13.5px}
.rr-cols .rr-kicker:first-child{margin-top:0}
.rr-list{list-style:none;margin:0 0 6px;padding:0}
.rr-list li{position:relative;padding:0 0 9px 18px;font:400 13.5px/1.6 var(--font);color:var(--rx-grey)}
.rr-list li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--rx-teal)}
.rr-list.shield li::before{background:var(--rx-blue)}
.rr-care{display:flex;gap:14px;align-items:flex-start;margin-top:30px;padding:20px 24px;border-radius:var(--rx-r);background:var(--rx-teal-soft)}
.rr-care img{flex:none;margin-top:2px}
.rr-care p{margin:0 !important;font-size:13.5px !important;color:var(--rx-blue) !important}
.rr-foot{margin-top:46px;padding-top:20px;border-top:1px solid rgba(11,60,93,.12)}
.rr-foot p{font-size:11.5px !important;line-height:1.6 !important;color:#7b8794 !important;margin:0 0 4px !important}

/* Table of contents (left column) */
.rr-toc{display:flex;flex-direction:column;gap:2px;margin-top:22px;padding-top:22px;border-top:1px solid rgba(11,60,93,.1);max-width:240px}
.rr-toc .rx-nav-sec{margin-bottom:6px}
.rr-toc a{display:flex;align-items:center;gap:12px;padding:7px 10px;margin:0 -10px;border-radius:8px;font:400 14px/1.3 var(--font);color:rgba(11,60,93,.6);transition:color .3s,background .3s,transform .35s var(--rx-ease)}
.rr-toc a:hover{color:var(--rx-blue);background:rgba(255,255,255,.4);transform:translateX(3px)}
.rr-toc .no{font:italic 600 12px/1 var(--font-head);color:rgba(77,182,172,.6);width:18px;transition:color .3s}
.rr-toc .lb{flex:1}
.rr-toc .tick{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(11,60,93,.15);position:relative;transition:.35s var(--rx-ease)}
.rr-toc a.read .tick{background:var(--rx-teal);border-color:var(--rx-teal)}
.rr-toc a.read .tick::after{content:'';position:absolute;left:3.5px;top:1px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.rr-toc a.active{color:var(--rx-blue);font-weight:600;font-style:italic}
.rr-toc a.active .no{color:var(--rx-teal)}
.rr-read{height:3px;border-radius:3px;background:rgba(11,60,93,.1);margin-top:18px;overflow:hidden}
.rr-read span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rx-teal),var(--rx-blue));border-radius:3px;transition:width .2s linear}
.rr-read-lb{margin-top:8px;font:500 11px/1 var(--font);color:#7b8794;letter-spacing:.04em}
.rr-body .rx-side-inner{height:auto;min-height:0}

@media (max-width:1180px){
  .rr-smart{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rr-area{grid-template-columns:minmax(0,1fr);gap:18px}
  .rr-area-band{flex-direction:row;align-items:center}
}
@media (max-width:980px){
  .rr-toc{display:none}
  .rr-title{font-size:36px}
  .rr-hero{grid-template-columns:minmax(0,1fr);padding:26px 22px;gap:20px}
  .rr-steps-wrap{grid-template-columns:minmax(0,1fr);padding:24px 20px}
  .rr-cols{grid-template-columns:minmax(0,1fr);gap:8px}
  .rr-area{padding:24px 20px}
}
@media (max-width:640px){
  .rr-grid,.rr-two{grid-template-columns:minmax(0,1fr)}
  .rr-smart{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rr-title{font-size:30px}
  .rr-headline{font-size:26px}
  .rr-sechead h2{font-size:23px}
  .rr-meta{gap:12px 22px}
}
@media print{
  .rr-toc,.rr-more,.rr-read{display:none !important}
  .rr-clamp{-webkit-line-clamp:unset}
  .rr-sec{break-inside:avoid-page}
}

/* ==========================================================================
   Whole-app rollout: legacy primitives re-skinned (psychologist, admin,
   organisation, auth). Legacy tokens are remapped so inline styles in the
   older views pick up the new palette automatically.
   ========================================================================== */
body.rx{--line:#DDEFF2;--bg:#FAFBFC;--muted:#6c7680;--ink:#495057;--card:#fff;--radius:20px;--radius-sm:10px;
  --shadow:none;--shadow-lg:0 14px 34px rgba(11,60,93,.08);--slate:#0B3C5D;--navy:#0B3C5D;font-size:14px}
body.rx .rx-panel h1{font:italic 600 26.9px/32.3px var(--font-head);color:var(--rx-blue);letter-spacing:0}
body.rx .rx-panel h2{font:700 16px/23.2px var(--font-head);color:var(--rx-blue);letter-spacing:0;margin:0 0 8px}
body.rx .rx-panel h3{font:700 15px/1.35 var(--font-head);color:var(--rx-grey);letter-spacing:0}
body.rx .rx-panel>.rx-head+*{margin-top:33px}
body.rx .muted{color:#6c7680}
body.rx .small{font-size:12.5px}
body.rx .mono{font-variant-numeric:tabular-nums}

/* Header extras */
.rx-name small{display:block;margin-top:3px;font:500 11px/1 var(--font);color:var(--rx-teal-deep);letter-spacing:.06em;text-transform:uppercase;text-align:right}
.rx-nav.dense{gap:2px}
.rx-nav.dense a{padding:6.5px 11.5px;font-size:15px}
.rx-side-inner{height:auto;min-height:min(calc(100vh - 78px - 40px),813px)}

/* Cards, grids, stats */
body.rx .card{background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:24px 26px;box-shadow:none;
  transition:transform .45s var(--rx-ease),box-shadow .45s var(--rx-ease)}
body.rx .card .card{padding:16px 18px}
body.rx .card + .card{margin-top:16px}
body.rx .grid{gap:16px}
body.rx .stat{position:relative;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);padding:20px 22px;box-shadow:none;
  transition:transform .45s var(--rx-ease),box-shadow .45s var(--rx-ease);overflow:hidden}
body.rx a.stat:hover,body.rx .stat:hover{transform:translateY(-3px);box-shadow:var(--rx-lift);text-decoration:none}
body.rx .stat .n{font:italic 600 32px/1 var(--font-head);color:var(--rx-blue);font-variant-numeric:tabular-nums}
body.rx .stat .l{margin-top:10px;font:400 12px/1.4 var(--font-head);text-transform:uppercase;letter-spacing:.02em;color:var(--rx-grey)}
body.rx .stat.accent{background:var(--rx-teal-soft);border-color:transparent;color:var(--rx-blue)}
body.rx .stat.accent .n{color:var(--rx-blue)}body.rx .stat.accent .l{color:var(--rx-grey)}
body.rx .stat::after{content:'';position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle,rgba(77,182,172,.16),transparent 70%);transition:transform .6s var(--rx-ease)}
body.rx .stat:hover::after{transform:scale(1.4)}
/* entrance: panel blocks rise in one after another */
body.rx .rx-panel>.grid>*,body.rx .rx-panel>.card,body.rx .rx-panel>.table-card,body.rx .rx-panel>form>.card{opacity:0;animation:rxPop .65s var(--rx-ease) forwards}
body.rx .rx-panel>.grid>*:nth-child(2){animation-delay:.07s}body.rx .rx-panel>.grid>*:nth-child(3){animation-delay:.14s}
body.rx .rx-panel>.grid>*:nth-child(4){animation-delay:.21s}body.rx .rx-panel>.grid>*:nth-child(5){animation-delay:.28s}
body.rx .rx-panel>.grid>*:nth-child(6){animation-delay:.35s}body.rx .rx-panel>.grid>*:nth-child(n+7){animation-delay:.42s}

/* Buttons */
body.rx .btn{position:relative;overflow:hidden;height:36px;padding:0 18px;border-radius:40px;border:.961px solid transparent;
  font:600 13.46px/1 var(--font);background:var(--rx-blue);color:var(--rx-light-grey);gap:8px;white-space:nowrap;
  transition:transform .3s var(--rx-spring),box-shadow .3s var(--rx-ease),background .25s,color .25s,border-color .25s;filter:none}
body.rx .btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,60,93,.14);filter:none;text-decoration:none}
body.rx .btn:active{transform:scale(.96);box-shadow:none;transition-duration:.1s}
body.rx .btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(77,182,172,.35)}
body.rx .btn.teal{background:var(--rx-teal);color:#fff}
body.rx .btn.teal:hover{box-shadow:0 8px 20px rgba(77,182,172,.38)}
body.rx .btn.navy{background:var(--rx-blue)}
body.rx .btn.ghost{background:transparent;color:var(--rx-blue);border-color:var(--rx-blue)}
body.rx .btn.ghost:hover{background:var(--rx-blue);color:#fff;border-color:var(--rx-blue)}
body.rx .btn.sm{height:28px;padding:0 13px;font-size:12px}
body.rx .btn.block{width:100%}
body.rx .btn[disabled]{background:var(--rx-off);color:var(--rx-off-ink);border-color:transparent;opacity:1;box-shadow:none;transform:none}
body.rx .btn.ghost[disabled]{background:transparent;border-color:var(--rx-off);color:var(--rx-off-ink)}

/* Badges */
body.rx .badge{height:24px;padding:0 11px;border-radius:40px;font:500 12px/1 var(--font);gap:6px}
body.rx .badge.blue{background:var(--rx-blue-soft);color:var(--rx-blue)}
body.rx .badge.teal{background:var(--rx-teal-soft);color:var(--rx-teal-deep)}
body.rx .badge.purple{background:#EFE9F8;color:var(--rx-purple)}
body.rx .badge.grey{background:var(--rx-blue-soft);color:var(--rx-grey)}
body.rx .badge.ok{background:var(--rx-teal-soft);color:var(--rx-teal-deep)}
body.rx .badge.warn{background:#fdf2e0;color:#a06c0c}

/* Tables */
body.rx table{font-size:13px}
body.rx th{font:400 12px/23.2px var(--font-head);text-transform:uppercase;letter-spacing:.01em;color:var(--rx-grey);border-bottom:.961px solid var(--rx-light-blue);padding:10px 12px}
body.rx td{border-bottom:.961px solid var(--rx-light-blue);padding:12px;color:var(--rx-grey)}
body.rx td strong{color:var(--rx-grey)}
body.rx tbody tr{transition:background .2s}
body.rx tbody tr:hover{background:rgba(221,239,242,.35)}
body.rx .table-card{background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);box-shadow:none;padding:6px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.rx .card:has(> table),body.rx .card:has(> form > table){overflow-x:auto}
body.rx .table-card th{padding:12px}
body.rx .table-card td{padding:12px}

/* Forms */
body.rx label{font:500 12.5px/1.4 var(--font);color:var(--rx-grey);margin:14px 0 6px}
body.rx input[type=text],body.rx input[type=email],body.rx input[type=password],body.rx input[type=number],body.rx input[type=date],
body.rx input[type=datetime-local],body.rx input[type=time],body.rx input[type=search],body.rx input[type=tel],body.rx input[type=url],
body.rx input:not([type]),body.rx select,body.rx textarea{border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r-sm);
  font:400 13.5px/1.35 var(--font);color:var(--rx-grey);min-height:42px;background-color:#fff;transition:border-color .25s,box-shadow .25s}
body.rx input:focus,body.rx select:focus,body.rx textarea:focus{border-color:var(--rx-teal);box-shadow:0 0 0 4px var(--rx-teal-soft)}
body.rx input[type=checkbox],body.rx input[type=radio]{accent-color:var(--rx-teal)}
body.rx .checkbox{color:var(--rx-grey);font-size:12.5px}

/* Messages */
body.rx .flash{background:#fff;color:var(--rx-teal-deep);border:0;box-shadow:inset 0 0 0 1px var(--rx-light-blue);border-radius:12px;font:500 12.5px/1.5 var(--font);animation:rxPop .5s var(--rx-ease) both}
body.rx .alert{border-radius:12px;font:500 12.5px/1.5 var(--font)}
body.rx .alert.err{background:#fff8f6;color:#b2412d;border:0;box-shadow:inset 0 0 0 1px #f3d2cb}
body.rx .alert.ok{background:#fff;color:var(--rx-teal-deep);border:0;box-shadow:inset 0 0 0 1px var(--rx-light-blue)}
body.rx .notice-box{background:var(--rx-teal-soft);border:0;border-radius:var(--rx-r);padding:20px 22px}
body.rx .meter{height:6px;background:rgba(11,60,93,.08)}
body.rx .meter>span{animation:rrSeg .9s var(--rx-ease) both;transform-origin:left}
body.rx .empty{color:#6c7680}
body.rx .report-hero{border-radius:var(--rx-r)}
body.rx .topbar{display:none}

/* Auth (Figma 960:1544) ---------------------------------------------------- */
body.rx.rx-auth{--rx-sky:.56}
body.rx.rx-auth::before{inset:0;background-image:url(/static/img/resp/sky-plane.jpg);background-size:max(113vw,170vh) auto;background-position:75% 25%;animation:none}
.ax{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:48px 40px 24px}
/* Wind: two cloud layers drift left → right at different speeds (mirrored tiles loop seamlessly) */
.ax-wind{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ax-cloud{position:absolute;inset:-4% -6%;will-change:transform}
.ax-cloud-track{position:absolute;top:0;bottom:0;left:0;width:300%;display:flex;animation:axWind 220s linear infinite}
.ax-cloud-track i{flex:1 0 0;background:center 40%/cover no-repeat}
.ax-cloud-track i.flip{transform:scaleX(-1)}
.ax-cloud.mid .ax-cloud-track i{background-image:url(/static/img/resp/clouds-mid.webp)}
.ax-cloud.front .ax-cloud-track i{background-image:url(/static/img/resp/clouds-front.webp)}
.ax-cloud.mid{opacity:.35}
.ax-cloud.front{opacity:.55;inset:-4% -8% -10%}
.ax-cloud.front .ax-cloud-track{animation-duration:120s}
@keyframes axWind{from{transform:translate3d(-66.6667%,0,0)}to{transform:translate3d(0,0,0)}}
/* Marquee: the tagline repeats in two identical halves and slides left → right forever */
.ax-tag{position:absolute;left:0;right:0;top:calc(50% + 69px);overflow:hidden;pointer-events:none;margin:0}
.ax-tag-track{display:flex;width:max-content;white-space:nowrap;font:italic 400 96px/1.2 var(--font-head);color:rgba(11,60,93,.2);
  animation:axMarquee 70s linear infinite}
.ax-tag-track span{padding-right:.28em}
@keyframes axMarquee{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media (prefers-reduced-motion:reduce){ .ax-tag-track,.ax-cloud-track{animation:none} }
.ax-grid{position:relative;width:100%;max-width:1170px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:48px}
.ax-hero{flex:0 1 484px;display:flex;flex-direction:column;gap:16px;margin-top:-196px;animation:rxPop .8s var(--rx-ease) .1s both}
.ax-logo{display:block;width:243px;line-height:0}
.ax-logo img{width:243px;height:40px}
.ax-hero h2{margin:0;font:italic 600 48px/56px var(--font-head);color:var(--rx-blue);letter-spacing:0}
.ax-hero p{margin:0;max-width:421px;font:400 12px/19.5px var(--font);color:var(--rx-blue)}
.ax-card{flex:0 0 481px;box-sizing:border-box;padding:38px 40px;border-radius:20px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.55);
  box-shadow:0 24px 60px rgba(11,60,93,.08),inset 0 1px 0 rgba(255,255,255,.6);-webkit-backdrop-filter:blur(5px) saturate(150%);backdrop-filter:blur(5px) saturate(150%);display:flex;flex-direction:column;gap:16px;animation:rxPanel .7s var(--rx-ease) both}
.ax-title h1{margin:0;font:italic 700 28px/33.6px var(--font-head);color:var(--rx-blue);letter-spacing:0}
.ax-title p{margin:0;padding-top:4px;font:400 14px/20.3px var(--font);color:#757575}
.ax-title p strong{color:var(--rx-blue)}
.ax-form{display:flex;flex-direction:column;gap:16px;margin:0}
.ax-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ax-field{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
body.rx .ax-field label{margin:0;font:600 12px/18.85px var(--font);color:#212121}
body.rx .ax-field input{box-sizing:border-box;width:100%;height:40px;min-height:40px;margin:0;padding:0 12px;border:1px solid transparent;border-radius:8px;
  background:var(--rx-light-blue);font:400 13px/18.85px var(--font);color:var(--rx-grey)}
body.rx .ax-field input::placeholder{color:var(--rx-grey);opacity:1}
body.rx .ax-field input:focus{outline:none;background:#fff;border-color:var(--rx-teal);box-shadow:0 0 0 4px var(--rx-teal-soft)}
body.rx .ax-forgot{align-self:flex-end;margin:-2px 0 -6px;font:400 12px/17.4px var(--font);color:#212121}
body.rx .ax-forgot:hover{color:var(--rx-teal-deep)}
body.rx .ax-check{display:flex;gap:10px;align-items:flex-start;margin:0;font:400 12px/17.4px var(--font);color:var(--rx-grey)}
body.rx .ax-check input{margin:2px 0 0;flex:none}
.ax .cf-turnstile{min-height:0}
.ax .cf-turnstile:empty{display:none}
body.rx .ax-btn{position:relative;overflow:hidden;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:39px;
  padding:10px 20px;border:1px solid var(--rx-blue);border-radius:999px;background:var(--rx-blue);color:#fff;cursor:pointer;
  font:600 13px/18.85px var(--font);text-decoration:none;transition:transform .3s var(--rx-spring),box-shadow .3s var(--rx-ease),background .25s,border-color .25s}
body.rx .ax-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,60,93,.16)}
body.rx .ax-btn:active{transform:scale(.97);box-shadow:none}
body.rx .ax-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(77,182,172,.35)}
body.rx .ax-btn.ghost{background:#fff;border-color:var(--rx-light-blue);color:#212121}
body.rx .ax-btn.ghost:hover{border-color:var(--rx-teal)}
body.rx .ax-btn.teal{background:var(--rx-teal);border-color:var(--rx-teal)}
.ax-note{margin:0;text-align:center;font:400 12px/17.4px var(--font);color:#757575}
.ax-demo{padding:16px;border-radius:12px;background:var(--rx-teal-soft);display:flex;flex-direction:column;gap:8px}
.ax-demo strong{font:600 12px/1.4 var(--font);color:var(--rx-blue)}
.ax-demo p{margin:0 0 4px;font:400 12px/1.5 var(--font);color:var(--rx-grey)}
.ax-card .alert{margin:0}
.ax-foot{position:relative;width:100%;max-width:1170px;margin:24px auto 0;display:flex;justify-content:flex-end}
.ax-foot .morpheon-credit{margin:0;padding:0;border:0;flex-direction:row;align-items:center;gap:12px;color:var(--rx-blue)}
.ax-foot .mc-social{margin:0}
body.rx .mc-social a{background:rgba(255,255,255,.8)}
body.rx .sep{color:#6c7680;font-size:12px}
@media (max-width:1180px){
  .ax-grid{max-width:none}
  .ax-hero h2{font-size:40px;line-height:48px}
  .ax-card{flex-basis:440px}
}
@media (max-width:900px){
  .ax{justify-content:flex-start;padding:40px 16px 24px}
  .ax-grid{flex-direction:column;align-items:stretch;gap:32px;max-width:481px}
  .ax-hero{flex:none;margin-top:0;gap:12px}
  .ax-hero h2{font-size:34px;line-height:40px}
  .ax-card{flex:none;width:100%}
  .ax-tag{display:none}
  .ax-foot{max-width:481px;justify-content:center;margin-top:32px}
}
@media (max-width:480px){
  .ax-card{padding:28px 20px}
  .ax-logo,.ax-logo img{width:194px;height:32px}
  .ax-hero h2{font-size:28px;line-height:34px}
  .ax-row{grid-template-columns:1fr}
}

/* Splash: coloured mark on the light sky + cloud parallax -------------------- */
body.rx.rx-splash::before{display:none}
.sp{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#fff}
.sp-layer{position:absolute;inset:-6%;background:center 40%/cover no-repeat;will-change:transform}
.sp-sky{background-image:url(/static/img/resp/sky.jpg);opacity:.5}
.sp-mid{background-image:url(/static/img/resp/clouds-mid.webp);opacity:.55}
.sp-front{background-image:url(/static/img/resp/clouds-front.webp);opacity:.8;inset:-10% -10% -14%}
body.rx .splash{background:transparent;z-index:1}
body.rx .splash-mark .emblem{width:92px;height:92px;filter:drop-shadow(0 10px 24px rgba(11,60,93,.18))}
body.rx .splash-mark::before{content:'';position:absolute;inset:22px;border-radius:50%;background:rgba(255,255,255,.75);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
body.rx .splash-mark .ring-teal{border-width:4px}
body.rx .splash-mark .ring-purple{border-width:4px}
body.rx .splash-word{height:31px;width:auto}
body.rx .splash .tl{color:var(--rx-blue);font:italic 600 18px/1.2 var(--font-head);letter-spacing:0;text-transform:none}
body.rx .splash .dots span:nth-child(2){background:var(--rx-blue)}

@media (max-width:980px){
  .rx-name small{display:none}
}
}

/* ==========================================================================
   Audit pass — layout rules applied app-wide
   ========================================================================== */
/* 1 · grids never get pushed wider than their column by their content */
body.rx .grid>*,body.rx .rx-bento>*,body.rx .rx-quiz>*{min-width:0}
body.rx .rx-panel{min-width:0}
body.rx td,body.rx th{overflow-wrap:break-word}
body.rx td .btn,body.rx td .rx-btn{white-space:nowrap}

/* 2 · data tables: stacked label/value rows when a table can't fit (rx.js) */
body.rx table.rx-stacked,body.rx table.rx-stacked tbody,body.rx table.rx-stacked tr{display:block;width:100%}
body.rx table.rx-stacked thead{display:none}
body.rx table.rx-stacked tr{padding:14px 0;border-bottom:.961px solid var(--rx-light-blue)}
body.rx table.rx-stacked tr:last-child{border-bottom:0}
body.rx table.rx-stacked tbody tr:hover{background:transparent}
body.rx table.rx-stacked td{display:block;position:relative;width:100%;min-height:26px;padding:5px 0 5px clamp(104px,34%,140px) !important;
  border:0 !important;text-align:left !important;white-space:normal !important}
body.rx table.rx-stacked td::before{content:attr(data-label);position:absolute;left:0;top:6px;width:calc(clamp(104px,34%,140px) - 12px);
  font:400 11px/1.6 var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:#7b8794}
body.rx table.rx-stacked td:not([data-label]){padding-left:0 !important}
body.rx table.rx-stacked td:not([data-label])::before{display:none}
body.rx table.rx-stacked td:empty{display:none}
body.rx table.rx-stacked td:first-child{font-weight:600;color:var(--rx-blue)}
body.rx .table-card:has(table.rx-stacked){padding:4px 20px}

/* 3 · panel footnotes, toolbars and back links get a defined place */
body.rx .rx-panel>p.small.muted,body.rx .rx-panel>p.muted.small{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 16px;
  border-radius:12px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--rx-light-blue);color:var(--rx-grey);font-size:12.5px;line-height:1.55}
body.rx .rx-panel>p.small.muted::before{content:'i';flex:none;width:16px;height:16px;margin-top:1px;border-radius:50%;border:1.4px solid var(--rx-teal);
  color:var(--rx-teal);font:700 10px/13.5px var(--font);text-align:center}
body.rx .rx-panel>.rx-head+p.small.muted{margin-top:33px}
body.rx .rx-panel>.pill-row,body.rx .rx-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}
body.rx .rx-panel>.rx-head+.pill-row{margin-top:33px}
.rx-backrow{display:flex;justify-content:flex-start;margin-top:auto;padding-top:28px}

/* 4 · buttons, pills and form rows wrap instead of escaping their boxes */
body.rx .rx-btn,body.rx .btn{max-width:100%}
body.rx .rx-pill{max-width:100%}
.rx-quizbar{flex-wrap:wrap}
body.rx form [style*="display:flex"]{flex-wrap:wrap}
body.rx .card>form>.btn,body.rx .card form .btn.block{max-width:100%}

/* Responsive ----------------------------------------------------------------- */
@media (max-width:1180px){
  .rx-app{grid-template-columns:300px minmax(0,1fr)}
  .rx-tagline{font-size:26px;line-height:28px}
  .rx-quiz{grid-template-columns:minmax(0,1fr) 210px}
}
@media (max-width:980px){
  .rx-app{grid-template-columns:minmax(0,1fr);padding:0 16px 24px;grid-template-rows:64px auto auto}
  .rx-top{height:64px}
  .rx-logo img{width:150px;height:auto}
  .rx-name{display:none}
  .rx-side{grid-row:2}
  .rx-main{grid-row:3}
  .rx-side-inner{position:static;height:auto;min-height:0;padding:0 0 12px}
  .rx-tagline{display:none}
  .rx-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:4px 0 8px;gap:4px;scrollbar-width:none}
  .rx-nav::-webkit-scrollbar{display:none}
  .rx-nav-sec{display:none}
  .rx-nav a{background:rgba(255,255,255,.55);border-radius:40px;padding:7px 14px;font-size:14px;flex:none}
  .rx-nav a.active{background:#fff}
  .rx-nav a:hover{transform:none}
  .rx-panel{padding:24px 18px;min-height:0;background:rgba(255,255,255,.4)}
  .rx-burstbox{margin:0 auto;display:flex;align-items:center;gap:18px;width:auto;text-align:left}
  .rx-burstbox{flex-direction:row;justify-content:center}
  .rx-burstbox .rx-burst{width:130px;height:130px}
  .rx-burstbox .rx-frac{margin:0}
  .rx-burstbox .rx-pct{font-size:11px}
  .rx-burstbox .rx-cheer{display:none}
  .rx-quiz{grid-template-columns:minmax(0,1fr);margin-top:20px}
  .rx-infos{order:-1;flex-direction:row}
  .rx-info{flex:1;padding:0 14px}
  .rx-info>button,.rx-info.collapsed>button{height:56px}
  .rx-info>button .ic{width:24px;height:24px}
  .rx-info .bd p{margin:0 0 14px}
  .rx-bento.dash{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-bento.dash .a,.rx-bento.dash .b{grid-column:1/-1;grid-row:auto}
  .rx-scene{flex-direction:column;gap:28px;text-align:center;min-height:calc(100vh - 140px)}
  .rx-scene-txt .rx-row{justify-content:center}
}
@media (max-width:560px){
  .rx-bento.dash{grid-template-columns:minmax(0,1fr)}
  .rx-card{padding:20px 18px}
  .rx-qcard{padding:20px 16px}
  .rx-opts{gap:10px}
  .rx-opt .key{display:none}
  .rx-qnav .rx-btn{flex:1}
  .rx-quizbar{justify-content:space-between;gap:10px}
  .rx-quizbar .rx-btn{flex:1}
  .rx-saved{display:none}
  .rx-infos{flex-direction:column}
  .rx-icons{grid-template-columns:minmax(0,1fr)}
  .rx-table thead{display:none}
  .rx-table tr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:12px 0;border-bottom:.961px solid var(--rx-light-blue)}
  .rx-table td{padding:0 !important}
  .rx-sit{grid-template-columns:auto 1fr auto;gap:10px}
  .rx-sit .d{text-align:center}
  .rx-user{gap:8px}
}
@media (prefers-reduced-motion:reduce){
  body.rx *,body.rx *::before,body.rx *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  body.rx::before{animation:none}
}
@media print{
  body.rx::before,.rx-top,.rx-side,.aps-chat-launch,.no-print{display:none !important}
  .rx-app{display:block;padding:0}
  .rx-panel{backdrop-filter:none;background:#fff;padding:0;min-height:0}
}

/* Audit pass (continued) — must come after the base responsive rules */
/* 5 · breakpoints: tighter side column on small laptops, bento collapses cleanly */
@media (min-width:981px) and (max-width:1180px){
  .rx-app{grid-template-columns:260px minmax(0,1fr)}
}
@media (max-width:1180px){
  .rx-bento.dash{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .rx-bento.dash .a,.rx-bento.dash .b{grid-column:1/-1;grid-row:auto}
  body.rx .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.rx .grid.cols-2[style*="grid-template-columns"],body.rx .grid.cols-2{grid-template-columns:minmax(0,1fr) !important}
  .rr-smart{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){
  body.rx .grid.cols-3{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .rx-bento[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important}
  .rx-bento.dash{grid-template-columns:minmax(0,1fr)}
  body.rx .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.rx .grid[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important}
  .rx-quizbar>.rx-body{flex-basis:100%;text-align:left !important}
  .rx-pill.live{white-space:normal;height:auto;min-height:24px;padding:4px 12px}
}

/* Toolbars (filters, result counts, pagers) */
body.rx .rx-toolbar.spread{justify-content:space-between}
body.rx .rx-toolbar:not(.plain){padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--rx-light-blue)}
body.rx .rx-toolbar.plain{margin:16px 0 12px}
body.rx .rx-toolbar form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
body.rx .rx-toolbar input,body.rx .rx-toolbar select{height:36px;min-height:36px;padding:0 12px !important;font-size:13px !important;width:auto}
body.rx .rx-toolbar select{padding-right:34px !important}
body.rx .rx-panel>.pill-row.rx-pager{justify-content:center;margin:20px 0 0}
body.rx .pill-row .btn.sm{height:30px}

/* Inline-styled form grids & rows normalise to fluid columns */
@media (max-width:1180px){
  body.rx form[style*="display:grid"],body.rx form [style*="display:grid"],body.rx form.grid[style*="grid-template-columns"],body.rx [style*="grid-template-columns:repeat(4"]{grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important}
}
@media (max-width:640px){
  body.rx form[style*="display:grid"],body.rx form [style*="display:grid"],body.rx form.grid[style*="grid-template-columns"],body.rx [style*="grid-template-columns:repeat(4"]{grid-template-columns:minmax(0,1fr) !important}
  body.rx form[style*="display:flex"]>div,body.rx form [style*="display:flex"]>div{flex:1 1 140px;min-width:0}
  body.rx form input[style*="width"],body.rx form select[style*="width"]{width:100% !important}
  body.rx table:not(:has(thead)) td{display:block;text-align:left !important;padding:2px 0 !important;border:0}
  body.rx table:not(:has(thead)) tr{display:block;padding:10px 0;border-bottom:.961px solid var(--rx-light-blue)}
  body.rx .stat .l{font-size:11px;letter-spacing:0;overflow-wrap:anywhere}
  .rr-smart{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:420px){ .rr-smart{grid-template-columns:minmax(0,1fr)} }

/* Form grids & row actions (UI rules) */
body.rx .rx-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;align-items:end;margin-top:12px}
body.rx .rx-form-grid label{margin-top:0}
body.rx .rx-form-grid .rx-form-end{display:flex;align-items:flex-end;gap:8px}
body.rx .rx-form-grid .rx-form-end .btn{height:42px}
body.rx .rx-form-grid .rx-form-note{grid-column:1/-1;margin:0}
body.rx .rx-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
body.rx .rx-actions form{margin:0;display:inline-flex}
body.rx form.rx-toolbar input{flex:1 1 220px;max-width:420px}
body.rx table.rx-stacked .rx-actions{justify-content:flex-start}
/* footnotes: icon positioned, text flows inline (links stay in the sentence) */
body.rx .rx-panel>p.small.muted,body.rx .rx-panel>p.muted.small{display:block;position:relative;padding-left:42px}
body.rx .rx-panel>p.small.muted::before{position:absolute;left:16px;top:13px;margin:0}
body.rx td select,body.rx td input:not([type=checkbox]):not([type=radio]){width:auto;max-width:100%;height:30px;min-height:30px;padding:0 30px 0 10px;font-size:12px;border-radius:8px}
body.rx td input:not([type=checkbox]):not([type=radio]){padding:0 10px}
body.rx .rx-actions.col{flex-direction:column;align-items:flex-end}
body.rx table.rx-stacked .rx-actions.col{align-items:flex-start}
body.rx .rx-inline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}
/* Wide data first, supporting cards in a row below */
body.rx .rx-stackcols{display:grid;gap:16px}
body.rx .rx-stackcols>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
body.rx .rx-stackcols>div>.table-card{grid-column:1/-1}
body.rx .rx-stackcols>div>.card{margin-top:0 !important}
@media (max-width:980px){ body.rx .rx-stackcols>div{grid-template-columns:minmax(0,1fr)} }
body.rx .rx-toolbar label{margin:0}
/* Empty states: one consistent icon badge instead of assorted emoji */
body.rx .empty{padding:40px 16px}
body.rx .empty .em{font-size:0;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;
  background:url(/static/img/resp/info.svg) center/26px no-repeat,var(--rx-teal-soft)}
body.rx .empty h3{margin:0 0 6px}

/* Mobile polish from the visual audit */
@media (max-width:980px){
  body.rx{padding-bottom:72px}
  body.rx .aps-chat-launch{width:50px;height:50px;bottom:16px;right:16px}
  body.rx .aps-chat-launch svg{width:22px;height:22px}
}
@media (max-width:640px){
  body.rx form.card[style*="repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  body.rx .aoc table.aoc-meta th,body.rx .aoc table.aoc-meta td{display:block;width:100% !important}
  body.rx .aoc table.aoc-meta tr{display:block;padding:0;border:0}
  body.rx .aoc table.aoc-meta td{border-top:0}
  body.rx .aoc .aoc-title{font-size:1.15rem;overflow-wrap:anywhere}
}
/* Headings inside dark headers stay white (panel heading colour must not leak in) */
body.rx .rx-panel :is(.rpt-hero,.report-hero,.aoc-header) :is(h1,h2,h3){color:#fff}
body.rx .rx-panel .aoc-header .aoc-title{font:700 1.5rem/1.2 var(--font-head);letter-spacing:-.01em;margin:.35rem 0 .25rem}
@media (max-width:640px){ body.rx .rx-panel .aoc-header .aoc-title{font-size:1.15rem;overflow-wrap:anywhere} }
@media (max-width:640px){ body.rx .aoc table.aoc-meta th,body.rx .aoc table.aoc-meta td{padding:.55rem .75rem !important} }

/* ==========================================================================
   Detail pass 2 — shared components
   ========================================================================== */
body.rx [data-row][hidden],body.rx tr[hidden],body.rx [data-more-item][hidden]{display:none !important}
body.rx .badge{white-space:nowrap}
/* Informational note: grey fill, purple dashed outline */
body.rx .rx-notebox,body.rx .card.rx-notebox{background:#F4F6F8;border:1px dashed var(--rx-purple);border-radius:var(--rx-r);padding:20px 22px;box-shadow:none;color:var(--rx-grey)}
body.rx .rx-notebox strong{display:block;font:700 14px/1.4 var(--font-head);color:var(--rx-blue)}
body.rx .rx-notebox p{margin:6px 0 0;font:400 12.5px/1.6 var(--font);color:var(--rx-grey)}
body.rx .rx-notebox p strong{display:inline;font:600 12.5px/1.6 var(--font)}
body.rx .rx-notebox>p:first-child{margin-top:0}
/* Load more */
.rx-more{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
body.rx [data-more-item].rx-in{animation:rxPop .45s var(--rx-ease) both}
/* Filter bar */
.rx-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:12px;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r)}
.rx-fsearch{position:relative;flex:1 1 220px;min-width:180px}
.rx-fsearch svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--rx-grey);opacity:.7;pointer-events:none}
body.rx .rx-fsearch input{width:100%;height:38px;min-height:38px;margin:0;padding:0 14px 0 38px;border-radius:40px;background:var(--rx-light-grey)}
body.rx label.rx-fsel{position:relative;display:inline-flex;align-items:center;gap:6px;height:38px;margin:0;padding:0 8px 0 14px;border:.961px solid var(--rx-light-blue);
  border-radius:40px;background:#fff;cursor:pointer;transition:border-color .25s,box-shadow .25s;max-width:100%}
body.rx label.rx-fsel:hover{border-color:var(--rx-teal)}
body.rx label.rx-fsel:focus-within{border-color:var(--rx-teal);box-shadow:0 0 0 4px var(--rx-teal-soft)}
body.rx label.rx-fsel>span{flex:none;font:500 10.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:#8a949e}
body.rx label.rx-fsel select,body.rx label.rx-fsel input{min-height:0;height:34px;margin:0;padding:0 22px 0 0;border:0;background-color:transparent;box-shadow:none !important;
  font:500 13px/1 var(--font);color:var(--rx-blue);max-width:220px;text-overflow:ellipsis;cursor:pointer}
body.rx label.rx-fsel input[type=date]{padding-right:0;max-width:150px}
body.rx label.rx-fsel select{background-position:right 4px center}
body.rx label.rx-fsel:has(option:checked:not([value=""])){background:var(--rx-teal-soft);border-color:transparent}
.rx-fmore{display:contents}
.rx-fmore>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:40px;cursor:pointer;
  font:600 12.5px/1 var(--font);color:var(--rx-blue);user-select:none}
.rx-fmore>summary::-webkit-details-marker{display:none}
.rx-fmore>summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--rx-ease)}
.rx-fmore[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.rx-fmore>summary:hover{background:var(--rx-light-grey)}
.rx-fmore-body{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px;padding-top:4px;border-top:.961px dashed var(--rx-light-blue);margin-top:4px;padding-top:12px}
.rx-fclear{margin-left:auto;font:600 12.5px/1 var(--font);color:var(--rx-teal-deep) !important;padding:0 6px;white-space:nowrap}
.rx-fclear[hidden]{display:none}
.rx-fcount{margin-left:auto;font:500 12px/1 var(--font);color:#8a949e;white-space:nowrap;padding:0 6px}
.rx-fcount+.rx-fclear{margin-left:0}
@media (max-width:640px){
  .rx-filters{padding:10px}
  .rx-fsearch{flex-basis:100%}
  body.rx label.rx-fsel{flex:1 1 calc(50% - 4px);min-width:0}
  body.rx label.rx-fsel select,body.rx label.rx-fsel input{flex:1;min-width:0;max-width:none}
  .rx-fmore>summary{flex:1 1 100%;justify-content:center}
}
/* Accordion groups (question bank, categories) */
.rx-accs{display:flex;flex-direction:column;gap:12px}
body.rx .rx-acc{background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r);overflow:hidden;transition:box-shadow .35s var(--rx-ease),border-color .35s}
body.rx .rx-acc[open]{box-shadow:var(--rx-lift)}
body.rx .rx-acc>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:60px;padding:12px 20px 12px 24px;cursor:pointer;user-select:none}
body.rx .rx-acc>summary::-webkit-details-marker{display:none}
body.rx .rx-acc>summary:hover{background:rgba(221,239,242,.3)}
.rx-acc-title{font:700 15px/1.35 var(--font-head);color:var(--rx-blue);min-width:0}
.rx-acc-count{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 8px;border-radius:40px;
  background:var(--rx-teal-soft);color:var(--rx-teal-deep);font:600 11.5px/1 var(--font);font-variant-numeric:tabular-nums}
.rx-acc-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.rx-acc-chev{flex:none;margin-left:auto;width:30px;height:30px;border-radius:50%;background:var(--rx-light-grey);position:relative;transition:transform .35s var(--rx-ease),background .25s}
.rx-acc-chev::before{content:'';position:absolute;left:50%;top:50%;width:7px;height:7px;border-right:1.6px solid var(--rx-blue);border-bottom:1.6px solid var(--rx-blue);transform:translate(-50%,-70%) rotate(45deg)}
body.rx .rx-acc[open]>summary .rx-acc-chev{transform:rotate(180deg);background:var(--rx-teal-soft)}
.rx-acc-body{padding:0 12px 8px;border-top:.961px solid var(--rx-light-blue);animation:rxPop .45s var(--rx-ease) both}
.rx-acc-body>table{margin:0}
body.rx .rx-acc-body.rx-acc-pad{padding:20px 24px 20px}
/* Taxonomy (categories & scales) */
body.rx .rx-form-grid .rx-span{grid-column:1/-1}
body.rx .rx-form-grid>label.checkbox{margin:0;display:flex;gap:8px;align-items:center}
body.rx .rx-form-grid .rx-form-end.rx-span{justify-content:flex-start}
body.rx .rx-form-grid textarea{width:100%;margin:0}
.rx-form-split{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:12px}
.rx-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}
.rx-steps li{position:relative;display:flex;gap:12px;align-items:flex-start;padding:18px 18px 18px 16px;background:#fff;border:.961px solid var(--rx-light-blue);border-radius:var(--rx-r)}
.rx-steps li:not(:last-child)::after{content:'';position:absolute;right:-13px;top:50%;width:10px;height:10px;border-top:1.5px solid var(--rx-teal);border-right:1.5px solid var(--rx-teal);transform:translateY(-50%) rotate(45deg);z-index:1}
.rx-step-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--rx-teal-soft);color:var(--rx-teal-deep);display:flex;align-items:center;justify-content:center;font:italic 600 14px/1 var(--font-head)}
.rx-steps strong{display:block;font:700 14px/1.3 var(--font-head);color:var(--rx-blue)}
.rx-steps p{margin:4px 0 0;font:400 12px/1.5 var(--font);color:var(--rx-grey)}
.rx-sechead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px 0 12px}
body.rx .rx-sechead h2{margin:0}
.rx-acc-new{margin-bottom:12px;border-style:dashed !important;border-color:var(--rx-teal) !important}
.rx-acc-new:not([open]){display:none}
.rx-acc.is-archived>summary{opacity:.6}
.rx-catgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 32px}
.rx-catgrid>section{min-width:0}
body.rx h3.rx-mini{margin:0 0 4px;font:500 11px/1.4 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#8a949e}
.rx-sublist{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.rx-subrow{display:flex;gap:8px;align-items:center;margin:0}
body.rx .rx-subrow input{flex:1;min-width:0;margin:0;min-height:36px;height:36px}
body.rx .rx-subrow input.rx-sort{flex:0 0 64px;text-align:center}
.rx-subrow .btn{flex:none}
.rx-subrow.is-archived input{opacity:.55}
.rx-subrow.is-new{padding-top:8px;border-top:.961px dashed var(--rx-light-blue)}
.rx-acc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:14px;border-top:.961px solid var(--rx-light-blue)}
.rx-acc-foot form{margin:0}
.rx-scalegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
body.rx .rx-scalegrid .card+.card{margin-top:0}
body.rx .rx-scale{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.rx-scale.is-archived{opacity:.55}
.rx-scale-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rx-scale-head strong{display:block;font:700 14px/1.35 var(--font-head);color:var(--rx-blue)}
.rx-scale-head .small{display:block;margin-top:2px}
.rx-scale-head form{margin:0;flex:none}
.rx-scale-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.rx-scale-steps li{display:flex;align-items:center;gap:10px;font:400 12.5px/1.4 var(--font);color:var(--rx-grey)}
.rx-scale-steps .mono{flex:none;width:22px;height:22px;border-radius:6px;background:var(--rx-light-grey);border:.961px solid var(--rx-light-blue);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--rx-blue)}
@media (max-width:1180px){
  .rx-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-steps li:nth-child(2)::after{display:none}
  .rx-catgrid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .rx-steps{grid-template-columns:1fr;gap:8px}
  .rx-steps li::after{display:none}
  body.rx .rx-acc>summary{flex-wrap:wrap;padding:12px 16px}
  .rx-acc-meta{order:3;flex-basis:100%}
  .rx-subrow{flex-wrap:wrap}
  body.rx .rx-subrow input{flex-basis:100%}
}
/* Users */
.rx-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:40px;background:var(--rx-light-grey);border:.961px solid var(--rx-light-blue)}
body.rx .rx-seg label{margin:0;cursor:pointer}
.rx-seg input{position:absolute;opacity:0;pointer-events:none}
.rx-seg span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border-radius:40px;font:500 12.5px/1 var(--font);color:var(--rx-grey);transition:background .25s,color .25s,box-shadow .25s}
.rx-seg em{font-style:normal;font-size:11px;color:#8a949e;font-variant-numeric:tabular-nums}
.rx-seg input:checked+span{background:#fff;color:var(--rx-blue);font-weight:600;box-shadow:0 2px 8px rgba(11,60,93,.08)}
.rx-seg input:checked+span em{color:var(--rx-teal-deep)}
.rx-seg input:focus-visible+span{box-shadow:0 0 0 3px rgba(77,182,172,.35)}
.rx-groups>.rx-group+.rx-group{margin-top:32px}
.rx-groups .rx-sechead{margin-top:0}
body.rx .rx-sechead h2{display:flex;align-items:center;gap:8px}
.rx-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rx-avatar{flex:none;width:40px;height:40px;border-radius:50%;background:var(--rx-blue-soft);color:var(--rx-blue);display:flex;align-items:center;justify-content:center;font:italic 600 14px/1 var(--font-head)}
.rx-avatar.sm{width:32px;height:32px;font-size:12px}
.rx-userid{display:flex;align-items:center;gap:12px;min-width:0}
.rx-userid>div{min-width:0}
.rx-usercards{display:grid;grid-template-columns:1fr;gap:16px}
body.rx .rx-usercards .card+.card{margin-top:0}
body.rx .rx-usercard{padding:20px 24px}
.rx-usercard-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rx-usercard-id{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:2px}
.rx-usercard-id strong{font:700 15px/1.3 var(--font-head);color:var(--rx-blue)}
.rx-perms{margin:16px 0 0;padding-top:16px;border-top:.961px solid var(--rx-light-blue)}
.rx-perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px}
body.rx .rx-perm-grid label.checkbox{margin:0;display:flex;align-items:center;gap:8px;font-size:12.5px}
.rx-usercard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
.rx-usercard-foot .small{flex:1 1 260px}
@media (max-width:640px){ .rx-seg{width:100%} .rx-seg label{flex:1 1 auto} .rx-seg span{justify-content:center;width:100%} }
body.rx .rx-group td .rx-actions{flex-wrap:nowrap}
/* Communications */
.rx-timing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0 0}
.rx-timing-step{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:14px;background:var(--rx-light-grey);border:.961px solid var(--rx-light-blue);min-width:0}
.rx-timing-step .rx-step-n{width:24px;height:24px;font-size:12px}
body.rx .rx-timing-step label{margin:4px 0 0;font:600 13px/1.3 var(--font);color:var(--rx-blue)}
.rx-input-unit{position:relative}
body.rx .rx-input-unit input{width:100%;margin:0;padding-right:52px;background:#fff}
.rx-input-unit span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font:400 12px/1 var(--font);color:#8a949e;pointer-events:none}
.rx-timing-end{grid-column:1/-1}
.rx-tpl{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
body.rx .rx-tpl .card+.card{margin-top:0}
body.rx .rx-tpl-list{padding:16px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:16px}
body.rx .rx-tpl-list h3.rx-mini{margin:12px 12px 6px}
body.rx .rx-tpl-list h3.rx-mini:first-child{margin-top:0}
.rx-tpl-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:12px;background:transparent;cursor:pointer;
  transition:background .25s,transform .3s var(--rx-spring)}
.rx-tpl-item strong{font:600 13px/1.3 var(--font);color:var(--rx-blue)}
.rx-tpl-item span{font:400 11.5px/1.4 var(--font);color:#8a949e}
.rx-tpl-item:hover{background:var(--rx-light-grey)}
.rx-tpl-item.is-on{background:var(--rx-teal-soft)}
.rx-tpl-item.is-on strong{color:var(--rx-teal-deep)}
.rx-tpl-item:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(77,182,172,.35)}
.rx-tpl-pane.rx-in{animation:rxPop .4s var(--rx-ease) both}
.rx-tpl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding-bottom:16px;border-bottom:.961px solid var(--rx-light-blue)}
.rx-tpl-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:16px}
.rx-tpl-fields{display:flex;flex-direction:column;gap:12px;min-width:0}
body.rx .rx-tpl-fields label{margin-top:0}
body.rx .rx-tpl-fields input,body.rx .rx-tpl-fields textarea{width:100%;margin:0}
.rx-mail{border:.961px solid var(--rx-light-blue);border-radius:14px;overflow:hidden;background:var(--rx-light-grey);min-width:0}
.rx-mail-bar{display:flex;gap:5px;padding:10px 12px;background:#fff;border-bottom:.961px solid var(--rx-light-blue)}
.rx-mail-bar span{width:8px;height:8px;border-radius:50%;background:var(--rx-light-blue)}
.rx-mail-meta{padding:10px 16px 0;font:400 12px/1.5 var(--font);color:var(--rx-grey)}
.rx-mail-subj{padding:2px 16px 12px;font:700 14px/1.4 var(--font-head);color:var(--rx-blue);border-bottom:.961px solid var(--rx-light-blue);overflow-wrap:anywhere}
.rx-mail-body{margin:16px;padding:20px;border-radius:12px;background:#fff;font:400 12.5px/1.6 var(--font);color:var(--rx-grey);overflow-wrap:anywhere}
.rx-mail-body img{display:block;margin-bottom:16px}
.rx-mail-body p{margin:0 0 10px;white-space:pre-line}
.rx-mail-btn{display:inline-flex;margin:4px 0 14px;padding:8px 16px;border-radius:40px;background:var(--rx-blue);color:#fff;font:600 12px/1 var(--font)}
@media (max-width:1180px){ .rx-tpl-edit{grid-template-columns:1fr} .rx-timing{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:980px){ .rx-tpl{grid-template-columns:1fr} body.rx .rx-tpl-list{position:static} }
@media (max-width:480px){ .rx-timing{grid-template-columns:1fr} }
/* Organisation account + dashboard photo */
.rx-account{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
body.rx .rx-account .card+.card{margin-top:0}
.rx-photo{display:flex;flex-direction:column;gap:12px}
body.rx .rx-photo h2{margin:0}
body.rx label.rx-drop{position:relative;display:flex;align-items:center;justify-content:center;margin:0;aspect-ratio:16/10;border-radius:16px;overflow:hidden;cursor:pointer;
  border:1.5px dashed var(--rx-light-blue);background:var(--rx-light-grey);transition:border-color .25s,background .25s}
body.rx label.rx-drop:hover,body.rx label.rx-drop.is-over{border-color:var(--rx-teal);background:var(--rx-teal-soft)}
.rx-drop.has-photo{border-style:solid;border-color:transparent}
.rx-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.rx-drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rx-drop-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:16px;pointer-events:none}
.rx-drop-empty strong{font:600 13px/1.3 var(--font);color:var(--rx-blue)}
.rx-drop-ico{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--rx-teal-deep);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.rx-drop-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.75);font:600 13px/1 var(--font);color:var(--rx-blue)}
.rx-drop-busy[hidden],.rx-drop-empty[hidden]{display:none}
.rx-photo-msg{margin:0;color:var(--rx-teal-deep)}
.rx-photo-msg.is-err{color:#b2412d}
.rx-orghero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;gap:16px;margin-bottom:16px}
.rx-orgphoto{grid-column:1/3;grid-row:1/3;position:relative;min-height:240px;border-radius:var(--rx-r);overflow:hidden;background:var(--rx-light-grey);opacity:0;animation:rxPop .65s var(--rx-ease) forwards}
.rx-orgphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--rx-ease)}
.rx-orgphoto:hover img{transform:scale(1.03)}
body.rx .rx-orghero>.stat{opacity:0;animation:rxPop .65s var(--rx-ease) forwards;min-height:112px}
body.rx .rx-orghero>.stat:nth-child(2){animation-delay:.07s}body.rx .rx-orghero>.stat:nth-child(3){animation-delay:.14s}
body.rx .rx-orghero>.stat:nth-child(4){animation-delay:.21s}body.rx .rx-orghero>.stat:nth-child(5){animation-delay:.28s}
@media (max-width:980px){ .rx-account{grid-template-columns:1fr} }
@media (max-width:640px){
  .rx-orghero{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-orgphoto{grid-column:1/-1;grid-row:auto;min-height:0;aspect-ratio:16/10}
}
body.rx .grid>.card+.card,body.rx .grid>*+.card{margin-top:0}
/* Psychologist review queue bento: main 3/4 × 2 rows, two side tiles 1/4 × 1 row */
.rx-bento.psy{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(180px,auto))}
.rx-bento.psy .psy-main{grid-column:1/4;grid-row:1/3;flex-direction:row;align-items:center;gap:24px;padding:32px}
.rx-bento.psy .psy-side{grid-column:4;text-decoration:none;color:inherit;gap:6px}
.psy-main-txt{flex:1;min-width:0;display:flex;flex-direction:column;align-self:stretch}
body.rx .rx-panel .psy-h{margin:6px 0 8px;max-width:none;font:italic 600 26px/1.2 var(--font-head);color:var(--rx-blue)}
.psy-burst{flex:none;width:180px;height:180px}
.psy-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:20px}
.psy-kpis a{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:var(--rx-light-grey);border:.961px solid var(--rx-light-blue);
  text-decoration:none;transition:transform .35s var(--rx-spring),border-color .25s,background .25s}
.psy-kpis a:hover{transform:translateY(-2px);border-color:var(--rx-teal);background:var(--rx-teal-soft)}
.psy-kpis .n{font:italic 600 26px/1 var(--font-head);color:var(--rx-blue);font-variant-numeric:tabular-nums}
.psy-kpis .l{font:400 11.5px/1.3 var(--font-head);text-transform:uppercase;letter-spacing:.02em;color:var(--rx-grey)}
.psy-link{font:600 12.5px/1 var(--font);color:var(--rx-blue);padding-top:12px}
.psy-side:hover .psy-link{color:var(--rx-teal-deep)}
nav.rx-seg a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border-radius:40px;font:500 12.5px/1 var(--font);color:var(--rx-grey);text-decoration:none;transition:background .25s,color .25s}
nav.rx-seg a:hover{color:var(--rx-blue)}
nav.rx-seg a.is-on{background:#fff;color:var(--rx-blue);font-weight:600;box-shadow:0 2px 8px rgba(11,60,93,.08)}
nav.rx-seg a.is-on em{color:var(--rx-teal-deep)}
@media (max-width:1180px){
  .rx-bento.psy{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .rx-bento.psy .psy-main{grid-column:1/-1;grid-row:auto}
  .rx-bento.psy .psy-side{grid-column:auto}
}
@media (max-width:640px){
  .rx-bento.psy{grid-template-columns:minmax(0,1fr)}
  .rx-bento.psy .psy-main{flex-direction:column;align-items:stretch;padding:24px 20px}
  .psy-burst{display:none}
  nav.rx-seg{width:100%;overflow-x:auto;flex-wrap:nowrap}
  nav.rx-seg a{flex:none}
}
body.rx .rx-actions.col.start,body.rx table.rx-stacked .rx-actions.col.start{align-items:flex-start;justify-content:flex-start}
body.rx .rx-actions.col.start .rx-inline{justify-content:flex-start}
body.rx .rx-actions.col.start .rx-inline select{min-height:28px;height:28px;width:auto;max-width:170px;padding-top:0;padding-bottom:0;font-size:12px}
body.rx table.rx-stacked .badge{white-space:normal;height:auto;min-height:24px;padding-top:4px;padding-bottom:4px;line-height:1.3}
.rx-mail-meta .muted{display:block}
@media (max-width:640px){ nav.rx-seg{overflow:visible;flex-wrap:wrap} }
@media (max-width:640px){
  .rx-seg,nav.rx-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px;width:100%}
  .rx-seg span,nav.rx-seg a{justify-content:center}
}
/* Demo hub ---------------------------------------------------------------- */
.dm{position:relative;max-width:1280px;margin:0 auto;padding:56px 40px 32px}
.dm-head{max-width:720px;margin-bottom:40px;animation:rxPop .8s var(--rx-ease) both}
.dm-head img{width:194px;height:32px;margin-bottom:32px}
.dm-kicker{margin:0 0 10px;font:600 12px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--rx-teal-deep)}
body.rx .dm-head h1{margin:0 0 12px;font:italic 600 44px/1.12 var(--font-head);color:var(--rx-blue);letter-spacing:0}
.dm-sub{margin:0;font:400 15px/1.6 var(--font);color:var(--rx-blue);max-width:56ch}
.dm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.dm-card{--c:var(--rx-teal);position:relative;display:flex;flex-direction:column;padding:24px 22px 22px;border-radius:20px;background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);
  box-shadow:0 18px 44px rgba(11,60,93,.08);opacity:0;animation:rxPop .7s var(--rx-ease) forwards;animation-delay:calc(var(--d) * 90ms + 150ms);
  transition:transform .45s var(--rx-ease),box-shadow .45s var(--rx-ease)}
.dm-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(11,60,93,.12)}
.dm-card.c-blue{--c:var(--rx-blue)}.dm-card.c-purple{--c:var(--rx-purple)}.dm-card.c-grey{--c:#6c7680}
.dm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.dm-no{font:italic 600 14px/1 var(--font-head);color:var(--c)}
.dm-dot{width:40px;height:40px;border-radius:50%;background:var(--c);box-shadow:0 0 0 6px rgba(255,255,255,.7)}
body.rx .dm-card h2{margin:0;font:italic 600 26px/1.15 var(--font-head);color:var(--rx-blue)}
.dm-who{margin:4px 0 12px;font:500 12px/1.4 var(--font);letter-spacing:.06em;text-transform:uppercase;color:#6c7680}
.dm-about{margin:0 0 14px;font:400 13px/1.6 var(--font);color:var(--rx-grey);min-height:6.4em}
.dm-try{list-style:none;margin:0 0 20px;padding:14px 0 0;border-top:1px solid var(--rx-light-blue);display:flex;flex-direction:column;gap:8px}
.dm-try li{position:relative;padding-left:18px;font:400 12.5px/1.45 var(--font);color:var(--rx-grey)}
.dm-try li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:2px;border-radius:1px;background:var(--c)}
.dm-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.dm-actions .ax-btn span{margin-left:6px}
body.rx .dm-actions .ax-btn{min-height:40px}
body.rx .dm-actions .ax-btn:not(.ghost){background:var(--c);border-color:var(--c)}
.dm-creds{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.dm-creds[hidden]{display:none}
.dm-creds.is-in{animation:rxPop .45s var(--rx-ease) both}
.dm-acc{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.85);border:1px solid var(--rx-light-blue)}
.dm-acc-label{margin:0 0 8px;font:600 12px/1.35 var(--font);color:var(--rx-blue)}
.dm-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:8px;row-gap:3px;align-items:center;padding:5px 0}
.dm-row+.dm-row{border-top:1px dashed var(--rx-light-blue)}
.dm-row .dm-k{grid-column:1/-1}
.dm-k{font:500 10.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:#8a949e}
.dm-row code{min-width:0;overflow-wrap:anywhere;font:600 12.5px/1.4 var(--font);color:var(--rx-blue);user-select:all}
.dm-copy{border:1px solid var(--rx-light-blue);background:#fff;border-radius:20px;padding:3px 10px;font:600 11px/1.4 var(--font);color:var(--rx-blue);cursor:pointer;transition:background .2s,color .2s}
.dm-copy:hover{border-color:var(--rx-teal)}
.dm-copy.ok{background:var(--rx-teal-soft);color:var(--rx-teal-deep);border-color:transparent}
.dm-open{display:inline-block;margin-top:6px;font:600 12px/1.4 var(--font);color:var(--rx-teal-deep) !important}
.dm-note{margin:28px 0 0;font:400 12px/1.6 var(--font);color:var(--rx-blue);opacity:.8;max-width:80ch}
.dm-foot{margin-top:28px;display:flex;justify-content:flex-end}
.dm-foot .morpheon-credit{margin:0;padding:0;border:0;flex-direction:row;align-items:center;gap:12px}
@media (max-width:1180px){ .dm-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .dm-about{min-height:0} }
@media (max-width:640px){
  .dm{padding:36px 16px 24px} body.rx .dm-head h1{font-size:32px} .dm-grid{grid-template-columns:1fr}
  .dm-foot{justify-content:center}
}
