:root { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #17202a; background: #f5f7fb; }
body { margin: 0; }
a { color: #174ea6; text-decoration: none; }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 14px 28px; background: #101828; color: white; }
.brand { color: white; font-weight: 700; }
.container { max-width: 1180px; margin: 0 auto; padding: 28px; }
.card { background: white; border: 1px solid #e5e7eb; border-radius: 14px; padding: 20px; margin: 18px 0; box-shadow: 0 6px 20px rgba(16,24,40,.04); }
.narrow { max-width: 430px; margin: 60px auto; }
.row { display: flex; gap: 14px; }
.between { justify-content: space-between; }
.center { align-items: center; }
.wrap { flex-wrap: wrap; }
.actions { display: flex; gap: 10px; align-items: center; }
h1, h2 { margin-top: 0; }
.muted { color: #667085; }
.form { display: flex; flex-direction: column; gap: 14px; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.wide { grid-column: 1 / -1; }
.fieldend { align-self: end; }
label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
label.check { flex-direction: row; align-items: center; font-weight: 500; }
input, textarea { border: 1px solid #cfd4dc; border-radius: 10px; padding: 10px 12px; font: inherit; }
button, .button { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 10px; padding: 10px 14px; background: #175cd3; color: white; font-weight: 700; cursor: pointer; }
.button.secondary, button.ghost { background: #eef4ff; color: #175cd3; }
button.danger { background: #d92d20; }
button.linkbtn { background: transparent; padding: 0; color: white; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; border-bottom: 1px solid #eaecf0; text-align: left; vertical-align: top; }
code, pre { background: #f2f4f7; border: 1px solid #eaecf0; border-radius: 8px; padding: 2px 6px; overflow-x: auto; }
code.block { display: block; padding: 10px; white-space: break-spaces; }
pre { padding: 14px; }
.log { max-height: 380px; overflow: auto; font-size: 12px; }
.pill { display: inline-flex; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; }
.pill.green { background: #dcfae6; color: #067647; }
.pill.gray { background: #f2f4f7; color: #344054; }
.flash { border-radius: 10px; padding: 12px 14px; margin-bottom: 16px; }
.flash.success { background: #ecfdf3; color: #067647; border: 1px solid #abefc6; }
.flash.error { background: #fef3f2; color: #b42318; border: 1px solid #fecdca; }
@media (max-width: 800px) { .grid2, .grid3 { grid-template-columns: 1fr; } .container { padding: 16px; } table { display: block; overflow-x: auto; } }
