/**
 * APM Template - Submission Page Styles
 * Pagina de submissao de trabalhos/artigos
 */

/* ========================= */
/* Container principal       */
/* ========================= */

/* Fundo da pagina (design Figma 80-2855: var(--apm-bg-page)); formulario em card branco */
.apm-submission {
    width: 100%;
    background-color: var(--apm-bg-page);
    padding: 46px 20px 80px;
    box-sizing: border-box;
}

.apm-submission__container {
    max-width: 700px;
    margin: 0 auto;
    padding: 40px 32px;
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* ========================= */
/* Header (titulo + botao)   */
/* ========================= */

.apm-submission__header {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.apm-submission__title {
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-5xl);
    font-weight: 700;
    color: var(--apm-gray-900);
    margin: 0;
    line-height: 1.3;
}

.apm-submission__subtitle {
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-lg);
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0;
    text-align: center;
    color: var(--apm-gray-500);
    margin: 0;
    max-width: 480px;
}

.apm-submission__btn-regulamento {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 145px;
    height: 40px;
    padding: 10px 16px;
    white-space: nowrap;
    background-color: var(--apm-tema-700);
    color: #fff;
    border: 1px solid var(--apm-tema-700);
    border-radius: var(--apm-radius-md);
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-base);
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--apm-transition-base), border-color var(--apm-transition-base);
    box-sizing: border-box;
}

.apm-submission__btn-regulamento:hover {
    background-color: var(--apm-tema-900);
    border-color: var(--apm-tema-900);
    color: #fff;
    text-decoration: none;
}

/* ========================= */
/* Tabs de modelos            */
/* ========================= */

.apm-submission__models {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.apm-submission__model-tab {
    display: inline-flex;
    align-items: center;
    padding: 8px 20px;
    border: 1px solid var(--apm-gray-300);
    border-radius: var(--apm-radius-md);
    font-size: var(--apm-text-base);
    font-weight: 500;
    color: var(--apm-gray-700);
    text-decoration: none;
    transition: all var(--apm-transition-base);
}

.apm-submission__model-tab:hover {
    border-color: var(--apm-tema-700);
    color: var(--apm-tema-700);
    text-decoration: none;
}

.apm-submission__model-tab.active {
    background-color: var(--apm-tema-700);
    border-color: var(--apm-tema-700);
    color: #fff;
}

/* ========================= */
/* Flash messages             */
/* ========================= */

.apm-submission__flash {
    width: 100%;
}

.apm-submission__flash .success,
.apm-submission__flash .error,
.apm-submission__flash .warning,
.apm-submission__flash #flashMessage {
    padding: 16px 20px;
    border-radius: var(--apm-radius-lg);
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-base);
    font-weight: 400;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid transparent;
}

.apm-submission__flash .error,
.apm-submission__flash #flashMessage.error {
    background-color: #FEF3F2;
    border-color: #FECDCA;
    color: #912018;
}

.apm-submission__flash .error::before,
.apm-submission__flash #flashMessage.error::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23D92D20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 20px 20px;
}

.apm-submission__flash .success {
    background-color: #ECFDF3;
    border-color: #ABEFC6;
    color: #054F31;
}

.apm-submission__flash .success::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23079455' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 11-5.93-9.14'/%3E%3Cpath d='M22 4L12 14.01l-3-3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 20px 20px;
}

.apm-submission__flash .warning {
    background-color: #FFFAEB;
    border-color: #FEDF89;
    color: #93370D;
}

.apm-submission__flash .warning::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23DC6803' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 20px 20px;
}

/* ========================= */
/* Info (periodo, informacoes)*/
/* ========================= */

