/* Shared theme vocabulary. Theme Studio remains the sole color source. */
:root {
  --fb-text: var(--fb-ink);
  --fb-muted: var(--fb-dim);
  --fb-border: var(--fb-edge);
  --fb-surface: var(--fb-panel);
  --fb-panel-alt: var(--fb-raised);
  --input-bg: var(--fb-raised);
}
/* Use the original animation canvas in every full-page workspace. */
:is(#fmOverlay,#account-panel,#fn-admin-pages,#fn-permissions-page,#swOverlay,#swWizard,.sw-overlay):not([hidden]) {
  isolation:isolate;
  background:var(--fb-bg)!important;
  color:var(--fb-ink);
}
:is(#fmOverlay,#account-panel,#fn-admin-pages,#fn-permissions-page,#swOverlay,#swWizard,.sw-overlay) > #fb64-atmosphere {
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
}
:is(#fmOverlay,#account-panel,#fn-admin-pages,#fn-permissions-page,#swOverlay,#swWizard,.sw-overlay) > :not(#fb64-atmosphere):not(#v6Rail) {
  position:relative;
  z-index:1;
}
/* Site Walk content must not paint over Digital Rain. Cards remain opaque. */
.sw-overlay > .sw-workspace { background:transparent!important; }
.sw-overlay > .sw-workspace > .sw-body { background:transparent!important; }
/* Dedicated permission editor now honors live Theme Studio tokens. */
#fn-permissions-page {
  background:var(--fb-bg)!important;
  color:var(--fb-ink)!important;
}
#fn-permissions-page .fn-grants-card,
#fn-permissions-page .fn-grants-toggle {
  border-color:var(--fb-edge);
  color:var(--fb-ink);
}
#fn-permissions-page .fn-grants-toggle {background:var(--fb-panel);}
#fn-permissions-page .fn-grants-card {background:var(--fb-panel);}
#fn-permissions-page button,#fn-permissions-page select {
  background:var(--fb-raised);color:var(--fb-ink);border-color:var(--fb-edge);
}
#fn-permissions-page :focus-visible {outline:2px solid var(--fb-accent);outline-offset:2px;}
/* Match the original application panel colors in administrator pages. */
#fn-admin-pages .fn-admin-card {background:var(--fb-panel);border-color:var(--fb-edge);}
#fn-admin-pages :is(button,input,select) {color:var(--fb-ink);border-color:var(--fb-edge);}
/* Prevent the old mobile-sized desktop inset from affecting phones/tablets. */
@media (max-width:950px) {
  .sw-overlay > .sw-workspace {margin-left:0!important;width:100%!important;max-width:none!important;}
  #fn-permissions-page:not([hidden]) {padding-left:max(14px,env(safe-area-inset-left))!important;}
}

/* Shared selection dialog: native-style picker must use the active theme. */
.fb-native-sheet {
  background: color-mix(in srgb, var(--fb-bg, #07120d) 76%, transparent) !important;
  color: var(--fb-ink, #eef7f3);
}
.fb-native-sheet .fb-native-dialog {
  background: var(--fb-panel, #11281f) !important;
  color: var(--fb-ink, #eef7f3) !important;
  border-color: var(--fb-edge, #40564b) !important;
  box-shadow: 0 24px 75px rgba(0,0,0,.35);
}
.fb-native-sheet .fb-native-top button,
.fb-native-sheet .fb-native-dialog input,
.fb-native-sheet .fb-native-items button {
  background: var(--fb-raised, #294137) !important;
  color: var(--fb-ink, #eef7f3) !important;
  border: 1px solid var(--fb-edge, #40564b) !important;
  border-radius: 9px;
}
.fb-native-sheet .fb-native-items button.selected {
  border-color: var(--fb-accent, #57dc94) !important;
  box-shadow: inset 3px 0 0 var(--fb-accent, #57dc94);
}
.fb-native-sheet :focus-visible {
  outline: 2px solid var(--fb-accent, #57dc94) !important;
  outline-offset: 2px;
}
/* User management has a collapsed creation panel: don't reserve a dead column. */
#fn-admin-pages .fn-admin-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start;
  gap: 12px;
}
#fn-admin-pages .fn-admin-content,
#fn-admin-pages .fn-admin-tabs {max-width: 1180px;}
#fn-admin-pages .fn-admin-head,
#fn-admin-pages .fn-admin-card,
#fn-admin-pages .fn-admin-tabs {
  border-color: var(--fb-edge, #40564b);
}
#fn-admin-pages .fn-admin-card,
#fn-admin-pages .fn-admin-head,
#fn-admin-pages button,
#fn-admin-pages input,
#fn-admin-pages select {
  background-color: var(--fb-panel, #11281f);
  color: var(--fb-ink, #eef7f3);
}
#fn-admin-pages input,
#fn-admin-pages select {background-color: var(--fb-raised, #294137);}
#fn-admin-pages :is(.fn-admin-subtitle,small) {color: var(--fb-dim, #afc5bb);}
#fn-admin-pages .fn-admin-tabs button[aria-current='page'] {
  border-color: var(--fb-accent, #57dc94);
}
@media (min-width: 951px) {
  #fn-admin-pages .fn-admin-content,
  #fn-admin-pages .fn-admin-tabs {width: min(100%, 1180px);}
}
