/* One loading language: attached to the shell, or contained by the work area.
   Percentage widths are reserved for real job progress. Request rails are indeterminate. */
#fe-activity-dock {
  position:fixed; top:var(--fe-activity-top,56px); left:var(--fe-activity-left,0px);
  right:var(--fe-activity-right,0px); z-index:190; pointer-events:none;
  color:var(--fe-ink,#e7eef5); background:var(--fe-surface,#121a22);
}
#fe-activity-dock > * { pointer-events:auto; }
html[data-fe-activity-ready] body #main-content.main-content,
html[data-fe-activity-ready] body #landing-main {
  padding-top:calc(var(--fe-main-rest-padding,0px) + var(--fe-activity-height,0px)) !important;
}
html[data-fe-activity-ready] body .fe-members-page #bulk-bar,
html[data-fe-activity-ready] body .fe-mod-page #bulk-bar {
  top:calc(var(--fe-activity-top,56px) + var(--fe-activity-height,0px) + 8px) !important;
}
html[data-fe-activity-ready] #fe-activity-dock #fe-report-analysis-banner,
#fe-activity-dock .fe-stage-loader {
  position:relative !important; inset:auto !important; transform:none !important;
  width:100% !important; max-width:none !important; height:auto !important; min-height:42px;
  box-sizing:border-box; margin:0 !important; padding:8px 16px !important;
  display:flex; align-items:center; gap:12px;
  border:0 !important; border-bottom:1px solid var(--fe-line,#2c3d49) !important;
  border-radius:0 !important; background:var(--fe-surface,#121a22) !important;
  box-shadow:none !important; backdrop-filter:none !important; animation:none !important;
  opacity:1 !important; font:500 13px/1.5 var(--fe-font-ui,system-ui,sans-serif);
}
#fe-activity-dock #fe-report-analysis-banner[hidden] { display:none !important; }
#fe-activity-dock .fe-stage-loader__mark {
  flex:0 0 12px; width:12px; height:12px; padding:0; margin:0; border:0;
  border-radius:2px; background:var(--fe-interaction,#18d5c6); box-shadow:none;
  clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
  animation:fe-activity-turn 2s linear infinite;
}
#fe-activity-dock .fe-stage-loader__content { display:flex; flex:1; flex-wrap:wrap; align-items:baseline; gap:4px 12px; min-width:0; }
#fe-activity-dock .fe-stage-loader__title { color:var(--fe-interaction,#18d5c6); font-size:13px; font-weight:750; white-space:normal; overflow-wrap:anywhere; }
#fe-activity-dock .fe-stage-loader__meta { display:flex; flex:1 1 auto; flex-wrap:wrap; gap:4px 12px; min-width:0; width:auto; max-width:none; color:var(--fe-muted,#a7bac9); font-size:13px; }
#fe-activity-dock .fe-stage-loader__meta > * { display:inline; flex:0 1 auto; width:auto; min-width:0; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:none; font:inherit; color:inherit; white-space:normal; }
#fe-activity-dock .fe-stage-loader__meta > *::before { content:none; }
#fe-activity-dock .fe-stage-loader__elapsed { font-variant-numeric:tabular-nums; }
#fe-activity-dock .fe-stage-loader__eta:empty { display:none; }
#fe-activity-dock .fe-stage-loader__cancel,
#fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__link {
  flex:0 0 auto; min-height:32px; padding:4px 12px !important; border:1px solid var(--fe-line,#2c3d49);
  border-radius:6px !important; color:var(--fe-ink,#e7eef5) !important; background:transparent !important;
  font:650 12px/1.4 var(--fe-font-ui,system-ui,sans-serif); cursor:pointer;
}
#fe-activity-dock .fe-stage-loader__cancel[hidden] { display:none; }
#fe-activity-dock :is(a,button):focus-visible { outline:2px solid var(--fe-interaction,#18d5c6); outline-offset:2px; }
#fe-activity-dock .fe-stage-loader__rail {
  position:absolute; bottom:0; left:0; right:0; width:100%; height:2px;
  margin:0; border:0; border-radius:0; overflow:hidden; background:var(--fe-line,#2c3d49);
}
#fe-activity-dock .fe-stage-loader__rail > span {
  display:block; height:100%; width:32%; background:var(--fe-interaction,#18d5c6);
  border-radius:0; box-shadow:none; animation:fe-activity-sweep 1.8s ease-in-out infinite;
}
#fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__main { flex:1; min-width:0; }
#fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__copy { flex-wrap:wrap; gap:3px 12px !important; }
#fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__title { max-width:none !important; white-space:normal !important; overflow-wrap:anywhere; }
#fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__meta { flex-wrap:wrap; gap:3px 10px; }
#fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__meta span { display:inline !important; white-space:normal; }
#fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__progress { height:2px !important; }
/* Inline states stay beside their result; no floating overlay and no change to hx-indicator visibility. */
body .fe-loading-status {
  position:relative; box-sizing:border-box; padding:10px 14px; min-height:42px;
  border:0; border-bottom:2px solid var(--fe-interaction,#18d5c6); border-radius:0;
  background:var(--fe-surface,#121a22); color:var(--fe-ink,#e7eef5);
  box-shadow:none; font-size:13px; line-height:1.5; text-align:left;
  max-width:100%; overflow-wrap:anywhere;
}
body .fe-loading-status.htmx-indicator { animation:none !important; }
body :is(.htmx-request .fe-loading-status.htmx-indicator,.fe-loading-status.htmx-request) { display:block; flex:1 1 240px; }
body .fe-loading-status > svg { width:14px !important; height:14px !important; margin:0 6px 0 0 !important; }
body #page-loading.fe-loading-status { padding:12px 16px !important; text-align:left !important; border-radius:0 !important; }
html[data-theme] body[data-fe-design-system] #pipeline-banner.fe-loading-status { padding:12px 16px !important; border:0 !important; border-bottom:1px solid var(--fe-line) !important; border-radius:0 !important; box-shadow:none !important; background:var(--fe-surface) !important; }
body #pipeline-banner .fe-progress-rail { height:2px !important; border-radius:0; }
html[data-theme] body[data-fe-design-system] #analysis-status .fe-analysis-progress { height:2px !important; border-radius:0 !important; box-shadow:none; }
html[data-theme] body[data-fe-design-system] #main-content #admin-backup-action-status.fe-backup-feedback:not(:empty) {
  position:relative; inset:auto; max-width:100%; width:100%; margin:12px 0;
  border-radius:0; border-bottom:2px solid var(--fe-interaction); box-shadow:none;
}
/* A stale/withheld/failed snapshot is not an active loading job. Keep those treatments intact. */
body .fe-projection-state--warming { border-radius:0; box-shadow:none; border-bottom:2px solid var(--fe-interaction); }
html[data-motion="reduce"] #fe-activity-dock *, html[data-motion="reduce"] body .fe-loading-status > svg { animation:none !important; transition:none !important; }
html[data-motion="reduce"] #fe-activity-dock .fe-stage-loader__rail > span { width:100%; opacity:.65; }
@keyframes fe-activity-sweep { 0% { transform:translateX(-110%); } 100% { transform:translateX(420%); } }
@keyframes fe-activity-turn { to { transform:rotate(360deg); } }
@media(max-width:1024px) { html.fe-nav-open #fe-activity-dock { visibility:hidden; } }
@media(max-width:768px) {
  #fe-activity-dock .fe-stage-loader, html[data-fe-activity-ready] #fe-activity-dock #fe-report-analysis-banner { padding:8px 12px !important; gap:10px; }
  #fe-activity-dock .fe-stage-loader__content { display:block; }
  #fe-activity-dock .fe-stage-loader__meta { gap:2px 8px; font-size:12px; }
  #fe-activity-dock .fe-stage-loader__cancel, #fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__link { min-height:44px; max-width:112px; white-space:normal; text-align:center; }
  #fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__kicker { display:block !important; }
  #fe-activity-dock #fe-report-analysis-banner .fe-report-analysis-banner__copy { flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
  #fe-activity-dock *, body .fe-loading-status > svg { animation:none !important; transition:none !important; }
  #fe-activity-dock .fe-stage-loader__rail > span { width:100%; opacity:.65; }
}