.apm-submission__info {
    background-color: var(--apm-gray-50);
    border: 1px solid #E5E7EB;
    border-radius: var(--apm-radius-lg);
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.apm-submission__info-label {
    font-size: var(--apm-text-sm);
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.apm-submission__info-text {
    font-size: var(--apm-text-base);
    color: #374151;
    line-height: 1.6;
    margin: 0 0 8px 0;
}

/* ========================= */
/* Downloads                  */
/* ========================= */

.apm-submission__download {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.apm-submission__download-label {
    font-size: var(--apm-text-sm);
    font-weight: 600;
    color: #6B7280;
}

.apm-submission__download-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--apm-text-base);
    font-weight: 500;
    color: var(--apm-tema-700);
    text-decoration: none;
    transition: color var(--apm-transition-base);
}

.apm-submission__download-link:hover {
    color: var(--apm-tema-900);
    text-decoration: underline;
}

/* ========================= */
/* Secoes do formulario       */
/* ========================= */

.apm-submission__section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.apm-submission__section-title {
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-xl);
    font-weight: 700;
    color: var(--apm-gray-900);
    margin: 0;
    padding-bottom: 0;
    border-bottom: none;
}

/* ========================= */
/* Campos do formulario       */
/* ========================= */

.apm-submission__row {
    display: flex;
    gap: 16px;
}

.apm-submission__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.apm-submission__field--half {
    flex: 1;
    min-width: 0;
}

.apm-submission__label {
    font-size: var(--apm-text-base);
    font-weight: 500;
    color: var(--apm-gray-900);
    line-height: 1.4;
}

.apm-submission__required {
    font-weight: 400;
    color: #9CA3AF;
    font-size: var(--apm-text-sm);
}

.apm-submission__input,
.apm-submission__select,
.apm-submission .form-control {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--apm-gray-300);
    border-radius: var(--apm-radius-md);
    font-size: var(--apm-text-base);
    color: var(--apm-gray-900);
    background-color: #fff;
    outline: none;
    transition: border-color var(--apm-transition-base), box-shadow var(--apm-transition-base);
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.apm-submission__input:focus,
.apm-submission__select:focus,
.apm-submission .form-control:focus {
    border-color: var(--apm-tema-500);
    box-shadow: var(--apm-shadow-focus);
}

.apm-submission__input::placeholder,
.apm-submission__textarea::placeholder {
    color: var(--apm-gray-500);
}

/* Select com seta customizada (design Figma 107-1767: seta 20x20px, cor var(--apm-gray-500), altura 44px) */
.apm-submission__select,
.apm-submission select.form-control {
    min-height: 44px;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 20px 20px;
    padding-right: 46px;
}

/* Custom Dropdown — usa classes compartilhadas .apm-dropdown do apm-theme.css */
.apm-submission .apm-dropdown {
    min-width: unset;
    width: 100%;
}

/* Textarea */
.apm-submission__textarea,
.apm-submission textarea.form-control {
    min-height: 120px;
    resize: vertical;
    font-family: inherit;
}

/* Contador de palavras (design Figma: cinza var(--apm-gray-500), "Máximo de palavras" à esq., "0/500" à dir.) */
.apm-submission__word-count {
    display: flex;
    justify-content: space-between;
    font-size: var(--apm-text-sm);
    color: var(--apm-gray-500);
}

/* ========================= */
/* Area de upload              */
/* ========================= */

.apm-submission__upload {
    width: 100%;
}

.apm-submission__upload-input {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

/* Área de upload (design Figma 80-2855: borda tracejada #E4E7EC, fundo branco, texto "Clique para adicionar" var(--apm-tema-700)) */
.apm-submission__upload-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 32px 20px;
    border: 1px solid #E9EAEB;
    border-radius: var(--apm-radius-md);
    background-color: #FFFFFF;
    cursor: pointer;
    transition: border-color var(--apm-transition-base), background-color var(--apm-transition-base);
    text-align: center;
}

.apm-submission__upload-area:hover {
    border-color: var(--apm-tema-500);
    box-shadow: var(--apm-shadow-focus);
    background-color: rgba(var(--apm-tema-rgb), 0.03);
    animation: none !important;
}

.apm-submission__upload-area.is-dragover {
    border-color: var(--apm-tema-500);
    box-shadow: var(--apm-shadow-focus);
    background-color: rgba(var(--apm-tema-rgb), 0.05);
    animation: none !important;
}

