:root {
    --azul-escuro: #1F4E79;
    --azul-medio: #2E75B6;
    --azul-claro: #EBF3FA;
    --verde: #1e7e34;
    --vermelho: #b02a2a;
    --cinza: #6b7280;
    --borda: #d8dee5;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    background: linear-gradient(180deg, #f4f7fb 0%, #e9eef5 100%);
    color: #1f2937;
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px;
}

.container {
    width: 100%;
    max-width: 560px;
    background: #ffffff;
    border-radius: 14px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(31, 78, 121, 0.10);
}

header h1 {
    font-size: 1.5rem;
    margin: 0 0 8px;
    color: var(--azul-escuro);
}

.subtitulo {
    color: var(--cinza);
    font-size: 0.92rem;
    margin: 0 0 24px;
    line-height: 1.5;
}

.form-upload {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.campo-upload {
    position: relative;
    border: 2px dashed var(--borda);
    border-radius: 10px;
    padding: 36px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    background: #fafcff;
}

.campo-upload:hover,
.campo-upload.arrastando {
    border-color: var(--azul-medio);
    background: var(--azul-claro);
}

.campo-upload .icone {
    display: block;
    font-size: 2rem;
    margin-bottom: 8px;
}

.campo-upload .texto-principal {
    display: block;
    color: #374151;
    font-size: 0.95rem;
}

.campo-upload .texto-sub {
    display: block;
    color: var(--cinza);
    font-size: 0.80rem;
    margin-top: 4px;
}

.lista-arquivos {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 10px;
}

.arquivo-tag {
    background: var(--azul-claro);
    border: 1px solid var(--borda);
    border-radius: 20px;
    padding: 3px 12px;
    font-size: 0.80rem;
    color: var(--azul-escuro);
    font-weight: 500;
}

.campo-upload input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.nome-arquivo {
    font-size: 0.85rem;
    color: var(--azul-medio);
    font-weight: 600;
    text-align: center;
    min-height: 1.2em;
}

.botoes-download {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.botao-principal,
.botao-download {
    background: var(--azul-escuro);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 13px 20px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    transition: background .15s;
}

.botao-principal:hover,
.botao-download:hover {
    background: var(--azul-medio);
}

.botao-txt {
    background: #1e5631;
}

.botao-txt:hover {
    background: #27743f;
}

.alerta {
    border-radius: 10px;
    padding: 16px 18px;
    margin-bottom: 20px;
    font-size: 0.92rem;
}

.alerta-sucesso {
    background: #eafaf0;
    border: 1px solid #b9e8c8;
    color: #155724;
}

.alerta-erro {
    background: #fdecec;
    border: 1px solid #f3c2c2;
    color: var(--vermelho);
}

.resumo {
    margin: 10px 0 16px;
    padding-left: 20px;
}

.resumo li { margin-bottom: 2px; }

.avisos {
    margin-top: 14px;
    font-size: 0.85rem;
    color: #856404;
}

.avisos ul {
    max-height: 160px;
    overflow-y: auto;
    padding-left: 20px;
}

footer {
    margin-top: 28px;
    text-align: center;
    font-size: 0.78rem;
    color: var(--cinza);
}
