.bl-plan-finder [hidden] { display:none !important; }
.bl-plan-finder .bl-finder-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:40px; }
.bl-plan-finder .bl-finder-controls { min-width:0; margin:0; padding:24px; border:1px solid var(--layoutBorderColor); border-radius:12px; }
.bl-plan-finder legend { padding:0 8px; font-size:1rem; color:var(--pos-text); }
.bl-plan-finder label:not(.bl-finder-check) { display:block; margin:16px 0 8px; color:var(--pos-text); font-size:.95rem; }
.bl-plan-finder select,.bl-plan-finder input[type=number] { box-sizing:border-box; width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--layoutBorderColor); border-radius:8px; background:var(--pos-surface-raised); color:var(--pos-text); font:inherit; }
.bl-plan-finder input[aria-invalid=true] { border-color:#e6a5a5; }
.bl-plan-finder input:focus-visible,.bl-plan-finder select:focus-visible,.bl-plan-finder a:focus-visible { outline:2px solid var(--pos-accent); outline-offset:4px; }
.bl-plan-finder .bl-finder-check { display:flex; align-items:flex-start; gap:10px; margin:24px 0; color:var(--pos-text); }
.bl-plan-finder .bl-finder-check input { flex-shrink:0; width:20px; height:20px; margin:2px 0 0; accent-color:var(--pos-accent); }
.bl-plan-finder .bl-finder-help { color:var(--pos-muted); font-size:.9rem; line-height:1.6; margin:16px 0; }
.bl-plan-finder .bl-finder-result { min-width:0; padding:24px 0; }
.bl-plan-finder .bl-finder-result h3 { font-size:clamp(1.6rem,3vw,2.2rem); line-height:1.2; margin:0 0 20px; }
.bl-plan-finder .bl-finder-payment { color:var(--pos-text); font-size:1.05rem; line-height:1.6; }
.bl-plan-finder .bl-finder-error { color:#e6a5a5; }
.bl-plan-finder .bl-finder-table-wrap { max-width:100%; overflow-x:auto; margin:24px 0; }
.bl-plan-finder table { width:100%; border-collapse:collapse; font-size:.9rem; }
.bl-plan-finder caption { padding:0 0 12px; text-align:left; color:var(--pos-muted); }
.bl-plan-finder th,.bl-plan-finder td { padding:12px 8px; border-bottom:1px solid var(--layoutBorderColor); text-align:left; vertical-align:top; }
.bl-plan-finder th { color:var(--pos-text); font-weight:500; }
.bl-plan-finder td { white-space:nowrap; }
@media(max-width:820px) { .bl-plan-finder .bl-finder-layout { grid-template-columns:1fr; gap:16px; } }
@media(max-width:560px) { .bl-plan-finder .bl-finder-controls { padding:20px 16px; } }
