/* Shared list presentation for management, engineers and office panels. */
.table > tbody > tr > td { vertical-align: middle; }
.table > tbody > tr.is-expired > td {
    background-color: #f8fafc;
    color: #526273;
}
.table > tbody > tr.is-expired:hover > td { background-color: #eef3f7; }
.table .list-validity { white-space: nowrap; }
.table .list-date {
    display: block;
    font-variant-numeric: tabular-nums;
}
.table .list-expiry-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    padding: 2px 8px;
    border: 1px solid #d9e1e8;
    border-radius: 12px;
    background: #eef2f6;
    color: #526273;
    font-size: 11px;
    line-height: 20px;
}
/* Existing Bootstrap labels in lists use the same visual vocabulary. */
.table .list-status,
.table .label {
    display: inline-block;
    padding: 4px 10px;
    border: 0;
    border-radius: 6px;
    font-size: 12px;
    line-height: 22px;
    white-space: nowrap;
}
.table .list-status,
.table .list-status--neutral,
.table .label-default { background: #f0f3f6; color: #526273; }
.table .list-status--success,
.table .label-success { background: #eaf5ef; color: #286048; }
.table .list-status--info,
.table .label-info,
.table .label-primary { background: #eaf4fb; color: #285c7a; }
.table .list-status--warning,
.table .label-warning { background: #fff5df; color: #805c17; }
.table .list-status--danger,
.table .label-danger { background: #fbecee; color: #963c4a; }
.table .list-status > a,
.table .label > a {
    color: inherit;
    text-decoration: underline dotted;
    text-underline-offset: 3px;
}
.table a.label:hover,
.table a.label:focus { text-decoration: underline; }
.table .list-actions {
    width: 100px;
    text-align: center;
    white-space: nowrap;
}
.table .list-action,
.table a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    border-radius: 6px;
}
.table .list-action {
    padding: 6px 12px;
    border: 1px solid #c4e5ed;
    background: #f0f9fb;
    color: #12647a;
    line-height: 22px;
    text-decoration: none;
}
.table .list-action:hover {
    border-color: #8dc9d7;
    background: #e2f3f7;
    color: #075c70;
}
.table .list-action:focus {
    outline: 2px solid #087b93;
    outline-offset: 2px;
}
.table .list-no-action { color: #718096; }

/* Consistent action groups, including optional expandable explanations. */
.table .list-action-group {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}
.table .list-action-group > .list-action,
.table .list-action-details > summary {
    width: 100%;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
}
.table .list-action--secondary {
    border-color: #dce3e9;
    background: #f6f8fa;
    color: #526273;
}
.table .list-action--secondary:hover {
    border-color: #bccbd6;
    background: #edf2f6;
    color: #344b60;
}
.table .list-action-details > summary {
    list-style: none;
}
.table .list-action-details > summary::-webkit-details-marker {
    display: none;
}
.table .list-action-description {
    min-width: 150px;
    max-width: 260px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid #e1e7ed;
    border-radius: 6px;
    background: #f8fafc;
    color: #42576b;
    text-align: right;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.8;
}
