.tool-intro { max-width: 760px; padding: 32px 0 20px; }
.tool-intro h1 { max-width: 19ch; }
.metric-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(240px, 1fr); gap: 32px; align-items: start; }
.metric-layout form { min-width: 0; }
.metric-layout fieldset { margin: 0 0 24px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.metric-layout legend { font-size: 1.2rem; font-weight: 700; padding: 0 8px; }
.metric-layout label { display: block; margin: 12px 0 6px; font-weight: 600; }
.metric-layout input:not([type=checkbox]), .metric-layout select, #decision-brief { display: block; box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid var(--muted); border-radius: 5px; color: var(--navy); background: white; font: inherit; }
.metric-layout .counts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.metric-layout label.check { display: flex; gap: 10px; align-items: start; font-weight: 400; }
.check input { width: 20px; height: 20px; flex-shrink: 0; margin-top: 4px; }
.metric-layout button, #copy-brief { min-height: 44px; padding: 10px 18px; border: 1px solid var(--navy); border-radius: 5px; font: inherit; font-weight: 700; background: var(--gold); color: var(--navy); cursor: pointer; }
.metric-layout button[type=reset] { background: white; margin-left: 8px; }
.metric-layout aside { border-top: 4px solid var(--gold); padding-top: 12px; }
.metric-layout aside h2 { font-size: 1.3rem; }
#metric-error { color: #842516; font-weight: 600; }
#metric-result { margin: 32px 0; border-top: 4px solid var(--gold); padding-top: 24px; }
#metric-result[hidden] { display: none; }
#decision-brief { min-height: 380px; margin-top: 16px; line-height: 1.6; font-family: ui-monospace, monospace; font-size: .9rem; }
.small { font-size: .9rem; color: var(--muted); }
@media(max-width:760px) { .metric-layout { grid-template-columns: 1fr; gap: 12px; } .metric-layout fieldset { padding: 16px; } }
@media(max-width:420px) { .metric-layout .counts { gap: 12px; } }
