:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#13221d;background:#eef2f1}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%}body{overflow-x:hidden}.landing{height:100vh;min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;background:#eef2f1}.hero{min-width:0;height:100vh;overflow:hidden;background:#0c1e19;display:flex;align-items:center;justify-content:center;padding:20px}.hero img{display:block;width:94%;height:94%;object-fit:contain;object-position:center}.entry-card{width:min(88%,560px);margin:auto;padding:28px 36px}.brand{font-weight:800;letter-spacing:.08em;font-size:19px}.eyebrow{margin-top:6px;font-size:10px;letter-spacing:.18em;color:#6f7d78}.entry-card h1{font-size:36px;margin:28px 0 6px}.intro{margin:0 0 18px;color:#66736e}.btn{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:9px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer;padding:0 18px}.primary{background:#195941;color:#fff}.event{background:#d89a12;color:#1b1609}.or{display:flex;align-items:center;gap:12px;margin:18px 0;color:#7b8581;font-size:13px}.or:before,.or:after{content:"";height:1px;background:#cfd6d3;flex:1}.event-box{border:1px solid #e4be5a;border-radius:13px;background:#fffaf0;padding:20px}.event-kicker{font-weight:800;font-size:13px}.event-box h2{margin:3px 0 7px;font-family:Georgia,serif;color:#60421a;font-size:24px}.event-box p{margin:0 0 16px;color:#6d6657;font-size:14px}.admin-btn{margin-top:16px;background:#243b35;color:#fff;border:1px solid #243b35;font-size:13px}.admin-btn:hover{background:#1b302b}.page-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.form-card,.success-card{width:min(100%,860px);background:#fff;border-radius:18px;padding:30px;box-shadow:0 12px 36px rgba(20,30,28,.08)}.form-card.narrow{width:min(100%,500px)}.back,.text-link{color:#195941;text-decoration:none}.form-card h1,.success-card h1{margin:20px 0 8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px}.field label{font-weight:700;font-size:14px}.field input{border:1px solid #cfd8d4;border-radius:9px;padding:12px 13px;font:inherit}.radios ul{list-style:none;display:flex;gap:20px;padding:0;margin:0}.payment-note{margin:22px 0;padding:16px;border-radius:12px;background:#f7f3e9;border:1px solid #e7dcc1;line-height:1.5}.error{color:#ae2626;font-size:13px;margin-top:6px}.success-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e7f4ed;color:#195941;font-size:28px;font-weight:800}.success-card{max-width:640px;text-align:center}.success-card .payment-note{text-align:left}.report-shell{padding:24px}.report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.report-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stats>div{background:#fff;border-radius:14px;padding:16px}.stats strong{display:block;font-size:26px}.stats span{color:#6f7d78}.report-user{color:#66736e;font-size:13px}.report-group{background:#fff;border-radius:14px;padding:18px;margin-bottom:18px}.report-group h2{margin:0 0 14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px;border-bottom:1px solid #e7ecea;white-space:nowrap}th{background:#f5f7f6}.empty{background:#fff;padding:28px;border-radius:14px;text-align:center}.pdf-btn{background:#4d625b;color:#fff}.csv-btn{background:#e5e9e7;color:#17332a;border-color:#cfd8d4}.logout-link{color:#a13a31}@media(max-width:900px){.landing{height:auto;min-height:100vh;grid-template-columns:1fr}.hero{height:52vh;min-height:360px;padding:12px}.hero img{width:100%;height:100%}.entry-card{width:100%;padding:28px 22px}.grid{grid-template-columns:1fr}.full{grid-column:auto}.report-head{flex-direction:column}.stats{grid-template-columns:1fr}}

/* =========================================================
   RELATÓRIO — FILTROS E SEÇÕES SEPARADAS
   ========================================================= */

.report-filters {
    background: #fff;
    border: 1px solid #dde4e1;
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 18px;
}

.report-filters form {
    display: flex;
    align-items: end;
    gap: 12px;
    flex-wrap: wrap;
}

.filter-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.filter-field label {
    font-size: 12px;
    font-weight: 700;
}

