#notification-panel {
    width: calc(97% + 14px);
    max-height: 400px;
    display: none;
    margin: 5px 0 20px 0;
}

#notification-panel.has-notifications {
    display: block;
}

#notification-list {
    max-height: 400px;
    overflow-y: auto;
}

.notification-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px 15px;
    margin-bottom: 8px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-family: Arial, Helvetica, sans-serif;
    animation: fadeIn 0.3s ease;
}

.notification-item:last-child {
    margin-bottom: 0;
}

.notif-content {
    flex: 1;
}

.notif-message {
    font-size: 14px;
    line-height: 1.4;
    color: inherit;
}

.notif-close {
    background: none;
    border: none;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    cursor: pointer;
    color: inherit;
    opacity: 0.5;
    padding: 0 0 0 12px;
}

.notif-close:hover {
    opacity: 0.9;
}

.notification-running {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.notification-success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.notification-failed {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

.notification-idle {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc;
}

.notif-icon {
    flex: none;
    display: flex;
    align-items: center;
    margin-right: 10px;
    color: inherit;
}

.notif-icon svg {
    display: block;
}

.notif-icon-running svg {
    animation: notif-spin 0.9s linear infinite;
    transform-origin: center;
}

@keyframes notif-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .notif-icon-running svg {
        animation: none;
    }
}

