/* Estilos Calculadora Acusticum */
.ac-wrap { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#333; }
.ac-card { background:#fff; border-radius:16px; padding:20px; box-shadow:0 2px 12px rgba(0,0,0,0.07); margin-bottom:16px; }
.ac-title { margin:0 0 12px; color:#696969; font-weight:700; letter-spacing:0.2px; }
.ac-subtitle { margin:0 0 10px; color:#696969; font-weight:700; }
.ac-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:12px; }
.ac-grid .ac-span2 { grid-column: span 2; }
.ac-grid label { display:block; font-size:13px; color:#555; margin-bottom:6px; }
.ac-grid input, .ac-grid select { width:100%; padding:10px; border:1px solid #ddd; border-radius:10px; font-size:14px; }
.ac-btn { margin-top:14px; background:#AEB352; color:#fff; border:none; border-radius:999px; padding:10px 16px; cursor:pointer; font-weight:700; }
.ac-btn:hover { filter:brightness(0.95); }
.ac-disclaimer { font-size:12px; color:#777; margin-top:10px; }
.ac-summary { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:10px; margin:10px 0 8px; }
.ac-summary div { background:#f7f8f5; border-left:4px solid #AEB352; padding:8px 10px; border-radius:10px; font-size:13px; }
.ac-kpi { display:flex; align-items:center; justify-content:space-between; background:#f9faf8; border:1px solid #eef0ea; border-radius:14px; padding:12px; margin:12px 0; }
.ac-kpi-main { display:flex; align-items:baseline; gap:12px; }
.ac-kpi-number { font-size:28px; font-weight:800; color:#4d6061; }
.ac-kpi-label { font-size:12px; color:#666; }
.ac-kpi-side { text-align:right; font-size:12px; color:#666; }
.ac-note { color:#4d6061; margin-top:4px; min-height: 1.2em; }
.ac-table { width:100%; border-collapse:collapse; margin-top:10px; font-size:13px; }
.ac-table th, .ac-table td { border-bottom:1px solid #eee; padding:8px 6px; text-align:center; }
.ac-final { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; margin-top:14px; }
.ac-final-card { background:#F2F4EC; border:1px solid #E5E9D7; border-radius:14px; padding:14px; text-align:center; }
.ac-final-title { color:#556; font-weight:700; font-size:14px; margin-bottom:6px; }
.ac-final-value { font-size:26px; font-weight:800; color:#4d6061; }
#ac-band-toggles { display:flex; flex-wrap:wrap; gap:6px 14px; }
.ac-band-toggle { display:inline-flex; align-items:center; gap:6px; font-size:13px; padding:2px 0; }
.ac-band-toggle input { transform: scale(1.1); }
@media (max-width:1100px){
  .ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-kpi { flex-direction:column; gap:8px; }
  .ac-kpi-side { text-align:left; }
  .ac-final { grid-template-columns: 1fr; }
}
