:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { background: #0b1120; color: #e5e7eb; margin: 0; padding: 24px; }
.wrap { max-width: 1280px; margin: 0 auto; }
h1, h2, h3 { margin-top: 0; line-height: 1.25; }
a { color: #bfdbfe; }
.card { background: #111827; border: 1px solid #334155; border-radius: 14px; padding: 18px; margin: 14px 0; box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.grid, .action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; align-items: stretch; }
.action-section { display: block; clear: both; margin: 28px 0 10px; }
.section-title { margin-bottom: 16px; }
.action-card { display: flex; flex-direction: column; min-height: 225px; margin: 0; }
.action-card h2 { min-height: 54px; margin-bottom: 14px; }
.action-card .muted { flex: 1; min-height: 72px; margin-bottom: 18px; }
.action-card form { margin-top: auto; width: 100%; }
.action-card button { width: 100%; min-height: 44px; }
button, .btn { background: #2563eb; color: #fff; border: 0; border-radius: 10px; padding: 11px 14px; font-weight: 750; cursor: pointer; text-decoration: none; display: inline-block; }
button:hover, .btn:hover { filter: brightness(1.12); }
button.danger { background: #dc2626; }
button.secondary, .btn.secondary { background: #475569; }
input, select { background: #020617; color: #e5e7eb; border: 1px solid #475569; border-radius: 8px; padding: 10px; max-width: 100%; }
pre, .pre, .console { background: #020617; color: #d1d5db; border: 1px solid #334155; border-radius: 12px; padding: 16px; overflow: auto; white-space: pre-wrap; }
pre { max-height: 72vh; }
.console { color: #d1fae5; max-height: 260px; font: 13px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
code { background: #020617; color: #bfdbfe; padding: 2px 5px; border-radius: 5px; }
.muted { color: #94a3b8; font-size: 14px; }
.small { font-size: 13px; }
.row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.score { font-size: 20px; font-weight: 800; padding: 12px 14px; border-radius: 12px; background: #020617; border: 1px solid #334155; }
.progress-outer { width: 100%; background: #020617; border: 1px solid #334155; border-radius: 999px; overflow: hidden; height: 24px; }
.progress-inner { height: 100%; width: 0; background: #2563eb; transition: width .4s ease; text-align: center; font-size: 13px; font-weight: 700; line-height: 24px; }
.top-badge { display: inline-block; border: 1px solid #475569; border-radius: 999px; padding: 5px 9px; margin: 3px; font-size: 13px; }
.top-badge.ok, .drift.ok { color: #86efac; border-color: #166534; }
.top-badge.warn { color: #fde68a; border-color: #a16207; }
.top-badge.bad, .drift.bad { color: #fca5a5; border-color: #991b1b; }
.top-badge.unknown { color: #cbd5e1; }
.drift { border: 1px solid; border-radius: 8px; padding: 8px 10px; }
.danger-zone { margin-top: 14px; border-top: 1px solid #7f1d1d; padding-top: 12px; }
.messages-form { display: grid; gap: 12px; max-width: 780px; }
.messages-form label { color: #cbd5e1; font-weight: 700; }
.messages-form input { width: 100%; }
.inline-form { display: inline-flex; gap: 8px; align-items: center; margin: 4px 8px 4px 0; flex-wrap: wrap; }
.table-scroll { overflow-x: auto; }
.ops-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ops-table th, .ops-table td { border-bottom: 1px solid #334155; padding: 9px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.ops-table th { color: #cbd5e1; }
.logs-card { margin-top: 20px; }
ol, ul { line-height: 1.65; }
@media (max-width: 640px) { body { padding: 12px; } .card { padding: 14px; } .action-grid { grid-template-columns: 1fr; } }
