/* Budget vs actual landing page: live sample table */
.bav-demo{display:grid}
.bav-demo .mt-demo-head strong{font-size:1.05rem}
.bav-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 22px;border-bottom:1px solid var(--line,#d7e1ee);background:#f5f8fd}
.bav-controls label{font-weight:800;font-size:.9rem;color:var(--ink,#071b35)}
.bav-controls input{width:120px}
.bav-demo input{min-height:40px;box-sizing:border-box;border:1px solid #b9c7da;border-radius:10px;background:#fff;padding:6px 10px;font:inherit;font-size:.95rem;color:var(--ink,#071b35)}
.bav-demo input:focus-visible{outline:3px solid rgba(31,92,240,.45);outline-offset:1px;border-color:var(--blue,#1f5cf0)}
.bav-demo input[aria-invalid="true"]{border-color:#b42318;background:#fff5f4}
.bav-table-wrap{padding:6px 14px 0;min-width:0}
.bav-table{width:100%;border-collapse:collapse;font-size:.93rem;font-variant-numeric:tabular-nums}
.bav-table th,.bav-table td{padding:8px;border-bottom:1px solid var(--line,#d7e1ee);text-align:right;vertical-align:middle;white-space:nowrap}
.bav-table thead th{font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#52647b)}
.bav-table th:first-child{text-align:left}
.bav-table tbody th{font-weight:600}
.bav-table .bav-item{width:100%;min-width:110px}
.bav-table .bav-num{width:92px;text-align:right}
.bav-table tbody tr.bav-row--material td[data-bav-v]{color:#b42318;font-weight:800}
.bav-table tbody tr.bav-row--error td[data-bav-v]{color:#b42318;font-weight:700;white-space:normal}
.bav-table tfoot th,.bav-table tfoot td{border-bottom:0;font-weight:800;color:var(--ink,#071b35)}
.bav-flag{display:inline-block;min-width:38px;padding:3px 9px;border-radius:999px;font-size:.8rem;font-weight:800;text-align:center}
.bav-flag--yes{background:#fde8e6;color:#9a1c12}
.bav-flag--no{background:#e7f4ee;color:#06603c}
.bav-summary{margin:0;padding:12px 22px 0;font-weight:800;color:var(--ink,#071b35)}
.bav-actions{display:flex;flex-wrap:wrap;gap:10px;padding:14px 22px 0}
.bav-actions button{min-height:42px;padding:0 16px;border:1px solid #b9c7da;border-radius:12px;background:#fff;color:var(--ink,#071b35);font:inherit;font-weight:800;cursor:pointer}
.bav-actions button:hover{border-color:var(--blue,#1f5cf0)}
.bav-actions button:focus-visible{outline:3px solid rgba(31,92,240,.45);outline-offset:2px}
.bav-actions button:disabled{opacity:.55;cursor:not-allowed}
.bav-actions .bav-primary{border-color:var(--blue,#1f5cf0);background:var(--blue,#1f5cf0);color:#fff}
.bav-actions .bav-primary:hover{background:var(--blue-dark,#1548c7)}
.bav-note{margin:0;padding:14px 22px 20px;color:var(--muted,#52647b);font-size:.86rem;line-height:1.55}
.bav-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.bav-price b{font-size:1rem}
.bav-price span{color:var(--muted,#52647b);font-size:.86rem;font-weight:650}
.mt-context-links{display:flex;flex-wrap:wrap;gap:10px 18px}
.bav-steps code{font-size:.9em}

/* Narrow screens: each row becomes a small card, no sideways scroll */
@media (max-width:640px){
  .bav-controls,.bav-summary,.bav-actions,.bav-note{padding-left:16px;padding-right:16px}
  .bav-table-wrap{padding:4px 12px 0}
  .bav-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .bav-table,.bav-table tbody,.bav-table tfoot{display:block}
  .bav-table tr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 10px;padding:12px 0;border-bottom:1px solid var(--line,#d7e1ee)}
  .bav-table th,.bav-table td{display:grid;gap:3px;padding:0;border:0;text-align:left;white-space:normal;min-width:0}
  .bav-table tbody th,.bav-table tfoot th{grid-column:1/-1}
  .bav-table td::before{content:attr(data-label);font-size:.7rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#52647b)}
  .bav-table .bav-num{width:100%;text-align:left}
  .bav-table .bav-item{min-width:0}
  .bav-table tfoot tr{border-bottom:0}
  .bav-table tfoot td[data-label="Material"]{display:none}
}
@media (prefers-reduced-motion:reduce){.bav-demo *{transition:none}}
.bav-table td>.bav-flag{justify-self:start}
.bav-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
