.factory-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: clamp(36px, 7vw, 110px);
  align-items: center;
  min-height: 650px;
  padding: clamp(72px, 8vw, 132px) clamp(20px, 6vw, 92px);
  background: radial-gradient(circle at 82% 20%, rgba(31, 111, 235, 0.18), transparent 34%), linear-gradient(145deg, #f8fbff, #edf4fb);
}

.factory-hero h1 { margin: 10px 0 18px; font-size: clamp(3.2rem, 6.5vw, 7.2rem); line-height: 0.92; letter-spacing: -0.06em; }
.factory-lead { max-width: 800px; color: var(--muted); font-size: clamp(1.2rem, 2vw, 1.75rem); line-height: 1.45; }
.factory-actions, .factory-form-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.factory-status { display: grid; gap: 10px; padding: clamp(24px, 4vw, 42px); border: 1px solid rgba(31, 111, 235, 0.24); border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: var(--shadow); }
.factory-status strong { color: var(--ink); font-size: 1.05rem; }
.factory-status span { margin-bottom: 15px; color: var(--muted); line-height: 1.65; }

.factory-feature-grid, .guardrail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.factory-feature-grid article, .guardrail-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 14px 34px rgba(7,17,38,.05); }
.factory-feature-grid article > span { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--white); background: var(--blue); font-weight: 900; }
.factory-feature-grid h3, .guardrail-grid h3 { margin: 18px 0 8px; color: var(--ink); }
.factory-feature-grid p, .guardrail-grid p { margin: 0; color: var(--muted); line-height: 1.6; }

.factory-workspace { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 24px; align-items: start; background: #eef4fb; }
.factory-form-panel, .blueprint-panel { padding: clamp(24px, 4vw, 42px); border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: 0 18px 40px rgba(7,17,38,.06); }
.factory-form { display: grid; gap: 20px; margin-top: 24px; }
.factory-form fieldset { display: grid; gap: 16px; margin: 0; padding: 22px; border: 1px solid var(--line); border-radius: 10px; }
.factory-form legend { padding: 0 8px; color: var(--ink); font-size: 1.1rem; font-weight: 900; }
.factory-form label { display: grid; gap: 8px; color: var(--ink); font-weight: 800; }
.factory-form input, .factory-form select, .factory-form textarea { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; color: var(--ink); background: #fbfdff; font: inherit; }
.factory-form textarea { min-height: 110px; resize: vertical; }
.factory-form input:focus, .factory-form select:focus, .factory-form textarea:focus { outline: 3px solid rgba(31,111,235,.16); border-color: var(--blue); }
.factory-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.factory-checks { display: grid; gap: 10px; }
.factory-checks label, .factory-consent { display: flex; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px; font-weight: 650; line-height: 1.45; }
.factory-checks input, .factory-consent input { width: 20px; min-height: 20px; margin-top: 1px; }
.factory-module-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.factory-upload-section > p { margin: 0; color: var(--muted); line-height: 1.55; }
.factory-upload-section input[type="file"] { padding: 9px; background: var(--white); }
.factory-upload-note { font-size: .88rem; }
.factory-upload-list { display: grid; gap: 8px; }
.factory-upload-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbff; font-size: .9rem; }
.factory-upload-item span:first-child { overflow-wrap: anywhere; }
.factory-upload-item [data-state="clean"] { color: #137a43; font-weight: 800; }
.factory-upload-item [data-state="scanning"] { color: #8a5a00; font-weight: 800; }
.factory-upload-item [data-state="blocked"] { color: #a12b2b; font-weight: 800; }
.blueprint-panel { position: sticky; top: 150px; }
.blueprint-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.blueprint-heading h2 { margin: 4px 0 0; }
.blueprint-heading > span { flex: none; padding: 7px 10px; border-radius: 999px; color: var(--blue); background: #eaf3ff; font-size: .78rem; font-weight: 900; }
.blueprint-panel [data-blueprint-empty] { padding: 34px 0; color: var(--muted); line-height: 1.7; }
.blueprint-results { display: grid; gap: 14px; margin-top: 20px; }
.blueprint-block { padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: #f8fbff; }
.blueprint-block h3 { margin: 0 0 8px; font-size: 1rem; }
.blueprint-block p, .blueprint-block ul { margin: 0; color: var(--muted); line-height: 1.55; }
.blueprint-block ul { padding-left: 20px; }
.blueprint-warning { border-color: rgba(185,113,0,.28); background: #fff9ec; }
.factory-guardrails { color: var(--white); background: #071126; }
.factory-guardrails h2, .factory-guardrails h3 { color: var(--white); }
.factory-guardrails .guardrail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.factory-guardrails .guardrail-grid article { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
.factory-guardrails .guardrail-grid p { color: #c6d3e5; }

@media (max-width: 920px) {
  .factory-hero, .factory-workspace { grid-template-columns: 1fr; }
  .factory-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blueprint-panel { position: static; }
}

@media (max-width: 620px) {
  .factory-hero { min-height: auto; padding-top: 64px; }
  .factory-hero h1 { font-size: clamp(2.8rem, 15vw, 4.4rem); }
  .factory-feature-grid, .factory-guardrails .guardrail-grid, .factory-two-col { grid-template-columns: 1fr; }
  .factory-form-panel, .blueprint-panel { padding: 20px; }
  .factory-form fieldset { padding: 16px; }
  .factory-form-actions .button { width: 100%; }
  .factory-module-options { grid-template-columns: 1fr; }
}
.factory-form-panel, .blueprint-panel, .blueprint-block { min-width: 0; overflow-wrap: anywhere; }
.blueprint-heading { flex-wrap: wrap; gap: 0.75rem; }
.blueprint-heading > * { min-width: 0; max-width: 100%; }
.factory-review-grid { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(0, 3fr); gap: 2rem; margin-top: 2rem; }
.factory-review-grid section { min-width: 0; overflow-wrap: anywhere; }
.factory-review-grid button, .factory-review-grid label, .factory-review-grid a { display: block; margin: 1rem 0; }
.factory-review-grid pre, .factory-review-grid dd { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: 1rem; }
.factory-review-grid textarea, .factory-review-grid select { width: 100%; padding: 1rem; }
@media (max-width: 700px) { .factory-review-grid { grid-template-columns: minmax(0, 1fr); } }
