:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #f8fafc;
  background: #09090b;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top, #172554 0, #09090b 48%); }
main { width: min(920px, calc(100% - 32px)); margin: 0 auto; padding: 64px 0 96px; }
header { margin-bottom: 32px; }
.eyebrow, .label { margin: 0 0 8px; color: #93c5fd; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(42px, 9vw, 82px); line-height: .95; letter-spacing: -.055em; }
h2 { margin: 0 0 8px; }
p { color: #cbd5e1; line-height: 1.55; }
.lead { max-width: 680px; font-size: 18px; }
.policy { color: #93c5fd; font-size: 14px; }
.card { margin-bottom: 20px; padding: 24px; border: 1px solid #3f3f46; border-radius: 16px; background: rgba(24, 24, 27, .92); box-shadow: 0 24px 80px rgba(0, 0, 0, .3); }
.hidden { display: none; }
.identity-row, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
form { display: grid; gap: 16px; margin-top: 20px; }
label { display: grid; gap: 8px; color: #e2e8f0; font-weight: 700; }
input { width: 100%; padding: 12px 14px; color: #f8fafc; background: #09090b; border: 1px solid #52525b; border-radius: 10px; font: inherit; }
input:focus { outline: 2px solid #60a5fa; outline-offset: 2px; }
button { width: fit-content; padding: 11px 16px; border: 0; border-radius: 10px; background: #2563eb; color: white; font: inherit; font-weight: 800; cursor: pointer; }
button:hover { background: #1d4ed8; }
button:disabled { opacity: .55; cursor: wait; }
button.secondary { background: #3f3f46; }
button.secondary:hover { background: #52525b; }
pre { min-height: 20px; white-space: pre-wrap; color: #bfdbfe; }
.dataset { display: grid; gap: 6px; padding: 14px 0; border-top: 1px solid #3f3f46; }
.dataset span { color: #a1a1aa; font-size: 14px; }
@media (max-width: 620px) {
  main { padding-top: 36px; }
  .identity-row, .section-heading { align-items: flex-start; flex-direction: column; }
}
.dataset-actions { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.validation-status { color: #bfdbfe; font-size: 14px; }
@media (max-width: 620px) {
  .dataset-actions { align-items: flex-start; flex-direction: column; }
}

.agent-dialog { width: min(780px, calc(100% - 24px)); max-height: calc(100vh - 32px); padding: 0; color: #f8fafc; background: #111827; border: 1px solid #475569; border-radius: 18px; box-shadow: 0 32px 100px rgba(0, 0, 0, .7); }
.agent-dialog::backdrop { background: rgba(2, 6, 23, .78); backdrop-filter: blur(6px); }
.agent-shell { display: grid; gap: 18px; padding: 24px; }
.agent-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.agent-heading p { margin: 4px 0 0; }
.agent-messages { display: grid; gap: 12px; min-height: 180px; max-height: 340px; overflow-y: auto; padding: 16px; background: #09090b; border: 1px solid #334155; border-radius: 14px; }
.agent-message { max-width: 86%; padding: 12px 14px; border-radius: 14px; white-space: pre-wrap; line-height: 1.5; }
.agent-message.user { justify-self: end; background: #1d4ed8; color: white; }
.agent-message.assistant { justify-self: start; background: #27272a; color: #e2e8f0; }
.agent-plan { display: grid; gap: 12px; padding: 16px; border: 1px solid #2563eb; border-radius: 14px; background: rgba(30, 64, 175, .16); }
.agent-plan p { margin: 0; }
.agent-form { margin-top: 0; }
.agent-form textarea { width: 100%; resize: vertical; padding: 12px 14px; color: #f8fafc; background: #09090b; border: 1px solid #52525b; border-radius: 10px; font: inherit; }
.agent-form textarea:focus { outline: 2px solid #60a5fa; outline-offset: 2px; }
.agent-actions { display: flex; align-items: center; gap: 12px; }
@media (max-width: 620px) { .agent-heading { flex-direction: column; } .agent-message { max-width: 96%; } }
