#agent-lz-planner {
  --accent: var(--md-primary-fg-color, #4051b5);
  --ink: var(--md-default-fg-color, #202737);
  --muted: color-mix(in srgb, var(--ink) 78%, var(--md-default-bg-color, white));
  --line: color-mix(in srgb, var(--ink) 18%, var(--md-default-bg-color, white));
  --surface: var(--md-default-bg-color, white);
  --soft: color-mix(in srgb, var(--accent) 4%, var(--surface));
  --blue-soft: color-mix(in srgb, var(--accent) 8%, var(--surface));
  --warning: #784b0a;
  --warning-bg: #fff7e7;
  --warning-line: #e8cf9b;
  /* The site's Material header is 2.4rem on desktop and mobile, without tabs. */
  --planner-header-offset: 2.4rem;
  --planner-summary-offset: 6rem;
  container-type: inline-size;
  color: var(--ink);
  font: inherit;
  min-width: 0;
  width: 100%;
}

#agent-lz-planner *,
#agent-lz-planner *::before,
#agent-lz-planner *::after {
  box-sizing: border-box;
}

#agent-lz-planner [hidden] { display: none !important; }
#agent-lz-planner [id] {
  scroll-margin-block-start: calc(var(--planner-header-offset) + var(--planner-summary-offset) + 1rem);
}
#agent-lz-planner a { overflow-wrap: anywhere; }
#agent-lz-planner a:hover { text-decoration: underline; }
#agent-lz-planner :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
#agent-lz-planner :is(button, input, select, textarea) {
  min-height: 2.2rem;
  border: 1px solid color-mix(in srgb, var(--ink) 40%, var(--surface));
  border-radius: 0.2rem;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 0.7rem;
}
#agent-lz-planner :is(button, select, summary) { cursor: pointer; }
#agent-lz-planner button { padding: 0.4rem 0.65rem; font-weight: 600; line-height: 1.4; }
#agent-lz-planner button:hover { border-color: var(--accent); background: var(--blue-soft); }
#agent-lz-planner button:disabled { opacity: 0.6; cursor: not-allowed; }
#agent-lz-planner :is(input, select, textarea) { width: 100%; padding: 0.35rem 0.45rem; }
#agent-lz-planner input { font-variant-numeric: tabular-nums; }
#agent-lz-planner select { appearance: auto; }
#agent-lz-planner :is(input, textarea):invalid { border-color: #b3261e; background: #fff3f1; }
#agent-lz-planner textarea { display: block; margin-top: 0.4rem; resize: vertical; }
#agent-lz-planner label { display: block; color: var(--muted); font-size: 0.65rem; font-weight: 600; }
#agent-lz-planner label :is(input, select, textarea) { margin-top: 0.25rem; font-weight: 400; }
#agent-lz-planner :is(p, li, dd, dt) { overflow-wrap: anywhere; }
#agent-lz-planner p { max-width: 75ch; }
#agent-lz-planner h1 { margin-bottom: 0.8rem; }
#agent-lz-planner h2 { font-size: 1rem; font-weight: 600; line-height: 1.4; }
#agent-lz-planner h3 { font-size: 0.8rem; font-weight: 600; line-height: 1.5; }
#agent-lz-planner .intro { color: var(--muted); margin: 0 0 1rem; }
#agent-lz-planner .fine { color: var(--muted); font-size: 0.65rem; line-height: 1.7; }
#agent-lz-planner .notice,
#agent-lz-planner .warning {
  padding: 0.65rem 0.8rem;
  margin: 0.6rem 0 1rem;
  border: 1px solid var(--line);
  border-radius: 0.2rem;
  background: var(--blue-soft);
  color: var(--ink);
  font-size: 0.7rem;
  line-height: 1.65;
}
#agent-lz-planner .notice strong { color: var(--accent); }
#agent-lz-planner .warning,
#agent-lz-planner .notice[role="alert"] {
  background: var(--warning-bg);
  color: var(--warning);
  border-color: var(--warning-line);
}
#agent-lz-planner #load-status { padding: 1.2rem 0; color: var(--muted); }
#agent-lz-planner .scenario-bar { display: flex; flex-wrap: wrap; align-items: end; gap: 0.7rem; }
#agent-lz-planner .scenario-bar > label { flex: 0 1 11rem; }
#agent-lz-planner .field-label { display: block; font-size: 0.65rem; font-weight: 600; color: var(--muted); }
#agent-lz-planner .scenario-note { flex: 1 1 15rem; font-size: 0.65rem; padding-bottom: 0.1rem; }
#agent-lz-planner .scenario-note small { display: block; margin-top: 0.25rem; color: var(--muted); font-size: 0.6rem; }
#agent-lz-planner #reset { border-color: transparent; color: var(--accent); font-size: 0.65rem; }
#agent-lz-planner .provenance { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; padding: 0.5rem 0 0.7rem; color: var(--muted); font-size: 0.6rem; }

