/* Stable application shell, brand mark, status line and responsive menu. */
:root{
    --rx32-footer-h:38px;
    --rx32-blue:#0b4b91;
    --rx32-green:#48ad2f;
    --rx32-red:#c33446;
}

/* Exact uploaded RX mark, shared by login, dashboard, topbar, drawer and auth screens. */
body.rx-v32 .rx32-brand{min-width:0;display:inline-flex;align-items:center;gap:10px;color:#18364e;text-decoration:none}
body.rx-v32 .rx32-brand-mark{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:#fff}
body.rx-v32 .rx32-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
body.rx-v32 .rx32-brand-copy{min-width:0;display:grid;align-content:center;gap:2px;line-height:1.05}
body.rx-v32 .rx32-brand-copy>b{color:#1a344b;font-size:15px;font-weight:850;white-space:nowrap}
body.rx-v32 .rx32-brand-copy>small{color:#6d8191;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rx-v32 .rx32-brand-copy>em{margin-top:3px;color:#617486;font-size:8px;font-style:normal;font-weight:850;letter-spacing:.2em;white-space:nowrap}
body.rx-v32 .rx32-brand-copy>em i{color:var(--rx32-green);font-style:normal}
body.rx-v32 .rx32-brand-copy>strong{color:#174f8c;font-size:8px;letter-spacing:.18em;white-space:nowrap}
body.rx-v32 .rx32-brand-login .rx32-brand-mark{width:88px;height:100px;flex-basis:88px;border-radius:0}
body.rx-v32 .rx32-brand-login .rx32-brand-copy>b{font-size:clamp(24px,2.5vw,38px)}
body.rx-v32 .rx32-brand-login .rx32-brand-copy>small{font-size:11px;color:#24547c;font-weight:850}
body.rx-v32 .rx32-brand-login .rx32-brand-copy>em,body.rx-v32 .rx32-brand-login .rx32-brand-copy>strong{font-size:9px}
body.rx-v32 .rx32-brand-dashboard .rx32-brand-mark{width:108px;height:124px;flex-basis:108px;border-radius:0}
body.rx-v32 .rx32-brand-dashboard .rx32-brand-copy>b{font-size:clamp(25px,3vw,44px)}
body.rx-v32 .rx32-brand-dashboard .rx32-brand-copy>small{font-size:11px;color:#24547c;font-weight:850}
body.rx-v32 .rx32-brand-dashboard .rx32-brand-copy>em,body.rx-v32 .rx32-brand-dashboard .rx32-brand-copy>strong{font-size:9px}
body.rx-v32 .rx32-brand-sidebar .rx32-brand-mark{width:44px;height:48px;flex-basis:44px}
body.rx-v32 .rx32-brand-sidebar .rx32-brand-copy>b{font-size:14px}
body.rx-v32 .rx32-brand-auth .rx32-brand-mark{width:58px;height:66px;flex-basis:58px}
body.rx-v32 .rx30-rx-mark,body.rx-v32 .rx-title-icon,body.rx-v32 .rx-logo-mark{display:none!important}
body.rx-v32 .rx-title-app{min-width:0;display:flex!important;align-items:center!important;text-decoration:none!important}
body.rx-v32 .rx-sidebar-brand>a{min-width:0;display:block!important;text-decoration:none!important}

/* Header controls stay the same size on dashboard and every inner billing page. */
body.rx-v32 .rx-window-titlebar{min-height:60px!important;height:60px!important;padding:6px 12px!important}
body.rx-v32 .rx-topbar-left,body.rx-v32 .rx-topbar-actions{min-width:0;display:flex;align-items:center}
body.rx-v32 .rx-topbar-actions{gap:8px!important}
body.rx-v32 .rx-topbar-quick,body.rx-v32 .rx-user-button{
    min-height:40px!important;height:40px!important;border-radius:9px!important;font-size:10px!important;white-space:nowrap!important;
}
body.rx-v32 .rx-topbar-quick{padding:6px 12px!important}
body.rx-v32 .rx-topbar-quick-actions form{display:flex!important;margin:0!important}
body.rx-v32 .rx-quick-logout{min-width:66px!important}
body.rx-v32 .rx-user-button{max-width:260px!important}

/* Hamburger is an obvious menu control, not a blank square. */
body.rx-v32 .rx-menu-toggle{
    position:relative!important;width:46px!important;height:44px!important;min-width:46px!important;flex:0 0 46px!important;
    align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;padding:0!important;
    border:1px solid #0b4b91!important;border-radius:10px!important;background:linear-gradient(145deg,#1264b1,#083d78)!important;
    box-shadow:0 7px 16px rgba(11,75,145,.2)!important;cursor:pointer!important;
}
body.rx-v32 .rx-menu-toggle span{position:static!important;display:block!important;width:22px!important;height:2px!important;min-height:2px!important;margin:0!important;border-radius:3px!important;background:#fff!important;opacity:1!important;transform:none!important}
body.rx-v32 .rx-menu-toggle:focus-visible{outline:3px solid rgba(18,100,177,.26)!important;outline-offset:2px!important}

/* One breakpoint contract. Desktop menubar; tablet/mobile drawer. */
@media(min-width:1025px){
    body.rx-v32 .rx-menu-toggle{display:none!important}
    body.rx-v32 .rx-main-menubar{position:sticky!important;top:60px!important;width:100%!important;height:56px!important;min-height:56px!important;transform:none!important;overflow:visible!important;display:block!important;z-index:650!important}
    body.rx-v32 .rx-main-menubar .rx-sidebar-brand{display:none!important}
    body.rx-v32 .rx-desktop-menu{display:flex!important;height:100%!important;align-items:stretch!important;justify-content:center!important;padding:0 8px!important;overflow:visible!important}
    body.rx-v32 .rx-menu-group{position:relative!important;flex:1 1 92px!important;min-width:78px!important;max-width:132px!important}
    body.rx-v32 .rx-menu-panel{position:absolute!important;top:calc(100% - 1px)!important;left:0!important;width:max-content!important;min-width:310px!important;max-width:min(420px,90vw)!important;max-height:min(68vh,540px)!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:1900!important}
    body.rx-v32 .rx-menu-group:nth-last-child(-n+2) .rx-menu-panel{left:auto!important;right:0!important}
}
@media(max-width:1024px){
    body.rx-v32.rx-menu-open{overflow:hidden!important}
    body.rx-v32 .rx-menu-toggle{display:inline-flex!important}
    body.rx-v32 .rx-main-menubar{position:fixed!important;inset:0 auto 0 0!important;width:min(90vw,390px)!important;height:100dvh!important;min-height:100dvh!important;transform:translateX(-104%)!important;overflow-y:auto!important;overflow-x:hidden!important;display:block!important;z-index:1500!important;background:#fff!important;transition:transform .2s ease!important}
    body.rx-v32 .rx-main-menubar.is-open{transform:translateX(0)!important}
    body.rx-v32 .rx-main-menubar .rx-sidebar-brand{display:flex!important;position:sticky!important;top:0!important;z-index:5!important;width:100%!important;padding:9px 11px!important;border-bottom:1px solid #d2e0e9!important;background:#fff!important}
    body.rx-v32 .rx-main-menubar .rx-sidebar-brand>button{width:42px!important;height:42px!important;min-width:42px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid #ccdce6!important;border-radius:10px!important;background:#f5f9fc!important;color:#234b6d!important;font-size:25px!important}
    body.rx-v32 .rx-desktop-menu{display:block!important;height:auto!important;padding:8px!important;overflow:visible!important}
    body.rx-v32 .rx-menu-group{width:100%!important;min-width:0!important;max-width:none!important}
    body.rx-v32 .rx-menu-group>summary{width:100%!important;min-height:46px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:10px 12px!important;border-left:3px solid transparent!important;border-radius:8px!important}
    body.rx-v32 .rx-menu-panel{position:static!important;width:calc(100% - 14px)!important;min-width:0!important;max-height:none!important;margin-left:14px!important;overflow:visible!important;border:0!important;border-left:1px solid #cadbe5!important;border-radius:0!important;box-shadow:none!important}
    body.rx-v32 .rx-sidebar-scrim:not([hidden]){display:block!important;position:fixed!important;inset:0!important;z-index:1450!important;background:rgba(15,35,51,.48)!important}
}

/* Every menu card label stays on a single readable line. */
body.rx-v32 .rx-menu-panel a{min-width:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.rx-v32 .rx-menu-panel a kbd{flex:0 0 auto!important;white-space:nowrap!important}
body.rx-v32 .rx-menu-group>summary{white-space:nowrap!important}

/* Fixed bottom status: one line only, horizontally scrollable on narrow screens. */
body.rx-v32 .rx-app{min-height:100dvh!important;padding-bottom:var(--rx32-footer-h)!important}
body.rx-v32 .rx-content{padding-bottom:calc(var(--rx32-footer-h) + 14px)!important}
body.rx-v32 .rx-bottom-status.rx32-fixed-status{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;z-index:2200!important;
    width:100%!important;height:var(--rx32-footer-h)!important;min-height:var(--rx32-footer-h)!important;display:block!important;
    padding:0!important;overflow:hidden!important;white-space:nowrap!important;border-top:1px solid #b9cedb!important;
    background:rgba(255,255,255,.985)!important;box-shadow:0 -4px 14px rgba(28,62,88,.08)!important;font-size:9.5px!important;
}
body.rx-v32 .rx32-status-track{height:100%;min-width:max-content;display:flex;align-items:stretch;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
body.rx-v32 .rx32-status-track::-webkit-scrollbar{display:none}
body.rx-v32 .rx-bottom-status.rx32-fixed-status span{flex:0 0 auto!important;min-width:0!important;min-height:var(--rx32-footer-h)!important;height:var(--rx32-footer-h)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:0 13px!important;border-right:1px solid #d4e0e8!important;line-height:1!important;white-space:nowrap!important;overflow:visible!important;overflow-wrap:normal!important}
body.rx-v32 .rx-bottom-status.rx32-fixed-status strong{color:#1d405e!important}
body.rx-v32 .rx32-db-state i{width:9px;height:9px;flex:0 0 9px;border-radius:50%}
body.rx-v32 .rx32-db-state.is-connected{color:#11733e!important;background:#effaf4!important}
body.rx-v32 .rx32-db-state.is-connected i{background:#20ad62;box-shadow:0 0 0 4px rgba(32,173,98,.14),0 0 13px rgba(32,173,98,.75);animation:rx32-green-pulse 1.7s ease-in-out infinite}
body.rx-v32 .rx32-db-state.is-connected b{color:#11733e!important}
body.rx-v32 .rx32-db-state.is-disconnected{color:#a32132!important;background:#fff2f3!important}
body.rx-v32 .rx32-db-state.is-disconnected i{background:#d9364a;box-shadow:0 0 0 4px rgba(217,54,74,.14),0 0 13px rgba(217,54,74,.75)}
body.rx-v32 .rx32-db-state.is-disconnected b{color:#a32132!important}
@keyframes rx32-green-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.68}}

@media(max-width:780px){
    body.rx-v32 .rx-window-titlebar{padding:6px 8px!important}
    body.rx-v32 .rx-title-app .rx32-brand-copy>small{display:none!important}
    body.rx-v32 .rx32-brand-topbar .rx32-brand-mark{width:42px;height:44px;flex-basis:42px}
    body.rx-v32 .rx32-brand-topbar .rx32-brand-copy>b{font-size:13px}
    body.rx-v32 .rx-ecosystem-switch,body.rx-v32 .rx-settings-quick{display:none!important}
    body.rx-v32 .rx-user-copy{display:none!important}
    body.rx-v32 .rx-user-button{width:42px!important;min-width:42px!important;padding:0!important;justify-content:center!important}
    body.rx-v32 .rx-user-button>span:last-child{display:none!important}
    body.rx-v32 .rx-topbar-quick{min-width:62px!important;padding:6px 9px!important}
    body.rx-v32 .rx32-brand-login{align-items:flex-start}
    body.rx-v32 .rx32-brand-login .rx32-brand-mark{width:66px;height:76px;flex-basis:66px}
    body.rx-v32 .rx32-brand-login .rx32-brand-copy>b{font-size:24px}
    body.rx-v32 .rx32-brand-dashboard .rx32-brand-mark{width:78px;height:90px;flex-basis:78px}
    body.rx-v32 .rx32-brand-dashboard .rx32-brand-copy>b{font-size:26px}
}
@media(max-width:520px){
    body.rx-v32 .rx-title-app .rx32-brand-copy{display:none!important}
    body.rx-v32 .rx-topbar-quick-actions .rx-settings-quick{display:none!important}
    body.rx-v32 .rx-quick-logout{min-width:58px!important}
    body.rx-v32 .rx32-brand-login .rx32-brand-copy>em,body.rx-v32 .rx32-brand-login .rx32-brand-copy>strong{white-space:normal}
}
@media(prefers-reduced-motion:reduce){body.rx-v32 .rx32-db-state.is-connected i{animation:none!important}}

/* Final menu hierarchy: one-line desktop labels, expandable cards only in the drawer. */
body.rx-v32 .rx-topbar{z-index:1400!important}
@media(min-width:1025px){
    body.rx-v32 .rx-main-menubar{z-index:1300!important}
    body.rx-v32 .rx-menu-group>summary{
        flex-direction:row!important;
        align-items:center!important;
        justify-content:center!important;
        gap:6px!important;
        padding:0 10px!important;
        line-height:1!important;
    }
    body.rx-v32 .rx-menu-group>summary kbd{display:inline-flex!important;align-items:center!important;margin:0!important;font-size:8px!important}
    body.rx-v32 .rx-menu-group>summary::after{display:none!important;content:none!important}
}
@media(max-width:1024px){
    body.rx-v32 .rx-main-menubar{z-index:2600!important}
    body.rx-v32 .rx-sidebar-scrim:not([hidden]){z-index:2500!important}
    body.rx-v32 .rx-menu-group>summary{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
    body.rx-v32 .rx-menu-group>summary::after{display:inline-flex!important;content:'+'!important;flex:0 0 auto!important;color:#6f94b5!important;font-size:18px!important;line-height:1!important}
    body.rx-v32 .rx-menu-group[open]>summary::after{content:'−'!important}
}
.rx30-partner-row .rx30-partner-disabled{display:block!important;min-width:0!important;overflow:hidden!important;border:1px solid #d8e2ea!important;border-radius:10px!important;background:#f5f7f9!important;opacity:.62!important;cursor:not-allowed!important}
.rx30-partner-row .rx30-partner-disabled img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;filter:grayscale(.35)!important}

/* Slim desktop application menu with reliable dropdown geometry. */
@media(min-width:1025px){
  body.rx-v32 .rx-main-menubar{height:34px!important;min-height:34px!important;background:#fff!important;border-bottom:1px solid #d8e4ed!important;box-shadow:0 3px 10px rgba(24,62,94,.05)!important}
  body.rx-v32 .rx-desktop-menu{height:34px!important;padding:0 6px!important;align-items:center!important;justify-content:center!important}
  body.rx-v32 .rx-menu-group{flex:0 1 116px!important;min-width:82px!important;max-width:124px!important;height:34px!important;margin:0!important}
  body.rx-v32 .rx-menu-group>summary{height:34px!important;min-height:34px!important;padding:0 8px!important;gap:4px!important;border:0!important;border-radius:6px!important;color:#244765!important;font-size:10px!important;font-weight:850!important;cursor:pointer!important;list-style:none!important}
  body.rx-v32 .rx-menu-group>summary::-webkit-details-marker{display:none!important}
  body.rx-v32 .rx-menu-group>summary kbd{padding:0!important;border:0!important;background:transparent!important;color:#6f86a0!important;font-size:7px!important;box-shadow:none!important}
  body.rx-v32 .rx-menu-group[open]>summary,body.rx-v32 .rx-menu-group>summary:hover,body.rx-v32 .rx-menu-group>summary:focus-visible{background:#eaf5ff!important;color:#075ca8!important;outline:none!important}
  body.rx-v32 .rx-menu-panel{top:34px!important;min-width:260px!important;padding:5px!important;border:1px solid #bfd3e2!important;border-radius:0 0 9px 9px!important;background:#fff!important;box-shadow:0 15px 36px rgba(17,52,82,.18)!important}
  body.rx-v32 .rx-menu-panel a{min-height:34px!important;padding:7px 9px!important;border-radius:6px!important;font-size:10px!important}
}

/* One menu controller only: native details state controls dropdown visibility. */
body.rx-v32 .rx-menu-group:not([open]) > .rx-menu-panel{display:none!important}
body.rx-v32 .rx-menu-group[open] > .rx-menu-panel{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(min-width:1025px){
  body.rx-v32 .rx-main-menubar,body.rx-v32 .rx-desktop-menu{overflow:visible!important}
  body.rx-v32 .rx-menu-group{overflow:visible!important}
  body.rx-v32 .rx-menu-group>summary{font-size:9.5px!important}
}


/* Current module visibility and compact 720p desktop shell. */
@media(min-width:1025px){body.rx-v32 .rx-menu-group:has(>.rx-menu-panel>a.active)>summary,body.rx-v32 .rx-menu-group:has(>.rx-menu-panel>a.active)[open]>summary{background:linear-gradient(135deg,#0874ce,#0754a5)!important;color:#fff!important}body.rx-v32 .rx-menu-group:has(>.rx-menu-panel>a.active)>summary kbd{color:#fff!important}body.rx-v32 .rx-menu-panel>a.active{background:linear-gradient(135deg,#0874ce,#0754a5)!important;color:#fff!important;border-color:#0754a5!important}body.rx-v32 .rx-menu-panel>a.active kbd{color:#fff!important}}
@media(min-width:1000px) and (max-height:760px){body.rx-v32 .rx41-topbar{min-height:48px!important;height:48px!important;padding-block:3px!important}body.rx-v32 .rx41-brand-link{width:34px!important;height:34px!important}body.rx-v32 .rx41-brand-link img{width:32px!important;height:32px!important}body.rx-v32 .rx41-page-context strong{font-size:10px!important}body.rx-v32 .rx41-page-context small{font-size:7px!important}body.rx-v32 .rx41-context-chip{min-height:25px!important;padding-inline:7px!important;font-size:7px!important}body.rx-v32 .rx-main-menubar{top:48px!important;height:30px!important;min-height:30px!important}body.rx-v32 .rx-desktop-menu{height:30px!important}body.rx-v32 .rx-menu-group{height:30px!important}body.rx-v32 .rx-menu-group>summary{height:30px!important;min-height:30px!important;font-size:8.5px!important}body.rx-v32 .rx-menu-panel{top:30px!important}body.rx-v32 .rx-command-bar{min-height:24px!important;height:24px!important;padding:2px 8px!important;font-size:7px!important;line-height:1!important}body.rx-v32 .rx-command-bar span,body.rx-v32 .rx-command-bar kbd{font-size:7px!important}}

/* 720p workstation shell: menu, workflow strip and status bar consume minimum space. */
@media(min-width:1000px) and (max-height:760px){
  :root{--rx32-footer-h:26px}
  body.rx-v32 .rx-content,body.rx-v32 .rx-billing-content{min-height:0!important;padding:0 6px calc(var(--rx32-footer-h) + 3px)!important;overflow:hidden!important}
  body.rx-v32 .rx-billing-stage,body.rx-v32 .rx-billing-stage-main{min-height:0!important;height:auto!important}
  body.rx-v32 .rx-command-bar{position:relative!important;top:auto!important;margin:0!important;min-height:22px!important;height:22px!important;padding:1px 7px!important;border-top:0!important;border-bottom:1px solid #c8d9e6!important}
  body.rx-v32 .rx-command-bar span,body.rx-v32 .rx-command-bar kbd{font-size:6.4px!important}
  body.rx-v32 .rx-bottom-status.rx32-fixed-status{height:26px!important;min-height:26px!important;font-size:7px!important}
  body.rx-v32 .rx-bottom-status.rx32-fixed-status span{height:26px!important;min-height:26px!important;padding:0 8px!important}
  body.rx-v32 .rx32-db-state i{width:7px!important;height:7px!important;flex-basis:7px!important}
}