.apm-submission__upload-icon {
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    line-height: 0;
    width: 60px;
    height: 60px;
    border-radius: 9999px;
    border: 8px solid #FAFAFA;
    background-color: #F5F5F5;
}

.apm-submission__upload-icon-img {
    width: 24px;
    height: 24px;
    display: block;
}

.apm-submission__upload-text {
    font-size: 14px;
    color: var(--apm-gray-900);
    font-style: normal;
}

.apm-submission__upload-text strong {
    color: var(--apm-tema-600, #7A56D6);
    font-weight: 600;
    font-style: normal;
}

.apm-submission__upload-hint {
    font-size: 14px;
    color: var(--apm-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-style: normal;
}

.apm-submission__upload-filename {
    font-size: var(--apm-text-sm);
    font-weight: 500;
    color: var(--apm-tema-700);
    margin-top: 4px;
}

/* Card do arquivo selecionado (design: icone circular + nome + tamanho + barra + lixeira) */
.apm-submission__file-card {
    display: none;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: var(--apm-radius-lg);
    margin-top: 12px;
    box-sizing: border-box;
}

.apm-submission__file-card[aria-hidden="false"] {
    display: flex;
}

.apm-submission__upload-area[aria-hidden="true"] {
    display: none;
}

.apm-submission__file-card-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--apm-radius-md);
    border: none;
    background: rgba(var(--apm-tema-rgb), 0.1);
    box-sizing: border-box;
}

.apm-submission__file-card-icon svg path {
    stroke: var(--apm-tema-500);
}

.apm-submission__file-card-icon img {
    width: 20px;
    height: 20px;
}

.apm-submission__file-card-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.apm-submission__file-card-name {
    font-size: var(--apm-text-base);
    font-weight: 600;
    color: var(--apm-gray-900);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.apm-submission__file-card-size {
    font-size: var(--apm-text-sm);
    color: #9CA3AF;
}

.apm-submission__file-card-progress-wrap {
    display: none;
}

.apm-submission__file-card-progress-bar {
    flex: 1;
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
}

.apm-submission__file-card-progress-fill {
    height: 100%;
    background: var(--apm-tema-500);
    border-radius: 3px;
    transition: width var(--apm-transition-base);
}

.apm-submission__file-card-progress-pct {
    font-size: var(--apm-text-sm);
    font-weight: 500;
    color: var(--apm-gray-700);
    flex-shrink: 0;
}

.apm-submission__file-card-remove {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #6B7280;
    cursor: pointer;
    border-radius: var(--apm-radius-md);
    padding: 0;
    transition: color var(--apm-transition-base), background var(--apm-transition-base);
}

.apm-submission__file-card-remove:hover {
    color: #DC2626;
    background: #FEF2F2;
}

/* ========================= */
/* Erro de validacao           */
/* ========================= */

.apm-submission__error {
    font-size: var(--apm-text-sm);
    color: #DC2626;
    margin-top: 4px;
}

/* ========================= */
/* Botao submeter              */
/* ========================= */

.apm-submission__actions {
    margin-top: 24px;
}

.apm-submission__btn-submit {
    width: 100%;
    max-width: 768px;
    padding: 14px 24px;
    min-height: 48px;
    background-color: var(--apm-tema-500);
    color: #fff;
    border: none;
    border-radius: var(--apm-radius-md);
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-lg);
    font-weight: 600;
    line-height: 24px;
    cursor: pointer;
    transition: background-color var(--apm-transition-base);
    display: block;
    text-align: center;
}

.apm-submission__btn-submit:hover {
    background-color: var(--apm-tema-700);
}

.apm-submission__btn-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ========================= */
/* Nova submissao (pos-envio)  */
/* ========================= */

.apm-submission__new-submission {
    text-align: center;
    padding: 20px 0;
}

.apm-submission__btn-new {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--apm-tema-700);
    font-size: var(--apm-text-md);
    font-weight: 500;
    text-decoration: none;
}

.apm-submission__btn-new:hover {
    text-decoration: underline;
    color: var(--apm-tema-900);
}

