:root { --pico-font-size: 93%; }
.neg { color: #c62828; }
.pos { color: #2e7d32; }
.muted { color: var(--pico-muted-color); }
nav.top { border-bottom: 1px solid var(--pico-muted-border-color); margin-bottom: 1rem; padding: 0 1rem; }
nav.top a.active { font-weight: 700; text-decoration: underline; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.card { border: 1px solid var(--pico-muted-border-color); border-radius: 8px; padding: .7rem .9rem; background: var(--pico-card-background-color); }
.card .lbl { font-size: .8rem; color: var(--pico-muted-color); }
.card .val { font-size: 1.35rem; font-weight: 700; white-space: nowrap; }
.card.big { border-color: var(--pico-primary); }
table { font-size: .9rem; }
td.r, th.r { text-align: right; white-space: nowrap; }
.bar { background: #e3e7ee; border-radius: 4px; height: .7rem; overflow: hidden; min-width: 90px; }
.bar > i { display: block; height: 100%; background: #1976d2; }
.bar.green > i { background: #43a047; }
.tabs { display: flex; gap: .25rem; border-bottom: 2px solid var(--pico-muted-border-color); margin-bottom: 1rem; flex-wrap: wrap; }
.tabs a { padding: .45rem .9rem; text-decoration: none; border-radius: 6px 6px 0 0; }
.tabs a.active { background: var(--pico-primary); color: #fff; }
.msg { padding: .5rem .8rem; border-radius: 6px; margin-bottom: .5rem; background: #e8f5e9; }
.msg.error { background: #ffebee; } .msg.warning { background: #fff8e1; }
form.inline { display: inline; margin: 0; }
form.inline input, form.inline select, form.inline button { margin: 0; width: auto; display: inline-block; padding: .25rem .5rem; font-size: .85rem; }
.row-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem; align-items: end; }
.row-form > * { margin: 0; }
button.small, a.small { padding: .2rem .55rem; font-size: .8rem; margin: 0; width: auto; }
button.link { background: none; border: none; color: #c62828; padding: 0 .3rem; width: auto; margin: 0; cursor: pointer; }
input.num { width: 7.5rem; text-align: right; padding: .2rem .4rem; margin: 0; }
input.num.sm { width: 5rem; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
@media (max-width: 800px) { .grid2 { grid-template-columns: 1fr; } .cards { grid-template-columns: 1fr 1fr; } table { display: block; overflow-x: auto; } }
tr.stage td { background: #eef3fb; font-weight: 700; }
tr.manual td:first-child::after { content: " ✎"; color: #f57c00; }
.warn { color: #e65100; }
details.box { border: 1px solid var(--pico-muted-border-color); border-radius: 8px; padding: .5rem .8rem; margin-bottom: .8rem; }
details.box > summary { cursor: pointer; font-weight: 600; }
.sections-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .1rem .8rem; }
.sections-pick label { margin: 0; }
