/* Mensagens e alertas */
.cum-alert {
    background-color: #FFF3CD;
    border: 1px solid #FFE69C;
    border-radius: .5rem;
    color: #664D03;
    margin: 10px auto 0;
    padding: 1rem;
    text-align: center;
}

.cum-alert p {
    margin: 0;
}

.cum-alert a {
    color: #664D03;
    font-weight: bold;
    text-decoration: underline;
}

.cum-notice {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 15px;
    margin: 1rem 0;
    border-radius: .5rem;
    border-left: 4px solid;
    max-width: 400px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 9999;
    animation: cum-notice-fadein 0.5s;
}

.cum-notice p {
    margin: 0;
}

.cum-notice.notice-success {
    background-color: #d1e7dd;
    border-color: #a3cfbb;
    color: #0a3622;
}

.cum-notice.notice-error {
    background-color: #f8d7da;
    border-color: #f1aeb5;
    color: #58151c;
}

.cum-notice.notice-info {
    background-color: #cff4fc;
    border-color: #9eeaf9;
    color: #055160;
}

.cum-notice-dismiss {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    padding: 0;
    margin-left: 10px;
}

.cum-notice-dismiss .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

@keyframes cum-notice-fadein {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes cum-notice-fadeout {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(20px); }
}

.cum-notice.fade-out {
    animation: cum-notice-fadeout 0.5s forwards;
}

/* Formulário de upload */
.custom-upload-form {
    max-width: 600px;
    margin: 20px auto;
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.custom-upload-form .form-group {
    margin-bottom: 15px;
}

.custom-upload-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.custom-upload-form input[type="file"] {
    width: 100%;
    padding: 8px;
}

.file-preview {
    margin-top: 10px;
    padding: 10px;
    background: #f0f0f0;
    border-radius: 4px;
}

.file-preview-item {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px solid #ddd;
}

/* Listagem de arquivos */
.custom-file-list {
    margin-top: 20px;
}

.cum-sorting-options {
    margin-bottom: 15px;
}

.cum-sorting-options a {
    margin-right: 15px;
    text-decoration: none;
    color: #2271b1;
}

.cum-sorting-options a.active {
    font-weight: bold;
    color: #135e96;
}

.custom-file-list table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.custom-file-list th {
    text-align: left;
    background: #f1f1f1;
    padding: 10px;
}

.custom-file-list td {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.custom-file-list .button-link {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #a00;
}

.custom-file-list .button-link:hover {
    color: #dc3232;
}

/* Paginação */
.cum-pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.cum-pagination .page-numbers {
    padding: 5px 10px;
    margin: 0 2px;
    border: 1px solid #ddd;
    text-decoration: none;
}

.cum-pagination .page-numbers.current {
    background: #2271b1;
    color: white;
    border-color: #2271b1;
}

.cum-pagination .page-numbers:hover:not(.current) {
    background: #f1f1f1;
}