/* PIROS UI — operating-platform overlay.
   Cool-current identity. See public/DESIGN.md.
   Overlay only. Does not remove screens, actions, or data. */




body {
  font-size:var(--font-sm);
  letter-spacing: -0.01em;
  line-height: 1.45;
}

.piros-env-banner {
  position: sticky;
  top: 0;
  z-index: 400;
  background: #c45c16;
  color: #fff;
  text-align: center;
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  letter-spacing: .03em;
  padding: var(--space-2) var(--space-3);
  line-height: 1.4;
}
.piros-env-banner.staging {
  background: #0c6b66;
}
body.piros-env-dev .logo-name::after {
  content: " DEV";
  font-size:var(--font-xs);
  letter-spacing: .08em;
  color: #c45c16;
}
body.piros-env-staging .logo-name::after {
  content: " STG";
  font-size:var(--font-xs);
  letter-spacing: .08em;
  color: #0c6b66;
}
body.piros-rollout-initial .logo-opt[onclick*="spera"] { display: none !important; }
.is-nav-hidden,
.dashh-card-hidden {
  display: none !important;
}

/* ---------- Sidebar: simple app nav ---------- */
.sb { background: var(--s1); }
.sb-logo { padding: var(--space-4) var(--space-4) var(--space-4); }
.logo-name { font-size:var(--font-xl); }
.logo-tag {
  font-size:var(--font-xs);
  text-transform: none;
  letter-spacing: 0;
  font-weight:var(--weight-medium);
}
.dash-btns {
  padding: var(--space-2) var(--space-2) var(--space-1);
  display: flex;
  flex-direction: column;
  gap: var(--space-half);
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.dash-btn {
  padding: var(--space-2) var(--space-2);
  border-radius:var(--radius-control);
  cursor: pointer;
  color: var(--text2);
  font-size:var(--font-sm);
  font-weight:var(--weight-medium);
}
.dash-btn:hover { background: var(--s2); color: var(--text); }
.dash-btn.act {
  background: var(--s2);
  color: var(--text);
  font-weight:var(--weight-bold);
}
.facility-picker {
  position: relative;
  flex-shrink: 0;
  z-index: 80;
  margin: var(--space-2) var(--space-3) var(--space-1);
}
.facility-pill {
  margin:0;
  border-radius:var(--radius-inset);
  padding: var(--space-3) var(--space-3);
  flex-shrink: 0;
}
.facility-pill.on { border-color: var(--acc); }
#fac-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  bottom: auto;
  z-index: 90;
  max-height: min(52vh, 420px);
  margin:0;
  box-shadow: var(--shadow);
}
.fp-name { font-size:var(--font-sm); }
.fp-sub { font-size:var(--font-xs); margin-top: var(--space-half); }
.nav { padding: var(--space-2) var(--space-2) var(--space-4); }
.ns {
  font-size:var(--font-xs);
  text-transform: none;
  letter-spacing: 0;
  padding: var(--space-4) var(--space-3) var(--space-1);
  font-weight:var(--weight-medium);
}
.ni {
  gap: var(--space-2);
  padding: var(--space-2) var(--space-2);
  border-radius:var(--radius-control);
  font-size:var(--font-sm);
  font-weight:var(--weight-medium);
  margin-bottom:var(--space-half);
}
.ni.act {
  background: color-mix(in srgb, var(--acc) 10%, var(--s1));
  box-shadow: inset 3px 0 0 var(--acc);
  font-weight:var(--weight-bold);
}
.ni .ic { width: 18px; height: 18px; font-size:var(--font-xs); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.ni .ic:empty { display: none; }
.ni .ic svg, .nav-ico { width: 16px; height: 16px; display: block; }
.sb-foot { padding: var(--space-3) var(--space-3) var(--space-4); }
.av { width: 36px; height: 36px; font-size:var(--font-xs); }

/* ---------- Collapsible sidebar ---------- */
.sb-toggle {
  width: 38px;
  height: 38px;
  border-radius:var(--radius-control);
  border: 1px solid var(--border);
  background: var(--s2);
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  padding:0;
}
.sb-toggle:hover { border-color: var(--acc); color: var(--acc); }
.sb-toggle:focus-visible { outline: 2px solid var(--acc); outline-offset: 1px; }
.sb-toggle svg { width: 18px; height: 18px; display: block; }

.sb {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--sw);
  min-width: var(--sw);
  z-index: 400;
  transform: translateX(0);
  transition: transform .22s ease;
  box-shadow: 4px 0 24px rgba(0, 0, 0, .28);
}
html.sb-closed .sb {
  transform: translateX(-105%);
  pointer-events: none;
  box-shadow: none;
  overflow: hidden;
}
html:not(.sb-closed) .sb { overflow: visible; }
html.sb-closed #logo-menu,
html.sb-closed #fac-menu { display: none !important; }

.main { width: 100%; }
html:not(.sb-closed) #sb-backdrop { display: block; }

/* ---------- Top bar ---------- */
.topbar {
  height: 60px;
  padding: 0 var(--space-4) 0 var(--space-4);
  gap: var(--space-3);
  position: relative;
  z-index: 410;
}
#sidebar-nav { display: none !important; }
.context-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-1);
  width: 100%;
  max-width: none;
  margin:0;
  padding: var(--space-2) var(--space-4);
  border-radius: 0;
  border-bottom: 1px solid var(--border);
  background: var(--topbar);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.context-tabs::-webkit-scrollbar { display: none; }
.context-tabs[hidden] { display: none !important; }
.context-tabs .tab {
  flex: 0 0 auto;
  padding: var(--space-2) var(--space-3);
  border-radius: 0;
  font-size:var(--font-xs);
  background: transparent;
  box-shadow: none;
}
.context-tabs .tab.act {
  background: transparent;
  color: var(--text);
  box-shadow: inset 0 -2px 0 var(--acc);
}
.context-tabs.dev-toggle {
  width: fit-content;
  max-width: calc(100% - 32px);
  margin: var(--space-3) var(--space-4) 0;
  padding: var(--space-half);
  gap:0;
  border-radius:var(--radius-control);
  border: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--s2);
  box-shadow: none;
}
.context-tabs.dev-toggle .tab {
  min-width: 108px;
  padding: var(--space-2) var(--space-4);
  text-align: center;
  font-weight:var(--weight-medium);
  letter-spacing: 0;
  color: var(--text2);
  border-radius:var(--radius-control);
}
.context-tabs.dev-toggle .tab.act {
  background: var(--s1);
  color: var(--text);
  box-shadow: 0 1px 1px rgba(15,36,56,.06);
}
.tb-title {
  font-size:var(--font-lg);
  font-weight:var(--weight-heavy);
  letter-spacing: -0.03em;
}
.ai-btn {
  padding: var(--space-2) var(--space-4);
  font-size:var(--font-xs);
  font-weight:var(--weight-medium);
  font-family: inherit;
}
.theme-toggle {
  width: 38px;
  height: 38px;
  border-radius:var(--radius-control);
}
.view-as-btn { border-radius:var(--radius-control); }

/* ---------- Page canvas ---------- */
.content {
  padding: var(--space-5) var(--space-6) var(--space-7);
}
.view.act {
  max-width: 1240px;
  margin:0 auto;
}
#view-org-dash.view.act { max-width: 1180px; }
#view-fac-l10.view.act,
#view-fac-huddle.view.act,
#view-chat.view.act { max-width: none; }
#view-chat.view.act { margin:0; }

/* ---------- Cards, grids, type ---------- */
.g4, .g3, .g2, .g32 { gap: var(--space-4); }
.mb3 { margin-bottom: var(--space-4); }
.mb2 { margin-bottom: var(--space-3); }
.mt2 { margin-top: var(--space-3); }

.card {


}
.ct {
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: var(--space-2);
  color: var(--text2);
}
.mv { font-size:var(--font-3xl); font-weight:var(--weight-heavy); letter-spacing: -0.04em; }
.mch { font-size:var(--font-xs); margin-top: var(--space-1); line-height: 1.4; }
.sh { margin-bottom: var(--space-4); gap: var(--space-2); }
.stitle { font-size:var(--font-base); font-weight:var(--weight-heavy); letter-spacing: -0.02em; }

/* Supporting copy stays visible — hierarchy, not mystery. */
.mch,
.page-sub,
.logo-tag,
.lo-sub,
.fp-sub,
.feed-empty .s,
#org-subtitle {
  display: block;
}
#chat-members:empty { display: none !important; }

.tag {
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  font-size:var(--font-xs);
  font-weight:var(--weight-medium);
}
.chip {
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  font-size:var(--font-xs);
}
.btn {
  padding: var(--space-2) var(--space-3);
  border-radius:var(--radius-control);
  font-size:var(--font-xs);
}
.btn-sm { padding: var(--space-1) var(--space-2); font-size:var(--font-xs); }
.btn-p { border-radius:var(--radius-control); }
.inp {
  border-radius:var(--radius-control);
  padding: var(--space-2) var(--space-3);
  font-size:var(--font-sm);
}
.fl {
  font-size:var(--font-xs);
  font-weight:var(--weight-medium);
  margin-bottom: var(--space-1);
  text-transform: none;
}

/* ---------- Tables: more row air ---------- */
table { font-size:var(--font-sm); }
th {
  padding: var(--space-2) var(--space-3);
  font-size:var(--font-xs);
  text-transform: none;
  letter-spacing: 0;
  font-weight:var(--weight-medium);
}
td { padding: var(--space-3) var(--space-3); }

/* ---------- Lists / rocks / issues ---------- */
.rk {
  border-radius:var(--radius-inset);
  padding: var(--space-4) var(--space-4);
  margin-bottom: var(--space-2);
  gap: var(--space-3);
}
.rk-t { font-size:var(--font-sm); }
.rk-m { font-size:var(--font-xs); margin-top: var(--space-1); }
.ir {
  gap: var(--space-3);
  padding: var(--space-3) var(--space-3);
  border-radius:var(--radius-control);
  margin-bottom: var(--space-2);
}
.hp {
  padding: var(--space-4);
  border-radius:var(--radius-inset);
  margin-bottom: var(--space-2);
}
.fc {


}
.fc-name { font-size:var(--font-base); }
.fc-type {
  font-size:var(--font-xs);
  text-transform: none;
  letter-spacing: 0;
}
.fc-census { font-size:var(--font-2xl); }