.filter-field input,
.filter-field select {
    height: 42px;
    border: 1px solid #cfd8d4;
    border-radius: 9px;
    padding: 0 12px;
    font: inherit;
    background: #fff;
}

.search-field {
    flex: 1 1 360px;
}

.filter-btn {
    min-width: 120px;
}

.clear-filter {
    padding-bottom: 10px;
    font-size: 13px;
}

.stats-five {
    grid-template-columns: repeat(5, 1fr);
}

.report-section {
    margin-top: 22px;
}

.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.section-head > div:first-child {
    display: flex;
    align-items: center;
    gap: 12px;
}

.section-head h2 {
    margin: 0;
    font-size: 21px;
}

.section-head p {
    margin: 3px 0 0;
    color: #6f7d78;
    font-size: 13px;
}

.section-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #195941;
    color: #fff;
    font-weight: 800;
}

.report-group h3 {
    margin: 0 0 12px;
    font-size: 17px;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.has-companion {
    background: #e7f4ed;
    color: #195941;
}

.no-companion {
    background: #eef1f0;
    color: #5b6863;
}

.small-btn {
    min-height: 38px;
    font-size: 12px;
}

@media (max-width: 1100px) {
    .stats-five {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .stats-five {
        grid-template-columns: 1fr;
    }

    .report-filters form {
        align-items: stretch;
        flex-direction: column;
    }

    .search-field {
        flex-basis: auto;
    }

    .filter-btn {
        width: 100%;
    }

    .clear-filter {
        padding-bottom: 0;
    }

    .section-head {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   RELATÓRIO — EDIÇÃO DE INSCRIÇÕES
   ========================================================= */

.report-success {
    background: #e7f4ed;
    border: 1px solid #b9d8c7;
    color: #195941;
    border-radius: 14px;
    padding: 13px 16px;
    margin-bottom: 18px;
    line-height: 1.45;
}

.edit-btn {
    display: inline-flex;
    min-height: 32px;
    padding: 0 11px;
    background: #eef4f1;
    color: #195941;
    border-color: #c8d8d1;
    font-size: 12px;
}

.edit-btn:hover {
    background: #e3eee9;
}

.report-edit-shell {
    min-height: 100vh;
    padding: 28px;
    place-items: start center;
}

.report-edit-card {
    width: min(100%, 980px);
}

.report-edit-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.report-edit-top h1 {
    margin: 14px 0 8px;
}

.edit-record-note {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    align-items: center;
    margin: 18px 0 22px;
    padding: 13px 15px;
    border-radius: 12px;
    background: #f5f7f6;
    border: 1px solid #dde4e1;
    color: #5e6b66;
    font-size: 13px;
}

.edit-record-note strong {
    color: #13221d;
}

.field-help {
    color: #6f7d78;
    font-size: 11px;
    line-height: 1.35;
}

.edit-warning {
    margin-top: 22px;
    padding: 13px 15px;
    border-radius: 12px;
    background: #fff8e9;
    border: 1px solid #ead7a6;
    color: #6b5828;
    font-size: 13px;
    line-height: 1.45;
}

.edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

@media (max-width: 700px) {
    .report-edit-shell {
        padding: 16px;
    }

    .report-edit-top {
        flex-direction: column;
    }

    .edit-actions {
        flex-direction: column-reverse;
    }

    .edit-actions .btn {
        width: 100%;
    }
}


/* =========================================================
   INSCRIÇÕES ENCERRADAS
   ========================================================= */

.registration-closed-shell {
    padding: 24px;
}

.registration-closed-card {
    max-width: 680px;
}

.registration-closed-mark {
    background: #f7ead3;
    color: #8a5c12;
}

.registration-closed-title {
    margin: 8px 0 6px;
    font-size: 18px;
    font-weight: 700;
    color: #3f3422;
}

.registration-closed-text {
    margin: 0;
    color: #66736e;
    line-height: 1.55;
}

.registration-closed-note {
    margin-top: 22px;
    text-align: center;
}

.closed-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

.closed-actions .btn {
    width: 100%;
}
