.dfwpp-calc{border:1px solid rgba(128,128,128,.28);border-radius:12px;padding:1.5rem;margin:2rem 0;max-width:720px}
.dfwpp-calc *{box-sizing:border-box}
.dfwpp-calc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.dfwpp-field label{display:block;font-weight:600;margin-bottom:.4rem;font-size:.95rem}
.dfwpp-opt{font-weight:400;opacity:.6;font-size:.85em}
.dfwpp-input-wrap{position:relative;display:flex;align-items:center}
.dfwpp-prefix{position:absolute;left:.75rem;opacity:.55;pointer-events:none;font-size:1rem}
.dfwpp-calc input[type=number]{width:100%;padding:.7rem .75rem .7rem 1.75rem;font-size:1rem;border:1px solid rgba(128,128,128,.4);border-radius:7px;background:transparent;color:inherit}
.dfwpp-calc select{width:100%;padding:.7rem .75rem;font-size:1rem;border:1px solid rgba(128,128,128,.4);border-radius:7px;background:transparent;color:inherit}
.dfwpp-calc input:focus,.dfwpp-calc select:focus{outline:2px solid currentColor;outline-offset:1px}
.dfwpp-hint{font-size:.82rem;opacity:.65;margin:.35rem 0 0;line-height:1.35}
.dfwpp-btn{margin-top:1.4rem;width:100%;padding:.85rem 1.25rem;font-size:1.02rem;font-weight:800;border:0;border-radius:10px;cursor:pointer;background:linear-gradient(135deg,#00B0C8,#29D1E6);color:#fff;box-shadow:0 6px 18px rgba(0,176,200,.32)}
.dfwpp-btn:hover{filter:brightness(1.06);box-shadow:0 8px 22px rgba(0,176,200,.42)}
.dfwpp-error{margin-top:1rem;padding:.75rem 1rem;border-radius:7px;border:1px solid #b91c1c;color:#b91c1c;font-size:.92rem}
.dfwpp-results{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(128,128,128,.25)}
.dfwpp-headline{text-align:center;margin-bottom:.5rem}
.dfwpp-rate{font-size:3.2rem;font-weight:700;line-height:1.05}
.dfwpp-rate-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;opacity:.6;margin-top:.15rem}
.dfwpp-verdict{text-align:center;font-size:1.05rem;margin:1rem auto 1.5rem;max-width:52ch;line-height:1.5}
.dfwpp-meter{margin:1.5rem 0}
.dfwpp-meter__track{position:relative;display:flex;height:9px;border-radius:5px;overflow:hidden}
.dfwpp-meter__band{flex:1}
.dfwpp-meter__band--good{background:#00B0C8}
.dfwpp-meter__band--ok{background:#ca8a04}
.dfwpp-meter__band--high{background:#b91c1c}
.dfwpp-meter__marker{position:absolute;top:-5px;width:3px;height:19px;background:currentColor;border-radius:2px;transition:left .35s ease;left:0}
.dfwpp-meter__labels{display:flex;justify-content:space-between;font-size:.76rem;opacity:.6;margin-top:.45rem}
.dfwpp-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}
.dfwpp-table th,.dfwpp-table td{padding:.65rem .5rem;border-bottom:1px solid rgba(128,128,128,.2);text-align:left}
.dfwpp-table th{font-weight:500;opacity:.8}
.dfwpp-table td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.dfwpp-callout{padding:1rem 1.15rem;border-radius:8px;border:1px solid rgba(128,128,128,.3);font-size:.97rem;line-height:1.55}
.dfwpp-disclaimer{font-size:.82rem;opacity:.62;line-height:1.5;margin-top:1.25rem}
.dfwpp-cta{margin-top:1rem;font-weight:600}
@media(max-width:480px){.dfwpp-rate{font-size:2.5rem}.dfwpp-calc{padding:1.1rem}}