/* The value written over a magnitude bar on the marketing campaigns page. The bars
   are saturated dark fills in both modes, so the label is white - but the label is
   absolutely positioned and a bar near zero width is narrower than its own text,
   which leaves the number sitting on the page surface. The halo keeps it readable
   there without padding the bar out to a width its value hasn't earned. */
.metric-bar-label {
    color: #fff;
    text-shadow: 0 0 3px rgb(0 0 0 / 90%), 0 1px 2px rgb(0 0 0 / 80%);
}

/* The admin tables follow light/dark through the vapp variables, like the chrome
   around them. They were hardcoded dark - light text on near-black rows - which
   only ever worked in dark mode; `data-table-theme` was a per-page opt-out of
   that and is now what every table gets. The class is kept as a no-op so any
   markup still carrying it is harmless. */
.data-table {
    font-size: 10px;
    font-family: 'Cascadia Mono', Monaco, monospace;
    color: rgb(var(--vapp-text-secondary));
}

.data-table td, .data-table th {
    padding: .3em;
    color: rgb(var(--vapp-text-secondary));
}

.data-table tr {
    border: solid;
    border-width: 1px 0;
    border-color: rgb(var(--vapp-border-default));
}

.data-table tr:nth-child(odd) {
    background-color: rgb(var(--vapp-surface-3));
}

.data-table tr:nth-child(even) {
    background-color: rgb(var(--vapp-elevated-1));
}

/* Row states. These carry meaning, so they use the fixed accent roles - which
   have their own step per mode - rather than a hex picked for a dark row. */
.sync-job-active td {
    color: rgb(var(--vapp-text-primary));
}

.sync-job-complete-success td {
    color: rgb(var(--vapp-accent-success));
}

.sync-job-incomplete td {
    color: rgb(var(--vapp-accent-warning));
}

/* Egress and ingress are two halves of one table, told apart by hue. */
.task-worker-egress td {
    color: rgb(var(--vapp-accent-secondary));
}

.task-worker-ingress td {
    color: rgb(var(--vapp-accent-decorative));
}

.log-line-error td {
    color: rgb(var(--vapp-accent-danger));
}

.log-line-warn td {
    color: rgb(var(--vapp-accent-warning));
}

.log-line-info td {
    color: rgb(var(--vapp-text-secondary));
}

.log-line-debug td {
    color: rgb(var(--vapp-text-muted));
}

/* Was #000: black on a near-black row, so unstyled log lines have been invisible
   in dark mode all along. */
.log-line-default td {
    color: rgb(var(--vapp-text-primary));
}