.tabs {
  gap: var(--space-1);
  padding: var(--space-1);
  border-radius:var(--radius-control);
  margin-bottom: var(--space-4);
}
.tab {
  padding: var(--space-2) var(--space-3);
  border-radius:var(--radius-control);
  font-size:var(--font-sm);
}

/* ---------- Home: feed + right rail ---------- */
#view-org-dash .g32.org-home {
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .72fr);
  gap: var(--space-5);
  align-items: start;
}
#view-org-dash .org-welcome .stitle {
  font-size:var(--font-2xl);
  letter-spacing: -0.04em;
}

.org-feed {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 760px;
}
.oc-card {
  min-height: 520px;
  padding:0;
  overflow: hidden;
}
.oc-card > .sh {
  margin:0;
  padding: var(--space-4) var(--space-4) var(--space-3);
  border-bottom: 1px solid var(--border);
}
.oc-card #oc-msgs {
  padding: var(--space-2) var(--space-2) var(--space-1);
  margin-bottom:0;
}
.oc-compose,
.composer {
  display: flex;
  gap: var(--space-2);
  align-items: center;
  padding: var(--space-3) var(--space-3) var(--space-3);
  border-top: 1px solid var(--border);
  background: var(--s1);
}
.composer .inp,
.oc-compose .inp {
  flex: 1;
  min-height: 44px;
}


.org-rail .stitle { font-size:var(--font-sm); }

/* ---------- Posts (home + chat) ---------- */
.post {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  padding: var(--space-3) var(--space-3);
  border-radius:var(--radius-inset);
  margin: var(--space-half) var(--space-1);
}
.post:hover { background: var(--row-hover); }
.post .av {
  width: 40px;
  height: 40px;
  font-size:var(--font-xs);
  flex-shrink: 0;
}
.post-body { min-width: 0; flex: 1; }
.post-meta {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  flex-wrap: wrap;
}
.post-meta b {
  font-size:var(--font-sm);
  font-weight:var(--weight-heavy);
}
.post-meta time,
.post-meta .when {
  font-size:var(--font-xs);
  color: var(--text2);
  font-weight:var(--weight-medium);
}
.post-text {
  font-size:var(--font-sm);
  line-height: 1.5;
  margin-top: var(--space-1);
  word-wrap: break-word;
}

.feed-empty {
  padding: var(--space-6) var(--space-4);
  text-align: center;
  color: var(--text2);
}
.feed-empty .t {
  font-size:var(--font-sm);
  font-weight:var(--weight-heavy);
  color: var(--text);
}
.feed-empty .s {
  font-size:var(--font-sm);
  margin-top: var(--space-1);
  line-height: 1.45;
}

/* ---------- Chat: Messages-style shell ---------- */
.chat-shell {
  display: flex;
  height: calc(100vh - 100px);
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius:var(--radius-surface);
  overflow: hidden;
}
.chat-nav {
  width: 260px;
  border-right: 1px solid var(--border);
  overflow-y: auto;
  padding: var(--space-3) var(--space-2);
  flex-shrink: 0;
  background: var(--s1);
}
.chat-thread {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--bg);
}
.chat-headbar {
  height: 58px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  padding: 0 var(--space-4);
  gap: var(--space-2);
  flex-shrink: 0;
  background: var(--s1);
}
#chat-head { font-size:var(--font-base); font-weight:var(--weight-heavy); }
#chat-head-sub { font-size:var(--font-xs); color: var(--text2); }
#chat-msgs {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-4) var(--space-4) var(--space-2);
}
.chat-compose {
  padding: var(--space-3) var(--space-3) var(--space-3);
  border-top: 1px solid var(--border);
  flex-shrink: 0;
  background: var(--s1);
}

/* Legacy rocks / scorecard / issues / to-dos stay in the DOM for older
   renderers, but the fillable L10 packet is the live document. Hide the
   fake "Save Week" chrome so Submit is unambiguous. */
#view-fac-l10 #l10-sections { display: none !important; }

/* ---------- L10: workspace vs this week's packet ---------- */

#l10-for-host .card.mb3,
.l10-sec {
  padding: var(--space-4) var(--space-4) var(--space-4);
}
#l10-for-host table td, #huddle-form-host table td { padding: var(--space-2) var(--space-2); }
#l10-for-host .inp, #huddle-form-host .inp { font-size:var(--font-sm); }
.l10-sec {
  border-color: color-mix(in srgb, var(--acc) 22%, var(--border));
}
.l10-sec .stitle {
  color: var(--text);
}
.l10-sc-card {
  padding: 0 !important;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--acc) 28%, var(--border));
}
.l10-sc-head {
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--acc-ink, #0F2438);
  background: linear-gradient(135deg, var(--acc), var(--teal));
  padding: var(--space-2) var(--space-3);
}
.l10-sc-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  flex-wrap: wrap;
  padding: var(--space-2) var(--space-3);
  background: color-mix(in srgb, var(--acc) 8%, var(--s2));
  border-bottom: 1px solid var(--border);
}
.l10-sc-meta-copy {
  font-size:var(--font-xs);
  color: var(--text2);
}
.l10-sc-table { overflow-x: auto; }
.l10-sc-table table { width: 100%; }
.l10-workspace { margin-top: var(--space-1); }
.l10-page-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}
.l10-page-nav button {
  border: 1px solid var(--border);
  background: var(--s2);
  color: var(--text);
  border-radius: 999px;
  padding: var(--space-2) var(--space-3);
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  cursor: pointer;
}
.l10-page-nav button.on {
  background: var(--acc);
  border-color: var(--acc);
  color: var(--acc-ink, #0F2438);
}
.l10-ledger table { width: 100%; border-collapse: collapse; }
.l10-ledger th {
  text-align: left;
  font-size:var(--font-xs);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text2);
  padding: var(--space-2) var(--space-2);
  border-bottom: 1px solid var(--border);
}
.l10-ledger td {
  padding: var(--space-2) var(--space-2);
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  font-size:var(--font-xs);
}
.l10-ledger tr:last-child td { border-bottom: none; }
.l10-week-packet {
  margin-top: var(--space-2);
  padding: var(--space-2) var(--space-2) var(--space-1);
  border: 1px solid rgba(124,114,245,.28);
  border-radius:var(--radius-surface);
  background: linear-gradient(180deg, rgba(124,114,245,.06), transparent 90px);
}
.l10-week-packet.is-ready {
  border-color: rgba(124,114,245,.5);
  box-shadow: 0 0 0 1px rgba(124,114,245,.18);
}
.l10-week-packet.is-filed {
  border-color: rgba(31,207,122,.35);
}
.l10-week-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
  padding: var(--space-2) var(--space-3);
  background: var(--s2);
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
}
.l10-week-action.is-ready {
  background: rgba(124,114,245,.08);
  border-color: rgba(124,114,245,.28);
}
.l10-week-action.is-filed {
  background: rgba(31,207,122,.08);
  border-color: rgba(31,207,122,.28);
}
.l10-widget-meter {
  height: 8px;
  border-radius: 99px;
  background: var(--s3);
  overflow: hidden;
}
.l10-widget-meter span {
  display: block;
  height: 100%;
  background: var(--acc);
  border-radius: 99px;
}
.l10-report-overlay {
  position: fixed;
  inset: 0;
  z-index: 140;
  background: rgba(8,12,24,.62);
  display: flex;
  padding: var(--space-5);
}
.l10-report-overlay[hidden] { display: none; }
.l10-report-panel {
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius:var(--radius-surface);
  width: min(1180px, 100%);
  max-height: 100%;
  overflow: auto;
  margin:auto;
  padding: var(--space-5) var(--space-5) var(--space-4);
  box-shadow: 0 24px 70px rgba(5,14,32,.34);
}
.l10-report-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.l10-report-sub { font-size:var(--font-xs); color: var(--text2); margin-top: var(--space-1); }
.l10-bars {
  display: flex;
  align-items: flex-end;
  gap: var(--space-2);
  min-height: 110px;
}
.l10-bar {
  flex: 1;
  min-width: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-1);
}
.l10-bar-fill { width: 100%; max-width: 28px; border-radius: 4px 4px 0 0; }
.l10-bar span { font-size:var(--font-xs); color: var(--text2); white-space: nowrap; }
.l10-report-table { width: 100%; }
.l10-report-table th, .l10-report-table td { font-size:var(--font-xs); padding: var(--space-2) var(--space-2); }
.l10-report-group td {
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  letter-spacing: .3px;
  text-transform: uppercase;
  background: var(--s2);
  color: var(--text2);
}
.l10-week-chips { display: flex; flex-direction: column; gap: var(--space-1); }
.l10-week-chip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-half);
  width: 100%;
  text-align: left;
  border: 1px solid var(--border);
  background: var(--s2);
  color: var(--text);
  border-radius:var(--radius-control);
  padding: var(--space-2) var(--space-3);
  cursor: pointer;
}
.l10-week-chip:hover { border-color: var(--acc); }
.l10-week-chip b { font-size:var(--font-xs); }
.l10-week-chip span { font-size:var(--font-xs); color: var(--text2); }