#agent-lz-planner .live-summary {
  position: sticky;
  top: var(--planner-header-offset);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 1rem 0 0.5rem;
  padding: 0.7rem 0;
  background: var(--surface);
  border-block: 1px solid var(--line);
}
#agent-lz-planner .live-summary > div { min-width: 0; flex: 1; }
#agent-lz-planner .live-label { display: block; font-size: 0.6rem; color: var(--muted); }
#agent-lz-planner .live-summary strong { display: block; font-size: 1.65rem; line-height: 1.4; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#agent-lz-planner .live-summary small { display: block; font-size: 0.6rem; line-height: 1.5; color: var(--muted); overflow-wrap: anywhere; }
#agent-lz-planner #live-sizing.needs-attention { color: var(--warning); }
#agent-lz-planner .live-summary a { display: flex; align-items: center; min-height: 2.2rem; font-size: 0.65rem; font-weight: 600; }
#agent-lz-planner #starting-point-note { max-width: 25ch; font-size: 0.65rem; line-height: 1.7; }
#agent-lz-planner #cost-change-summary { padding: 0.5rem 0 0.7rem; font-size: 0.75rem; }
#agent-lz-planner #live-delta { display: block; font-weight: 600; }
#agent-lz-planner #cost-change-summary > small { display: block; margin-top: 0.2rem; color: var(--muted); font-size: 0.65rem; }
#agent-lz-planner #cost-change-items { list-style: none; padding: 0; margin: 0.6rem 0 0; max-width: 34rem; }
#agent-lz-planner #cost-change-items li { display: flex; justify-content: space-between; gap: 0.8rem; margin: 0.3rem 0; font-size: 0.7rem; }
#agent-lz-planner #cost-change-items strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
#agent-lz-planner .planner-scope { margin: 0.4rem 0 1rem; }
#agent-lz-planner .cost-drivers { margin: 0.4rem 0; }
#agent-lz-planner .cost-drivers > summary::before { position: static; display: inline; margin-right: 0.25rem; content: "+"; background: none; mask: none; }
#agent-lz-planner .cost-drivers[open] > summary::before { content: "\2212"; }
#agent-lz-planner #cost-driver-items { list-style: none; padding: 0; margin: 0.4rem 0 1rem; max-width: 36rem; }
#agent-lz-planner #cost-driver-items li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.4rem 0; font-size: 0.7rem; }
#agent-lz-planner #cost-driver-items small { display: block; color: var(--muted); font-size: 0.6rem; }
#agent-lz-planner #cost-driver-items strong { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Reset Material's admonition treatment only for the planner's native disclosures. */
#agent-lz-planner details {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-size: inherit;
}
#agent-lz-planner summary {
  position: relative;
  min-height: 2.2rem;
  margin: 0;
  padding: 0.5rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.6;
  list-style: none;
}
#agent-lz-planner summary::-webkit-details-marker { display: none; }
#agent-lz-planner summary::before,
#agent-lz-planner summary::after { display: none; content: none; }
#agent-lz-planner .workload { border-bottom: 1px solid var(--line); margin-bottom: 1.5rem; }
#agent-lz-planner .workload > summary { display: flex; align-items: center; gap: 0.8rem; padding: 0.65rem 0; color: var(--ink); }
#agent-lz-planner .workload summary small { display: block; margin-top: 0.1rem; color: var(--muted); font-size: 0.6rem; font-weight: 400; }
#agent-lz-planner #workload-summary { margin-left: auto; color: var(--accent); text-align: right; font-size: 0.65rem; font-weight: 400; }
#agent-lz-planner .disclosure { flex: 0 0 0.7rem; text-align: center; color: var(--muted); font-size: 1rem; }
#agent-lz-planner details[open] > summary .disclosure { transform: rotate(45deg); }
#agent-lz-planner .workload-body { border-top: 1px solid var(--line); padding: 0.2rem 0.8rem 0.8rem; background: var(--soft); }
#agent-lz-planner .workload-body > p { font-size: 0.7rem; color: var(--muted); }
#agent-lz-planner .input-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem 0.9rem; margin: 0.9rem 0; }
#agent-lz-planner .workload-math { padding: 0.6rem 0; border-top: 1px solid var(--line); font-size: 0.7rem; color: var(--accent); }
#agent-lz-planner .presets { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-top: 0.9rem; font-size: 0.65rem; }
#agent-lz-planner .presets button { font-size: 0.65rem; }
#agent-lz-planner .planner-panel { border-bottom: 1px solid var(--line); margin: 0; }
#agent-lz-planner .planner-panel > summary { display: flex; align-items: center; gap: 0.7rem; padding: 0.9rem 0; color: var(--ink); }
#agent-lz-planner .planner-panel > summary h2 { margin: 0; font-size: 0.8rem; }
#agent-lz-planner .planner-panel > summary > .disclosure { margin-left: auto; }
#agent-lz-planner #live-sizing { color: var(--muted); font-size: 0.6rem; font-weight: 400; }
#agent-lz-planner #live-sizing.needs-attention { color: var(--warning); }
#agent-lz-planner .panel-body { padding: 0.2rem 0 1rem; }
#agent-lz-planner .section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.4rem 1rem; margin-bottom: 0.8rem; }
#agent-lz-planner .section-heading h2 { margin: 0; }
#agent-lz-planner .section-heading > span { color: var(--muted); font-size: 0.65rem; }
#agent-lz-planner .demand-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.8rem; margin: 1rem 0; }
#agent-lz-planner .demand-metrics span { display: block; font-size: 0.65rem; color: var(--muted); }
#agent-lz-planner .demand-metrics strong { display: block; font-size: 1.1rem; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#agent-lz-planner .assessment-verdict { padding: 0.6rem 0.8rem; margin-bottom: 0.8rem; border: 1px solid var(--line); border-radius: 0.2rem; background: var(--blue-soft); }
#agent-lz-planner .assessment-verdict strong { display: block; color: var(--accent); }
#agent-lz-planner .assessment-verdict span { display: block; margin-top: 0.2rem; font-size: 0.7rem; }
#agent-lz-planner .assessment-verdict.needs-attention { background: var(--warning-bg); border-color: var(--warning-line); }
#agent-lz-planner .assessment-verdict.needs-attention strong { color: var(--warning); }
#agent-lz-planner .assessment-verdict.needs-attention span { color: #5d491f; }
#agent-lz-planner .assessment-details > summary::before,
#agent-lz-planner .evidence-settings > summary::before,
#agent-lz-planner .estimate .panel-body > details > summary::before {
  position: static;
  display: inline;
  margin-right: 0.25rem;
  background: none;
  content: "+";
  mask: none;
}
#agent-lz-planner .assessment-details[open] > summary::before,
#agent-lz-planner .evidence-settings[open] > summary::before,
#agent-lz-planner .estimate .panel-body > details[open] > summary::before { content: "\2212"; }
#agent-lz-planner .finding { border-bottom: 1px solid var(--line); padding: 0.7rem 0; }
#agent-lz-planner .finding > div { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
#agent-lz-planner .finding .row-tag { margin: 0; }
#agent-lz-planner .finding.action .row-tag { color: var(--warning); background: var(--warning-bg); }
#agent-lz-planner .finding.evidence .row-tag { color: var(--accent); background: var(--blue-soft); }
#agent-lz-planner .finding p { margin: 0.3rem 0; font-size: 0.7rem; color: var(--muted); }
#agent-lz-planner .finding a { font-size: 0.65rem; }
#agent-lz-planner .evidence-settings { margin-top: 0.4rem; }

