/* V49 (modes) + V51 (51.6) -- the header mode control (.pb51m, Views/Shared/_V51ModeSwitch.cshtml; the V49 / V50 strip .pb49m-strip
   below the header is retired and kept only for a cached page), the "not available in the Simple mode" page and the Simple home
   task panel. Scoped to .pb49m-* only: no global rule, no change to the header (.pb42), the sidebar or any other screen. Flows with
   the page (never sticky / fixed). Logical properties only (RTL / LTR); colours are the existing tokens (Light / System / Dark). */
.pb49m-strip {
  display: block;
  margin: 0;
  padding: 6px var(--pb-gutter, 16px);
  border-block-end: 1px solid var(--pb-divider, rgba(0, 0, 0, .12));
  background: var(--pb-info-surface, var(--pb-surface, transparent));
  color: var(--pb-text-primary, inherit);
  font-size: .875rem;
  line-height: 1.45;
}
.pb49m-strip__row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.pb49m-strip__mode { font-weight: 700; }
.pb49m-strip__sep { color: var(--pb-text-muted, inherit); }
.pb49m-strip__form { display: inline; margin: 0; }
.pb49m-strip__btn {
  min-height: 48px;
  min-width: 48px;
  padding: 4px 14px;
  border: 1px solid var(--pb-control-border, currentColor);
  border-radius: var(--pb-radius-control, 8px);
  background: var(--pb-surface, transparent);
  color: var(--pb-link, inherit);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.pb49m-strip__btn:hover { background: var(--pb-surface-hover, transparent); }
.pb49m-strip__btn:focus-visible, .pb49m-confirm__btn:focus-visible { outline: 3px solid var(--pb-focus, currentColor); outline-offset: 2px; }
.pb49m-strip__btn[aria-busy="true"] { opacity: .7; cursor: progress; }
.pb49m-strip__btn--ghost { border-style: dashed; margin-block-start: 4px; }
.pb49m-strip__env { color: var(--pb-text-secondary, inherit); margin-inline-start: auto; }
.pb49m-strip__hint { margin: 2px 0 0; color: var(--pb-text-muted, inherit); font-size: .8125rem; }
.pb49m-strip__msg { margin: 2px 0 0; }
.pb49m-strip__msg:empty { display: none; }
/* V50: restricted recovery / storage not installed / waiting for the other tabs */
.pb49m-strip__link { display: inline-flex; align-items: center; text-decoration: none; }
.pb49m-strip__btn[disabled] { opacity: .6; cursor: not-allowed; }
.pb49m-strip__hint--state { color: var(--pb-text-primary, inherit); font-size: .875rem; }
.pb49m-wait { margin-block-start: 6px; }
.pb49m-wait[hidden] { display: none; }
.pb49m-confirm {
  margin-block-start: 8px;
  padding: 12px;
  border: 1px solid var(--pb-warning-text, currentColor);
  border-radius: var(--pb-radius-card, 12px);
  background: var(--pb-warning-surface, var(--pb-surface, transparent));
}
.pb49m-confirm[hidden] { display: none; }
.pb49m-confirm__title { margin: 0 0 4px; font-weight: 700; }
.pb49m-confirm__body { margin: 0 0 8px; }
.pb49m-confirm__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pb49m-confirm__btn { min-height: 48px; }
.pb49m-blocked__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-block-start: 16px; }
.pb49m-blocked__actions form { margin: 0; }
.pb49m-blocked__actions .pb-btn { min-height: 48px; }
/* the Simple home task panel (Home/_V49SimpleTasks) */
.pb49m-tasks { margin: 0 0 20px; }
.pb49m-tasks__title { margin: 0 0 10px; font-size: 1.125rem; }
.pb49m-tasks__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.pb49m-tasks__card {
  display: block;
  min-height: 48px;
  padding: 14px 16px;
  border: 1px solid var(--pb-divider, rgba(0, 0, 0, .12));
  border-radius: var(--pb-radius-card, 12px);
  background: var(--pb-surface-raised, var(--pb-surface, transparent));
  color: var(--pb-text-primary, inherit);
  text-decoration: none;
}
.pb49m-tasks__card:hover { background: var(--pb-surface-hover, transparent); }
.pb49m-tasks__card:focus-visible { outline: 3px solid var(--pb-focus, currentColor); outline-offset: 2px; }
.pb49m-tasks__name { display: block; font-weight: 700; color: var(--pb-link, inherit); }
.pb49m-tasks__lead { display: block; margin-block-start: 4px; color: var(--pb-text-secondary, inherit); font-size: .875rem; }
.pb49m-tasks__more { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.pb49m-tasks__more a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 12px; }
.pb49m-tasks__note { margin: 8px 0 0; color: var(--pb-text-secondary, inherit); }
.pb49m-scope { margin: 0 0 12px; color: var(--pb-text-secondary, inherit); font-size: .875rem; }