#piros-meet {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  z-index: 12000;
  display: block;
  background: #090b0f;
  color: #f5f7fb;
  font-family: "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;
  -webkit-overflow-scrolling: touch;
}
#piros-meet[hidden],
#piros-meet [hidden] { display: none !important; }
#piros-meet button,
#piros-meet textarea { font: inherit; }
#piros-meet svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pm-frame {
  width: 100%;
  height: 100%;
  height: 100dvh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #101217;
}
.pm-head {
  min-height: 62px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: max(var(--space-2), env(safe-area-inset-top)) var(--space-4) var(--space-2);
  border-bottom: 1px solid #292c34;
  background: #15171d;
}
.pm-heading,
.pm-head-actions,
.pm-toolbar-group {
  display: flex;
  align-items: center;
}
.pm-heading { gap: var(--space-3); min-width: 0; }
.pm-heading > div:last-child { min-width: 0; }
.pm-heading b {
  display: block;
  color: #fff;
  font-size:var(--font-sm);
  line-height: 1.2;
  font-weight:var(--weight-heavy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pm-heading #pm-sub {
  display: block;
  margin-top: var(--space-half);
  color: #aeb3bf;
  font-size:var(--font-xs);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pm-live-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  flex: 0 0 auto;
  padding: var(--space-1) var(--space-2);
  border: 1px solid #3a3d46;
  border-radius: 7px;
  color: #c5c8d0;
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pm-live-pill i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7b808d;
}
.pm-live-pill.is-live { border-color: rgba(36, 194, 113, .45); color: #7de0aa; }
.pm-live-pill.is-live i { background: #24c271; box-shadow: 0 0 0 4px rgba(36, 194, 113, .13); }
.pm-head-actions { gap: var(--space-2); }
.pm-elapsed {
  min-width: 48px;
  color: #d5d8df;
  font:var(--weight-medium) var(--font-xs)/1 var(--mono, ui-monospace, monospace);
  text-align: center;
}
.pm-head-btn,
.pm-side-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 34px;
  padding: 0 var(--space-3);
  border: 1px solid #383b44;
  border-radius:var(--radius-control);
  background: #20232a;
  color: #e5e7ec;
  cursor: pointer;
}
.pm-head-btn:hover,
.pm-side-close:hover { background: #2a2d35; border-color: #555a67; }
.pm-head-btn svg { width: 16px !important; height: 16px !important; }
.pm-head-btn span { font-size:var(--font-xs); font-weight:var(--weight-bold); }
.pm-body {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  overflow: hidden;
}
.pm-stage {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #0d0f13;
}
.pm-status {
  position: absolute;
  z-index: 4;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  max-width: calc(100% - 32px);
  padding: var(--space-1) var(--space-3);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(25,27,33,.82);
  color: #c3c7d0;
  font-size:var(--font-xs);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  backdrop-filter: blur(10px);
}
.pm-grid {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  align-content: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-7) var(--space-4) var(--space-4);
  overflow: auto;
  overscroll-behavior: contain;
}
.pm-grid[data-count="1"] { grid-template-columns: minmax(280px, min(920px, 100%)); }
.pm-grid[data-count="2"] { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
.pm-grid[data-count="3"] { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
.pm-grid[data-count="3"] .pm-tile:last-child {
  width: calc(50% - 5px);
  grid-column: 1 / -1;
  justify-self: center;
}
.pm-grid[data-layout="speaker"] {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  grid-auto-rows: 112px;
  align-content: stretch;
}
.pm-grid[data-layout="speaker"] .pm-featured {
  grid-column: 1 / -1;
  grid-row: 1;
  aspect-ratio: 16 / 9;
  max-height: calc(100% - 128px);
  height: auto;
}
.pm-tile {
  position: relative;
  min-width: 0;
  max-height: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid #343741;
  border-radius:var(--radius-control);
  background: #1a1d24;
}
.pm-tile.local { border-color: rgba(46,168,202,.75); }
/* Active speaker: a brand ring while they talk; in the gallery their tile
   moves to the front (CSS order, so the <video> is never re-parented) and
   takes a 2×2 cell when the grid has three or more columns. */
.pm-tile { transition: border-color .18s ease, box-shadow .18s ease; }
.pm-tile.pm-speaking {
  border-color: var(--acc, #2EA8CA);
  box-shadow: 0 0 0 2px var(--acc, #2EA8CA), 0 0 22px rgba(46,168,202,.38);
}
.pm-grid:not([data-layout="speaker"]) .pm-tile.pm-focus { order: -1; }
.pm-grid:not([data-layout="speaker"]) .pm-tile.pm-focus-large { grid-column: span 2; grid-row: span 2; }
@media (prefers-reduced-motion: reduce) {
  .pm-tile { transition: none; }
}
.pm-tile video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #14161b;
}
.pm-tile.pm-waiting video,
.pm-tile.pm-camera-off video { opacity: 0; }
.pm-avatar {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 38%, #2b3441, #171a20 68%);
}
.pm-waiting .pm-avatar,
.pm-camera-off .pm-avatar { display: flex; }
.pm-avatar span,
.pm-person-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #3b6fd8;
  font-weight:var(--weight-heavy);
  letter-spacing: -.02em;
}
.pm-avatar span {
  width: clamp(64px, 11vw, 108px);
  height: clamp(64px, 11vw, 108px);
  font-size: clamp(20px, 3vw, 34px);
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
}
.pm-namebar {
  position: absolute;
  z-index: 3;
  left: 10px;
  right: 10px;
  bottom: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  pointer-events: none;
}
.pm-name {
  max-width: calc(100% - 34px);
  padding: var(--space-1) var(--space-2);
  border-radius:var(--radius-control);
  background: rgba(9,11,15,.72);
  color: #fff;
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  backdrop-filter: blur(7px);
}
.pm-tile-mic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: #fff;
  background: rgba(9,11,15,.72);
  backdrop-filter: blur(7px);
}
.pm-tile-mic svg { width: 13px !important; height: 13px !important; }
.pm-muted .pm-tile-mic { color: #fff; background: #d94751; }
.pm-tap-play,
.pm-join-help button {
  border: 0;
  border-radius:var(--radius-control);
  background: #2d69d7;
  color: #fff;
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  cursor: pointer;
}
.pm-tap-play {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: var(--space-2) var(--space-3);
}
.pm-join-help {
  grid-column: 1 / -1;
  width: min(420px, 100%);
  margin:auto;
  padding: var(--space-6) var(--space-5);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid #333741;
  border-radius:var(--radius-inset);
  background: #191c22;
  color: #fff;
  text-align: center;
}
.pm-join-icon {
  width: 48px;
  height: 48px;
  margin-bottom: var(--space-1);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2d69d7;
}
.pm-join-help b { font-size:var(--font-base); }
.pm-join-help span,
.pm-join-help small { color: #aeb3bf; font-size:var(--font-xs); }
.pm-join-help button { margin-top: var(--space-2); padding: var(--space-2) var(--space-4); }
.pm-side {
  flex: 0 0 350px;
  width: 350px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #2c2f37;
  background: #181a20;
  color: #edf0f5;
}
.pm-side-head {
  flex: 0 0 auto;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3);
  border-bottom: 1px solid #2c2f37;
}
.pm-side-tabs { display: flex; align-items: center; gap: var(--space-1); }
.pm-side-tabs button {
  min-height: 34px;
  padding: 0 var(--space-2);
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #9fa4af;
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
  cursor: pointer;
}
.pm-side-tabs button.on { background: #292c34; color: #fff; }
.pm-side-tabs button span { margin-left: var(--space-half); color: #aeb3bf; }
.pm-side-tabs .pm-tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 var(--space-1);
  border-radius: 9px;
  background: #d94751;
  color: #fff;
  font-size:var(--font-xs);
}
.pm-side-close { width: 34px; padding:0; background: transparent; }
.pm-side-close svg { width: 17px !important; height: 17px !important; }
.pm-chat-pane,
.pm-people-pane {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.pm-chat-messages {
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--space-4) var(--space-3);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.pm-chat-empty {
  height: 100%;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  color: #8f95a1;
  text-align: center;
}
.pm-chat-empty b { color: #d7dae1; font-size:var(--font-xs); }
.pm-chat-empty span { max-width: 220px; font-size:var(--font-xs); line-height: 1.45; }
.pm-chat-message { margin: 0 var(--space-4) var(--space-3) 0; }
.pm-chat-message.own { margin-right:0; margin-left: var(--space-4); }
.pm-chat-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  margin-bottom: var(--space-1);
  color: #9298a4;
}
.pm-chat-meta b { color: #e3e5ea; font-size:var(--font-xs); }
.pm-chat-meta time { font-size:var(--font-xs); white-space: nowrap; }
.pm-chat-bubble {
  padding: var(--space-2) var(--space-3);
  border-radius: 4px 12px 12px 12px;
  background: #292c34;
  color: #f1f3f6;
  font-size:var(--font-xs);
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.pm-chat-message.own .pm-chat-bubble {
  border-radius: 12px 4px 12px 12px;
  background: #275dbf;
  color: #fff;
}
.pm-chat-retention {
  flex: 0 0 auto;
  padding: var(--space-1) var(--space-3) 0;
  color: #858b97;
  font-size:var(--font-xs);
  text-align: center;
}
.pm-chat-compose {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom));
}
.pm-chat-compose textarea {
  flex: 1;
  min-width: 0;
  max-height: 120px;
  resize: none;
  padding: var(--space-2) var(--space-2);
  border: 1px solid #3a3e49;
  border-radius: 9px;
  outline: none;
  background: #22252c;
  color: #f4f5f7;
  font-size:var(--font-xs);
  line-height: 1.35;
}
.pm-chat-compose textarea:focus { border-color: #4d80df; box-shadow: 0 0 0 2px rgba(77,128,223,.16); }
.pm-chat-compose textarea::placeholder { color: #838996; }
.pm-chat-compose button {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 9px;
  background: #2d69d7;
  color: #fff;
  cursor: pointer;
}
.pm-chat-compose button:disabled { opacity: .55; cursor: wait; }
.pm-chat-compose button svg { width: 17px !important; height: 17px !important; }
.pm-people-summary {
  display: flex;
  flex-direction: column;
  gap: var(--space-half);
  padding: var(--space-3) var(--space-4) var(--space-2);
}
.pm-people-summary b { font-size:var(--font-xs); }
.pm-people-summary span { color: #8e949f; font-size:var(--font-xs); }
.pm-people-list { flex: 1 1 auto; min-height: 0; padding: var(--space-1) var(--space-2) var(--space-3); overflow-y: auto; }
.pm-person {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 54px;
  padding: var(--space-2) var(--space-2);
  border-radius: 9px;
}
.pm-person:hover { background: #22252b; }
.pm-person-avatar { width: 34px; height: 34px; flex: 0 0 34px; font-size:var(--font-xs); }
.pm-person-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-half); }
.pm-person-copy b { color: #edf0f4; font-size:var(--font-xs); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm-person-copy small { color: #8f95a0; font-size:var(--font-xs); }
.pm-person-muted {
  flex: 0 0 auto;
  padding: var(--space-half) var(--space-1);
  border-radius: 5px;
  background: rgba(217,71,81,.14);
  color: #f0838a;
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
}
.pm-toolbar {
  position: relative;
  min-height: 82px;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-4) max(var(--space-2), env(safe-area-inset-bottom));
  border-top: 1px solid #292c34;
  background: #15171d;
}
.pm-toolbar-group { gap: var(--space-1); }
.pm-toolbar-left { justify-self: start; }
.pm-toolbar-center { justify-self: center; }
.pm-toolbar-right { justify-self: end; }
.pm-control {
  position: relative;
  min-width: 68px;
  min-height: 58px;
  padding: var(--space-1) var(--space-2);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #e4e6eb;
  cursor: pointer;
}
.pm-control:hover,
.pm-control.is-active { background: #292c34; }
.pm-control.is-active { color: #7ba6f5; }
.pm-control.is-off svg { color: #f0737b; }
.pm-control svg { width: 21px !important; height: 21px !important; }
.pm-control-label { font-size:var(--font-xs); font-weight:var(--weight-bold); white-space: nowrap; }
.pm-control[data-count]::after {
  content: attr(data-count);
  position: absolute;
  top: 4px;
  right: 8px;
  min-width: 16px;
  height: 16px;
  padding: 0 var(--space-1);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: #363a44;
  color: #fff;
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
}
.pm-control.has-unread::after {
  content: '';
  position: absolute;
  top: 6px;
  right: 16px;
  width: 8px;
  height: 8px;
  border: 2px solid #15171d;
  border-radius: 50%;
  background: #d94751;
}
.pm-control-danger {
  min-width: 86px;
  min-height: 42px;
  flex-direction: row;
  border-radius:var(--radius-control);
  background: #c9323e;
  color: #fff;
}
.pm-control-danger:hover { background: #b52a36; }
.pm-control-danger svg { width: 18px !important; height: 18px !important; transform: rotate(135deg); }
.pm-unread {
  position: absolute;
  left: calc(50% - 10px);
  top: 7px;
  min-width: 17px;
  height: 17px;
  padding: 0 var(--space-1);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: #d94751;
  color: #fff;
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
}
body.piros-meet-open { overflow: hidden; }

@media (max-width: 900px) {
  .pm-grid { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); padding-inline:var(--space-3); }
  .pm-grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-side {
    position: absolute;
    z-index: 8;
    inset: 0 0 0 auto;
    width: min(360px, 100%);
    box-shadow: -18px 0 42px rgba(0,0,0,.38);
  }
  .pm-invite-control { display: none; }
}

@media (max-width: 640px) {
  .pm-head { min-height: 56px; padding: max(var(--space-2), env(safe-area-inset-top)) var(--space-2) var(--space-2); gap: var(--space-2); }
  .pm-heading { gap: var(--space-2); }
  .pm-live-pill { padding: var(--space-1) var(--space-1); }
  .pm-heading b { font-size:var(--font-xs); }
  .pm-heading #pm-sub { max-width: 180px; font-size:var(--font-xs); }
  .pm-head-btn { display: none; }
  .pm-elapsed { min-width: 42px; font-size:var(--font-xs); }
  .pm-grid { gap: var(--space-1); padding: var(--space-7) var(--space-2) var(--space-2); align-content: center; }
  .pm-grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
  .pm-grid[data-count="2"] { grid-template-columns: 1fr; }
  .pm-grid:not([data-count="1"]):not([data-count="2"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; }
  .pm-grid[data-count="3"] .pm-tile:last-child { width: calc(50% - 3px); }
  .pm-tile { border-radius: 7px; }
  .pm-status { top: 8px; font-size:var(--font-xs); }
  .pm-namebar { left: 6px; right: 6px; bottom: 6px; }
  .pm-name { padding: var(--space-half) var(--space-1); font-size:var(--font-xs); }
  .pm-tile-mic { width: 22px; height: 22px; }
  .pm-avatar span { width: 56px; height: 56px; font-size:var(--font-lg); }
  .pm-toolbar {
    min-height: 70px;
    grid-template-columns: auto 1fr auto;
    gap: var(--space-half);
    padding: var(--space-1) var(--space-1) max(var(--space-1), env(safe-area-inset-bottom));
  }
  .pm-toolbar-group { gap:0; }
  .pm-toolbar-center { justify-self: center; }
  .pm-control { min-width: 50px; min-height: 52px; padding: var(--space-1) var(--space-1); }
  .pm-control svg { width: 19px !important; height: 19px !important; }
  .pm-control-label { font-size:var(--font-xs); }
  .pm-control-danger { min-width: 48px; width: 48px; min-height: 42px; padding:0; }
  .pm-control-danger .pm-control-label { display: none; }
  .pm-side { width: 100%; }
  .pm-chat-message { margin-right: var(--space-2); }
  .pm-chat-message.own { margin-left: var(--space-2); }
}

@media (max-height: 520px) and (orientation: landscape) {
  .pm-head { min-height: 48px; padding-block:var(--space-1); }
  .pm-toolbar { min-height: 58px; }
  .pm-control { min-height: 45px; min-width: 54px; gap: var(--space-half); }
  .pm-control svg { width: 17px !important; height: 17px !important; }
  .pm-control-label { font-size:var(--font-xs); }
  .pm-grid { padding-top: var(--space-6); }
}

#piros-chat-dock {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 87;
  font-family: inherit;
}
#piros-chat-dock[hidden] { display: none; }
/* Team chat is available only from the fixed bottom-right launcher. */
#nav-exec-chat,
#fac-nav .ni[onclick*="showView('chat'"],
#chat-widget,
#view-chat {
  display: none !important;
}
.pcd-launch {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid var(--border);
  background: var(--s1);
  color: var(--text);
  border-radius:var(--radius-control);
  padding: var(--space-2) var(--space-3);
  box-shadow: var(--shadow);
  cursor: pointer;
  font:var(--weight-medium) var(--font-xs) inherit;
}
.pcd-launch:hover { border-color: var(--acc); }
.pcd-launch svg { width: 18px; height: 18px; }
.pcd-chat-pane {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
#piros-ai-panel {
  position: fixed;
  top: 68px;
  right: 22px;
  z-index: 88;
  width: min(410px, calc(100vw - 28px));
  height: min(650px, calc(100vh - 86px));
}
#piros-ai-panel[hidden] { display: none; }
#piros-ai-panel #coach-chif-root {
  width: 100%;
  height: 100%;
}
#piros-ai-panel #coach-chif-root .cc-launch-wrap { display: none !important; }
#piros-ai-panel #coach-chif-root .cc-panel {
  display: flex !important;
  width: 100%;
  height: 100%;
  max-height: none;
}
.pcd-badge {
  min-width: 18px;
  height: 18px;
  border-radius: 99px;
  background: var(--red);
  color:var(--on-danger);
  font:var(--weight-heavy) var(--font-xs) inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-1);
}
.pcd-panel {
  width: min(390px, calc(100vw - 28px));
  height: min(560px, calc(100vh - 96px));
  margin-bottom: var(--space-2);
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
  box-shadow: 0 12px 32px rgba(15,36,56,.16);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#piros-chat-dock:not(.open) .pcd-panel { display: none; }
.pcd-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-3) var(--space-2);
  border-bottom: 1px solid var(--border);
  background: var(--s1);
}
.pcd-head-main { min-width: 0; flex: 1; }
.pcd-head b { display: block; font-size:var(--font-sm); }
.pcd-head #pcd-sub { display: block; font-size:var(--font-xs); color: var(--text2); margin-top: var(--space-1); }
.pcd-head-actions { display: flex; gap: var(--space-1); align-items: center; }
.pcd-icon {
  width: 30px;
  height: 30px;
  border: 1px solid var(--border);
  background: var(--s2);
  color: var(--text2);
  border-radius:var(--radius-control);
  cursor: pointer;
}
.pcd-rooms {
  display: flex;
  gap: var(--space-1);
  flex-wrap: wrap;
  padding: var(--space-2) var(--space-2);
  border-bottom: 1px solid var(--border);
  background: var(--s2);
}
.pcd-room {
  border: 1px solid var(--border);
  background: var(--s1);
  color: var(--text2);
  border-radius: 999px;
  padding: var(--space-1) var(--space-2);
  font:var(--weight-bold) var(--font-xs) inherit;
  cursor: pointer;
}
.pcd-room.on { color: var(--text); border-color: var(--acc); background: color-mix(in srgb, var(--acc) 10%, var(--s1)); }
.pcd-room i {
  display: inline-block;
  margin-left: var(--space-1);
  min-width: 14px;
  padding: 0 var(--space-1);
  border-radius: 99px;
  background: var(--red);
  color:var(--on-danger);
  font:var(--weight-heavy) var(--font-xs) inherit;
  font-style: normal;
}
.pcd-msgs { flex: 1; overflow: auto; padding: var(--space-3); }
.pcd-empty { font-size:var(--font-xs); color: var(--text2); padding: var(--space-4) var(--space-1); text-align: center; }
.pcd-msg { margin-bottom: var(--space-2); }
.pcd-msg b { font-size:var(--font-xs); }
.pcd-msg time { font-size:var(--font-xs); color: var(--text2); margin-left: var(--space-1); }
.pcd-msg div { font-size:var(--font-xs); line-height: 1.45; margin-top: var(--space-half); }
.pcd-msg.mine b { color: var(--acc2); }
.pcd-compose {
  display: flex;
  gap: var(--space-2);
  padding: var(--space-2);
  border-top: 1px solid var(--border);
}
.pcd-compose .inp { flex: 1; min-width: 0; }
@media (max-width: 640px) {
  #piros-chat-dock { right: 10px; bottom: 10px; }
  .pcd-panel { width: calc(100vw - 20px); height: min(70vh, 560px); }
  #piros-ai-panel {
    top: 58px;
    right: 10px;
    width: calc(100vw - 20px);
    height: calc(100vh - 68px);
  }
}

.hud-kipu-row {
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border);
}
.hud-kipu-row:last-child { border-bottom: none; }
#hud-widget-kipu .ct { margin-bottom: var(--space-half); }

/* Calendar days a bit larger / less cramped */
.cal-day { min-height: 64px; padding: var(--space-1) var(--space-1); border-radius:var(--radius-control); }
.cal-day .n { font-size:var(--font-xs); }
.cal-ev { font-size:var(--font-xs); padding: var(--space-half) var(--space-1); }

/* Employee of the month — photo card, not a KPI tile */
.eom-row { gap: var(--space-4); }
.eom-photo { width: 96px; height: 96px; border-radius:var(--radius-surface); }
.eom-name { font-size:var(--font-lg); }
.eom-meta { font-size:var(--font-sm); }

/* Modals a bit roomier */
.mbox {
  border-radius:var(--radius-surface);
  padding: var(--space-5);
  width: min(520px, 94vw);
}
.mt { font-size:var(--font-lg); margin-bottom: var(--space-4); }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius:var(--radius-control); }

@media (max-width: 1100px) {
  #view-org-dash .g32.org-home { grid-template-columns: 1fr; }
  .org-feed { max-width: none; }
}

/* ---------- Signed-in user profile and settings ---------- */
.account-row { gap: var(--space-1); }
.account-trigger {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin:-4px 0 -4px -5px;
  padding: var(--space-1) var(--space-1);
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.account-trigger:hover { background: var(--s2); border-color: var(--border); }
.account-trigger:focus-visible,
.account-signout:focus-visible,
.account-close:focus-visible,
.account-tab:focus-visible,
.account-choice:focus-visible,
.account-users-form-actions .btn:focus-visible,
.account-users-actions .btn:focus-visible { outline: 2px solid color-mix(in srgb, var(--acc) 62%, transparent); outline-offset: 2px; }
.account-trigger-copy { min-width: 0; flex: 1; display: block; }
.account-trigger-copy strong,
.account-trigger-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-trigger-copy strong { font-size:var(--font-xs); font-weight:var(--weight-heavy); }
.account-trigger-copy small { margin-top: var(--space-half); color: var(--text2); font-size:var(--font-xs); }
.account-disclosure { width: 14px; height: 14px; flex: 0 0 14px; color: var(--text2); transition: transform .16s ease, color .16s ease; }
.account-trigger:hover .account-disclosure { transform: translateX(2px); color: var(--acc); }
.account-signout {
  flex: 0 0 auto;
  border: 0;
  border-radius:var(--radius-control);
  padding: var(--space-1) var(--space-2);
  background: transparent;
  color: var(--text2);
  font-family: inherit;
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
  cursor: pointer;
}
.account-signout:hover { background: var(--s2); color: var(--text); }

body.account-modal-open { overflow: hidden; }
.account-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--space-5);
  background: rgba(15, 36, 56, .45);
}
.account-modal.open { display: flex; }
.account-dialog {
  width: min(760px, 96vw);
  max-height: min(760px, 92vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
  background: var(--s1);
  box-shadow: 0 8px 24px rgba(15, 36, 56, .16);
}
.account-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-5) var(--space-4);
}
.account-eyebrow { margin-bottom: var(--space-1); color: var(--text2); font-family: var(--mono, ui-monospace, Menlo, Consolas, monospace); font-size:var(--font-xs); font-weight:var(--weight-bold); letter-spacing: .08em; text-transform: uppercase; }
.account-head h2 { margin:0; color: var(--text); font-family: var(--display, "Iowan Old Style", Palatino, Georgia, serif); font-size:var(--font-xl); font-weight:var(--weight-medium); letter-spacing: -.02em; line-height: 1.2; }
.account-tabs { overflow-x: auto; }
.account-tab { white-space: nowrap; border-radius: 0; border-bottom: 2px solid transparent; }
.account-tab.active { background: transparent; border-bottom-color: var(--acc); }
.account-close {
  width: 34px;
  height: 34px;
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
  background: var(--s2);
  color: var(--text2);
  font-family: inherit;
  font-size:var(--font-2xl);
  font-weight:var(--weight-regular);
  line-height: 1;
  cursor: pointer;
}
.account-close:hover { color: var(--text); border-color: var(--border2, var(--border)); }
.account-tabs { display: flex; gap: var(--space-1); padding: 0 var(--space-4); border-bottom: 1px solid var(--border); overflow-x: auto; }
.account-tab {
  min-width: 0;
  padding: var(--space-2) var(--space-3);
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  white-space: nowrap;
  background: transparent;
  color: var(--text2);
  font-family: inherit;
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
  cursor: pointer;
}
.account-tab:hover { color: var(--text); background: var(--s2); }
.account-tab.active { color: var(--text); background: transparent; border-bottom: 2px solid var(--acc); }
.account-body { overflow-y: auto; padding: var(--space-5) var(--space-5) var(--space-5); }
.account-profile-hero { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-1) var(--space-half) var(--space-4); }
.account-avatar {
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  display: grid;
  place-items: center;
  border-radius:var(--radius-surface);
  background: linear-gradient(145deg, var(--acc), color-mix(in srgb, var(--acc) 45%, var(--teal)));
  color: var(--acc-ink, #0F2438);
  font-size:var(--font-xl);
  font-weight:var(--weight-heavy);
}
.account-profile-copy h3 { margin:0; font-size:var(--font-lg); font-weight:var(--weight-heavy); letter-spacing: -.02em; }
.account-profile-copy p { margin: var(--space-1) 0 var(--space-2); color: var(--text2); font-size:var(--font-xs); }
.account-status { display: inline-flex; align-items: center; gap: var(--space-1); color: var(--text2); font-size:var(--font-xs); font-weight:var(--weight-medium); }
.account-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px color-mix(in srgb, var(--green) 12%, transparent); }
.account-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.account-detail { min-width: 0; padding: var(--space-3) var(--space-3); border: 1px solid var(--border); border-radius: 11px; background: var(--s2); }
.account-detail span { display: block; margin-bottom: var(--space-1); color: var(--text2); font-size:var(--font-xs); font-weight:var(--weight-heavy); letter-spacing: .06em; text-transform: uppercase; }
.account-detail strong { display: block; overflow: hidden; color: var(--text); font-size:var(--font-xs); font-weight:var(--weight-bold); text-overflow: ellipsis; white-space: nowrap; }
.account-note { display: flex; gap: var(--space-3); margin-top: var(--space-3); padding: var(--space-3) var(--space-3); border: 1px solid color-mix(in srgb, var(--acc) 25%, var(--border)); border-radius: 11px; background: color-mix(in srgb, var(--acc) 7%, var(--s1)); }
.account-note strong { flex: 0 0 92px; font-size:var(--font-xs); }
.account-note span { color: var(--text2); font-size:var(--font-xs); line-height: 1.55; }
.account-link-row { display: flex; gap: var(--space-4); margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.account-link-row a { color: var(--text2); font-size:var(--font-xs); font-weight:var(--weight-medium); text-decoration: none; }
.account-link-row a:hover { color: var(--text); }
.account-setting-section { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-1) 0 var(--space-4); }
.account-setting-section + .account-setting-section { padding-top: var(--space-4); border-top: 1px solid var(--border); }
.account-setting-heading h3 { margin: 0 0 var(--space-1); font-size:var(--font-xs); font-weight:var(--weight-heavy); }
.account-setting-heading p { margin:0; color: var(--text2); font-size:var(--font-xs); line-height: 1.5; }
.account-choices { display: flex; gap: var(--space-half); padding: var(--space-half); border: 1px solid var(--border); border-radius:var(--radius-control); background: var(--s2); }
.account-choice { min-width: 78px; padding: var(--space-2) var(--space-3); border: 0; border-radius: 7px; background: transparent; color: var(--text2); font-family: inherit; font-size:var(--font-xs); font-weight:var(--weight-bold); cursor: pointer; }
.account-choice:hover { color: var(--text); }
.account-choice.active { background: var(--s1); color: var(--text); box-shadow: 0 1px 4px rgba(0, 0, 0, .14); }
.account-setting-section.account-security { display: block; }
.account-password-form { margin-top: var(--space-3); padding: var(--space-4); border: 1px solid var(--border); border-radius:var(--radius-control); background: var(--s2); }
.account-password-form label { display: block; margin-bottom: var(--space-3); }
.account-password-form label > span { display: block; margin-bottom: var(--space-1); color: var(--text2); font-size:var(--font-xs); font-weight:var(--weight-bold); }
.account-password-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-half); }
.account-inline-status { flex: 1; min-height: 16px; color: var(--text2); font-size:var(--font-xs); line-height: 1.45; }
.account-inline-status.success { color: var(--green); }
.account-inline-status.error { color: var(--red); }
.account-password-foot .btn { flex: 0 0 auto; }
.account-danger-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.account-danger-row strong,
.account-danger-row span { display: block; }
.account-danger-row strong { font-size:var(--font-xs); }
.account-danger-row span { margin-top: var(--space-half); color: var(--text2); font-size:var(--font-xs); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding:0;
  margin:-1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.account-dialog-wide { width: min(960px, 96vw); }
.account-users-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-3);
}
.account-users-toolbar { margin-bottom: var(--space-3); }
.account-users-search { display: block; }
.account-users-banner {
  margin: 0 0 var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-radius:var(--radius-control);
  font-size:var(--font-xs);
  line-height: 1.45;
}
.account-users-banner.success {
  color: var(--green);
  background: color-mix(in srgb, var(--green) 10%, var(--s2));
  border: 1px solid color-mix(in srgb, var(--green) 28%, var(--border));
}
.account-users-banner.error {
  color: var(--red);
  background: color-mix(in srgb, var(--red) 10%, var(--s2));
  border: 1px solid color-mix(in srgb, var(--red) 28%, var(--border));
}
.account-users-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
  background: var(--s2);
}
.account-users-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.account-users-table th,
.account-users-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--border);
  text-align: left;
  font-size:var(--font-xs);
  vertical-align: middle;
}
.account-users-table th {
  color: var(--text2);
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.account-users-table tr:last-child td { border-bottom: 0; }
.account-users-name { font-weight:var(--weight-bold); font-size:var(--font-xs); }
.account-users-actions { display: flex; justify-content: flex-end; gap: var(--space-1); flex-wrap: wrap; }
.account-users-delete { color: var(--red) !important; }
.account-users-state {
  padding: var(--space-5) var(--space-4);
  text-align: center;
  color: var(--text2);
  font-size:var(--font-xs);
  line-height: 1.5;
}
.account-users-state.error { color: var(--red); }
.account-users-state .btn { margin-top: var(--space-3); }
.account-users-form-wrap,
.account-users-confirm { display: grid; gap: var(--space-1); }
.account-users-form { margin-top: var(--space-3); }
.account-users-field { display: block; margin-bottom: var(--space-3); }
.account-users-field > span {
  display: block;
  margin-bottom: var(--space-1);
  color: var(--text2);
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
}
.account-users-field small {
  display: block;
  margin-top: var(--space-1);
  color: var(--text2);
  font-size:var(--font-xs);
}
.account-users-help { margin: 0 0 var(--space-3); color: var(--text2); font-size:var(--font-xs); line-height: 1.5; }
.account-users-form-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }
.account-tab:focus-visible,
.account-users-form input:focus-visible,
.account-users-form select:focus-visible,
.account-users-search input:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--acc) 62%, transparent);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .account-modal { align-items: flex-end; padding: var(--space-2); }
  .account-dialog { width: 100%; max-height: 92vh; border-radius:var(--radius-surface); }
  .account-head { padding: var(--space-4) var(--space-4) var(--space-4); }
  .account-tabs { padding: 0 var(--space-4) var(--space-3); }
  .account-tab { flex: 1; }
  .account-body { padding: var(--space-4); }
  .account-detail-grid { grid-template-columns: 1fr; }
  .account-note { display: block; }
  .account-note strong { display: block; margin-bottom: var(--space-1); }
  .account-setting-section { display: block; }
  .account-choices { width: 100%; margin-top: var(--space-3); }
  .account-choice { flex: 1; }
  .account-password-foot { align-items: stretch; flex-direction: column; }
  .account-password-foot .btn { width: 100%; }
  .account-dialog-wide { width: 100%; }
  .account-users-head { display: block; }
  .account-users-head .btn { width: 100%; margin-top: var(--space-3); }
  .account-users-form-actions { flex-direction: column-reverse; }
  .account-users-form-actions .btn { width: 100%; }
  .account-users-actions { justify-content: flex-start; }
}

