
.bac-calc { max-width: 780px; margin: 1rem auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.bacc-header { display:flex; align-items:center; justify-content:space-between; gap: 12px; flex-wrap: wrap; }
.bacc-header h3 { margin: .25rem 0; font-size: 1.25rem; }
.bacc-row { display:flex; gap: 8px; align-items:center; margin: 6px 0; }
.bacc-row label { flex: 1 1 auto; }
.bacc-row input[type="number"] { width: 120px; padding: 6px 8px; }
.bacc-section { margin: 14px 0; padding: 12px; background: #fafafa; border: 1px solid #eee; border-radius: 10px; }
.bacc-section h4 { margin: 0 0 8px 0; }
.bacc-actions { display:flex; gap:8px; margin-top: 8px; flex-wrap: wrap; }
.bacc-out { margin-top: 14px; padding: 12px; background: #f5f7fb; border-radius: 10px; border: 1px solid #e6ecff; }
.bacc-note { color:#666; font-size: 12px; margin-top: 6px; }
.bacc-badge { display:inline-block; padding: 4px 8px; border-radius: 999px; background:#eef2ff; border:1px solid #dfe6ff; font-size:12px; }
.bacc-optline { display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.bacc-optline input[type="number"] { width: 110px; }
.bacc-small { font-size: 12px; color: #555; }
.bacc-hr { height:1px; background:#eee; border:0; margin: 12px 0; }
button.bacc { padding: 8px 12px; border-radius: 10px; border: 1px solid #ddd; background:#fff; cursor:pointer; }
button.bacc.primary { background:#111827; color:#fff; border-color:#111827; }
button.bacc:hover { filter: brightness(0.98); }
.bacc-progress { height: 10px; background:#f1f5f9; border-radius: 999px; overflow:hidden; margin-top: 8px; }
.bacc-progress > div { height: 100%; width:0; background:#16a34a; }
.bacc-warn { color:#b45309; background:#fff7ed; border:1px solid #fde68a; padding:8px; border-radius:10px; font-size:12px; margin-top:8px; }
