/* Input area: consistent groups, explicit units and optional details. */
#slc-macro #slcnp-form{padding:30px}
#slc-macro #slcnp-form .slt-section-head{margin-bottom:24px}
#slc-macro #slcnp-form .slcnp-table-year{display:grid;grid-template-columns:minmax(0,1fr) 144px;gap:6px 16px;align-items:center;margin-bottom:24px}
#slc-macro #slcnp-form label{font-size:13px;line-height:1.5;color:var(--ink)}
#slc-macro #slcnp-form .slcnp-table-year>label,#slc-macro #slcnp-form .slcnp-control>label{display:block;font-weight:650}
#slc-macro #slcnp-form #slcnp-rate-help{grid-column:1/-1;font-size:12px;line-height:1.6;margin-top:0}
#slc-macro #slcnp-form .slcnp-main-group{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:0 0 24px;min-width:0}
#slc-macro #slcnp-form legend{float:none;width:auto;margin:0;padding:0 10px 0 0;font-size:15px;line-height:1.5;font-weight:700}
#slc-macro #slcnp-form .slcnp-permanent-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:end}
#slc-macro #slcnp-form .slcnp-control>label{margin-bottom:7px}
#slc-macro #slcnp-form .slcnp-point-labels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 4px;color:var(--muted);font-size:11px;line-height:1.5}
#slc-macro #slcnp-form .slcnp-points{display:grid;grid-template-columns:minmax(0,1fr) 6px minmax(0,1fr);gap:5px;align-items:center}
#slc-macro #slcnp-form input[type=text],#slc-macro #slcnp-form select{height:46px;min-height:46px;padding:9px 10px;border:1px solid #bccce1;border-radius:8px;background:white;color:var(--ink);font-size:15px;line-height:1.5;width:100%;min-width:0}
#slc-macro #slcnp-form .slcnp-period-head,#slc-macro #slcnp-form .slcnp-period-row{display:grid;grid-template-columns:70px minmax(0,1fr) 100px;gap:12px;align-items:center}
#slc-macro #slcnp-form .slcnp-period-head{font-size:12px;color:var(--muted);line-height:1.5;padding-bottom:7px}
#slc-macro #slcnp-form .slcnp-period-row{margin:7px 0;font-size:13px}
#slc-macro #slcnp-form .slcnp-period-row>span:first-child{font-weight:550}
#slc-macro #slcnp-form .slcnp-fixed-percent{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #e2e8f1;border-radius:8px;background:#f6f8fc;color:var(--muted);font-size:14px}
#slc-macro #slcnp-form .slcnp-percent{position:relative}
#slc-macro #slcnp-form .slcnp-percent input{padding-right:28px}
#slc-macro #slcnp-form .slcnp-percent>span{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--muted);pointer-events:none}
#slc-macro #slcnp-form .slcnp-extra-content{padding:0}
#slc-macro #slcnp-form .slcnp-extra-content>.slcnp-control{max-width:none;width:100%;margin-bottom:14px}
#slc-macro #slcnp-form .slcnp-radios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f4f6fb}
#slc-macro #slcnp-form .slcnp-radios label{position:relative;display:flex;margin:0;cursor:pointer;min-width:0}
#slc-macro #slcnp-form .slcnp-radios input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
#slc-macro #slcnp-form .slcnp-radios label>span{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:64px;padding:10px 8px;border-radius:8px;font-size:12px;line-height:1.5;font-weight:650;color:var(--ink);box-sizing:border-box}
#slc-macro #slcnp-form .slcnp-radios input:checked+span{background:#0866ff;color:white;box-shadow:0 2px 6px #0866ff24}
#slc-macro #slcnp-form .slcnp-radios input:focus-visible+span{outline:3px solid #193e7c;outline-offset:2px}
#slc-macro #slcnp-form .slcnp-extra-content>small{font-size:12px;line-height:1.6;margin-top:8px}
#slc-macro #slcnp-form .slcnp-expense-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#slc-macro #slcnp-form .slt-actions{margin-top:22px}
@media(max-width:600px){#slc-macro #slcnp-form{padding:24px 16px}#slc-macro #slcnp-form .slcnp-table-year{grid-template-columns:minmax(0,1fr) 116px}#slc-macro #slcnp-form input[type=text],#slc-macro #slcnp-form select{font-size:16px;padding-left:8px;padding-right:8px}#slc-macro #slcnp-form .slcnp-percent input{padding-right:25px}#slc-macro #slcnp-form .slcnp-period-head,#slc-macro #slcnp-form .slcnp-period-row{grid-template-columns:62px minmax(0,1fr) 84px;gap:8px}#slc-macro #slcnp-form .slcnp-extra summary{padding:12px 10px;gap:7px}#slc-macro #slcnp-form .slcnp-extra summary>span{font-size:13px}#slc-macro #slcnp-form .slcnp-extra summary>small{font-size:10px}#slc-macro #slcnp-form .slcnp-extra-content{padding:14px 12px}}
@media(max-width:420px){#slc-macro #slcnp-form .slcnp-permanent-grid{grid-template-columns:minmax(0,1fr);gap:16px}#slc-macro #slcnp-form .slcnp-point-labels{gap:16px}#slc-macro #slcnp-form .slcnp-expense-grid{grid-template-columns:minmax(0,1fr);gap:14px}}

/* Four always-visible sections and the full-width reference table. */
#slc-macro #slcnp-form .slcnp-table-year{display:block}
#slc-macro #slcnp-form .slcnp-table-year>label{margin-bottom:7px}
#slc-macro #slcnp-form #slcnp-rate-help{display:block;margin-top:6px}
#slc-macro #slcnp-form .slcnp-main-group{border:0;padding:0;margin:0 0 24px}
#slc-macro #slcnp-form legend{display:block;width:100%;box-sizing:border-box;padding:10px 12px;margin:0 0 16px;border-left:3px solid #0866ff;border-radius:0 7px 7px 0;background:#eef4ff;color:#17365f;font-size:13px;letter-spacing:.035em;line-height:1.5;font-weight:750}
#slc-macro a[data-bio-law]{color:#1859b5;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* Keep the complete article reference tappable even when it spans lines. */
#slc-macro a[data-bio-law]{display:inline-block;max-width:100%;vertical-align:baseline}
#slc-macro [hidden]{display:none!important}#slc-macro .slcnp-daily{margin-bottom:20px}#slc-macro .slcnp-suffering{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f5f8fe;margin-top:18px;cursor:pointer}#slc-macro .slcnp-suffering input{width:19px;height:19px;accent-color:#0866ff;flex-shrink:0}#slc-macro .slcnp-issue{font-size:13px;line-height:1.6;border-left:3px solid #3f6fa9;padding:12px 15px;background:#eaf1fc;border-radius:6px}#slc-macro .slcnp-scope{font-size:13px;line-height:1.6;padding:12px 16px;background:#f4f7fc;border:1px solid #e1e8f3;border-radius:10px}#slc-macro #slcnp-manual-wrap{margin-top:16px}#slc-macro #slcnp-moralPercent{margin-bottom:14px}#slc-macro .slt-result dl dd{overflow-wrap:anywhere}#slc-macro #slcnp-form select{padding-right:24px}

/* Immediate, field-specific validation. */
#slc-macro #slcnp-form .slcnp-field-error{display:block;color:#a5211c;font-size:13px;line-height:1.5;font-weight:600;margin-top:7px}#slc-macro #slcnp-form input[aria-invalid=true]{border-color:#b42318;background:#fff5f4;box-shadow:0 0 0 1px #b4231833}#slc-macro #slcnp-form input[aria-invalid=true]:focus{outline:2px solid #b42318;outline-offset:2px}
