:root { --pico-font-size: 95%; --pico-spacing: .9rem; }
.container { max-width: 1280px; padding-inline: 16px; }
nav.top { border-bottom: 1px solid var(--pico-muted-border-color); margin-bottom: 1rem; }
nav.top ul:first-child li:first-child a { font-weight: 700; }
nav.sub { margin: -.5rem 0 1rem; font-size: .9rem; }
nav.top ul, nav.sub ul { flex-wrap: wrap; }
nav.sub li { padding-block: .25rem; }
nav.sub a[aria-current] { font-weight: 700; text-decoration: underline; }
.badge { display: inline-block; padding: .1rem .5rem; border-radius: 1rem; font-size: .78rem;
  font-weight: 600; white-space: nowrap; background: #e5e7eb; color: #374151; }
.tier-high, .st-failed, .st-open, .st-fail { background: #fee2e2; color: #991b1b; }
.tier-medium, .st-in-review, .st-not-executed { background: #fef3c7; color: #92400e; }
.tier-not-high, .st-approved, .st-verified, .st-closed, .st-pass { background: #dcfce7; color: #166534; }
.st-accepted-with-deviation { background: #e0e7ff; color: #3730a3; }
.st-draft, .st-uncovered, .tier-none { background: #e5e7eb; color: #374151; }
.st-approved-but-content-changed-after-signing { background: #fecaca; color: #7f1d1d; }
.stepper { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .5rem; margin-bottom: 1.5rem; }
.stepper a { display: block; padding: .7rem; border: 1px solid var(--pico-muted-border-color);
  border-radius: .5rem; text-decoration: none; color: inherit; }
.stepper a:hover { border-color: var(--pico-primary); }
.stepper small { display: block; color: var(--pico-muted-color); }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: .5rem; margin-bottom: 1rem; }
.kpis div { padding: .6rem .8rem; border-radius: .5rem; background: var(--pico-card-sectioning-background-color); }
.kpis b { display: block; font-size: 1.4rem; }
.gaps li { margin-bottom: .2rem; }
.gaps code { font-size: .75rem; }
.ok { color: #166534; font-weight: 600; }
.bad { color: #991b1b; font-weight: 600; }
.muted { color: var(--pico-muted-color); font-size: .85rem; }
.actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1rem; }
.actions > *, .actions form { margin: 0; width: auto; }
.actions button, .actions [role=button] { padding: .35rem .8rem; font-size: .9rem; margin: 0; }
table { font-size: .9rem; }
td, th { vertical-align: top; }
pre.snapshot { max-height: 24rem; overflow: auto; font-size: .78rem; white-space: pre-wrap; }
.diff .add { background: #dcfce7; } .diff .del { background: #fee2e2; }
.diff { font-family: monospace; font-size: .78rem; white-space: pre-wrap; }
.messages li { list-style: none; padding: .5rem .8rem; border-radius: .4rem; margin-bottom: .4rem; }
.messages { padding: 0; }
.msg-success { background: #dcfce7; } .msg-error { background: #fee2e2; } .msg-warning { background: #fef3c7; } .msg-info { background: #e0f2fe; }
.messages li { color: #111827; }
.hash { font-family: monospace; font-size: .75rem; word-break: break-all; }
.inline { display: inline; }
.grid-2 { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5rem; }
@media (max-width: 900px) { .grid-2 { grid-template-columns: 1fr; } }
.step-row textarea { min-height: 2.5rem; }
details.danger summary { color: #991b1b; }
