/* ===== ANNOUNCEMENTS BAR ===== */

.ann-bar {
    display: flex;
    flex-direction: column;
    width: 100%;
    position: relative;
    z-index: 9989;
}

/* Per-item */
.ann-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1.25rem;
    font-size: 0.88rem;
    line-height: 1.45;
    animation: annSlideDown 0.3s ease;
}

/* Level backgrounds */
.ann-item--info {
    background: linear-gradient(135deg, rgba(59,130,246,0.13), rgba(59,130,246,0.07));
    border-bottom: 1px solid rgba(59,130,246,0.22);
}
.ann-item--success {
    background: linear-gradient(135deg, rgba(34,197,94,0.13), rgba(34,197,94,0.07));
    border-bottom: 1px solid rgba(34,197,94,0.22);
}
.ann-item--warning {
    background: linear-gradient(135deg, rgba(245,158,11,0.14), rgba(245,158,11,0.07));
    border-bottom: 1px solid rgba(245,158,11,0.25);
}
.ann-item--critical {
    background: linear-gradient(135deg, rgba(239,68,68,0.18), rgba(239,68,68,0.09));
    border-bottom: 2px solid rgba(239,68,68,0.38);
}

/* Icon */
.ann-item__icon {
    font-size: 1rem;
    flex-shrink: 0;
    width: 1.2rem;
    text-align: center;
}
.ann-item--info .ann-item__icon     { color: #60a5fa; }
.ann-item--success .ann-item__icon  { color: #4ade80; }
.ann-item--warning .ann-item__icon  { color: #fbbf24; }
.ann-item--critical .ann-item__icon { color: #f87171; animation: annIconPulse 1.5s ease-in-out infinite; }

/* Message */
.ann-item__message {
    flex: 1;
    color: var(--text-primary, #e2e8f0);
    min-width: 0;
}

/* Dismiss button */
.ann-item__dismiss {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.08);
    border: none;
    border-radius: 5px;
    color: rgba(255,255,255,0.45);
    font-size: 0.7rem;
    cursor: pointer;
    transition: background 0.18s, color 0.18s;
}
.ann-item__dismiss:hover {
    background: rgba(255,255,255,0.18);
    color: #fff;
}

/* Animations */
@keyframes annSlideDown {
    from { opacity: 0; transform: translateY(-60%); }
    to   { opacity: 1; transform: translateY(0); }
}

.ann-item--removing {
    animation: annSlideOut 0.28s ease forwards;
    overflow: hidden;
}

@keyframes annSlideOut {
    0%   { opacity: 1; max-height: 80px; padding-top: 0.6rem; padding-bottom: 0.6rem; }
    100% { opacity: 0; max-height: 0;    padding-top: 0;       padding-bottom: 0; }
}

@keyframes annIconPulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.5; }
}

/* Light theme */
[data-theme="light"] .ann-item--info    { background: linear-gradient(135deg, rgba(59,130,246,0.09), rgba(59,130,246,0.04)); }
[data-theme="light"] .ann-item--success { background: linear-gradient(135deg, rgba(34,197,94,0.09), rgba(34,197,94,0.04)); }
[data-theme="light"] .ann-item--warning { background: linear-gradient(135deg, rgba(245,158,11,0.1), rgba(245,158,11,0.05)); }
[data-theme="light"] .ann-item--critical{ background: linear-gradient(135deg, rgba(239,68,68,0.1), rgba(239,68,68,0.05)); }
[data-theme="light"] .ann-item__message { color: var(--text-primary, #1e293b); }
[data-theme="light"] .ann-item__dismiss { background: rgba(0,0,0,0.06); color: rgba(0,0,0,0.38); }
[data-theme="light"] .ann-item__dismiss:hover { background: rgba(0,0,0,0.13); color: #111; }

/* Mobile */
@media (max-width: 768px) {
    .ann-item { padding: 0.5rem 1rem; font-size: 0.82rem; gap: 0.6rem; }
}