/* ---------- Cool-current identity (blue/white ops floor) ---------- */
.logo-name {
  font-family: var(--display, "Iowan Old Style", Palatino, Georgia, serif);
  letter-spacing: .12em;
  font-weight:var(--weight-medium);
  color: var(--navy, var(--text));
}
.tb-title {
  font-family: var(--display, "Iowan Old Style", Palatino, Georgia, serif);
  font-weight:var(--weight-medium);
  letter-spacing: -.02em;
}
.stitle, .mv { font-family: inherit; font-weight:var(--weight-bold); }
.ct, .logo-tag, .ns, #topbar-date {
  font-family: var(--mono, ui-monospace, Menlo, Consolas, monospace);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size:var(--font-xs);
}
.logo-tag, .ns { display: block !important; color: var(--text2); }
.sb {
  background: var(--s1);
  box-shadow: none;
}
.sb::after { content: none; }
.ni.act {
  background: color-mix(in srgb, var(--acc) 10%, var(--s1));
  box-shadow: inset 3px 0 0 var(--acc);
  color: var(--text);
}
.dash-btn.act {
  background: color-mix(in srgb, var(--acc) 10%, var(--s1));
  box-shadow: inset 3px 0 0 var(--acc);
}
.btn-p {
  background: var(--acc);
  color: var(--acc-ink, #0F2438);
  box-shadow: none;
}
.btn-p:hover { background: var(--acc-hover, var(--acc2)); color: var(--acc-ink,#0F2438); }
.ai-btn {
  background: var(--s1);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius:var(--radius-control);
}
.ai-btn:hover { border-color: var(--acc); color: var(--acc); }
.topbar {
  border-bottom: 1px solid var(--border);
  box-shadow: none;
  backdrop-filter: none;
}
.av, .rk-av { background: var(--acc); }
.card {
  position: relative;
  overflow: hidden;

}
.fc:hover, .card:hover { transform: none; }
.view.act .card {
  animation: piros-rise .35s var(--ease, cubic-bezier(.2,.7,.2,1)) both;
}
.view.act .g4 > .card:nth-child(1),
.view.act .g4 > .card:nth-child(2) { animation-delay: .03s; }
.view.act .g4 > .card:nth-child(3),
.view.act .g4 > .card:nth-child(4) { animation-delay: .06s; }
@keyframes piros-rise {
  from { opacity: 0; }
  to { opacity: 1; }
}
.pulse, .dot.dg {
  animation: piros-ember 2.8s ease-in-out infinite;
}
@keyframes piros-ember {
  0%, 100% { opacity: 1; }
  50% { opacity: .72; }
}
.logo-icon { animation: none; }
@keyframes piros-mark {
  from, to { filter: none; }
}
#topbar-date {
  font-size:var(--font-xs);
  color: var(--text2);
  letter-spacing: .08em;
}
.facility-pill {
  border-radius:var(--radius-control);
}
.facility-pill.on,
.facility-pill:hover { border-color: var(--acc); }
.sb-toggle:focus-visible,
.btn:focus-visible,
.inp:focus-visible,
.ni:focus-visible,
.ai-btn:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}
.piros-view-as-banner {
  background: var(--s2);
  color: var(--text);
  font-weight:var(--weight-medium);
}
html[data-theme="light"] .ct,
html[data-theme="light"] .ns,
html[data-theme="light"] .logo-tag {
  color: var(--text2);
}

/* Page header, toolbar, empty / loading / error */
.page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border);
}
.page-kicker {
  font-family: var(--mono, ui-monospace, Menlo, Consolas, monospace);
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text2);
  margin-bottom: var(--space-1);
}
.page-title { font-size:var(--font-xl); font-weight:var(--weight-medium); letter-spacing: -.02em; color: var(--text); }
.page-sub { font-size:var(--font-sm); color: var(--text2); margin-top: var(--space-1); max-width: 62ch; line-height: 1.45; }
.page-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
  padding: var(--space-2) var(--space-3);
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
}
.toolbar .inp { max-width: 280px; }
.table-wrap { overflow: auto; border: 1px solid var(--border); border-radius:var(--radius-control); background: var(--s1); }
.table-wrap table { margin:0; }
.table-wrap th {
  position: sticky;
  top: 0;
  background: var(--s2);
  z-index: 1;
}
.empty-state, .feed-empty {
  text-align: center;
  padding: var(--space-6) var(--space-5);
  color: var(--text2);
}
.empty-state h3, .feed-empty .t {
  font-size:var(--font-base);
  font-weight:var(--weight-bold);
  color: var(--text);
  margin: 0 0 var(--space-1);
}
.empty-state p, .feed-empty .s {
  font-size:var(--font-sm);
  line-height: 1.5;
  max-width: 42ch;
  margin: 0 auto var(--space-4);
}
.skeleton {
  display: block;
  height: 12px;
  border-radius: 4px;
  background: var(--s3);
  animation: piros-ember 1.6s ease-in-out infinite;
}
.notice {
  border: 1px solid var(--border);
  border-left: 3px solid var(--acc);
  background: var(--s1);
  border-radius:var(--radius-control);
  padding: var(--space-3) var(--space-3);
  font-size:var(--font-xs);
  margin-bottom: var(--space-3);
}
.notice.warn { border-left-color: var(--warn); }
.notice.err { border-left-color: var(--red); }
.notice.ok { border-left-color: var(--green); }
.timeline { border-left: 1px solid var(--border); margin-left: var(--space-2); padding-left: var(--space-4); }
.timeline-item { position: relative; padding: 0 0 var(--space-4); }
.timeline-item:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 6px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--acc);
}
.devh-hero, .dashh-shell .devh-hero {
  background: var(--s1) !important;
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
  box-shadow: none !important;
}
.devh-hero:after { display: none !important; }
.devh-card:hover, .dashh-shell .devh-card:hover {
  transform: none !important;
  border-color: var(--border2, var(--border)) !important;

}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) *,
  html:not([data-motion="on"]) *::before,
  html:not([data-motion="on"]) *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Facility census, profile buttons, and discharge details. */
