:root { --pico-font-size: 95%; }
.topbar { background: #1d3b5a; padding: 0 1rem; }
.topbar a { color: #fff; }
.topbar nav ul li a.brand { font-size: 1.1rem; }
.topbar nav { min-height: 3rem; }
.flash { background: #e7f5e9; border-left: 4px solid #2e8b57; padding: .6rem 1rem; margin-bottom: 1rem; border-radius: 4px; }
.muted { color: #6b7280; font-size: .9em; }
.pill { display: inline-block; padding: .1rem .5rem; border-radius: 999px; font-size: .78em; background: #e5e7eb; }
.pill.ok { background: #d1fae5; color: #065f46; }
.pill.warn { background: #fef3c7; color: #92400e; }
.pill.bad { background: #fee2e2; color: #991b1b; }
.pill.info { background: #dbeafe; color: #1e40af; }
table td, table th { padding: .4rem .5rem; font-size: .92em; }
.actions form { display: inline; }
.grid-tight { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .5rem 1rem; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.card { border: 1px solid #e5e7eb; border-radius: 8px; padding: 1rem; background: #fff; }
.card h4 { margin: 0 0 .5rem; font-size: 1rem; }
.stat { font-size: 2rem; font-weight: 700; line-height: 1; }
/* test grid */
.tgrid { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.tgrid th, .tgrid td { border: 1px solid #cbd5e1; vertical-align: top; padding: .4rem; }
.tgrid th { background: #f1f5f9; font-size: .85em; }
.tgrid td input[type=text], .tgrid td input[type=number] { margin-bottom: .3rem; padding: .3rem .4rem; height: auto; font-size: .9em; }
.tgrid label { font-size: .85em; display: block; margin: 0; }
.tgrid td.rowlabel { background: #f8fafc; font-weight: 600; width: 80px; }
.sigpad { border: 2px dashed #94a3b8; border-radius: 6px; background: #fff; touch-action: none; width: 100%; height: 160px; }
.pf label { display: inline-block; margin-right: 1rem; }
fieldset.compact label { margin-bottom: .3rem; }
@media (max-width: 760px) { .tgrid { font-size: .85em; } .tgrid td.rowlabel { width: 50px; } }
details.devrow { border: 1px solid #e5e7eb; border-radius: 6px; padding: .5rem 1rem; margin-bottom: .5rem; }
.ts-wrapper .option .sub { display: block; font-size: .8em; color: #6b7280; }
