.calculator-layout { display: grid; gap: 1.5rem; align-items: start; }
.calculator-form { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.form-grid { display: grid; gap: 1rem; }
label { display: grid; gap: .35rem; color: var(--navy); font-weight: 700; }
input, select, textarea { width: 100%; min-height: 2.9rem; padding: .65rem .75rem; border: 1px solid #9aabb4; border-radius: .45rem; background: var(--white); color: var(--ink); font: inherit; }
textarea { min-height: 6rem; resize: vertical; }
.field-hint { color: var(--muted); font-size: .88rem; font-weight: 400; }
.form-message { margin-top: 1rem; padding: .8rem; border-radius: .4rem; background: var(--surface); }
.result-placeholder { padding: 1.5rem; border: 2px dashed var(--line); border-radius: var(--radius); }
.advanced-options { grid-column: 1 / -1; padding: 1rem; border: 1px solid var(--line); border-radius: .6rem; }
.advanced-options legend { color: var(--navy); font-weight: 800; }
.checkbox-label { display: flex; grid-template-columns: none; align-items: flex-start; gap: .65rem; margin-top: .65rem; }
.checkbox-label input { width: 1.2rem; min-height: 1.2rem; margin-top: .25rem; }
.results { min-width: 0; }
.result-total { margin: 0; color: var(--green); font-size: clamp(2rem, 6vw, 3.1rem); font-weight: 850; }
.result-cards { display: grid; gap: 1rem; margin-top: 1.3rem; }
.result-card { padding: 1rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--white); }
.result-card h3 { margin: 0; }
.result-card h4 { margin-bottom: .2rem; }
.concept-amount { margin: .25rem 0; color: var(--green); font-size: 1.35rem; font-weight: 800; }
.result-notes { margin: 1.25rem 0; padding: 1rem; border-radius: .6rem; background: var(--surface); }