#agent-lz-planner .cost-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
#agent-lz-planner .cost-comparison strong { display: block; margin-top: 0.3rem; font-size: 0.9rem; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#agent-lz-planner .estimate p { font-size: 0.7rem; color: var(--muted); line-height: 1.7; margin: 0.4rem 0 0.8rem; }
#agent-lz-planner .estimate h3 { margin: 0.9rem 0 0.4rem; }
#agent-lz-planner .estimate dl { margin: 0.4rem 0 0.8rem; padding: 0.65rem 0; border-block: 1px solid var(--line); }
#agent-lz-planner .estimate dl > div,
#agent-lz-planner .estimate-foot { display: flex; justify-content: space-between; gap: 0.5rem; padding: 0.35rem 0; font-size: 0.7rem; }
#agent-lz-planner .estimate dt { color: var(--muted); font-weight: 400; }
#agent-lz-planner .estimate dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
#agent-lz-planner .estimate dd small { display: block; margin-top: 0.1rem; font-size: 0.6rem; color: var(--muted); }
#agent-lz-planner .estimate-foot strong { font-weight: 600; font-variant-numeric: tabular-nums; }
#agent-lz-planner .pending-prices { border-top: 1px solid var(--line); padding-top: 0.2rem; margin-top: 0.4rem; }
#agent-lz-planner .pending-prices ul,
#agent-lz-planner #deployment-handoff { list-style: none; padding: 0; margin: 0.4rem 0; }
#agent-lz-planner .pending-prices li { margin: 0.4rem 0; font-size: 0.7rem; }
#agent-lz-planner .pending-prices li > span { display: block; margin-top: 0.1rem; font-size: 0.65rem; color: var(--muted); }
#agent-lz-planner #deployment-handoff li { margin: 0.5rem 0; font-size: 0.7rem; color: var(--muted); }
#agent-lz-planner .scenario-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1rem; }
#agent-lz-planner #copy-fallback { margin-top: 0.8rem; }
#agent-lz-planner .table-scroll { overflow-x: auto; }
#agent-lz-planner .comparison-table { border-collapse: collapse; width: 100%; min-width: 24rem; font-size: 0.7rem; }
#agent-lz-planner .comparison-table :is(th, td) { text-align: left; vertical-align: top; padding: 0.4rem 0.6rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; max-width: 12rem; }
#agent-lz-planner .comparison-table th { font-weight: 600; }

