.cpf-card{border:1px solid #e5e7eb;border-radius:16px;padding:16px;max-width:1100px;margin:12px auto;background:#fff}
.cpf-form .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.cpf-form input, .cpf-form select{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:10px}
.cpf-form button{padding:10px 14px;border:0;border-radius:10px;background:#111;color:#fff;cursor:pointer}
.cpf-adv summary{cursor:pointer;margin:8px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid3 > div{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:12px;text-align:center}
.table-wrap{overflow:auto;margin-top:12px}
table{border-collapse:collapse;width:100%}
th,td{border:1px solid #e5e7eb;padding:8px;text-align:right;white-space:nowrap}
th{text-align:center;background:#f3f4f6}
.small{font-size:12px;color:#6b7280}
.cpf-alt{margin-top:16px}
.cpf-alt h4{margin:6px 0}
.muted{color:#6b7280}
.outcome-note{margin:10px 0 2px;padding:10px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb}
.outcome-note.ok{border-color:#d1fae5;background:#ecfdf5}
.outcome-note.good{border-color:#bfdbfe;background:#eff6ff}
.outcome-note.great{border-color:#fde68a;background:#fffbeb}
.outcome-note.bad{border-color:#fecaca;background:#fef2f2}
.scenarios{margin-top:12px}
.scenarios h4{margin:8px 0}
.diag{background:#fafafa}
@media (max-width:900px){
  .cpf-form .row{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  th,td{white-space:normal}
}