#facility-summary [hidden], #fac-kipu-board-card[hidden], .devh-kpi[hidden] { display:none !important; }
#facility-summary { grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); }
.facility-metric { text-align:left; color:var(--text); font:inherit; cursor:pointer; }
.facility-metric > span { display:block; }
.facility-metric:disabled { cursor:default; }
.facility-metric:focus-visible, .facility-bed:focus-visible, .slo-bed:focus-visible { outline:3px solid var(--acc); outline-offset:3px; }
.facility-bed-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:var(--space-2); }
.facility-bed { display:flex; flex-direction:column; gap:var(--space-1); padding:var(--space-3); border:1px solid var(--border); border-radius:var(--radius-control); background:var(--s1); text-align:left; font:inherit; color:var(--text); min-width:0; overflow-wrap:anywhere; }
button.facility-bed { cursor:pointer; }
.facility-bed.is-occupied { background:color-mix(in srgb,var(--teal) 12%,var(--s1)); border-color:var(--teal); }
.facility-bed-name, .facility-bed-person { font-weight:var(--weight-heavy); }
.facility-bed-context { font-size:var(--font-xs); color:var(--text2); }
.facility-discharge-dialog { margin:auto; width:760px; max-width:94vw; max-height:85vh; overflow:auto; box-sizing:border-box; background:var(--s1); color:var(--text); border:1px solid var(--border); border-radius:var(--radius-control); padding:var(--space-4); }
.facility-discharge-dialog::backdrop { background:rgba(0,0,0,.5); }
.facility-discharge-results { display:grid; gap:var(--space-3); }

