:root { --pico-font-size: 15px; --pico-spacing: .75rem; --pico-form-element-spacing-vertical: .4rem;
        --pico-form-element-spacing-horizontal: .6rem; }
body > header { padding: .4rem 0; border-bottom: 1px solid var(--pico-muted-border-color); margin-bottom: 1rem; }
body > header nav ul:first-child strong { font-size: 1.05rem; }
body > header nav a { padding: .3rem .5rem; }
body > header nav a.active { font-weight: 600; text-decoration: underline; }
main.container-fluid, header .container-fluid { max-width: 1600px; }
h1 { font-size: 1.5rem; margin-bottom: .6rem; }
h2 { font-size: 1.2rem; margin: 1.2rem 0 .5rem; }
h3 { font-size: 1.05rem; margin: 1rem 0 .4rem; }
table { font-size: .88rem; }
table th, table td { padding: .3rem .45rem; }
td.n, th.n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.scroll { overflow-x: auto; }
.flash { padding: .5rem .8rem; border-radius: 6px; margin-bottom: .6rem; }
.flash.ok { background: #e6f4ea; color: #1e4620; }
.flash.error { background: #fde8e8; color: #7a1d1d; }
.flash.warn { background: #fff4d6; color: #6b4e00; }
.warn-row { background: #fff8e1; }
.bad { color: #b3261e; font-weight: 600; }
.good { color: #1e7a34; }
.muted { color: var(--pico-muted-color); font-size: .85rem; }
.badge { display: inline-block; padding: .05rem .45rem; border-radius: 999px; font-size: .78rem;
         background: var(--pico-secondary-background); color: var(--pico-secondary-inverse); white-space: nowrap; }
.badge.ok { background: #1e7a34; color: #fff; }
.badge.warn { background: #c98a00; color: #fff; }
.badge.bad { background: #b3261e; color: #fff; }
.badge.ai { background: #6a4bc4; color: #fff; }
.kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .6rem; margin-bottom: 1rem; }
.kpi { border: 1px solid var(--pico-muted-border-color); border-radius: 8px; padding: .5rem .7rem; }
.kpi b { display: block; font-size: 1.25rem; }
.kpi span { font-size: .8rem; color: var(--pico-muted-color); }
.row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; }
.row > * { margin-bottom: 0; }
.row label { margin-bottom: 0; }
form.inline { display: inline; }
form.inline button, .btn-sm { padding: .2rem .55rem; font-size: .82rem; width: auto; margin: 0; }
input.qty { width: 7rem; padding: .2rem .4rem; text-align: right; }
.tabs a { margin-right: .8rem; }
.tabs a.active { font-weight: 600; text-decoration: underline; }
details.card { border: 1px solid var(--pico-muted-border-color); border-radius: 8px; padding: .5rem .8rem; }
pre.json { font-size: .78rem; white-space: pre-wrap; max-height: 200px; overflow: auto; }
@media (max-width: 768px) {
  body > header nav { flex-wrap: wrap; }
  body > header nav ul { flex-wrap: wrap; }
  table { font-size: .8rem; }
}
main button.btn-sm, main [type=submit].btn-sm, main a.btn-sm[role=button] { width: auto; padding: .25rem .6rem; font-size: .82rem; margin-bottom: 0; }
main form > button[type=submit] { width: auto; }
