/* analysis screen styles: DiscoveryEdge-specific layout on top of css/components (only design-system tokens). */

/* [hidden] must win over the component display rules */
#provider-control[hidden], #cloud-control[hidden], #poll-dot[hidden], #access-status-panel[hidden] { display: none; }
/* the admin pill: boot() hides the button, so hide the pill around it too */
.ae-tb:has(> #admin-toggle[hidden]) { display: none; }

/* access status alert: the request button and its hint sit on one line */
.access-request-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.access-request-hint { font: var(--type-body-sm); color: var(--text-muted); }
#access-status-badge { margin-inline-start: var(--s-1); }

/* upload card */
.ae-file-zone.has-file .ae-file-zone__glyph { color: var(--text-brand); }
.analysis-privacy {
  display: flex; align-items: center; gap: var(--s-2); margin: var(--s-3) 0 0;
  font: var(--type-body-sm); color: var(--text-muted);
}
.analysis-privacy .icon { flex: none; color: var(--text-subtle); }

/* how it works */
.analysis-how { display: grid; gap: var(--s-3); margin: 0; padding: 0; list-style: none; }
.analysis-how li { display: flex; align-items: flex-start; gap: var(--s-3); font: var(--type-body); color: var(--text-body); }
.analysis-how strong { color: var(--text-strong); font-weight: var(--weight-semibold); margin-inline-end: var(--s-1); }
.analysis-how__glyph { display: inline-flex; flex: none; margin-top: 2px; color: var(--text-subtle); }

/* jobs table */
.jobs-file { display: grid; gap: 2px; min-width: 0; }
.jobs-file__name { color: var(--text-strong); overflow-wrap: break-word; } /* a name breaks only when it cannot fit, so the column keeps whole words */
.jobs-sub { font: var(--type-body-sm); color: var(--text-subtle); }
.jobs-sub--error { color: var(--status-danger-fg); }
.jobs-top { display: inline-block; max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