#facility-active-clients[hidden] { display:none !important; }
.facility-active-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:var(--space-3); }
.facility-active-client { display:flex; flex-direction:column; gap:var(--space-1); min-width:0; padding:var(--space-3); text-align:left; overflow-wrap:anywhere; border:1px solid var(--border); border-radius:var(--radius-control); background:var(--s1); color:var(--text); font:inherit; cursor:pointer; }
.facility-active-client span { font-size:var(--font-xs); color:var(--text2); }
.facility-active-client:focus-visible { outline:3px solid var(--acc); outline-offset:2px; }

/* Shared occupancy states retain a numeric value and work in both themes. */
.occupancy-green{color:#166534!important;background:#dcfce7!important}
.occupancy-yellow{color:#713f12!important;background:#fef9c3!important}
.occupancy-red{color:#991b1b!important;background:#fee2e2!important}
.occupancy-unknown{color:var(--text2)!important;background:var(--s2)!important}
.occupancy-green,.occupancy-yellow,.occupancy-red,.occupancy-unknown{border-radius:4px;padding:var(--space-half) var(--space-1)}
.bed-board-heading{display:flex;align-items:center;gap:var(--space-2)}
.bed-board-refresh{width:36px;height:36px;padding:var(--space-2);display:inline-flex;align-items:center;justify-content:center}
.bed-board-refresh svg{width:18px;height:18px}
.bed-board-refresh:hover{background:var(--s2)}
.bed-board-refresh:active{transform:scale(.94)}
.bed-board-refresh:disabled{opacity:.5;cursor:wait}
.bed-board-refresh[aria-busy=true] svg{animation:bed-refresh-spin 1s linear infinite}
@keyframes bed-refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.bed-board-refresh[aria-busy=true] svg{animation:none}}
.staff-directory{margin-top:var(--space-5)}.staff-controls{display:flex;gap:var(--space-4);flex-wrap:wrap}
.staff-controls label{display:grid;gap:var(--space-1);flex:1;min-width:180px}
#staff-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-3)}
.staff-row{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-3)}
.staff-person{border:0;background:transparent;color:var(--text);text-align:left;flex:1;min-width:0;cursor:pointer}
.staff-person strong,.staff-person span{display:block;overflow-wrap:anywhere}.staff-person span{color:var(--text2);margin-top:var(--space-1)}
.staff-pages{display:flex;justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}
.staff-dialog{width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-5);background:var(--s1);color:var(--text)}
.staff-dialog::backdrop{background:#0008}.staff-dialog dt{font-weight:var(--weight-bold);margin-top:var(--space-3)}.staff-dialog dd{margin:var(--space-1) 0;overflow-wrap:anywhere}
#staff-messages{max-height:260px;overflow:auto}.staff-message-text{white-space:pre-wrap;overflow-wrap:anywhere}
.staff-directory button:focus-visible,.staff-dialog button:focus-visible,.staff-directory input:focus-visible,.staff-directory select:focus-visible,.staff-dialog textarea:focus-visible,.bed-board-refresh:focus-visible{outline:3px solid var(--acc);outline-offset:3px}

/* Home presentation promoted with its existing Dev design dependencies. */
.dashh-shell .devh-shell{max-width:1500px;margin:0 auto;padding-bottom:var(--space-6)}.dashh-shell .devh-hero{position:relative;overflow:hidden;padding:var(--space-5) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--s1);margin-bottom:var(--space-4)}.dashh-shell .devh-hero:after{display:none}.dashh-shell .devh-eyebrow{font-size:var(--font-xs);letter-spacing:.13em;text-transform:uppercase;color:var(--acc2);font-weight:var(--weight-heavy);margin-bottom:var(--space-2)}.dashh-shell .devh-title{font-size:var(--font-2xl);line-height:1.12;font-weight:var(--weight-heavy);letter-spacing:-.025em;color:var(--text);margin:0 0 var(--space-2)}.dashh-shell .devh-subtitle{font-size:var(--font-xs);line-height:1.65;color:var(--text2);max-width:660px}.dashh-shell .devh-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4);position:relative;z-index:1}.dashh-shell .devh-action{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--s1);color:var(--text);border-radius:9px;padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--font-xs);font-weight:var(--weight-heavy);cursor:pointer;transition:.16s ease}.dashh-shell .devh-action:hover{border-color:var(--acc);background:var(--s2)}.dashh-shell .devh-action.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink,#0F2438)}.dashh-shell .devh-action svg{width:15px;height:15px}.dashh-shell .devh-health{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-xs);font-weight:var(--weight-bold);color:var(--text2);z-index:1}.dashh-shell .devh-health-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(59,201,141,.12)}.dashh-shell .devh-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.dashh-shell .devh-kpi{min-width:0}.dashh-shell .devh-kpi-label{font-size:var(--font-xs);line-height:1.3;text-transform:uppercase;letter-spacing:.08em;color:var(--text2);font-weight:var(--weight-heavy)}.dashh-shell .devh-kpi-value{font-size:var(--font-2xl);line-height:1.2;color:var(--text);font-weight:var(--weight-heavy);margin-top:var(--space-1)}.dashh-shell .devh-kpi-note{font-size:var(--font-xs);color:var(--text2);margin-top:var(--space-half);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashh-shell .devh-section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2)}.dashh-shell .devh-section-title{font-size:var(--font-sm);font-weight:var(--weight-heavy);color:var(--text)}.dashh-shell .devh-section-note{font-size:var(--font-xs);color:var(--text2);margin-top:var(--space-half)}.dashh-shell .devh-refresh{display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:0;color:var(--text2);font:inherit;font-size:var(--font-xs);font-weight:var(--weight-bold);cursor:pointer;padding:var(--space-1)}.dashh-shell .devh-refresh:hover{color:var(--text)}.dashh-shell .devh-refresh svg{width:14px;height:14px}.dashh-shell .devh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.dashh-shell .devh-card{position:relative;display:flex;flex-direction:column;min-height:178px;overflow:hidden}.dashh-shell .devh-card:hover{border-color:var(--acc)}.dashh-shell .devh-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.dashh-shell .devh-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--acc) 12%,var(--s2));color:var(--acc)}.dashh-shell .devh-card-icon svg{width:20px;height:20px}.dashh-shell .devh-card-count{font-size:var(--font-xs);font-weight:var(--weight-heavy);color:var(--text2);background:var(--s2);border:1px solid var(--border);border-radius:999px;padding:var(--space-1) var(--space-2)}.dashh-shell .devh-card h3{font-size:var(--font-sm);color:var(--text);font-weight:var(--weight-heavy);margin:var(--space-3) 0 var(--space-1)}.dashh-shell .devh-card p{font-size:var(--font-xs);line-height:1.55;color:var(--text2);margin:0 0 var(--space-3)}.dashh-shell .devh-card-links{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:auto}.dashh-shell .devh-link{display:inline-flex;align-items:center;gap:var(--space-1);border:0;background:transparent;padding:0;color:var(--acc);font:inherit;font-size:var(--font-xs);font-weight:var(--weight-heavy);cursor:pointer}.dashh-shell .devh-link:hover{text-decoration:underline}.dashh-shell .devh-link svg{width:13px;height:13px}.dashh-shell .devh-link.secondary{color:var(--text2)}.dashh-shell .devh-connection-list{display:grid;gap:var(--space-2);margin:var(--space-3) 0 var(--space-4)}.dashh-shell .devh-connection{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-xs);color:var(--text)}.dashh-shell .devh-status{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text2);font-weight:var(--weight-bold)}.dashh-shell .devh-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--text2)}.dashh-shell .devh-status.ready{color:var(--green)}.dashh-shell .devh-status.ready:before{background:var(--green)}.dashh-shell .devh-status.pending{color:var(--warn)}.dashh-shell .devh-status.pending:before{background:var(--warn)}.dashh-shell .devh-status.error{color:var(--red)}.dashh-shell .devh-status.error:before{background:var(--red)}.dashh-shell .devh-platform-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.dashh-shell .devh-platform-back{display:inline-flex;align-items:center;gap:var(--space-1)}@media(max-width:1120px){.dashh-shell .devh-kpis{grid-template-columns:repeat(3,1fr)}.dashh-shell .devh-grid{grid-template-columns:repeat(2,1fr)}.dashh-shell .devh-health{display:none}}@media(max-width:680px){.dashh-shell .devh-hero{padding:var(--space-5)}.dashh-shell .devh-title{font-size:var(--font-2xl)}.dashh-shell .devh-kpis{grid-template-columns:repeat(2,1fr)}.dashh-shell .devh-grid{grid-template-columns:1fr}.dashh-shell .devh-card{min-height:160px}}
.dashh-shell .devh-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.dashh-shell .devh-kpi span{display:block}
.dashh-shell button:focus-visible{outline:3px solid var(--acc);outline-offset:3px}