/* ============================================ */
/* Estilos para elements herdados               */
/* (autores.ctp, campos-personalizados, etc.)   */
/* ============================================ */

/* Override inputs Bootstrap dentro da submission */
.apm-submission .form-group {
    margin-bottom: 0;
}

.apm-submission .form-group label {
    font-size: var(--apm-text-base);
    font-weight: 500;
    color: var(--apm-gray-700);
    margin-bottom: 6px;
}

.apm-submission .form-group .required {
    font-weight: 400;
    color: #9CA3AF;
    font-size: var(--apm-text-sm);
}

.apm-submission .autores .form-group .required {
    display: none;
}

/* Override panel-title dos elements (ex.: "Dados do Autor") */
.apm-submission .panel-title {
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-xl);
    font-weight: 700;
    line-height: 28px;
    letter-spacing: 0;
    color: var(--apm-gray-900);
    display: block;
    padding-bottom: 0;
    margin-bottom: 20px;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* Secao autores: titulo dentro do well, à esquerda */
.apm-submission .autores .row:first-child .col-md-12 {
    padding-left: 0;
    text-align: left;
}

.apm-submission .autores .panel-title {
    text-align: left !important;
    margin-bottom: 0;
    display: block;
}

/* 20px de distancia entre "Dados do Autor" e o campo Nome */
.apm-submission .autores .well .panel-title {
    margin-bottom: 20px;
}

/* Override well */
.apm-submission .well {
    border-radius: 0;
    box-shadow: none;
    border: none;
    background: transparent;
    padding: 0;
    margin-bottom: 12px;
}

/* Espacamento de 20px entre o titulo "Dados do Autor" e o well */
.apm-submission .autores .row:first-child {
    margin-bottom: 20px;
}

/* Remove a linha entre "Dados do Autor" e o bloco do well */
.apm-submission .autores .row:first-child + .row .well {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.apm-submission .well-title {
    font-size: var(--apm-text-sm);
    font-weight: 600;
    color: #6B7280;
    display: block;
    margin-bottom: 4px;
}

/* Dropdown apresentador antigo — escondido, substituído por checkboxes inline */
.apm-submission .apm-submission__autores-apresentador {
    display: none;
}

/* Checkbox apresentador inline em cada autor */
.apm-submission__apresentador-check {
    display: flex !important;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    width: 100%;
}

.apm-submission .apm-submission__apresentador-check input.apm-submission__apresentador-checkbox,
.apm-submission .apm-submission__apresentador-check input[type="radio"].apm-submission__apresentador-radio {
    display: inline-block !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    min-height: 18px;
    border: 1.5px solid var(--apm-gray-300) !important;
    border-radius: 4px !important;
    background: #fff !important;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    transition: border-color var(--apm-transition-fast), background-color var(--apm-transition-fast);
}

.apm-submission .apm-submission__apresentador-check input.apm-submission__apresentador-checkbox:checked,
.apm-submission .apm-submission__apresentador-check input[type="radio"].apm-submission__apresentador-radio:checked {
    background-color: var(--apm-tema-500) !important;
    border-color: var(--apm-tema-500) !important;
}

.apm-submission .apm-submission__apresentador-check input.apm-submission__apresentador-checkbox:checked::after,
.apm-submission .apm-submission__apresentador-check input[type="radio"].apm-submission__apresentador-radio:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.apm-submission .apm-submission__apresentador-check .apm-submission__apresentador-label {
    display: flex !important;
    align-items: center;
    gap: 5px;
    font-size: var(--apm-text-base) !important;
    font-weight: 400 !important;
    color: var(--apm-gray-700) !important;
    cursor: pointer;
    user-select: none;
    margin-bottom: 0 !important;
}

/* Wrapper do link "Adicionar co-autor" (espaco 12–16px acima, design Figma) */
.apm-submission .apm-submission__autores-add {
    margin-top: 16px;
    margin-bottom: 0;
}

/* Link "Adicionar co-autor" (design Figma node 107-1962: 14px Semibold, Brand/500 var(--apm-tema-500)) */
.apm-submission #id-coautor {
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-base);
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    color: var(--apm-tema-500);
    text-decoration: none;
}