#agent-lz-planner .planner-layout,
#agent-lz-planner .resource-ledger { min-width: 0; }
#agent-lz-planner .ledger-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.4rem; margin-bottom: 0.7rem; }
#agent-lz-planner .ledger-heading h2 { margin: 0; }
#agent-lz-planner .ledger-heading > span { font-size: 0.6rem; color: var(--muted); }
#agent-lz-planner .resource-tools { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: end; margin: 1rem 0 0.4rem; }
#agent-lz-planner .resource-tools label:first-child { flex: 1 1 12rem; }
#agent-lz-planner .resource-tools label:nth-child(2) { flex: 1 1 11rem; }
#agent-lz-planner .resource-tools button { font-size: 0.65rem; }
#agent-lz-planner #capabilities { border-top: 1px solid var(--line); margin-bottom: 1.5rem; }
#agent-lz-planner .capability { border-bottom: 1px solid var(--line); overflow: clip; }
#agent-lz-planner .capability > summary { display: flex; align-items: center; gap: 0.7rem; padding: 0.8rem 0; color: var(--ink); }
#agent-lz-planner .capability h3 { margin: 0; flex: 1; }
#agent-lz-planner .group-count { font-size: 0.6rem; color: var(--muted); }
#agent-lz-planner .group-total { margin-left: auto; max-width: 50%; text-align: right; font-size: 0.75rem; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#agent-lz-planner .group-pending { display: block; font-size: 0.6rem; font-weight: 400; color: var(--warning); }
#agent-lz-planner .resource { border-top: 1px solid var(--line); }
#agent-lz-planner .resource > summary { display: flex; align-items: center; gap: 0.6rem; padding: 0.65rem 0.6rem; color: var(--ink); }
#agent-lz-planner :is(.resource, .capability, .planner-panel) > summary:hover { background: var(--soft); }
#agent-lz-planner .resource-identity { flex: 1; min-width: 0; }
#agent-lz-planner .resource-name { display: block; font-size: 0.75rem; font-weight: 600; line-height: 1.5; }
#agent-lz-planner .resource-identity small { display: block; margin-top: 0.15rem; color: var(--muted); font-size: 0.6rem; font-weight: 400; }
#agent-lz-planner .resource-cost { text-align: right; flex-shrink: 0; }
#agent-lz-planner .resource-cost small { display: block; font-size: 0.55rem; font-weight: 400; color: var(--muted); }
#agent-lz-planner .resource-body { padding: 0.2rem 0.8rem 0.8rem; font-size: 0.7rem; }
#agent-lz-planner .resource-description { color: var(--muted); line-height: 1.7; margin: 0.4rem 0 0.8rem; }
#agent-lz-planner .resource-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; margin-bottom: 0.8rem; }
#agent-lz-planner .resource-inputs label { margin-bottom: 0.6rem; }
#agent-lz-planner .resource-body h4 { margin: 0 0 0.5rem; font-size: 0.65rem; font-weight: 600; }
#agent-lz-planner .resource-body fieldset { margin: 0.5rem 0 0; padding: 0; border: 0; min-width: 0; }
#agent-lz-planner .resource-body legend { font-size: 0.6rem; color: var(--muted); }
#agent-lz-planner #sizing-guidance { margin-bottom: 0.8rem; }
#agent-lz-planner #sizing-guidance :is(p, h3) { font-size: 0.7rem; }
#agent-lz-planner .option-preview { margin: 0 0 0.6rem; font-size: 0.65rem; line-height: 1.7; }
#agent-lz-planner .row-tag { display: inline-block; margin-top: 0.35rem; padding: 0.05rem 0.25rem; border-radius: 0.15rem; color: var(--muted); background: var(--soft); font-size: 0.6rem; }
#agent-lz-planner .row-tag.optional { background: var(--blue-soft); color: var(--accent); }
#agent-lz-planner .pricing-tag { background: transparent; border: 1px solid var(--line); margin-left: 0.2rem; }
#agent-lz-planner .setting-label { display: block; color: var(--muted); font-size: 0.6rem; margin-top: 0.4rem; }
#agent-lz-planner .setting-static { font-weight: 600; line-height: 1.6; }
#agent-lz-planner .setting-hint { display: block; margin-top: 0.35rem; font-size: 0.6rem; color: var(--muted); }
#agent-lz-planner .sizing-text { line-height: 1.7; }
#agent-lz-planner .sizing-text strong { font-weight: 600; }
#agent-lz-planner .sizing-alert { display: block; margin-top: 0.4rem; color: var(--muted); font-size: 0.6rem; }
#agent-lz-planner .sizing-source { display: inline-block; margin-top: 0.3rem; }
#agent-lz-planner .price-unit { display: block; margin-bottom: 0.4rem; line-height: 1.5; font-variant-numeric: tabular-nums; }
#agent-lz-planner .price-unit small { display: block; font-size: 0.6rem; color: var(--muted); }
#agent-lz-planner .money { font-size: 0.7rem; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#agent-lz-planner .unpriced { color: var(--warning); font-size: 0.65rem; }
#agent-lz-planner .excluded { color: var(--muted); font-size: 0.65rem; }
#agent-lz-planner .resource-sources { margin-top: 0.5rem; }
#agent-lz-planner .resource-sources > summary { font-size: 0.65rem; padding: 0.4rem 0; }
#agent-lz-planner .resource-sources > summary::before { position: static; display: inline; margin-right: 0.25rem; background: none; content: "+"; mask: none; }
#agent-lz-planner .resource-sources[open] > summary::before { content: "\2212"; }
#agent-lz-planner .detail-content { padding: 0.6rem 0.7rem; margin-top: 0.35rem; border-radius: 0.15rem; background: var(--soft); line-height: 1.7; font-size: 0.65rem; }
#agent-lz-planner .detail-content p { margin: 0.25rem 0 0.6rem; }
#agent-lz-planner .detail-content code { font-size: inherit; white-space: normal; overflow-wrap: anywhere; }
#agent-lz-planner .meter { margin-top: 0.5rem; padding-top: 0.4rem; border-top: 1px solid var(--line); font-size: 0.6rem; }
#agent-lz-planner .coverage h2 { margin: 0 0 0.8rem; }
#agent-lz-planner .coverage h3 { margin: 0.9rem 0 0.45rem; }
#agent-lz-planner .coverage p { color: var(--muted); font-size: 0.7rem; line-height: 1.8; }
#agent-lz-planner .coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; }
#agent-lz-planner .source-links { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; padding: 0.65rem 0; font-size: 0.65rem; }
#agent-lz-planner .source-links a { display: inline-flex; align-items: center; min-height: 2.2rem; }

