/* Last presentation layer for the offline study UI. */
/* Session chrome stays outside the scrolling panel, including short screens. */
body.fx-session-open { overflow:hidden; }
html[data-foxy-design=studio] body.foxy-ui .fx-session-dialog { width:min(960px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; overflow:hidden; border-radius:18px; font:14px/1.5 system-ui,sans-serif; box-sizing:border-box; }
html[data-foxy-design=studio] body.foxy-ui .fx-session-dialog[open] { display:flex; flex-direction:column; }
.foxy-ui .fx-session-dialog .fx-dialog-head { flex:none; padding:18px 24px; gap:12px; min-width:0; background:var(--fx-surface); }
.foxy-ui .fx-session-dialog .fx-dialog-head>div { flex:1; min-width:0; }
.foxy-ui .fx-session-dialog .fx-dialog-head h2 { font-size:17px; line-height:1.4; overflow-wrap:anywhere; }
.foxy-ui .fx-session-dialog .fx-session-close { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:none; width:auto; min-height:44px; margin:0; padding:10px 14px; border:1px solid var(--fx-line); border-radius:10px; background:var(--fx-subtle); color:var(--fx-text); font:600 14px/1.4 system-ui,sans-serif; }
.foxy-ui .fx-session-dialog .fx-session-close .fx-icon { width:16px; height:16px; }
html[data-foxy-design=studio] .foxy-ui .fx-session-dialog .fx-detail-tabs { flex:none; margin:16px 24px 0; }
html[data-foxy-design=studio] .foxy-ui .fx-session-dialog .fx-detail-tabs button { font:600 14px/1.4 system-ui,sans-serif; height:auto; min-width:0; }
.foxy-ui .fx-session-dialog .fx-detail-content { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; padding:20px 24px 24px; }
.foxy-ui .fx-session-dialog .fx-camera-workspace { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:20px; align-items:start; }
.foxy-ui .fx-session-dialog .fx-camera-preview { min-width:0; }
.foxy-ui .fx-session-dialog .fx-camera-caption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.foxy-ui .fx-session-dialog .fx-camera-screen { box-sizing:border-box; width:100%; max-width:100%; aspect-ratio:16/9; max-height:320px; min-height:160px; border:1px solid var(--fx-line); border-radius:12px; background:#111820; color:#aebbc8; gap:8px; }
.foxy-ui .fx-session-dialog .fx-camera-screen strong { font-size:15px; font-weight:500; color:#dce3eb; }
.foxy-ui .fx-session-dialog .fx-camera-screen>span { font-size:12px; }
.foxy-ui .fx-session-dialog .fx-camera-screen .fx-icon { width:28px; height:28px; }
.foxy-ui .fx-session-dialog .fx-camera-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; margin-top:12px; }
.foxy-ui .fx-session-dialog .fx-camera-actions .fx-button { min-height:44px; min-width:0; padding:10px 14px; margin:0; font:600 14px/1.4 system-ui,sans-serif; }
.foxy-ui .fx-session-dialog .fx-camera-sidebar { display:grid; gap:12px; min-width:0; }
.foxy-ui .fx-session-dialog :is(.fx-camera-device,.fx-camera-records) { padding:16px; border:1px solid var(--fx-line); border-radius:12px; background:var(--fx-subtle); }
.foxy-ui .fx-session-dialog .fx-camera-device label { display:block; margin:0 0 10px; width:auto; font-size:14px; font-weight:600; color:var(--fx-text); }
.foxy-ui .fx-session-dialog #fx-camera-device { appearance:auto; box-sizing:border-box; width:100%; min-width:0; min-height:44px; height:auto; padding:10px; margin:0; background:var(--fx-surface); background-image:none!important; color:var(--fx-text); border:1px solid var(--fx-line); border-radius:8px; font:14px/1.4 system-ui,sans-serif; }
.foxy-ui .fx-session-dialog .fx-camera-device p { margin:12px 0 0; font-size:12px; color:var(--fx-muted); line-height:1.5; }
.foxy-ui .fx-session-dialog .fx-camera-device p+p { margin-top:4px; }
.foxy-ui .fx-session-dialog .fx-camera-records summary { cursor:pointer; min-height:24px; font-size:14px; font-weight:600; }
.foxy-ui .fx-session-dialog .fx-camera-record-count { float:inline-end; padding:0 8px; color:var(--fx-muted); border:1px solid var(--fx-line); border-radius:6px; font-size:12px; }
.foxy-ui .fx-session-dialog .fx-camera-records p { margin:12px 0 0; color:var(--fx-muted); font-size:13px; }
html[data-foxy-design=studio] body.foxy-ui .fx-session-dialog.fx-session-expanded { width:calc(100vw - 32px); height:calc(100dvh - 32px); }
.foxy-ui .fx-session-dialog.fx-session-expanded .fx-camera-workspace { min-height:100%; align-items:stretch; }
.foxy-ui .fx-session-dialog.fx-session-expanded .fx-camera-preview { display:flex; flex-direction:column; }
.foxy-ui .fx-session-dialog.fx-session-expanded .fx-camera-screen { flex:1; aspect-ratio:auto; max-height:none; }
.foxy-ui .fx-session-dialog.fx-session-expanded .fx-camera-sidebar { align-content:start; }
.foxy-ui .fx-session-dialog :is(button,select,summary):focus-visible { outline:2px solid var(--fx-accent); outline-offset:3px; }
@media(max-width:700px) {
  .foxy-ui .fx-session-dialog .fx-camera-workspace { grid-template-columns:minmax(0,1fr); gap:16px; }
  .foxy-ui .fx-session-dialog .fx-camera-sidebar { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
  html[data-foxy-design=studio] body.foxy-ui .fx-session-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:12px; }
  html[data-foxy-design=studio] body.foxy-ui .fx-session-dialog.fx-session-expanded { width:calc(100vw - 16px); height:calc(100dvh - 16px); }
  .foxy-ui .fx-session-dialog .fx-dialog-head { padding:12px 16px; gap:10px; }
  .foxy-ui .fx-session-dialog .fx-dialog-head>.fx-session-symbol { display:none; }
  .foxy-ui .fx-session-dialog .fx-dialog-head h2 { font-size:15px; }
  .foxy-ui .fx-session-dialog .fx-session-close { padding:10px; }
  html[data-foxy-design=studio] .foxy-ui .fx-session-dialog .fx-detail-tabs { margin:12px 12px 0; gap:2px; padding:4px; }
  html[data-foxy-design=studio] .foxy-ui .fx-session-dialog .fx-detail-tabs button { font-size:12px; padding:8px 6px; }
  .foxy-ui .fx-session-dialog .fx-detail-content { padding:16px; }
  .foxy-ui .fx-session-dialog .fx-camera-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .foxy-ui .fx-session-dialog .fx-camera-actions .fx-button { padding:10px; font-size:12px; }
}
/* Record actions share one centre line, including long or wrapped titles. */
html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; }
html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title-label { width:auto; min-width:0; }
html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title-label>:is(.redirect-info-header,.pages-info-header) { flex:1; min-width:0; }
html[data-foxy-design=studio] .foxy-ui #root .fx-record-chevron { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:1px solid var(--fx-line); border-radius:10px; box-sizing:border-box; }
html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title>.red-btn { position:static; align-self:center; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:auto; min-width:44px; height:44px; min-height:44px; margin:0; padding:10px 12px; border:1px solid var(--fx-line); border-radius:10px; font-size:12px; line-height:20px; }
html[data-foxy-design=studio] .foxy-ui #root .red-btn .fx-delete-label { color:inherit; font:inherit; white-space:nowrap; }
html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title>.red-btn>svg { flex:none; width:16px; height:16px; }
html[data-foxy-design=studio] .foxy-ui .fxo-own-record>.fxa-more-button { display:inline-flex; align-items:center; justify-content:center; min-width:112px; min-height:44px!important; padding:10px 14px; align-self:center; }
html[data-foxy-design=studio] .foxy-ui .fxo-material-state>dt { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html[data-foxy-design=studio] .foxy-ui .fxo-material-state>dd { margin:0; }
html[data-foxy-design=studio] .foxy-ui .fxo-material-state .fxo-role-badge { min-height:44px; box-sizing:border-box; padding:10px; }
@media(max-width:600px) {
  html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title { position:relative; display:block; }
  html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title-label { display:block; width:100%; padding-bottom:56px; }
  html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title>.fx-switch { position:absolute; inset-inline-start:0; bottom:9px; z-index:1; margin:0; }
  html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title .fx-record-chevron { position:absolute; inset-inline-end:148px; bottom:0; margin:0; }
  html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title>.red-btn { position:absolute; inset-inline-end:0; bottom:0; width:140px; max-width:140px; }
  html[data-foxy-design=studio] .foxy-ui #root .redirect-info-title .fx-delete-label { white-space:normal; }
}
/* The archived build names a font that is not shipped. Use the same installed
   sans-serif family everywhere, including native cards and form controls. */
html body.foxy-ui, html body.foxy-ui :is(#root,.fx-main,.fx-full-analytics,.fxo-overview,.Modal) :not(code,pre) { font-family:var(--font-family-base,"Segoe UI",Arial,sans-serif)!important; }
html[data-foxy-design=studio] .foxy-ui .fxo-material-toolbar { grid-template-columns:minmax(0,1fr) minmax(180px,240px); }
html[data-foxy-design=studio] .foxy-ui .fxo-material-search { grid-column:auto; }
html[data-foxy-design=studio] body.foxy-ui .fxo-material-search-field #fxo-material-search:focus { outline:none!important; box-shadow:none!important; border:0!important; }
@container foxy-overview (max-width:720px) {
  html[data-foxy-design=studio] .foxy-ui .fxo-material-toolbar { grid-template-columns:minmax(0,1fr); }
}
.foxy-ui .fx-full-analytics #root .afd-overflow { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); width:100%; max-width:100%; gap:12px; overflow:visible; }
.foxy-ui .fx-full-analytics #root .alf-data { box-sizing:border-box; width:auto; min-width:0; max-width:none; height:auto; margin:0; padding:16px; }
.foxy-ui .fx-full-analytics #root .alf-data p { white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
.foxy-ui .fx-full-analytics #root .alf-data>p:first-child { font-size:14px; font-weight:600; }
.foxy-ui .fx-full-analytics #root :is(.alfd-time,.alfd-info p) { font-size:13px; }
.foxy-ui .fx-full-analytics #root .afd-overflow>.fx-full-empty { grid-column:1/-1; }
.foxy-ui .fx-full-analytics #root .alf-data p.fx-value-empty::after { content:' —'; }
.foxy-ui .fx-full-data-dialog>.fx-full-heading { position:sticky; top:0; z-index:3; background:var(--fx-surface); padding:4px 0 14px; }
/* User metadata spans the card; statistics and controls share its footer.
   Subgrid keeps the native React-owned controls in their original parents. */
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name) {
  display:grid; grid-template-columns:minmax(0,1fr) max-content; grid-template-rows:auto auto; align-items:start; gap:16px; min-width:0;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-info {
  display:grid; grid-column:1/-1; grid-row:1/3; grid-template-columns:subgrid; grid-template-rows:subgrid; width:auto; min-width:0; gap:16px; margin:0;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-info>.fx-admin-fields {
  grid-column:1/-1; grid-row:1; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; min-width:0;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-info>button {
  grid-column:1; grid-row:2; justify-self:start; align-self:center; min-height:44px; margin:0; padding:10px 14px; line-height:22px;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-controll {
  grid-column:2; grid-row:2; align-self:center; display:flex; flex-direction:row; align-items:center; justify-content:flex-end; gap:8px; width:auto; min-width:0; max-width:100%; padding:0; margin:0;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-controll>button {
  display:inline-flex; flex:none; align-items:center; justify-content:center; gap:8px; width:max-content; min-width:44px; min-height:44px; height:auto; margin:0; padding:10px 12px; box-sizing:border-box; border:1px solid var(--fx-line); border-radius:10px; font-size:13px; line-height:22px;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-controll>button.edit-btn { width:44px; padding:10px; flex:none; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-controll>button>svg { flex:none; width:16px; height:16px; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-controll .fx-delete-label { min-width:0; white-space:normal; overflow-wrap:anywhere; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name) .admin-toggle { display:flex; flex:none; align-items:center; justify-content:center; width:44px; min-height:44px; margin:0 8px 0 0; padding:0; }
@media(max-width:1100px) {
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-info>.fx-admin-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name) { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:12px; }
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-info>.fx-admin-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-info>button { justify-self:stretch; width:100%; }
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-controll { grid-column:1; grid-row:3; display:grid; grid-template-columns:44px 44px minmax(0,1fr); align-items:stretch; justify-content:stretch; width:100%; }
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name) .admin-toggle { margin:0; }
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-card:has(>.admin-info>.admin-info-name)>.admin-controll>.red-btn { width:100%; min-width:0; }
}

/* Settings filters and counts use the same flow in every management tab. */
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-head { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-search-form { width:100%; min-width:0; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-search-form>div:first-child { width:100%; max-width:none; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-head>.fx-admin-counts,
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-head>.info-head { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:8px; width:100%; min-width:0; margin:0; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .fx-admin-counts>.fx-admin-count { display:inline-flex; align-items:center; max-width:100%; margin:0; padding:6px 10px; border:1px solid var(--fx-line); border-radius:8px; background:var(--fx-subtle); color:var(--fx-muted); font-size:13px; line-height:20px; overflow-wrap:anywhere; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-select-inputs { grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); align-items:end; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-select-inputs>div { align-items:stretch; min-width:0; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .date-picker-container { display:flex; flex-direction:column; align-items:stretch; width:auto; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .date-picker-container>label { text-align:start; align-self:stretch; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane :is(.calendar-wrapper,.react-datepicker-wrapper,.react-datepicker__input-container) { width:100%; min-width:0; max-width:100%; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-head button.fx-admin-create { max-width:100%; white-space:normal; }

/* Mirrored link and directory records keep actions below full-width metadata. */
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .fx-admin-record-card { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .fx-admin-record-card>.admin-info { display:block; min-width:0; width:100%; line-height:1.6; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .fx-admin-record-card>.admin-info>.fx-admin-fields { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:12px; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .fx-admin-record-card>.admin-controll { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-end; justify-self:end; max-width:100%; margin:0; padding:0; gap:8px; }
@media(max-width:1100px) {
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .fx-admin-record-card>.admin-info>.fx-admin-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-search-form:has(>.admin-select-inputs>:only-child) { grid-template-columns:minmax(0,1fr); }
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-select-inputs { grid-template-columns:minmax(0,1fr); }
}

/* Calls: filter controls above a wrapping summary instead of a tall side rail. */
.foxy-ui .fx-settings-surface #root .fx-admin-calls .admin-head { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.foxy-ui .fx-settings-surface #root .fx-admin-calls .admin-search-form>div:first-child { max-width:none; }
.foxy-ui .fx-settings-surface #root .fx-admin-calls .admin-head>.admin-search-form+div { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start; max-width:100%; min-width:0; }
.foxy-ui .fx-settings-surface #root .fx-admin-calls .admin-head>.admin-search-form+div>p { margin:0; padding:6px 10px; background:var(--fx-subtle); border:1px solid var(--fx-line); border-radius:8px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; max-width:100%; }
/* Details occupy the complete record width, not one 150px metadata column. */
.foxy-ui .fx-settings-surface #root .fx-admin-pane .admin-info>.inner-div { grid-column:1/-1; width:100%; max-width:100%; min-width:0; margin:0; }
.foxy-ui #root .inner-div.inner-active>.inner-content:has(>.call-info-main) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); align-items:start; gap:12px; width:100%; box-sizing:border-box; padding:12px; }
.foxy-ui #root .call-info-main { box-sizing:border-box; width:100%; max-width:100%; min-width:0; padding:12px; margin:0; }
.foxy-ui #root .call-info-main table { display:table; width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; }
.foxy-ui #root .call-info-main tbody { display:table-row-group; }
.foxy-ui #root .call-info-main tr { display:table-row; }
.foxy-ui #root .call-info-main :is(th,td) { display:table-cell; padding:10px 8px; line-height:1.5; vertical-align:top; text-align:start; font-size:14px; }
.foxy-ui #root .call-info-main th { width:88px; white-space:normal; word-break:normal; overflow-wrap:normal; font-weight:500; color:var(--fx-muted); }
.foxy-ui #root .call-info-main td { width:auto; white-space:normal; word-break:normal; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.foxy-ui .fx-settings-surface #root .fx-admin-calls .admin-controll { align-self:flex-start; }
@media(max-width:600px) {
  .foxy-ui .fxo-material-toolbar { grid-template-columns:minmax(0,1fr); }
  .foxy-ui #root .call-info-main { padding:8px; }
  .foxy-ui #root .call-info-main :is(th,td) { padding:10px 6px; font-size:13px; }
  .foxy-ui #root .call-info-main th { width:70px; }
  .foxy-ui .fx-full-analytics #root .alf-data-div { padding:12px; }
}
html body [hidden]:not([hidden="until-found"]) { display:none!important; }
.foxy-ui .fxo-people-pager { border-top:1px solid var(--fx-line); padding:18px 20px; }
.foxy-ui .fxo-search { scroll-margin-top:90px; }
.foxy-ui .fxo-people-table td { overflow-wrap:anywhere; }
.fx-users-pagination { display:flex!important; flex-wrap:wrap; align-items:center; gap:12px; width:100%; max-width:100%; box-sizing:border-box; padding:16px 0; margin:0 0 16px; border-bottom:1px solid var(--fx-line,var(--border-primary)); }
.fx-users-pagination>.fxo-page-count { flex:1 1 100%; font-size:13px; line-height:1.5; color:var(--fx-muted,var(--text-secondary)); }
.fx-users-pagination>.fxo-page-nav { display:flex; gap:8px; flex-wrap:wrap; }
.fx-users-pagination .fxo-page-nav>button { min-height:44px; width:auto!important; min-width:76px; padding:8px 12px!important; border:1px solid var(--fx-line,var(--border-primary)); border-radius:9px; background:var(--fx-subtle,var(--bg-secondary)); color:var(--fx-text,var(--text-primary)); font-size:13px!important; }
.fx-users-pagination .fxo-page-nav>button:disabled { opacity:.4; cursor:default; }
.fx-users-pagination>.fxo-page-size { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; font-size:13px; width:auto; min-width:0; }
.fx-users-pagination .fxo-page-size :is(select,.fx-select-control) { width:80px!important; min-width:80px!important; max-width:80px!important; margin:0; }
.fx-users-pagination .fx-select-trigger { min-height:44px; padding:8px 10px!important; }
.foxy-ui .fx-offline-map { position:relative; padding-bottom:70px; }
.foxy-ui .fx-offline-map>.fx-chart-expand { position:absolute; bottom:16px; right:20px; width:auto; min-height:44px; padding:10px 16px; border:1px solid var(--fx-line); border-radius:10px; background:var(--fx-subtle); color:var(--fx-text); }
.foxy-ui.fx-chart-open { overflow:hidden; }
.foxy-ui .fx-chart-expanded::backdrop { background:#101722bd; backdrop-filter:blur(4px); }
html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-expanded {
  position:fixed!important; inset:16px!important; margin:0!important;
  width:calc(100vw - 32px)!important; height:calc(100dvh - 32px)!important;
  max-width:none!important; max-height:none!important; min-height:0!important;
  box-sizing:border-box; border:1px solid var(--fx-line); border-radius:18px;
  background:var(--fx-surface); color:var(--fx-text); z-index:2147483001;
  padding:0 24px 24px!important; overflow:auto; overscroll-behavior:contain;
}
html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-expanded>.fx-chart-modal-head {
  position:sticky; top:0; z-index:2000; display:flex; align-items:center; justify-content:space-between;
  align-self:stretch; gap:18px; flex:none; grid-column:1/-1;
  padding:14px 0; min-height:68px; margin:0 0 16px; width:100%;
  box-sizing:border-box; background:var(--fx-surface); border-bottom:1px solid var(--fx-line);
}
html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-modal-head strong { font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-modal-head>.fx-chart-close {
  position:static!important; flex:none; width:auto!important; height:auto!important;
  min-width:104px; min-height:44px; margin:0; padding:10px 14px!important;
  background:var(--fx-subtle); color:var(--fx-text); border:1px solid var(--fx-line);
  border-radius:10px; font:600 14px/1.4 system-ui!important; cursor:pointer;
}
html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-expanded>.click-heatmap__title { display:none!important; }
html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-expanded>.fx-chart-expand { display:none!important; }
html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-offline-map.fx-chart-expanded { display:flex!important; flex-direction:column; align-items:stretch; }
.foxy-ui .fx-offline-map.fx-chart-expanded .fx-map-viewport { flex:1; min-height:220px; height:auto; }
.foxy-ui .fx-offline-map.fx-chart-expanded .fx-map-viewport svg { width:100%; height:100%; }
.foxy-ui .fx-offline-map.fx-chart-expanded .fx-full-heading { flex-wrap:wrap; }
.foxy-ui .fx-full-analytics .fx-chart-expanded :is(canvas,.fx-map-viewport) { min-height:0; }
html[data-foxy-design] .foxy-ui .fx-full-analytics :is(#root,.fx-section-analytics) .fx-section-chart-grid>.fx-chart-expanded { grid-template-rows:auto auto minmax(0,1fr) auto auto auto; }
.foxy-ui .fx-full-analytics .fx-map-empty { pointer-events:none; }
@media(max-width:600px) {
  html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-expanded { inset:8px!important; width:calc(100vw - 16px)!important; height:calc(100dvh - 16px)!important; padding:0 14px 16px!important; border-radius:12px; }
  html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-expanded>.fx-chart-modal-head { gap:10px; min-height:64px; }
  html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-modal-head strong { font-size:14px; }
  html[data-foxy-design] .foxy-ui .fx-full-analytics .fx-chart-modal-head>.fx-chart-close { min-width:94px; }
  .foxy-ui .fxo-people-pager { padding:16px 12px; }
  .foxy-ui .fx-map-controls { flex-wrap:wrap; }
}

/* Form actions keep their intrinsic text width instead of shrinking into letters. */
html[data-foxy-design=studio] .foxy-ui #root :is(.settings-spoiler-form form,.redirect-comment form,.call-comment form,.choose-domen-or-ip form)>button {
  flex-shrink:0; word-break:normal; overflow-wrap:normal; white-space:normal;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root [data-setting=telegramId] form {
  display:flex; flex-flow:row wrap; align-items:end; gap:12px;
}
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root [data-setting=telegramId] form>div { flex:1 1 240px; width:auto; min-width:0; }
html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root [data-setting=telegramId] form>button {
  flex:0 0 auto; width:max-content; max-width:100%; min-height:48px; padding:12px 20px; line-height:22px;
}
html[data-foxy-design=studio] .foxy-ui .Modal:not(.fx-statistics) .modal-btns {
  display:flex; flex-wrap:wrap; align-items:stretch; justify-content:flex-end; gap:12px;
}
html[data-foxy-design=studio] .foxy-ui .Modal:not(.fx-statistics) .modal-btns>button {
  flex:0 0 auto; width:max-content; max-width:100%; height:auto; min-height:48px;
  white-space:normal; word-break:normal; overflow-wrap:normal; line-height:22px;
}

/* Keep the country list scrollable; custom fields share the dialog's main scroll. */
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] {
  display:block; box-sizing:border-box; width:min(600px,calc(100vw - 32px))!important; max-width:calc(100vw - 32px)!important; height:auto; max-height:calc(100dvh - 32px);
  overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scroll-padding-block:20px 100px;
  padding:24px; border-radius:20px;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] .user-create-head { margin:0 0 20px; padding:0 0 16px; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] .user-create-head h2 { margin:0; overflow-wrap:break-word; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>:is(.fx-country-search,.fx-country-bulk) { padding:0 0 12px!important; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.fx-country-bulk>button {
  box-sizing:border-box; display:block; width:100%; height:auto; min-height:48px; margin:0; padding:12px 16px!important;
  color:var(--fx-on-accent)!important; font-size:14px!important; line-height:22px; font-weight:600;
  white-space:normal; word-break:normal; overflow-wrap:normal;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.fx-country-list {
  max-height:clamp(120px,30dvh,240px)!important; padding:0!important; margin:0 0 12px!important;
  overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]:has(>.user-create-form)>.fx-country-list { max-height:160px!important; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] .fx-country-option {
  display:grid!important; grid-template-columns:28px minmax(0,1fr) 30px 44px; align-items:center!important;
  gap:10px; min-height:56px; padding:6px 4px!important; margin:0!important;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] .fx-country-name {
  min-width:0; white-space:normal!important; overflow-wrap:anywhere; line-height:1.4; text-align:start;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] .fx-country-code { width:auto!important; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] .fx-country-option>button {
  box-sizing:border-box; display:grid!important; place-items:center; width:44px!important; min-width:44px;
  height:44px!important; min-height:44px; margin:0; padding:0!important; line-height:1; font-size:22px!important;
  border-radius:10px!important; color:var(--fx-text)!important;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.fx-country-custom-toggle { margin:0!important; padding:8px 0!important; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.fx-country-custom-toggle>button {
  width:auto; max-width:100%; min-height:44px; margin:0; padding:8px 0!important; white-space:normal; text-align:start;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.user-create-form { height:auto; max-height:none; overflow:visible; padding:0; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.user-create-form form { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:0; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.user-create-form form>div { display:flex; flex-direction:column; gap:6px; margin:0; min-width:0; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; }
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.modal-btns {
  position:sticky; bottom:-24px; margin:16px 0 -24px; padding:16px 0 24px; background:var(--fx-surface); z-index:2;
}
html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.modal-btns>button { flex:1 1 120px; }
@media(max-width:600px) {
  html[data-foxy-design=studio] .foxy-ui .fx-settings-surface #root [data-setting=telegramId] form>button { width:100%; }
  html[data-foxy-design=studio] .foxy-ui .Modal:not(.fx-statistics) .modal-btns>button { flex:1 1 120px; }
  html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] { padding:16px!important; }
  html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker] .fx-country-option { gap:6px; grid-template-columns:28px minmax(0,1fr) 26px 44px; }
  html[data-foxy-design=studio] .foxy-ui .Modal[data-fx-country-picker]>.modal-btns { bottom:-16px; margin-bottom:-16px; padding-bottom:16px; }
}

/* All settings editors share one bounded body and persistent action row. */
html:has([data-fx-settings-dialog]), body:has([data-fx-settings-dialog]) { overflow:hidden!important; }
html .foxy-ui .Modal[data-fx-settings-dialog]:not([data-fx-country-picker]) {
  box-sizing:border-box; width:min(560px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important; max-height:calc(100dvh - 32px)!important;
  display:flex; flex-direction:column; overflow:hidden!important; padding:24px!important;
}
html .foxy-ui .Modal[data-fx-settings-dialog].country-edit-modal { width:min(1040px,calc(100vw - 32px))!important; }
html .foxy-ui .Modal[data-fx-settings-dialog]:not([data-fx-country-picker])>.user-create-head {
  flex:none; margin:0 0 20px; padding:0 0 16px; min-width:0;
}
html .foxy-ui .Modal[data-fx-settings-dialog] h2 { margin:0; font-size:24px; line-height:1.3; white-space:normal; word-break:normal; overflow-wrap:anywhere; }
html .foxy-ui .Modal[data-fx-settings-dialog]:not([data-fx-country-picker])>.user-create-form {
  flex:0 1 auto; min-height:0; width:100%; min-width:0; margin:0; padding:0 4px 4px 0;
  overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scroll-padding:8px;
}
html .foxy-ui .Modal[data-fx-settings-dialog] .user-create-form form { width:100%; min-width:0; margin:0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .user-create-form form>div { min-width:0; margin:0 0 16px; }
html .foxy-ui .Modal[data-fx-settings-dialog] .user-create-form form>div:last-child { margin-bottom:0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .user-create-form label:not(.country-panel-item) {
  display:block; margin:0 0 6px; max-width:100%; line-height:1.5; white-space:normal; word-break:normal; overflow-wrap:anywhere;
}
html .foxy-ui .Modal[data-fx-settings-dialog] input:not([type=checkbox]):not([type=file]),
html .foxy-ui .Modal[data-fx-settings-dialog] textarea {
  box-sizing:border-box; width:100%; min-width:0; max-width:100%; min-height:48px; padding:10px 12px!important; line-height:22px;
}
html .foxy-ui .Modal[data-fx-settings-dialog] .fx-select-control { width:100%; min-width:0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .fx-select-trigger {
  min-width:0; height:auto; min-height:48px; padding:10px 12px!important; line-height:22px;
}
html .foxy-ui .Modal[data-fx-settings-dialog] .fx-select-value { white-space:normal; overflow:visible; text-overflow:clip; word-break:normal; overflow-wrap:anywhere; }
html .foxy-ui .Modal[data-fx-settings-dialog] .custom-file-input-wrapper { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-width:0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .choose-file-btn { flex:0 0 auto; width:auto; max-width:100%; min-height:48px; height:auto; margin:0; padding:10px 16px; white-space:normal; word-break:normal; overflow-wrap:normal; line-height:22px; }
html .foxy-ui .Modal[data-fx-settings-dialog] .file-name-label { flex:1 1 160px; min-width:0; margin:0; white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
html .foxy-ui .Modal[data-fx-settings-dialog]:not([data-fx-country-picker])>.modal-btns { flex:none; margin:20px 0 0; padding:16px 0 0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .modal-btns>button { min-width:0; padding:12px 20px; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panels-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-width:0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel { min-width:0; padding:16px; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel-header { align-items:flex-start; gap:12px; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel-header>div { min-width:0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel-header h4 { white-space:normal; overflow-wrap:anywhere; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel-list { max-height:none; overflow:visible; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel-item { display:flex; align-items:center; gap:12px; min-width:0; margin:0; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel-item-main { flex:1; min-width:0; white-space:normal; overflow-wrap:anywhere; }
html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel-item-main :is(span,small) { white-space:normal; overflow:visible; overflow-wrap:anywhere; }
html[lang=ar] .foxy-ui .Modal[data-fx-settings-dialog] { direction:rtl; text-align:start; }
html[lang=ar] .foxy-ui .Modal[data-fx-settings-dialog] input:is([name=domain],[name=originalUrl],[name=color],[name=unique],[name=telegram_id],[name=uid]) { direction:ltr; text-align:start; }
@media(max-width:600px) {
  html .foxy-ui .Modal[data-fx-settings-dialog]:not([data-fx-country-picker]) { padding:16px!important; }
  html .foxy-ui .Modal[data-fx-settings-dialog] h2 { font-size:22px; }
  html .foxy-ui .Modal[data-fx-settings-dialog] .modal-btns>button { flex:1 1 100px; padding:12px; }
  html .foxy-ui .Modal[data-fx-settings-dialog] .country-panels-grid { grid-template-columns:minmax(0,1fr); }
  html .foxy-ui .Modal[data-fx-settings-dialog] .country-panel { padding:12px; }
}
@media(max-height:500px) {
  html .foxy-ui .Modal[data-fx-settings-dialog]:not([data-fx-country-picker])>.user-create-head { margin-bottom:12px; padding-bottom:10px; }
  html .foxy-ui .Modal[data-fx-settings-dialog]:not([data-fx-country-picker])>.modal-btns { margin-top:12px; padding-top:10px; }
}