.apm-submission #id-coautor:hover {
    color: var(--apm-tema-700);
    text-decoration: underline;
}

/* Autores: sem linha abaixo do titulo; titulo totalmente à esquerda */
.apm-submission .autores .row:first-child,
.apm-submission .autores .row:first-child .col-md-12,
.apm-submission .autores .row:first-child .panel-title {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    text-align: left !important;
}

/* Autores container */
.apm-submission .autores-artigo {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Well da secao Dados do Autor */
.apm-submission .autores .well {
    width: 100%;
    max-width: 768px;
    padding: 0;
    background-color: transparent;
    border: none;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    box-sizing: border-box;
}

.apm-submission .autores .well .autores-artigo {
    gap: 20px;
}

/* Labels e inputs na secao autores (design: label escuro, input branco, borda suave) */
.apm-submission .autores .form-group label {
    font-size: var(--apm-text-base);
    font-weight: 500;
    color: var(--apm-gray-900);
}

.apm-submission .autores .form-control {
    background: #fff;
    border: 1px solid var(--apm-gray-300);
    border-radius: var(--apm-radius-md);
    padding: 10px 14px;
    transition: border-color var(--apm-transition-base), box-shadow var(--apm-transition-base);
}

.apm-submission .autores .form-control:focus {
    border-color: var(--apm-tema-500);
    box-shadow: var(--apm-shadow-focus);
    outline: none;
}

/* Row Bootstrap dentro da submission */
.apm-submission .row {
    margin-left: 0;
    margin-right: 0;
}

.apm-submission .col-md-6,
.apm-submission .col-md-12,
.apm-submission .col-sm-12 {
    padding-left: 0;
    padding-right: 0;
}

/* Ajuste para colunas lado a lado no autores */
.apm-submission .artigo-autor {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
}

.apm-submission .artigo-autor .col-md-6 {
    flex: 1;
    min-width: 200px;
}

.apm-submission .artigo-autor + .artigo-autor {
    border-top: 1px solid var(--apm-gray-150);
    padding-top: 16px;
    margin-top: 4px;
}

/* Textarea campo personalizado */
.apm-submission .textarea-campo-personalizado-submissao {
    box-shadow: none;
    border: 1px solid var(--apm-gray-300);
    border-radius: var(--apm-radius-md);
    background-color: #fff;
    width: 100%;
    min-height: 80px;
    padding: 10px 14px;
    font-size: var(--apm-text-base);
    transition: border-color var(--apm-transition-base), box-shadow var(--apm-transition-base);
}

.apm-submission .textarea-campo-personalizado-submissao:focus {
    border-color: var(--apm-tema-700);
    box-shadow: 0 0 0 3px rgba(107, 33, 168, 0.1);
    outline: none;
}

/* Inputfile (upload) dos elements */
.apm-submission .inputfile + label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px 20px;
    border: 1px solid #E9EAEB;
    border-radius: var(--apm-radius-md);
    background-color: #FFFFFF;
    cursor: pointer;
    font-size: var(--apm-text-base);
    color: #6B7280;
}

.apm-submission .inputfile + label:hover {
    border-color: var(--apm-tema-500);
    box-shadow: var(--apm-shadow-focus);
    background-color: rgba(var(--apm-tema-rgb), 0.03);
    animation: none !important;
}

.apm-submission .inputfile + label.is-dragover {
    border-color: var(--apm-tema-500);
    box-shadow: var(--apm-shadow-focus);
    background-color: rgba(var(--apm-tema-rgb), 0.05);
    animation: none !important;
}

@keyframes apm-upload-shadow-pulse {
    0%, 100% {
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
    }
    50% {
        box-shadow: 0 3px 8px rgba(16, 24, 40, 0.10);
    }
}

.apm-submission .btn-inputfile {
    color: var(--apm-tema-700);
    font-weight: 500;
}

