/* Advice page only; the shared look comes from style.css. */
.advice-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; margin: 1rem 0; align-items: end; }
.advice-form label { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; }
.advice-form .facets, .advice-form button[type=submit], .advice-form .connection, .advice-form .settings { grid-column: 1 / -1; }
.advice-form .connection { margin: 0; }
.settings { background: #fff; padding: .6rem 1.25rem; }
.settings summary { cursor: pointer; font-weight: 600; color: var(--heading); }
.settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; margin: .75rem 0; align-items: end; }
.facets .facet-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: .5rem; align-items: end; }
.facets .facet-row label { flex: 1 1 8rem; }
.table-wrap { overflow-x: auto; }
table.plain { min-width: 32rem; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); gap: 1rem; }
.card { border: 1px solid var(--border); border-radius: 8px; padding: .8rem 1rem; background: #fff; }
.card h3 { margin: 0 0 .4rem; font-size: 1rem; }
.card ul { margin: .3rem 0 .6rem; padding-left: 1.1rem; }
.card dl { display: grid; grid-template-columns: 1fr auto; gap: .15rem .75rem; margin: 0; font-size: .85rem; }
.card dt { color: var(--muted); }
.card dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.card.over { border-color: #c98a2b; }
.badge { display: inline-block; padding: .1rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.badge.ok { background: var(--petrol-100); color: var(--petrol-800); }
.badge.over { background: #fff1d6; color: #8a4b00; }
