body { font-family: system-ui, sans-serif; margin: 0; color: #1d2125; background: #f6f7f9; }
header { display: flex; gap: 2rem; align-items: center; padding: .75rem 1.5rem; background: #102a43; color: #fff; }
header a { color: #d9e8ff; margin-right: 1rem; text-decoration: none; }
main { padding: 1rem 1.5rem; max-width: 1400px; }
table { border-collapse: collapse; width: 100%; background: #fff; margin-bottom: 1.5rem; font-size: .9rem; }
th, td { border: 1px solid #d8dde3; padding: .3rem .5rem; text-align: left; vertical-align: top; word-break: break-word; }
th { background: #eef1f4; }
.cards { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.card { background: #fff; border: 1px solid #d8dde3; padding: .75rem 1rem; min-width: 14rem; }
.card h3 { margin: 0 0 .5rem; font-size: 1rem; }
form.inline { display: inline-block; margin: 0 .25rem .25rem 0; }
.message { background: #e3f9e5; border: 1px solid #8ed29a; padding: .5rem; }
.error { background: #ffe3e3; border: 1px solid #e5989b; padding: .5rem; }
.muted { color: #66717d; font-size: .85rem; }
.state-Running { color: #0b7a29; font-weight: bold; }
.state-Paused, .state-BudgetPaused { color: #a15c00; font-weight: bold; }
input[type=text], input[type=number], input[type=password], select, textarea { padding: .25rem; }
textarea { width: 100%; min-height: 8rem; }
code { font-size: .85rem; }