/* Chosen select override */
.apm-submission .chosen-container {
    width: 100% !important;
}

.apm-submission .chosen-container .chosen-single {
    border: 1px solid var(--apm-gray-300);
    border-radius: var(--apm-radius-md);
    padding: 8px 14px;
    height: auto;
    line-height: 1.5;
    box-shadow: none;
    background: #fff;
    font-size: var(--apm-text-base);
}

.apm-submission .chosen-container.chosen-with-drop .chosen-single {
    border-color: var(--apm-tema-700);
    box-shadow: 0 0 0 3px rgba(107, 33, 168, 0.1);
}

/* Input list (radio/checkbox campos personalizados) */
.apm-submission .input-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.apm-submission .input-list li {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Legacy artigo-apresentador divs — escondidos (substituídos por checkboxes inline) */
.apm-submission [class*="artigo-apresentador"]:not(.apm-submission__apresentador-check) {
    display: none;
}

/* Instituicao ensino */
.apm-submission [class*="instituicao-ensino"] {
    margin-top: 8px;
}

/* Clearfix nao precisa de margem extra */
.apm-submission .clearfix {
    clear: both;
    height: 0;
}

/* Seletor apresentador dropdown (seta 20x20, Figma 107-1767) */
.apm-submission #selecionar-apresentador {
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--apm-gray-300);
    border-radius: var(--apm-radius-md);
    font-size: var(--apm-text-base);
    color: var(--apm-gray-900);
    background-color: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 20px 20px;
    padding-right: 46px;
}

/* Modal aviso artigos — redesign */
#modal-artigos.modal .modal-dialog.apm-modal-aviso {
    max-width: 440px !important;
    width: 440px !important;
    margin: 80px auto !important;
}

#modal-artigos.modal .modal-content.apm-modal-aviso__content {
    border: none !important;
    border-radius: var(--apm-radius-xl) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
    background: #fff !important;
}

#modal-artigos .apm-modal-aviso__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--apm-gray-400);
    cursor: pointer;
    border-radius: var(--apm-radius-md);
    padding: 0;
    z-index: 1;
    transition: color var(--apm-transition-fast), background var(--apm-transition-fast);
}

#modal-artigos .apm-modal-aviso__close:hover {
    color: var(--apm-gray-700);
    background: var(--apm-gray-100);
}

#modal-artigos .apm-modal-aviso__body {
    padding: 32px 32px 24px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    border: none !important;
}

#modal-artigos .apm-modal-aviso__icon {
    width: 48px;
    height: 48px;
    border-radius: var(--apm-radius-full);
    background: #FEF3C7;
    color: #D97706;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

#modal-artigos .apm-modal-aviso__title {
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-xl);
    font-weight: 700;
    color: var(--apm-gray-900);
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.3;
}

#modal-artigos .apm-modal-aviso__text {
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-base);
    font-weight: 400;
    color: var(--apm-gray-500);
    margin: 0 !important;
    line-height: 1.5;
    max-width: 340px;
}

#modal-artigos .apm-modal-aviso__footer {
    padding: 0 32px 32px !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: stretch !important;
    text-align: center !important;
    border: none !important;
    margin: 0 !important;
}

#modal-artigos .apm-modal-aviso__btn {
    flex: 1;
    padding: 10px 18px;
    min-height: 44px;
    font-family: 'Inter', sans-serif;
    font-size: var(--apm-text-base);
    font-weight: 600;
    line-height: 20px;
    border-radius: var(--apm-radius-md) !important;
    cursor: pointer;
    transition: background-color var(--apm-transition-fast), border-color var(--apm-transition-fast), color var(--apm-transition-fast);
    white-space: nowrap;
    margin: 0 !important;
    float: none !important;
}

#modal-artigos .apm-modal-aviso__btn--secondary {
    background: #fff !important;
    color: var(--apm-gray-700) !important;
    border: 1px solid var(--apm-gray-300) !important;
}

