:root { --ink: #252c32; --muted: #606a73; --line: #dce0e3; --accent: #315849; }
body { background: #f7f8f9; color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.55; }
.page-wrap { max-width: 1240px; }
.page-heading { padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.page-heading h1 { font-size: 26px; font-weight: 600; letter-spacing: -.65px; }
.text-secondary, .form-text { color: var(--muted) !important; }
.card { border: 1px solid var(--line); border-radius: 5px; box-shadow: none; }
.form-label { font-size: 13px; margin-bottom: 8px; }
.form-control { font-size: 13px; min-height: 40px; border-color: #cbd1d6; border-radius: 3px; }
.form-control::file-selector-button { min-height: 40px; background: #f2f4f5; color: var(--ink); }
.form-control:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(49,88,73,.12); }
.form-text { font-size: 12px; margin-top: 8px; }
.upload-form { align-items: start !important; }
.upload-action { padding-top: 28px; }
.btn-success { --bs-btn-bg: #315849; --bs-btn-border-color: #315849; --bs-btn-hover-bg: #264637; --bs-btn-hover-border-color: #264637; --bs-btn-active-bg: #203c2f; --bs-btn-active-border-color: #203c2f; min-height: 40px; border-radius: 3px; font-size: 13px; font-weight: 600; }
.metric { background: transparent; border: 0; border-right: 1px solid var(--line); border-radius: 0; padding-left: 0 !important; }
.summary-row > div:last-child .metric { border-right: 0; }
.metric span { font-size: 13px; }
.metric strong { font-size: 30px; line-height: 1.3; font-weight: 600; letter-spacing: -.7px; margin-top: 5px; font-variant-numeric: tabular-nums; }
.card-header h2 { font-size: 17px; font-weight: 600; letter-spacing: -.2px; }
.nav-tabs { border-bottom-color: var(--line); gap: 20px; }
.nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 11px 0; margin-bottom: -1px; color: var(--muted); font-size: 13px; }
.nav-tabs .nav-link:hover { color: var(--ink); border-bottom-color: #b5bfc6; }
.nav-tabs .nav-link.active { background: transparent; color: var(--accent); font-weight: 600; border-bottom-color: var(--accent); }
.nav-link:focus-visible, .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.table { font-size: 13px; --bs-table-color: var(--ink); --bs-table-hover-bg: #f6f8f7; --bs-table-border-color: #e9ecee; }
.table thead th { background: #f7f8f9; color: #535d66; font-size: 12px; font-weight: 600; white-space: nowrap; padding-top: 13px; padding-bottom: 13px; }
.table td { padding-top: 13px; padding-bottom: 13px; }
.table td:nth-child(2) { min-width: 220px; }
.table td:last-child, .table th:last-child { padding-right: 24px; }
.table tbody tr:last-child td { border-bottom: 0; }
.alert { border-radius: 4px; font-size: 14px; }
.cpf { font-variant-numeric: tabular-nums; white-space: nowrap; }
.empty { padding: 3rem 1rem; color: var(--muted); text-align: center; font-size: 13px; }
@media (max-width: 767px) {
    .page-wrap { padding: 24px 16px !important; }
    .page-heading h1 { font-size: 23px; }
    .upload-action { padding-top: 0; }
    .metric { border-right: 0; border-bottom: 1px solid var(--line); flex-direction: row; align-items: center; justify-content: space-between; }
    .metric strong { margin-top: 0; font-size: 25px; }
    .summary-row { row-gap: 0 !important; }
    .nav-tabs { gap: 16px; flex-wrap: nowrap; overflow-x: auto; }
    .nav-tabs .nav-link { white-space: nowrap; }
}
