.pool-visual-card{
  margin-top:26px;
  padding:20px;
  border:1px solid #bfdbfe;
  border-radius:26px;
  background:linear-gradient(180deg,#ffffff 0%,#eef7ff 100%);
  box-shadow:0 20px 45px rgba(37,99,235,.09);
}
.pool-visual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.pool-visual-head h2{margin:0;font-size:21px;letter-spacing:-.3px;color:#0f172a}
.pool-visual-head p{margin:5px 0 0;font-size:14px;line-height:1.55;color:#475569}
.pool-level-pill{flex:none;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:900}
.pool-visual-stage{position:relative;overflow:hidden;border:1px solid #dbeafe;border-radius:22px;background:linear-gradient(180deg,#f8fcff 0%,#e0f2fe 67%,#ecfccb 67%,#f7fee7 100%)}
.pool-visual-stage svg{display:block;width:100%;height:auto;min-height:250px}
.pool-ground-shadow{fill:rgba(15,23,42,.13)}
.pool-shell{fill:#e2e8f0;stroke:#64748b;stroke-width:5}
.pool-interior{fill:#f8fafc;stroke:#cbd5e1;stroke-width:2}
.pool-water-fill{fill:url(#poolWaterGradient)}
.pool-water-surface{fill:none;stroke:#0ea5e9;stroke-width:5;stroke-linecap:round;animation:pool-water-breathe 3.2s ease-in-out infinite}
.pool-target-line{stroke:#1d4ed8;stroke-width:3;stroke-dasharray:8 7}
.pool-target-label{fill:#1e3a8a;font-size:12px;font-weight:900}
.pool-shape-label{fill:#334155;font-size:13px;font-weight:900;text-anchor:middle}
.pool-dimension-label{fill:#475569;font-size:12px;text-anchor:middle}
.pool-visual-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.pool-visual-metric{padding:12px;border:1px solid #dbeafe;border-radius:16px;background:#fff}
.pool-visual-metric strong{display:block;margin-bottom:5px;color:#64748b;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.pool-visual-metric span{display:block;color:#0f172a;font-size:16px;font-weight:900;overflow-wrap:anywhere}
.pool-visual-note{margin:12px 0 0;color:#475569;font-size:13px;line-height:1.55}
.pool-fill-controls{grid-column:1/-1;margin-top:4px;border:1px solid #bfdbfe;border-radius:22px;background:#f8fbff;padding:18px}
.pool-fill-controls h3{margin:0 0 7px;font-size:20px;letter-spacing:-.25px;color:#0f172a}
.pool-fill-intro{margin:0 0 16px;color:#475569;font-size:14px;line-height:1.6}
.pool-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pool-range-card{border:1px solid #dbeafe;background:#fff;border-radius:18px;padding:14px}
.pool-range-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.pool-range-head label{margin:0}
.pool-range-value{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:5px 9px;font-size:13px;font-weight:900}
.pool-range-card input[type="range"]{padding:0;border:0;border-radius:0;accent-color:#2563eb}
.pool-range-hint{margin:7px 0 0;color:#64748b;font-size:12px;line-height:1.45}
.pool-planner-details{margin-top:12px;border:1px solid #dbeafe;border-radius:18px;background:#fff;overflow:hidden}
.pool-planner-details summary{cursor:pointer;list-style:none;padding:14px 16px;color:#0f172a;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pool-planner-details summary::-webkit-details-marker{display:none}
.pool-planner-details summary::after{content:"+";font-size:21px;line-height:1;color:#2563eb}
.pool-planner-details[open] summary::after{content:"–"}
.pool-planner-details[open] summary{border-bottom:1px solid #dbeafe;background:#f8fbff}
.pool-planner-details-body{padding:16px}
.pool-planner-help{margin:0 0 13px;color:#64748b;font-size:13px;line-height:1.55}
.pool-field-hidden{display:none!important}
.pool-fill-summary{margin-top:18px;border:1px solid #bfdbfe;border-radius:22px;background:linear-gradient(180deg,#eff6ff 0%,#f8fbff 100%);padding:18px}
.pool-fill-summary h3{margin:0 0 6px;color:#0f172a;font-size:21px}
.pool-fill-summary>p{margin:0 0 14px;color:#475569;font-size:14px;line-height:1.55}
.pool-fill-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pool-fill-result{border:1px solid #dbeafe;border-radius:16px;background:#fff;padding:13px}
.pool-fill-result strong{display:block;margin-bottom:5px;color:#64748b;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.pool-fill-result span{display:block;color:#0f172a;font-size:17px;font-weight:900;overflow-wrap:anywhere}
.pool-fill-comparison{grid-column:1/-1;border:1px solid #bfdbfe;border-radius:16px;background:#fff;padding:14px;color:#1e3a8a;font-size:14px;font-weight:800;line-height:1.55}
.pool-fill-disclaimer{margin:12px 0 0;color:#64748b;font-size:12px;line-height:1.55}
@keyframes pool-water-breathe{0%,100%{transform:translateY(0);opacity:.95}50%{transform:translateY(2px);opacity:1}}
@media(max-width:920px){
  .pool-visual-card{margin-top:22px}
  .pool-level-grid,.pool-visual-metrics,.pool-fill-summary-grid{grid-template-columns:1fr}
  .pool-fill-comparison{grid-column:auto}
}
@media(max-width:480px){
  .pool-visual-card,.pool-fill-controls,.pool-fill-summary{padding:14px;border-radius:20px}
  .pool-visual-head{display:block}
  .pool-level-pill{display:inline-flex;margin-top:10px}
  .pool-visual-stage svg{min-height:220px}
}
@media(prefers-reduced-motion:reduce){.pool-water-surface{animation:none}}
@media print{.pool-visual-card,.pool-fill-controls,.pool-fill-summary{box-shadow:none;break-inside:avoid}.pool-planner-details:not([open]) .pool-planner-details-body{display:block}}
