    .nw-group { margin-bottom: 18px; }
    .nw-group h3 {
        font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.10em;
        color: var(--calc-accent); margin: 0 0 10px; font-weight: 800;
    }
    .nw-row {
        display: grid; grid-template-columns: 1.4fr 1fr 32px;
        gap: 8px; margin-bottom: 8px; align-items: stretch;
    }
    /* Bare inputs inside .nw-row don't sit in a .pk-calc-form__field, so the
       calc-styles input rules don't reach them — match the same dark look here. */
    .nw-row input {
        width: 100%;
        padding: 10px 12px;
        border-radius: 9px;
        background: rgba(0,0,0,0.30);
        border: 1.5px solid rgba(255,255,255,0.12);
        color: var(--pk-fg);
        font-size: 0.95rem;
        font-family: inherit;
        box-sizing: border-box;
        transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
    }
    .nw-row input::placeholder { color: rgba(228,234,255,0.40); }
    .nw-row input:focus {
        outline: none;
        border-color: var(--calc-accent);
        background: rgba(0,0,0,0.45);
        box-shadow: 0 0 0 3px rgba(92,221,210,0.16);
    }
    .nw-row button.nw-remove {
        background: rgba(255,255,255,0.04);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 8px;
        color: var(--pk-fg-mut);
        cursor: pointer; font-size: 1.1rem; line-height: 1;
        transition: all .15s ease;
    }
    .nw-row button.nw-remove:hover { color: #ff7a8a; border-color: rgba(255,122,138,0.4); }
    .nw-add {
        margin-top: 4px;
        background: transparent;
        border: 1px dashed rgba(255,255,255,0.18);
        color: var(--calc-accent);
        padding: 8px 14px; border-radius: 999px;
        font-size: 0.85rem; font-weight: 700;
        cursor: pointer; font-family: inherit;
        transition: all .15s ease;
    }
    .nw-add:hover { border-color: var(--calc-accent); background: rgba(255,255,255,0.04); }
    .nw-bar-wrap { margin-top: 18px; }
    .nw-bar {
        display: flex; height: 24px; border-radius: 6px; overflow: hidden;
        background: rgba(255,255,255,0.04);
    }
    .nw-bar > span {
        display: block; height: 100%;
        transition: width .25s ease;
    }
    .nw-bar-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; font-size: 0.78rem; color: var(--pk-fg-mut); }
    .nw-bar-legend > span { display: inline-flex; align-items: center; gap: 6px; }
    .nw-bar-legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
    .nw-privacy {
        display: inline-flex; align-items: center; gap: 6px;
        font-size: 0.78rem; color: var(--calc-accent-2);
        margin-bottom: 14px; padding: 6px 12px;
        background: rgba(45,190,122,0.08);
        border: 1px solid rgba(45,190,122,0.25);
        border-radius: 999px;
    }
