:root { font-family: Inter, system-ui, sans-serif; color: #14213d; background: #f6f8fb; }
body { margin: 0; min-height: 100vh; }
.shell { width: min(1280px, calc(100% - 32px)); margin: 32px auto; }
.hero, .card { background: white; padding: 28px; border-radius: 24px; box-shadow: 0 24px 60px rgba(20,33,61,.08); margin-bottom: 20px; }
.hero { background: linear-gradient(135deg, #111827, #1d4ed8); color: white; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; color: #93c5fd; font-weight: 800; }
h1 { margin: 0; font-size: clamp(2.2rem, 5vw, 4rem); } h2, h3 { margin-top: 0; }
.auth-row, .grid, .section-head { display: flex; gap: 14px; align-items: end; flex-wrap: wrap; margin: 16px 0; }
.section-head { justify-content: space-between; align-items: center; }
.grid label { flex: 1 1 220px; display: grid; gap: 8px; font-weight: 800; }
.toggle { display: flex !important; align-items: center; gap: 10px; }
select, input, button { border-radius: 12px; border: 1px solid #d7dce5; padding: 11px 13px; font: inherit; }
button { background: #111827; color: white; cursor: pointer; font-weight: 800; }
button.secondary { background: white; color: #111827; } button.danger { background: #b91c1c; }
.layout { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(420px, 1.1fr); gap: 20px; }
.history { display: grid; gap: 10px; max-height: 620px; overflow: auto; }
.deploy-row { border: 1px solid #e5e7eb; border-radius: 16px; padding: 14px; cursor: pointer; display: grid; gap: 6px; }
.deploy-row:hover, .deploy-row.active { border-color: #2563eb; background: #eff6ff; }
.badge { display: inline-block; border-radius: 999px; padding: 3px 9px; font-size: 12px; font-weight: 900; background: #e5e7eb; color: #111827; }
.badge.live, .badge.https_live, .badge.completed { background: #dcfce7; color: #166534; }
.badge.success, .badge.verified, .badge.issued, .badge.detected { background: #dcfce7; color: #166534; }
.badge.failed, .badge.timed_out { background: #fee2e2; color: #991b1b; }
.badge.failed, .badge.renewal_attention, .badge.warning { background: #fee2e2; color: #991b1b; }
.badge.queued, .badge.running, .badge.provisioning, .badge.pending, .badge.pending_validation, .badge.instructions_ready { background: #dbeafe; color: #1d4ed8; }
.summary { display: grid; gap: 8px; margin-bottom: 18px; }
.hidden { display: none !important; }
.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.step { border: 1px solid #e5e7eb; border-radius: 16px; padding: 14px; display: grid; gap: 6px; background: #f9fafb; }
.step.active { border-color: #2563eb; background: #eff6ff; }
.step.done { border-color: #22c55e; background: #f0fdf4; }
.dns-table { display: grid; gap: 10px; }
.dns-table div { border: 1px solid #e5e7eb; border-radius: 14px; padding: 12px; display: grid; gap: 6px; }
code { background: #f1f5f9; border-radius: 8px; padding: 3px 6px; overflow-wrap: anywhere; }
.small-history { max-height: 280px; }
.timeline { list-style: none; padding: 0; display: grid; gap: 10px; }
.timeline li { border-left: 4px solid #d1d5db; padding: 8px 12px; background: #f9fafb; border-radius: 10px; }
.timeline li.done { border-color: #22c55e; } .timeline li.active { border-color: #3b82f6; }
.logs { background: #0b1020; color: #c7f9cc; border-radius: 16px; padding: 16px; height: 360px; overflow: auto; white-space: pre-wrap; }
.muted, .muted-list { color: #64748b; } #message { min-height: 24px; color: #2563eb; font-weight: 800; }
@media (max-width: 900px) { .layout { grid-template-columns: 1fr; } }
