.csj-nyp{--csj-bg:#f5f7f8;--csj-card:#fff;--csj-panel:#f7f9fa;--csj-text:#172126;--csj-muted:#53616a;--csj-border:#d9e0e4;--csj-accent:#16754b;max-width:980px;margin:32px auto;padding:18px;color:var(--csj-text);background:var(--csj-bg);border-radius:14px;font-family:Arial,sans-serif;font-size:16px;line-height:1.5}
.csj-nyp,.csj-nyp *{box-sizing:border-box}.csj-nyp h1{font-size:32px;line-height:1.2;margin:16px 0}.csj-nyp h2{font-size:23px;line-height:1.3;margin:0 0 14px}.csj-nyp p{margin:12px 0}.csj-nyp .card,.csj-nyp .panel{background:var(--csj-card);border:1px solid var(--csj-border);border-radius:14px;padding:18px;margin:16px 0}.csj-nyp .panel{background:var(--csj-panel)}
.csj-nyp .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.csj-nyp .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.csj-nyp label{font-size:14px;font-weight:700;display:block}.csj-nyp input:not([type=checkbox]):not([type=radio]),.csj-nyp select,.csj-nyp textarea{width:100%;max-width:100%;padding:11px;margin-top:6px;border:1px solid var(--csj-border);border-radius:9px;background:white;color:var(--csj-text);font:inherit;min-height:44px}.csj-nyp textarea{min-height:100px;resize:vertical}.csj-nyp input[type=range]{padding:0!important;accent-color:var(--csj-accent);border:0!important;background:transparent!important}.csj-nyp input[type=checkbox],.csj-nyp input[type=radio]{width:18px;height:18px;vertical-align:middle;accent-color:var(--csj-accent);margin:0 6px 0 0}
.csj-nyp button{cursor:pointer;font:inherit;text-transform:none;letter-spacing:normal}.csj-nyp .primary{background:var(--csj-accent);color:#fff;border:0;border-radius:9px;padding:12px 16px;font-weight:700;min-height:44px;white-space:normal}.csj-nyp button:disabled{opacity:.6;cursor:wait}.csj-nyp .row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;align-items:start}.csj-nyp .row>span:last-child,.csj-nyp .row>b:last-child{white-space:nowrap}.csj-nyp .hidden,.csj-nyp [hidden]{display:none!important}.csj-nyp .muted{color:var(--csj-muted);font-size:14px}.csj-nyp .big{font-size:34px;font-weight:800}.csj-nyp .badge{border:1px solid var(--csj-border);border-radius:999px;padding:5px 10px;font-weight:700}.csj-nyp .divider{border-top:1px solid var(--csj-border);padding-top:10px}.csj-nyp .tipRow{position:relative;min-height:44px}.csj-nyp .infoBtn{border:1px solid #74828b;background:#fff;color:#172126;border-radius:50%;width:24px;height:24px;min-height:24px;padding:0;line-height:22px;display:inline-block;font-size:14px;position:relative}.csj-nyp .infoBtn:before{content:"";position:absolute;inset:-10px}.csj-nyp .tip{position:absolute;left:0;top:36px;z-index:20;pointer-events:none;width:390px;max-width:100%;background:#fff;border:1px solid var(--csj-border);border-radius:9px;padding:12px;box-shadow:0 8px 24px #0002;font-size:14px;line-height:1.5}.csj-nyp .addons,.csj-nyp .freq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.csj-nyp .addon,.csj-nyp .freq label{border:1px solid var(--csj-border);border-radius:9px;padding:10px;min-height:44px;cursor:pointer}.csj-nyp .addon{display:flex;flex-direction:column;gap:6px}.csj-nyp .wide{grid-column:1/-1}.csj-nyp .full{width:100%}.csj-nyp .zip-controls{display:flex;gap:8px;max-width:440px;align-items:end}.csj-nyp .zip-controls input{min-width:0;flex:1}.csj-nyp .zip-controls button{flex:1}.csj-nyp .date-choice{display:inline-block;min-height:44px;padding:8px 0}.csj-nyp .csj-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.csj-nyp :focus-visible{outline:3px solid #1463a0;outline-offset:3px}.csj-nyp [aria-invalid=true]{border-color:#a12622!important}.csj-nyp .error{color:#a12622;padding:12px;border:1px solid #a12622;border-radius:9px}.csj-nyp .success{padding:18px;background:#e9f5ef;border:1px solid #16754b;border-radius:9px}.csj-nyp .priceBlock .row:last-child b{font-size:20px}.csj-nyp [data-role=confirm] h2{margin:0}.csj-nyp [data-role=result]:empty{display:none}
@media(max-width:700px){.csj-nyp{margin:12px auto;padding:10px}.csj-nyp .grid,.csj-nyp .grid3,.csj-nyp .addons,.csj-nyp .freq{grid-template-columns:1fr}.csj-nyp h1{font-size:28px}.csj-nyp h2{font-size:21px}.csj-nyp .card,.csj-nyp .panel{padding:14px}.csj-nyp .row{gap:8px}.csj-nyp [data-role=confirm]>.row{flex-wrap:wrap}.csj-nyp .badge{font-size:14px}.csj-nyp .tip{width:100%}}

/* Residential action buttons: blue theme; calculator behavior unchanged. */
.csj-nyp button.primary{background:#1463a0!important;color:#fff!important;}
.csj-nyp button.primary:hover{background:#104f80!important;}
.csj-nyp button:not(.primary):not(.infoBtn){background:#edf5fc!important;color:#1463a0!important;border-color:#1463a0!important;}
