    .ac-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 18px; }
    .ac-form-grid .full { grid-column: 1 / -1; }
    .ac-field { display: flex; flex-direction: column; gap: 6px; }
    .ac-field label { font-weight: 600; font-size: var(--text-sm); color: var(--heading); }
    .ac-field input, .ac-field select { padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font-size: var(--text-base); font-family: inherit; }
    .ac-field input:focus, .ac-field select:focus { outline: 2px solid var(--heading); outline-offset: 1px; }
    .ac-hint { font-size: var(--text-xs); color: var(--text-muted); }
    .ac-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
    .ac-result { margin-top: 24px; display: none; }
    .ac-summary { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 18px; margin-bottom: 18px; }
    .ac-summary h3 { margin: 0 0 8px 0; line-height: 1.3; }
    .ac-summary .ac-btu-big { font-size: clamp(28px, 6vw, 42px); font-weight: 700; color: var(--heading); line-height: 1.1; }
    .ac-summary .ac-confidence { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: var(--text-xs); font-weight: 600; margin-top: 6px; }
    .ac-confidence.high { background: var(--success-bg); color: var(--success); }
    .ac-confidence.med { background: var(--warning-bg); color: var(--warning); }
    .ac-confidence.low { background: var(--warning-bg); color: var(--warning); }
    .ac-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 18px; }
    .ac-card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; position: relative; }
    .ac-card.recommended { border: 2px solid var(--heading); }
    .ac-card .ac-badge { position: absolute; top: -10px; right: 12px; background: var(--heading); color: var(--bg); padding: 3px 10px; border-radius: 999px; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.5px; }
    .ac-card h4 { margin: 0 0 6px 0; font-size: var(--text-lg); color: var(--heading); line-height: 1.3; }
    .ac-card .ac-tco { font-size: var(--text-xl); font-weight: 700; color: var(--text); }
    .ac-card .ac-breakdown { font-size: var(--text-xs); color: var(--text-muted); margin: 6px 0 10px; line-height: 1.5; }
    .ac-card .ac-pros, .ac-card .ac-cons { font-size: var(--text-sm); margin: 4px 0; }
    .ac-card .ac-pros::before { content: "✓ "; color: var(--success); font-weight: bold; }
    .ac-card .ac-cons::before { content: "✗ "; color: var(--warning); font-weight: bold; }
    .ac-payback { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin-bottom: 18px; }
    .ac-payback h3 { margin: 0 0 10px 0; line-height: 1.3; }
    .ac-payback .ac-payback-verdict { font-size: var(--text-xl); font-weight: 700; }
    .ac-payback-verdict.green { color: var(--success); }
    .ac-payback-verdict.yellow { color: var(--warning); }
    .ac-payback-verdict.red { color: var(--warning); }
    .ac-compliance { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin-bottom: 18px; }
    .ac-compliance h3 { margin: 0 0 8px 0; line-height: 1.3; }
    .ac-cheatsheet { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 18px; margin-bottom: 18px; }
    .ac-cheatsheet h3 { margin: 0 0 12px 0; line-height: 1.3; }
    .ac-cheatsheet ol, .ac-cheatsheet ul { margin: 8px 0; padding-left: 22px; line-height: 1.6; }
    .ac-cheatsheet li { margin-bottom: 4px; }
    .ac-cheatsheet .ac-section-label { font-weight: 700; color: var(--heading); margin-top: 12px; display: block; }
    .ac-ai-status { font-size: var(--text-xs); color: var(--text-muted); margin-bottom: 8px; }
    .ac-disclaimer { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 12px; font-size: var(--text-xs); color: var(--text-muted); line-height: 1.6; }
    canvas#ac-chart { width: 100%; max-width: 100%; height: auto; }
    @media (max-width: 600px) {
      .ac-form-grid { grid-template-columns: 1fr; }
      .ac-cards { grid-template-columns: 1fr; }
      .tool-content h2 { font-size: var(--text-lg); }
      .ac-actions { flex-direction: column; }
      .ac-actions button { width: 100%; }
    }