.view[hidden][inert]{display:none!important}

#view-org-home,.staff-dialog{--text2:#49657c}
#view-org-home .devh-link{color:#155b91}
[data-theme="dark"] #view-org-home,[data-theme="dark"] .staff-dialog{--text2:#aec7da}
[data-theme="dark"] #view-org-home .devh-link{color:#80c7ff}

[data-theme="dark"] #view-org-home .devh-action.primary,[data-theme="dark"] .staff-dialog .btn-p{color:#10263a}

.piros-back {
  appearance: none;
  border: 1px solid var(--border);
  background: var(--s1);
  color: var(--text);
  border-radius:var(--radius-control);
  height: 32px;
  padding: 0 var(--space-2);
  font: inherit;
  font-size:var(--font-xs);
  font-weight:var(--weight-medium);
  cursor: pointer;
  flex: none;
}
.piros-back:hover { border-color: var(--acc); }
.piros-back[hidden] { display: none !important; }
.piros-av {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, var(--acc), var(--teal, #3CBAB2));
  color: var(--acc-ink, #0F2438);
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
}
.piros-av.lg { width: 56px; height: 56px; flex-basis: 56px; font-size:var(--font-lg); }
.piros-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.piros-av.has-photo { background: var(--s2); }
.account-trigger .piros-av { width: 32px; height: 32px; flex-basis: 32px; border-radius: 50%; font-size:var(--font-xs); }
.pcd-msg { display: flex; gap: var(--space-2); align-items: flex-start; }
.pcd-msg .piros-av { width: 28px; height: 28px; flex-basis: 28px; font-size:var(--font-xs); }
.pcd-tabs {
  display: flex;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-2) 0;
  border-bottom: 1px solid var(--border);
  background: var(--s1);
}
.pcd-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--text2);
  font: inherit;
  font-size:var(--font-xs);
  font-weight:var(--weight-bold);
  padding: var(--space-2) var(--space-2) var(--space-2);
  cursor: pointer;
  border-bottom: 2px solid transparent;
}
.pcd-tab.on { color: var(--text); border-bottom-color: var(--acc); }
.pcd-tab i {
  display: inline-block;
  margin-left: var(--space-1);
  min-width: 14px;
  padding: 0 var(--space-1);
  border-radius: 99px;
  background: var(--red);
  color:var(--on-danger);
  font: inherit;
  font-size:var(--font-xs);
  font-weight:var(--weight-heavy);
  font-style: normal;
}
.pcd-dm-list { max-height: 140px; overflow: auto; border-bottom: 1px solid var(--border); }
.pcd-dm-row {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  padding: var(--space-2) var(--space-2);
  cursor: pointer;
  font: inherit;
}
.pcd-dm-row:hover, .pcd-dm-row.on { background: var(--s2); }
.pcd-dm-row b { display: block; font-size:var(--font-xs); }
.pcd-dm-row span span { display: block; font-size:var(--font-xs); color: var(--text2); }
#fac-cal-card { width: 100%; }
.fac-kipu-last { font-size:var(--font-xs); color: var(--text2); margin-top: var(--space-half); }
.fac-kipu-status { font-size:var(--font-xs); color: var(--text2); margin: 0 0 var(--space-2); min-height: 16px; }
.fac-kipu-status.ok { color: var(--green); }
.fac-kipu-status.err { color: var(--red); }
.staff-row { display: flex; align-items: center; gap: var(--space-2); }
.avatar-gate { margin-bottom: var(--space-4); }
.avatar-gate-dialog {
  width: min(100%, 640px);
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius:var(--radius-control);
  padding: var(--space-5);
}
.avatar-gate-dialog h2 { margin: 0 0 var(--space-2); font-size:var(--font-lg); }
.avatar-gate-dialog p { margin: 0 0 var(--space-3); font-size:var(--font-xs); color: var(--text2); line-height: 1.5; }
.avatar-gate-preview { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); }

