.capacity-search { padding:2rem; margin-bottom:2.5rem; border:1px solid #00322930; border-top:3px solid var(--s-gold); border-radius:var(--s-radius); background:white; color:var(--s-green); }
.capacity-search [hidden] { display:none!important; }
.capacity-intro { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.capacity-search h2 { font-size:clamp(1.4rem,2.4vw,2rem); font-weight:800; line-height:1.25; margin:0 0 .75rem; }
.capacity-search p { font-size:.875rem; line-height:1.7; }
.capacity-intro p { margin:0; max-width:46rem; color:var(--s-muted); }
.capacity-button,.capacity-simulate { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.2rem; border:1px solid var(--s-green); border-radius:var(--s-radius); background:var(--s-green); color:white; font:700 .875rem Manrope,Arial,sans-serif; cursor:pointer; text-align:center; line-height:1.5; text-decoration:none; }
.capacity-button { flex-shrink:0; }
.capacity-button:hover,.capacity-simulate:hover { background:var(--s-green-hover); }
.capacity-button-secondary { background:white; color:var(--s-green); }
.capacity-button-secondary:hover { background:var(--s-soft); }
.capacity-button:disabled { opacity:.5; cursor:wait; }
.capacity-button:focus-visible,.capacity-simulate:focus-visible { outline:3px solid var(--s-gold); outline-offset:3px; }
.capacity-form { margin-top:2rem; padding-top:2rem; border-top:1px solid #00322925; }
.capacity-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
.capacity-field { min-width:0; }
.capacity-field label { display:block; font-weight:700; font-size:.8rem; margin-bottom:.6rem; }
.capacity-field input,.capacity-field select { width:100%; min-height:48px; padding:.7rem; border:1px solid var(--s-field-line); border-radius:var(--s-radius); background:white; color:var(--s-green); font:inherit; font-size:.9rem; }
.capacity-field input:focus-visible,.capacity-field select:focus-visible { outline:2px solid var(--s-green); outline-offset:3px; }
.capacity-field .capacity-field-help { font-size:.75rem; line-height:1.6; margin:.65rem 0 0; color:var(--s-muted); }
.capacity-custom { margin-top:.75rem; }
.capacity-notes { background:var(--s-section); border-left:3px solid var(--s-gold); padding:1.2rem; margin:1.5rem 0; }
.capacity-notes p { margin:0 0 .65rem; }
.capacity-notes p:last-child { margin-bottom:0; }
.capacity-uf { color:var(--s-muted); margin-top:1rem; }
.capacity-uf a { text-decoration:underline; }
.capacity-form-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.capacity-error { color:var(--s-error); margin:1rem 0; }
.capacity-summary { font-size:.9rem; font-weight:600; line-height:1.7; margin:1.5rem 0 0; }
.capacity-summary:empty,.capacity-error:empty { display:none; }
.capacity-result { border-top:2px solid var(--s-gold); margin-top:1.5rem; padding-top:1rem; }
.capacity-badge { display:inline-block; padding:.5rem .7rem; border-radius:var(--s-radius); background:var(--s-soft); color:var(--s-green); font-weight:700; font-size:.8rem; line-height:1.5; margin-bottom:.7rem; }
.capacity-result-b .capacity-badge,.capacity-result-c .capacity-badge { background:var(--s-warning-soft); }
.capacity-result-d .capacity-badge,.capacity-result-e .capacity-badge { background:var(--s-disabled); }
.capacity-reason,.capacity-note { font-size:.75rem; line-height:1.65; color:var(--s-muted); }
.capacity-metrics { margin:1rem 0; font-size:.75rem; line-height:1.55; }
.capacity-metrics>div { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.45rem 0; border-bottom:1px solid #00322912; }
.capacity-metrics dt { color:var(--s-muted); flex:1; }
.capacity-metrics dd { color:var(--s-green); font-weight:600; margin:0; flex:1; text-align:right; overflow-wrap:anywhere; }
.capacity-simulate { width:100%; background:white; color:var(--s-green); }
.capacity-simulate:hover { background:var(--s-soft); }
@media(max-width:900px) { .capacity-intro { align-items:flex-start; flex-direction:column; } .capacity-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .capacity-search { padding:1.25rem; } .capacity-fields { grid-template-columns:minmax(0,1fr); } .capacity-button,.capacity-form-actions { width:100%; } .capacity-notes { padding:1rem; } }
