/* Shared finishing rules for the existing Byndro pages and workspace. */
.subscription-dashboard-hero .button.ghost {
  color: #fff;
  border-color: #71747a;
  background: transparent;
}
.subscription-dashboard-hero .button.ghost:hover { background: #303238; }
.billing-page { background: var(--bg); color: var(--ink); }
.billing-plan, .billing-account { color: var(--ink); border-color: var(--border); border-radius: var(--radius); }
.billing-plan-note, .billing-fine-print { color: #565b63; }
.billing-price small { display: inline-block; }
.client-influx-usage-summary > p { margin: 0; align-self: center; font-size: 13px; line-height: 1.5; }
.client-influx-usage-periods { grid-column: 1 / -1; }
.chat-dock { max-width: 100%; }
.support-messages { grid-template-rows: auto minmax(0, 1fr); }
.support-messages:has(.chat-support-form) { grid-template-rows: auto auto minmax(0, 1fr); }
.support-messages > .empty-state { align-self: start; }
.admin-panel-heading { scroll-margin-top: 100px; }
@media (min-width: 861px) {
  .admin-subnav { top: 100px; max-height: calc(100dvh - 124px); }
}
.legal-page { padding-block: 48px; }
.legal-page h1 { font-size: clamp(30px, 4vw, 46px); line-height: 1.15; overflow-wrap: anywhere; }
.legal-page h2 { font-size: clamp(23px, 3vw, 30px); line-height: 1.25; }
.legal-page p, .legal-page li { color: #555a62; }
.legal-page a { text-decoration: underline; text-underline-offset: 3px; }
.client-influx-map-unavailable {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  padding: 36px;
  text-align: center;
  background: #e9eeea;
  color: #45564c;
  font-size: 13px;
}
@media (max-width: 1040px) {
  .app-sidebar { min-width: 0; padding: 12px 18px; gap: 8px; }
  .app-sidebar-brand, .app-nav-label, .app-sidebar-bottom .app-profile-button { display: none; }
  .app-nav { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
  .app-nav-item { display: flex; flex: 0 0 auto; gap: 6px; white-space: nowrap; min-height: 40px; }
  .app-sidebar-bottom { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin: 0; }
  .app-sidebar-bottom .app-logout-button { width: auto; padding: 8px 12px; }
  .app-sidebar-verification { flex-basis: 100%; }
}
@media (max-width: 860px) {
  .admin-subnav { display: flex; gap: 6px; overflow-x: auto; padding: 0 0 10px; }
  .admin-subnav-head, .admin-subnav-group { display: none; }
  .admin-subnav-item { display: flex; flex: 0 0 auto; width: auto; min-height: 42px; }
  .admin-subnav-label { white-space: nowrap; }
}
@media (max-width: 640px) {
  .admin-panel-heading { scroll-margin-top: 16px; }
  body.signed-in .site-header { position: static; grid-template-columns: auto 1fr; justify-items: stretch; padding: 12px 18px; gap: 12px; }
  body.signed-in .site-header .top-nav { display: none; }
  body.signed-in .user-pill { justify-self: end; justify-content: flex-end; flex-wrap: nowrap; width: auto; gap: 8px; }
  body.signed-in .user-pill > #userName,
  body.signed-in .user-pill > .button { display: none; }
  body.signed-in:not(.dashboard-view) .user-pill > [data-dashboard-tab] { display: inline-flex; flex: 0 0 auto; width: auto; }
  .app-main { min-width: 0; padding: 20px 16px 86px; }
  .app-topbar { margin-bottom: 18px; }
  .app-topbar > div:first-child { width: 100%; }
  .admin-view-strip .dashboard-task-list { display: flex; flex-wrap: nowrap; }
  .admin-view-strip .dashboard-task-list .button { flex: 1; min-width: 0; padding-inline: 8px; }
  .client-influx-tab-panel { max-height: none; overflow: visible; min-height: 0; padding-right: 0; }
  .client-influx-live-command { grid-template-columns: minmax(0, 1fr); }
  .client-influx-live-command small { grid-row: auto; }
  .client-influx-live-command strong, .client-influx-live-command span { white-space: normal; overflow-wrap: anywhere; }
  .client-influx-head .inline-actions { justify-content: flex-start; }
  .client-influx-alert, .client-influx-callout { align-items: flex-start; }
  .client-influx-alert p, .shared-ai-admin { overflow-wrap: anywhere; }
  .legal-page { padding: 32px 20px; }
  .legal-page article { gap: 16px; }
  .billing-main { padding-inline: 20px; }
  .billing-header { padding: 18px 20px; }
  .billing-header > a:last-child { max-width: 125px; text-align: right; }
}