#modal-artigos .apm-modal-aviso__btn--secondary:hover {
    background: var(--apm-gray-50) !important;
    border-color: var(--apm-gray-400) !important;
}

#modal-artigos .apm-modal-aviso__btn--primary {
    background: var(--apm-tema-500) !important;
    color: #fff !important;
    border: 1px solid var(--apm-tema-500) !important;
}

#modal-artigos .apm-modal-aviso__btn--primary:hover {
    background: var(--apm-tema-700) !important;
    border-color: var(--apm-tema-700) !important;
}

#modal-artigos .apm-modal-aviso__btn:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

@media (max-width: 480px) {
    #modal-artigos.modal .modal-dialog.apm-modal-aviso {
        max-width: calc(100% - 32px) !important;
        width: auto !important;
        margin: 40px 16px !important;
    }

    #modal-artigos .apm-modal-aviso__body {
        padding: 24px 20px 20px !important;
    }

    #modal-artigos .apm-modal-aviso__footer {
        padding: 0 20px 24px !important;
        flex-direction: column !important;
    }
}

/* Remover estilos do panel antigo */
.apm-submission .panel,
.apm-submission .panel-default {
    border: none;
    box-shadow: none;
    background: none;
    margin: 0;
}

/* CKEditor container */
.apm-submission .cke {
    border: 1px solid var(--apm-gray-300) !important;
    border-radius: var(--apm-radius-md) !important;
    overflow: hidden;
}

/* Mensagens de erro do CakePHP */
.apm-submission .error-message,
.apm-submission div.error {
    color: #DC2626;
    font-size: var(--apm-text-sm);
    margin-top: 4px;
}

/* Description field (max palavras) */
.apm-submission .description-field {
    font-size: var(--apm-text-sm);
    color: var(--apm-gray-500);
}

/* Help block (contador) */
.apm-submission .help-block {
    margin-top: 6px;
}

.apm-submission .help-block .caracteres {
    font-size: var(--apm-text-sm);
    color: #9CA3AF;
}

/* ========================= */
/* Responsividade             */
/* ========================= */

@media (max-width: 768px) {
    .apm-submission {
        padding: 40px 16px 60px;
    }

    .apm-submission__container {
        gap: 24px;
    }

    .apm-submission__title {
        font-size: var(--apm-text-3xl);
    }

    .apm-submission__row {
        flex-direction: column;
        gap: 20px;
    }

    .apm-submission__field--half {
        flex: none;
        width: 100%;
    }

    /* Seta dos selects mantém 20x20px em tablet/mobile */
    .apm-submission__select,
    .apm-submission select.form-control {
        background-size: 20px 20px;
        background-position: right 12px center;
        padding-right: 44px;
    }
}

@media (max-width: 480px) {
    .apm-submission {
        padding: 32px 12px 48px;
    }

    .apm-submission__container {
        padding: 20px 16px;
    }

    .apm-submission__title {
        font-size: 22px;
    }

    .apm-submission__subtitle {
        font-size: var(--apm-text-base);
    }

    .apm-submission__section-title {
        font-size: var(--apm-text-lg);
    }

    .apm-submission__btn-regulamento {
        width: 100%;
    }

    .apm-submission .artigo-autor .col-md-6 {
        flex: none;
        width: 100%;
        min-width: 0;
    }

    .apm-submission__upload-area {
        padding: 24px 16px;
    }

    .apm-submission__file-card {
        padding: 12px 14px;
        gap: 12px;
    }

    .apm-submission__file-card-name {
        font-size: var(--apm-text-sm);
    }

    .apm-submission__file-card-size {
        font-size: var(--apm-text-xs);
    }

    .apm-submission__file-card-remove {
        width: 36px;
        height: 36px;
    }

    /* Seta dos selects mantém 20x20px em mobile */
    .apm-submission__select,
    .apm-submission select.form-control {
        background-size: 20px 20px;
        background-position: right 10px center;
        padding-right: 42px;
    }
}

/* "Dados do Autor" colado à esquerda (tirar recuo lateral estranho) */
.apm-submission .autores .panel-title{
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  