:root{--nw-green:#A21D6E;--nw-green-dark:#7A1553;--nw-red:#F06F1C;--nw-ink:#1A1A1A;--nw-muted:#6B6468;--nw-line:#ECE4E8;--nw-fill:#F6F4F5;--nw-bg:#F3EFF1;--nw-soft:#F8E8F0;--nw-err:#C8102E}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--nw-ink);background-color:var(--nw-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='2' cy='2' r='1.3' fill='%23DCC9D3'/%3E%3C/svg%3E");-webkit-font-smoothing:antialiased}
a{color:var(--nw-green)}
a:hover{color:var(--nw-green-dark)}
.nw-shell{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(122,21,83,.45),0 0 0 1px rgba(122,21,83,.06);min-height:min(720px,calc(100vh - 3rem))}
.nw-panel{background:var(--nw-green)}
.nw-pill{background:rgba(255,255,255,.14);color:#fff;font-weight:600;font-size:.8rem;padding:.5rem .85rem}
.nw-hero{font-weight:800;font-size:clamp(2rem,3.2vw,2.85rem);line-height:1.05;letter-spacing:-.035em}
.nw-lead{color:rgba(255,255,255,.8);font-size:1rem;max-width:36ch}
.nw-soft{color:rgba(255,255,255,.72)}
.nw-steps .nw-s{position:relative;padding-bottom:1.15rem}
.nw-steps .nw-s:last-child{padding-bottom:0}
.nw-steps .nw-s:not(:last-child)::before{content:"";position:absolute;left:19px;top:44px;bottom:4px;width:2px;background:rgba(255,255,255,.18);transition:background .3s}
.nw-steps .nw-s.done::before{background:#fff}
.nw-steps button{all:unset;display:flex;align-items:center;gap:.9rem;color:#fff;opacity:.55;transition:opacity .25s}
.nw-steps .nw-s.now button,.nw-steps .nw-s.done button{opacity:1}
.nw-steps .nw-s.done button{cursor:pointer}
.nw-steps button:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:8px}
.nw-dot{width:40px;height:40px;flex:0 0 40px;border-radius:12px;border:2px solid rgba(255,255,255,.35);display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s}
.nw-dot i{display:none;font-size:1.2rem}
.nw-s.now .nw-dot{border-color:#fff;background:#fff;color:var(--nw-green);box-shadow:0 0 0 5px rgba(255,255,255,.15)}
.nw-s.done .nw-dot{border-color:var(--nw-red);background:var(--nw-red);color:#fff}
.nw-s.done .nw-dot i{display:block}
.nw-s.done .nw-dot b{display:none}
.nw-slash{height:9px;width:110px;background:#fff;transform:skewX(-28deg)}
.nw-slash.red{height:4px;width:88px;background:var(--nw-red);margin-top:5px}
.nw-hills{height:140px}
.nw-hills path:first-child{fill:#8E1A61}
.nw-hills path:last-child{fill:#7A1553}
.nw-tag{z-index:1}
.nw-main{padding:1.25rem}
/*.nw-logo{height:56px;width:auto}*/
.nw-logo{height:96px;width:auto;margin:-10px 0 -6px -8px}

.nw-signin{background:var(--nw-fill);color:var(--nw-muted);border-radius:999px;padding:.55rem 1.1rem;font-size:.875rem}
.nw-signin b{color:var(--nw-green)}
.nw-signin:hover{background:var(--nw-line);color:var(--nw-ink)}
.nw-ico{width:56px;height:56px;flex:0 0 56px;border-radius:16px;background:var(--nw-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem}
.nw-count{font-size:.8rem;font-weight:700;color:var(--nw-red)}
.nw-title{font-weight:800;font-size:clamp(1.55rem,2.6vw,2rem);letter-spacing:-.03em;line-height:1.1}
.nw-seg span{flex:1;height:6px;background:var(--nw-line);transform:skewX(-28deg);transition:background .3s}
.nw-seg span.done{background:var(--nw-green)}
.nw-seg span.now{background:var(--nw-red)}
.nw-step{display:none}
.nw-step.active{display:block;animation:nwIn .3s ease both}
@keyframes nwIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.nw-field .form-control{height:58px;background-color:var(--nw-fill);border:1.5px solid transparent;border-radius:14px;color:var(--nw-ink);font-weight:600;transition:border-color .2s,background-color .2s,box-shadow .2s}
.nw-field .form-control:hover{border-color:#E2D3DB}
.nw-field .form-control:focus{background-color:#fff;border-color:var(--nw-green);box-shadow:0 0 0 4px rgba(162,29,110,.12)}
.nw-field .form-floating>label{color:var(--nw-muted);padding-left:1rem;font-weight:500}
.nw-field .form-floating>label::after{background:transparent!important}
.nw-field .form-floating>.form-control{padding-left:1rem}
.nw-field .form-control.is-invalid{background-color:#FFF5F6;border-color:rgba(200,16,46,.55)}
.nw-field .form-control.is-invalid:focus{box-shadow:0 0 0 4px rgba(200,16,46,.12)}
.nw-field .form-control.is-valid{border-color:transparent;background-color:var(--nw-fill)}
.nw-field .form-control.is-valid:focus{border-color:var(--nw-green);background-color:#fff}
.nw-field .invalid-feedback{padding-left:.25rem;font-size:.82rem;font-weight:500;color:var(--nw-err)}
.nw-pass .form-control{padding-right:3.25rem;background-image:none!important}
.nw-eye{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:10px;color:var(--nw-muted);z-index:3}
.nw-eye:hover{background:var(--nw-line);color:var(--nw-ink)}
.nw-chip{background:var(--nw-fill);border:1.5px solid transparent;border-radius:12px;padding:.6rem 1rem;font-size:.875rem;font-weight:600;color:var(--nw-ink)}
.nw-chip:hover{border-color:#E2D3DB;background:var(--nw-fill);color:var(--nw-ink)}
.nw-chip.active,.nw-chip.active:hover{background:var(--nw-green);border-color:var(--nw-green);color:#fff}
.nw-chips.is-bad .nw-chip{border-color:rgba(200,16,46,.4)}
.nw-meter span{height:6px;border-radius:4px;background:var(--nw-line);transition:background .25s}
#nwStrength{min-width:70px}
.nw-sum{border:1.5px solid var(--nw-line);border-radius:18px;overflow:hidden}
.nw-sum-body{background:var(--nw-fill)}
.nw-kv{background:#fff;border-radius:12px;padding:.65rem .8rem;height:100%}
.nw-kv span{display:block;color:var(--nw-muted);font-size:.75rem;margin-bottom:.1rem}
.nw-kv b{font-weight:700}
.nw-avatar{width:52px;height:52px;border-radius:16px;background:var(--nw-green);color:#fff;font-size:1.05rem}
.min-w-0{min-width:0}
.nw-edit{color:var(--nw-green);font-weight:700;background:var(--nw-fill);border-radius:999px;padding:.3rem .9rem}
.nw-sum-body .nw-edit{background:#fff}
.nw-edit:hover{background:var(--nw-soft);color:var(--nw-green-dark)}
.nw-check{padding:.9rem 1rem .9rem 2.75rem;background:var(--nw-fill);border-radius:14px}
.nw-check .form-check-input{width:1.25rem;height:1.25rem;margin-top:.1rem;margin-left:-1.75rem;border-width:1.5px}
.nw-check .form-check-input:checked{background-color:var(--nw-green);border-color:var(--nw-green)}
.nw-check .form-check-input:focus{box-shadow:0 0 0 4px rgba(162,29,110,.15);border-color:var(--nw-green)}
.nw-btn{background:var(--nw-green);color:#fff;border:0;border-radius:14px;padding:.95rem 2.25rem;font-weight:700;transition:background .2s,transform .1s}
.nw-btn:hover{background:var(--nw-green-dark);color:#fff}
.nw-btn:active{transform:scale(.98);background:var(--nw-green-dark)!important;color:#fff!important}
.nw-btn:disabled{background:var(--nw-green);color:#fff;opacity:.7}
.nw-back{color:var(--nw-ink);border:0;border-radius:14px;padding:.95rem 1.25rem;font-weight:600}
.nw-back:hover{background:var(--nw-fill)}
.nw-btn:focus-visible,.nw-back:focus-visible,.nw-edit:focus-visible,.nw-eye:focus-visible,.nw-chip:focus-visible,.nw-signin:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(162,29,110,.25)}
.nw-tick{width:88px;height:88px;border-radius:26px;background:var(--nw-green);color:#fff;font-size:2.75rem;animation:nwPop .45s cubic-bezier(.2,1.4,.4,1) both}
@keyframes nwPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@media (min-width:576px){.nw-main{padding:2rem}}
@media (min-width:992px){.nw-main{padding:2.25rem 3rem}}
@media (max-width:575.98px){.nw-shell{border-radius:0;min-height:100vh;box-shadow:none}.nw-main{padding:1rem 1.25rem 0}.nw-back{padding:.95rem 1.1rem;background:var(--nw-fill)}.nw-actions{position:sticky;bottom:0;z-index:5;background:#fff;margin:1.5rem -1.25rem 0;padding:.85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom));border-top:1px solid var(--nw-line)}.nw-logo{height:72px;margin:-6px 0 -4px -6px}.nw-ico{width:48px;height:48px;flex-basis:48px;font-size:1.25rem;border-radius:14px}}
@media (prefers-reduced-motion:reduce){.nw-step.active,.nw-tick{animation:none}*{transition:none!important}}
.nw-mhero{background:var(--nw-green);border-radius:20px;padding:1.25rem 1.25rem 1.35rem;position:relative;overflow:hidden}
.nw-mhero::after{content:"";position:absolute;right:-10px;bottom:-6px;width:150px;height:60px;background:#7A1553;clip-path:polygon(0 100%,30% 35%,45% 60%,65% 10%,100% 70%,100% 100%)}
.nw-mtitle{font-weight:800;font-size:1.45rem;letter-spacing:-.03em;line-height:1.15;position:relative;z-index:1;max-width:14ch}
.nw-mhero p,.nw-mhero .nw-seg{position:relative;z-index:1}
.nw-mhero .nw-seg span{background:rgba(255,255,255,.25)}
.nw-mhero .nw-seg span.done{background:#fff}
.nw-mhero .nw-seg span.now{background:var(--nw-red)}
.nw-card{background:#fff;border-radius:28px;max-width:520px;box-shadow:0 40px 80px -40px rgba(122,21,83,.45),0 0 0 1px rgba(122,21,83,.06)}
.nw-ico.bad{background:var(--nw-err)}
.nw-ico-lg{width:72px;height:72px;flex-basis:72px;font-size:2rem;border-radius:20px}
.nw-note{background:var(--nw-fill);border-radius:14px;padding:.9rem 1rem}
.nw-timer{background:var(--nw-fill);border-radius:14px;padding:.85rem 1rem;color:var(--nw-muted)}
.nw-timer b{color:var(--nw-ink);font-variant-numeric:tabular-nums}
.nw-timer-bar{height:6px;background:var(--nw-line);border-radius:4px;overflow:hidden}
.nw-timer-bar span{display:block;height:100%;width:100%;background:var(--nw-green);transition:width 1s linear}