/* Hub announcements banner — see app/static/js/shared/announcements.js.
   Centrally-authored notices pulled from the Elton DataUtils Hub. */

.hub-ann-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* Flush with the page content (no extra horizontal inset); bottom margin
   matches the section rhythm below it. */
.hub-ann-wrap:not(:empty) {
    margin-bottom: 24px;
}

.hub-ann {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid var(--color-border, #e5e7eb);
    border-left-width: 4px;
    border-radius: 8px;
    padding: 10px 12px;
    background: var(--color-bg-white, #fff);
    font-size: 13px;
    line-height: 1.5;
}

.hub-ann-icon { flex-shrink: 0; margin-top: 2px; }
.hub-ann-body { flex: 1; min-width: 0; }
.hub-ann-title { font-weight: 600; margin: 0 0 2px; }
.hub-ann-content { color: var(--color-text-secondary, #4b5563); }
.hub-ann-content p { margin: 0 0 6px; }
.hub-ann-content p:last-child { margin-bottom: 0; }
.hub-ann-content a { color: var(--color-primary, #2f6fed); text-decoration: underline; }
.hub-ann-content code {
    background: var(--color-bg-subtle, #f3f4f6);
    padding: 1px 5px; border-radius: 4px; font-size: 12px;
}
.hub-ann-content ul { margin: 4px 0; padding-left: 20px; }

.hub-ann-dismiss {
    flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    color: var(--color-text-muted, #9ca3af);
    font-size: 15px; padding: 2px 4px; line-height: 1;
}
.hub-ann-dismiss:hover { color: var(--color-text-secondary, #4b5563); }

/* Severity accents */
.hub-ann-info     { border-left-color: var(--color-primary, #2f6fed); }
.hub-ann-info .hub-ann-icon { color: var(--color-primary, #2f6fed); }
.hub-ann-warning  { border-left-color: var(--color-warning, #d97706); }
.hub-ann-warning .hub-ann-icon { color: var(--color-warning, #d97706); }
.hub-ann-critical { border-left-color: var(--color-danger, #dc2626); }
.hub-ann-critical .hub-ann-icon { color: var(--color-danger, #dc2626); }
