[data-module-launcher] { display: inline-flex; flex-shrink: 0; }
.rs-launcher-trigger { width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; display: grid; place-items: center; }
.rs-launcher-trigger svg { width: 24px; height: 24px; fill: currentColor; }
.rs-launcher-trigger:hover { background: #ffffff24; }
.rs-launcher-trigger:focus-visible, .rs-launcher-panel :focus-visible { outline: 3px solid #65b9a7; outline-offset: 3px; }
.rs-launcher-panel { position: fixed; inset: 76px 16px auto auto; margin: 0; width: 340px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 96px); overflow: auto; box-sizing: border-box; padding: 20px 12px 12px; border: 1px solid #dde5e2; border-radius: 24px; background: #fff; color: #172b28; box-shadow: 0 14px 40px #102f2929; font: 14px/1.45 system-ui,sans-serif; }
.rs-launcher-panel h2 { margin: 0 12px 12px; font: 600 16px/1.4 system-ui,sans-serif; color: inherit; letter-spacing: normal; }
.rs-launcher-tenant { box-sizing: border-box; width: calc(100% - 24px); margin: 0 12px 14px; border: 1px solid #dce5e0; border-radius: 8px; padding: 8px; background: #fff; color: #445750; font: inherit; }
.rs-launcher-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 8px; border-radius: 16px; background: #f4f7f6; }
.rs-launcher-app { display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; min-height: 92px; padding: 8px 4px; border-radius: 12px; color: #172b28; text-decoration: none; font-weight: 500; }
.rs-launcher-app img { width: 48px; height: 48px; object-fit: contain; }
.rs-launcher-app:hover { background: #e2eeea; }
.rs-launcher-app[aria-current=page] { background: #e0eee9; color: #005946; }
.rs-launcher-note { margin: 12px; color: #4f625a; grid-column: 1/-1; }
.rs-launcher-recovery { display: block; margin: 12px; color: #00624d; text-decoration: underline; }
.rs-launcher-panel--sites { inset: 164px auto auto 16px; }
