/* Shared readable text and compact-control behavior. Load after styles.css.
 * Uses existing palette tokens; no new theme or JavaScript dependency. */
.field-hint,
.microcopy,
.optional {
    color: var(--ink-3);
}

/* Labels describe evidence and must survive narrow cards and text scaling. */
.badge {
    max-inline-size: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}
/* In a table, "anywhere" lets an auto-sized column shrink to one character and
 * split a status word ("Pas/s"). break-word keeps each word whole and still
 * breaks one that cannot fit on a line of its own. */
.table .badge { overflow-wrap: break-word; }
.badge::before { flex: none; }

/* Keep dismissal easy to aim at, without expanding an entire toolbar. */
.flash-dismiss {
    min-inline-size: 32px;
    min-block-size: 32px;
    flex: none;
}
@media (pointer: coarse) {
    .flash-dismiss, .password-toggle {
        min-inline-size: 44px;
        min-block-size: 44px;
    }
}