/* V51 (51.6, MODE-R2-03) -- the header mode control: ONE 48px button "Mode: X | Switch to Y" inside the header bar, next to the
   account control (placement + group reflow belong to the shell). Inside .pb42 it inherits the header button family (.pb42-btn,
   --pb44-* tokens: Light / Dark / System); the fallbacks below keep it usable anywhere else. The note under the control is part of
   the header group (absolute on wide screens, in the flow on phones): never fixed, never a separate strip. */
.pb51m { position: relative; display: inline-flex; flex-wrap: wrap; align-items: center; min-inline-size: 0; max-inline-size: 100%; }
.pb51m-form { display: inline-flex; margin: 0; min-inline-size: 0; }
.pb51m-btn {
  display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2px 6px;
  box-sizing: border-box; min-block-size: 48px; min-inline-size: 48px; max-inline-size: 100%; margin: 0; padding: 4px 12px;
  border: 1px solid var(--pb44-line, var(--pb-control-border, currentColor)); border-radius: 12px;
  background: var(--pb44-surface, var(--pb-surface, transparent)); color: var(--pb44-ink, var(--pb-text-primary, inherit));
  font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer;
  white-space: normal; word-break: keep-all; overflow-wrap: normal; hyphens: none;
}
.pb42 .pb42-btn.pb51m-btn { white-space: normal; flex-wrap: wrap; gap: 2px 6px; padding-block: 4px; }
.pb51m-btn:hover, .pb51m-btn:active { background: var(--pb44-soft, var(--pb-surface-hover, transparent)); }
.pb51m-btn:focus-visible { outline: 3px solid var(--pb44-focus, var(--pb-focus, currentColor)); outline-offset: 2px; }
.pb51m-btn[aria-busy="true"] { cursor: progress; }
.pb51m-mode { font-weight: 700; white-space: nowrap; }
.pb51m-sep { color: var(--pb44-muted, var(--pb-text-muted, inherit)); }
.pb51m-act { color: var(--pb44-accent-text, var(--pb-link, inherit)); white-space: nowrap; }
.pb51m[data-available="0"] .pb51m-mode { color: var(--pb44-error, var(--pb-warning-text, inherit)); }
.pb51m-sr {
  position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.pb51m-pop {
  position: absolute; inset-block-start: calc(100% + 6px); left: 0; right: auto; z-index: 30;
  box-sizing: border-box; inline-size: max-content; max-inline-size: min(360px, calc(100vw - 32px));
  padding: 12px; border: 1px solid var(--pb44-line, var(--pb-divider, rgba(0, 0, 0, .12))); border-radius: 12px;
  background: var(--pb44-surface, var(--pb-surface, #fff)); color: var(--pb44-ink, var(--pb-text-primary, inherit));
  box-shadow: 0 6px 18px var(--pb44-shadow, rgba(0, 0, 0, .14));
  font-size: 14px; font-weight: 400; line-height: 1.45; text-align: start; white-space: normal;
}
.pb51m-pop[hidden] { display: none; }
.pb51m-pop__msg { margin: 0; }
.pb51m-pop__msg:empty { display: none; }
.pb51m-pop__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: 8px; }
.pb51m-pop__actions form { margin: 0; }
.pb51m-pop__actions form[hidden], .pb51m-pop__actions [hidden] { display: none; }
.pb51m-pop__btn { min-block-size: 48px; }
.pb51m-pop__btn:focus-visible, .pb51m-dialog .pb51m-pop__btn:focus-visible { outline: 3px solid var(--pb44-focus, var(--pb-focus, currentColor)); outline-offset: 2px; }
/* phones / 200% zoom: the note flows under the control inside the same header group (no overlap of the page) */
@media (max-width: 599.98px) {
  .pb51m-pop { position: static; flex: 1 1 100%; inline-size: auto; max-inline-size: 100%; margin-block-start: 6px; box-shadow: none; }
}
.pb51m-dialog {
  box-sizing: border-box; inline-size: min(480px, calc(100vw - 32px)); max-inline-size: calc(100vw - 32px); padding: 16px;
  border: 1px solid var(--pb44-line, var(--pb-divider, rgba(0, 0, 0, .12))); border-radius: 12px;
  background: var(--pb44-surface, var(--pb-surface, #fff)); color: var(--pb44-ink, var(--pb-text-primary, inherit));
  font-size: 15px; line-height: 1.5; text-align: start;
}
.pb51m-dialog::backdrop { background: rgba(0, 0, 0, .45); }
.pb51m-dialog__title { margin: 0 0 6px; font-weight: 700; font-size: 1.0625rem; }
.pb51m-dialog__body { margin: 0 0 12px; }
.pb51m-dialog__actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media (forced-colors: active) {
  .pb51m-btn, .pb51m-pop, .pb51m-dialog { border-color: ButtonText; }
}