#pcd-badge[hidden] { display: none; }
#pcd-status { padding: 0 var(--space-3); font-size:var(--font-xs); color: var(--text2); }

/* Staff-first Team Hub; existing dashboard links follow the directory and news. */
.team-hub-engagement{margin:var(--space-4) 0 var(--space-5);display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--space-4);align-items:start}
.team-hub-engagement .staff-directory{margin:0}
.team-hub-highlights{min-width:0;display:grid;gap:var(--space-4)}
.team-hub-highlights .card{margin:0}
.team-hub-highlights h2{margin:0;font-size:var(--font-base)}
.newsletter-item{padding:var(--space-3) 0;overflow-wrap:anywhere}
.newsletter-item h3{font-size:var(--font-sm);margin:0 0 var(--space-1)}
.newsletter-item p{line-height:1.6;font-size:var(--font-xs)}
.newsletter-meta{color:var(--text2);font-size:var(--font-xs)}
.newsletter-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
#org-news summary{cursor:pointer;color:var(--text);padding:var(--space-3) 0}
#org-news button:focus-visible,#org-news summary:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
#newsletter-new[hidden]{display:none}
@media(max-width:1050px){.team-hub-engagement{grid-template-columns:minmax(0,1fr)}.team-hub-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.team-hub-highlights{grid-template-columns:minmax(0,1fr)}.staff-row{flex-wrap:wrap}.staff-row>.btn{margin-left:auto}}

.team-hub-engagement #staff-list{max-height:600px;overflow-y:auto;padding:var(--space-1)}
.team-hub-highlights .eom-badge{color:var(--text2)}
/* Team Hub overlays must remain usable above the non-production environment banner. */
#mo-newsletter,#mo-eom,#mo-report:has(.newsletter-body){z-index:450}

/* Huddle uses the same card/table controls and tokens as L10. */
.huddle-controls,.huddle-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0;align-items:end}
.huddle-controls label,.huddle-reflection,.huddle-reason{display:flex;flex-direction:column;gap:var(--space-1)}
.huddle-grid{min-width:850px;width:100%}.huddle-grid th{min-width:140px}.huddle-grid td{min-width:110px;vertical-align:top}
.huddle-grid input,.huddle-grid select{width:100%;min-width:85px}.huddle-grid small{display:block;color:var(--text2);font-size:var(--font-xs);margin-top:var(--space-1)}
.huddle-reason{font-size:var(--font-xs);margin-top:var(--space-1)}.huddle-reflection{margin-bottom:var(--space-4);font-weight:var(--weight-medium)}.huddle-reflection textarea{width:100%;font-weight:var(--weight-regular)}
.huddle-answer{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:var(--weight-regular)}.huddle-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.huddle-summary dd{margin:var(--space-half) 0;font-size:var(--font-xl);font-weight:var(--weight-medium)}
.huddle-print-frame{position:fixed;left:-10000px;width:900px;height:1000px;border:0}
#huddle-form-host :focus-visible{outline:2px solid var(--acc);outline-offset:3px}
@media(max-width:600px){.huddle-controls label{width:100%}.huddle-controls input,.huddle-controls select{width:100%}#view-fac-huddle > .sh{flex-wrap:wrap;gap:var(--space-3)}}
/* Scoped calendar management retains the shared modal/card/input system. */
.calendar-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-2) 0}
.calendar-controls label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-xs)}.calendar-controls label .inp{max-width:160px}
.calendar-workspace{max-width:1000px;width:calc(100vw - 32px);max-height:90dvh;overflow:auto}
.calendar-mapping{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);margin:var(--space-3) 0}
.calendar-mapping label,.calendar-file{display:flex;flex-direction:column;gap:var(--space-1)}.calendar-file{margin:var(--space-4) 0}
.calendar-scroll{overflow:auto;max-height:440px;margin:var(--space-3) 0}.calendar-scroll table{min-width:650px;width:100%}
.calendar-scroll td{max-width:240px;white-space:pre-wrap;overflow-wrap:anywhere}.calendar-errors,.calendar-row-error{border-color:var(--red);color:var(--red)}
.calendar-workspace h3{margin:var(--space-4) 0 var(--space-2)}.calendar-workspace details{margin:var(--space-3) 0}
.calendar-workspace :focus-visible{outline:2px solid var(--acc);outline-offset:3px}
/* Custom dashboards reuse the operational shell, cards, inputs and color tokens. */
.custom-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}.custom-widget{min-width:0;margin:0;overflow:auto}.custom-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.custom-actions label{max-width:300px}.custom-fields{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-4)}.custom-check{display:inline-flex;align-items:center;gap:var(--space-1);margin:var(--space-1) var(--space-3) var(--space-1) 0}.custom-config{max-width:650px;max-height:90vh;overflow:auto}.custom-config>label{display:block;margin:var(--space-2) 0}.custom-error{color:var(--red)}.custom-widget svg{width:100%;height:190px;color:var(--teal)}.custom-widget table{width:100%;border-collapse:collapse}.custom-widget td,.custom-widget th{padding:var(--space-2);border-bottom:1px solid var(--border);text-align:left}.custom-print-frame{position:fixed;width:1px;height:1px;left:-10000px}.custom-resize{cursor:nwse-resize}.custom-widget[draggable=true]{cursor:grab}#view-custom-dashboards fieldset{border:1px solid var(--border);margin:var(--space-3) 0}#view-custom-dashboards h1{font-size:var(--font-2xl)}@media(max-width:780px){.custom-grid{display:block}.custom-widget{margin-bottom:var(--space-4);min-height:0!important}.custom-fields{grid-template-columns:1fr}.custom-actions{align-items:flex-start}.custom-config{max-width:calc(100vw - 24px)}}

@media(max-width:780px){.custom-header{display:block}.custom-header .custom-actions{margin:var(--space-3) 0}}

/* Living canvas — keep this block identical in login.html. */
html[data-canvas="living"]:not([data-theme="dark"]) {
  --bg: #F4F8FC;
  --text: #0F2438;
  --text2: #5A738A;
  --acc: #2EA8CA;
  --acc2: #1D6C81;
  --acc-ink: #0F2438;
  --acc-hover: #2997B6;
  --navy: #0F3A63;
  --teal: #1A8FA8;
  --s1: #FFFFFF;
  --s2: #E8F1F8;
  --s3: #D5E4F2;
  --card: #FFFFFF;
  --canvas-tint: .012;
  --canvas-sheen: .38;
  color-scheme: light;
}
html[data-canvas="living"][data-theme="dark"] {
  --bg: #0B1624;
  --text: #F2F7FC;
  --text2: #9BB0C4;
  --acc: #5CBBD6;
  --acc2: #8ACEE1;
  --acc-ink: #0F2438;
  --acc-hover: #8ACEE1;
  --navy: #8ACEE1;
  --teal: #3DB8C9;
  --s1: #122033;
  --s2: #182A42;
  --s3: #213654;
  --card: #122033;
  --canvas-tint: .05;
  --canvas-sheen: .016;
  color-scheme: dark;
}
html[data-canvas="living"] body {
  isolation: isolate;
  min-height: 100vh;
}
html[data-canvas="living"] body::before,
html[data-canvas="living"] body::after {
  content: "";
  position: fixed;
  inset: -2%;
  z-index: -1;
  pointer-events: none;
}
html[data-canvas="living"] body::before {
  background: linear-gradient(115deg, var(--navy) 0%, var(--acc) 36%, var(--teal) 68%, var(--navy) 100%);
  opacity: var(--canvas-tint);
  animation: piros-canvas-drift 36s ease-in-out infinite alternate;
}
html[data-canvas="living"] body::after {
  background: linear-gradient(115deg, transparent 12%, white 42%, transparent 72%);
  opacity: var(--canvas-sheen);
  animation: piros-canvas-sheen 48s ease-in-out infinite alternate;
}
@keyframes piros-canvas-drift {
  from { transform: translate3d(-1%, 0, 0); }
  to { transform: translate3d(1%, 1%, 0); }
}
@keyframes piros-canvas-sheen {
  from { transform: translate3d(1%, -1%, 0); opacity: 0; }
  to { transform: translate3d(-1%, 1%, 0); opacity: var(--canvas-sheen); }
}
@media (prefers-reduced-motion: reduce), (max-width: 640px) {
  html[data-canvas="living"] body::before,
  html[data-canvas="living"] body::after { animation: none !important; }
}
@media (forced-colors: active), print {
  html[data-canvas="living"] body::before,
  html[data-canvas="living"] body::after { display: none !important; }
}
/* Standalone PIROS surfaces use the same solid palette in either theme. */

html[data-canvas="living"] #captcha-box { background: var(--s2); }
html[data-canvas="living"] #form > p > a,
html[data-canvas="living"] main > .card > a { color: var(--acc2); }
/* End living canvas. */