@container (max-width: 42rem) {
  #agent-lz-planner .live-summary a { font-size: 0.6rem; max-width: 13ch; }
  #agent-lz-planner .input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #agent-lz-planner .demand-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container (max-width: 30rem) {
  #agent-lz-planner .scenario-bar { gap: 0.6rem; }
  #agent-lz-planner .scenario-bar > label { flex-basis: 100%; }
  #agent-lz-planner .scenario-note { flex-basis: 60%; }
  #agent-lz-planner #starting-point-note { max-width: 18ch; font-size: 0.6rem; }
  #agent-lz-planner .workload > summary { flex-wrap: wrap; gap: 0.4rem; padding: 0.6rem; }
  #agent-lz-planner #workload-summary { margin-left: 0; text-align: left; }
  #agent-lz-planner .workload summary > .disclosure { margin-left: auto; }
  #agent-lz-planner .workload-body { padding: 0.2rem 0.6rem 0.6rem; }
  #agent-lz-planner .cost-comparison,
  #agent-lz-planner .coverage-grid { grid-template-columns: 1fr; gap: 0.4rem; }
  #agent-lz-planner .resource-tools label { flex-basis: 100%; }
  #agent-lz-planner .scenario-actions button { flex: 1 1 8rem; }
  #agent-lz-planner .capability > summary { gap: 0.5rem; padding: 0.75rem 0; }
  #agent-lz-planner .group-count { display: none; }
  #agent-lz-planner .group-total { max-width: 45%; font-size: 0.7rem; }
  #agent-lz-planner .resource-inputs { grid-template-columns: 1fr; gap: 0.6rem; }
  #agent-lz-planner .resource > summary { padding-inline: 0.25rem; }
  #agent-lz-planner .resource-body { padding-inline: 0.25rem; }
  #agent-lz-planner .planner-panel > summary { flex-wrap: wrap; gap: 0.35rem; }
  #agent-lz-planner #live-sizing { display: none; }
  #agent-lz-planner :is(input, select, textarea) { font-size: 0.8rem; }
}

@container (max-width: 22rem) {
  #agent-lz-planner .input-grid { grid-template-columns: 1fr; }
  #agent-lz-planner .estimate dl > div { flex-wrap: wrap; }
  #agent-lz-planner .estimate dd { width: 100%; text-align: left; }
}

/* A container cannot query itself; viewport bounds conservatively reserve summary space. */
@media (max-width: 76.234375em) {
  #agent-lz-planner { --planner-summary-offset: 7rem; }
}

@media (max-height: 32em) {
  #agent-lz-planner { --planner-summary-offset: 0rem; }
  #agent-lz-planner .live-summary { position: static; }
}

@media print {
  #agent-lz-planner { --planner-header-offset: 0rem; --planner-summary-offset: 0rem; }
  #agent-lz-planner .live-summary { position: static; }
  #agent-lz-planner .table-scroll { overflow: visible; }
  #agent-lz-planner .comparison-table { min-width: 0; }
}
