:root {
    --laranja: #FF7A00; 
    --turquesa: #00D1C1;    
    --grafite: #3D4752;    
    --fundo: #F8FAFB;      
}

body {
    font-family: 'Inter', 'Segoe UI', sans-serif;
    background-color: var(--fundo);
    margin: 0; 
    color: var(--grafite);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container { max-width: 850px; margin: 0 auto; padding: 0 20px; }
.main-content { flex: 1; padding-bottom: 40px; }

.top-bar { 
    background: var(--turquesa); 
    padding: 20px 0; 
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 209, 193, 0.2);
}
.brand { color: white; font-size: 46px; font-weight: 800; letter-spacing: -1.5px; }
.brand span { color: var(--laranja); }

.main-card { background: white; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 35px rgba(0,0,0,0.05); margin-top: 25px; }
.card-header { padding: 22px; border-bottom: 3px solid var(--turquesa); text-align: center; }
.card-header h3 { margin: 0; font-size: 1.45rem; color: var(--grafite); }
.card-body { padding: 30px 40px; }

label { display: block; margin-bottom: 8px; font-weight: 700; font-size: 1.1rem; }
.modern-input { width: 100%; padding: 12px; border: 2px solid #EDF2F7; border-radius: 12px; font-size: 1.2rem; box-sizing: border-box; background: #FDFDFD; margin-bottom: 15px; }

.section-title { background: rgba(255, 122, 0, 0.05); color: var(--laranja); padding: 12px 18px; font-weight: 800; margin: 25px 0 12px; border-radius: 10px; border-left: 6px solid var(--laranja); font-size: 1.1rem; }
.check-item { display: flex; align-items: center; padding: 14px; border-bottom: 1px solid #F1F5F9; cursor: pointer; font-size: 1.2rem; }
.check-item input { margin-right: 15px; accent-color: var(--laranja); transform: scale(1.4); }

.btn-primary, .btn-success { width: 100%; padding: 18px; border: none; border-radius: 15px; font-weight: 800; cursor: pointer; color: white; text-transform: uppercase; font-size: 1.3rem; transition: 0.3s; }
.btn-primary { background: var(--laranja); }
.btn-success { background: var(--turquesa); }
.btn-secondary { background: #E2E8F0; border: none; padding: 0 30px; border-radius: 15px; cursor: pointer; font-weight: bold; font-size: 1.1rem; color: var(--grafite); }

.result-display { background: white; border-top: 6px solid var(--laranja); padding: 35px; border-radius: 20px; margin-top: 25px; box-shadow: 0 10px 40px rgba(0,0,0,0.1); }
.export-group { display: flex; gap: 10px; margin-top: 25px; flex-wrap: wrap; }
.btn-export { border: none; padding: 16px 22px; border-radius: 12px; color: white; font-weight: bold; cursor: pointer; display: flex; align-items: center; gap: 10px; font-size: 1.15rem; }
.pdf { background: #e74c3c; }

.main-footer {
    background-color: var(--grafite);
    color: white;
    text-align: center;
    padding: 15px 0; 
    border-top: 4px solid var(--laranja);
}
.main-footer p { margin: 0; font-size: 0.77rem; font-weight: 500; }

.grid-row { display: flex; gap: 20px; margin-bottom: 5px; flex-wrap: wrap; }
.field { flex: 1; min-width: 220px; }
.action-bar { display: flex; gap: 15px; margin-top: 30px; }
.badge { background: var(--turquesa); color: white; font-size: 0.9rem; padding: 4px 12px; border-radius: 20px; margin-left: auto; font-weight: bold; }