.npd-root{min-height:56vh}.npd-commandbar,.npd-rail-head,.npd-project-head,.npd-stage-header,.npd-factory>header,.npd-actions{display:flex;align-items:center;gap:.8rem}.npd-commandbar{justify-content:space-between;margin:0 0 1.1rem}.npd-commandbar h2,.npd-zero h2,.npd-project-head h2{margin:0;font-family:var(--font-d);letter-spacing:-.025em}.npd-commandbar h2{font-size:1.5rem}.npd-commandbar p,.npd-project-head p,.npd-rail-head p,.npd-stage-header p,.npd-create>div>p{margin:.25rem 0 0;color:var(--muted);font-size:.86rem}.npd-shell{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;border-top:1px solid var(--line)}.npd-rail{position:sticky;top:86px;padding:1rem 1rem 1rem 0;border-right:1px solid var(--line)}.npd-rail-head{justify-content:space-between;padding-bottom:.75rem}.npd-rail-head h3{margin:0;font-family:var(--font-d);font-size:1.05rem}.npd-project-list{display:grid;gap:.3rem}.npd-project-row{width:100%;border:0;border-radius:8px;padding:.7rem .65rem;text-align:left;cursor:pointer;color:var(--ink);background:transparent}.npd-project-row:hover{background:rgba(15,107,92,.07)}.npd-project-row.is-selected{background:rgba(15,107,92,.12);box-shadow:inset 2px 0 0 var(--teal)}.npd-project-row strong,.npd-project-row small,.npd-project-code{display:block}.npd-project-row strong{font-size:.91rem;margin:.1rem 0}.npd-project-row small,.npd-project-code{color:var(--muted);font-size:.74rem}.npd-workspace{padding:1.25rem 0 2rem 1.25rem}.npd-project-head{justify-content:space-between;align-items:flex-start}.npd-project-head h2{font-size:1.65rem}.npd-head-meta{display:flex;align-items:end;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--teal-ink)}.npd-head-meta span{padding:.22rem .55rem;border:1px solid rgba(15,107,92,.24);border-radius:999px;font-weight:700}.npd-flow{display:grid;grid-template-columns:repeat(6,minmax(86px,1fr));gap:0;list-style:none;padding:1.4rem 0 1.15rem;margin:0;border-bottom:1px solid var(--line)}.npd-flow li{position:relative;display:grid;justify-items:start;gap:.35rem;color:var(--muted);font-size:.75rem}.npd-flow li::before{content:"";position:absolute;top:12px;left:25px;right:0;height:1px;background:var(--line)}.npd-flow li:last-child::before{display:none}.npd-flow span{z-index:1;display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#f7f4ee;font-size:.72rem}.npd-flow b{font-weight:650}.npd-flow .is-done{color:var(--teal-ink)}.npd-flow .is-done span,.npd-flow .is-current span{color:white;background:var(--teal);border-color:var(--teal)}.npd-flow .is-done::before{background:var(--teal)}.npd-flow .is-current{color:var(--ink)}.npd-stage{margin-top:1.2rem;border-top:3px solid var(--teal);padding-top:.9rem}.npd-stage-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.npd-stage-header h3{margin:0;font-family:var(--font-d);font-size:1.28rem}.npd-stage-status{white-space:nowrap;color:var(--teal-ink);font-size:.82rem;font-weight:700}.npd-work-heading{margin:0 0 .8rem}.npd-work-heading h3{margin:0;font-size:1rem}.npd-work-heading p,.npd-empty-note{margin:.25rem 0 .8rem;color:var(--muted);font-size:.85rem}.npd-create{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:1.2rem;align-items:start;padding:1.1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:1.1rem}.npd-create h3{margin:0;font-family:var(--font-d);font-size:1.2rem}.npd-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .8rem}.npd-form label{display:grid;gap:.28rem;color:var(--muted);font-size:.76rem;font-weight:700}.npd-form input,.npd-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:.5rem .6rem;color:var(--ink);font:inherit;background:rgba(255,255,255,.75)}.npd-form textarea{min-height:68px;resize:vertical}.npd-form input:focus,.npd-form textarea:focus{outline:3px solid rgba(15,107,92,.16);border-color:var(--teal)}.npd-wide{grid-column:1/-1}.npd-submit{justify-self:start;align-self:end}.npd-factory{padding:.85rem 0;border-top:1px solid var(--line)}.npd-factory>header{justify-content:space-between;align-items:flex-start}.npd-factory h4{margin:0;font-size:.98rem}.npd-factory p{margin:.2rem 0 0;color:var(--muted);font-size:.82rem}.npd-sample{display:grid;grid-template-columns:minmax(145px,.45fr) minmax(220px,1fr) auto;gap:.75rem;align-items:center;margin-top:.65rem;padding:.65rem .7rem;background:rgba(15,107,92,.045);border:1px solid rgba(15,107,92,.12)}.npd-sample-title{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.npd-sample-title span,.npd-sample-title em{font-size:.72rem;font-style:normal;color:var(--teal-ink)}.npd-sample p{margin:0;font-size:.8rem;color:var(--muted)}.npd-sample ul{margin:0;padding:0;list-style:none;font-size:.78rem}.npd-sample li{display:inline;margin-right:.5rem}.npd-sample .is-failed{color:#a64024;font-weight:700}.npd-sample .is-passed{color:var(--teal-ink)}.npd-actions{justify-content:flex-end;flex-wrap:wrap}.npd-actions .btn{padding:.36rem .55rem;font-size:.78rem}.npd-definition,.npd-activity{margin-top:1.1rem;border-top:1px solid var(--line)}.npd-definition summary,.npd-activity summary{cursor:pointer;padding:.8rem 0;color:var(--teal-ink);font-size:.88rem;font-weight:700}.npd-activity ol{display:grid;gap:.45rem;margin:0;padding:0 0 .25rem;list-style:none}.npd-activity li{display:grid;grid-template-columns:125px 1fr;gap:.6rem;font-size:.8rem}.npd-activity time{color:var(--muted);font-variant-numeric:tabular-nums}.npd-zero{max-width:780px;padding:1rem 0}.npd-zero>div{max-width:58ch;margin-bottom:1.5rem}.npd-zero h2{font-size:1.8rem}.npd-zero p{color:var(--muted)}
@media(max-width:860px){.npd-shell{grid-template-columns:1fr}.npd-rail{position:static;padding:.75rem 0;border-right:0;border-bottom:1px solid var(--line)}.npd-project-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.npd-workspace{padding:1rem 0}.npd-create{grid-template-columns:1fr}}@media(max-width:620px){.npd-commandbar,.npd-project-head,.npd-stage-header,.npd-factory>header{align-items:flex-start;flex-direction:column}.npd-flow{grid-template-columns:repeat(3,1fr);gap:.75rem}.npd-flow li::before{display:none}.npd-form,.npd-sample{grid-template-columns:1fr}.npd-actions{justify-content:flex-start}.npd-activity li{grid-template-columns:1fr;gap:.1rem}}
.npd-workspace{background:#fffdf9;border:1px solid rgba(19,36,31,.14);box-shadow:0 12px 30px rgba(19,36,31,.08);padding:1.4rem}.npd-rail{background:rgba(255,255,255,.46);padding-left:.7rem}.npd-project-row{border:1px solid transparent}.npd-project-row.is-selected{box-shadow:none;border-color:rgba(15,107,92,.42);font-weight:700}.npd-flow{grid-template-columns:repeat(7,minmax(0,1fr));padding:1.55rem .45rem 1.2rem;background:#f8fbf9}.npd-flow li{font-size:.84rem}.npd-flow span{width:29px;height:29px;font-weight:800}.npd-stage{padding:1.25rem;background:#fff}.npd-stage-header{padding-bottom:.85rem;border-bottom:1px solid var(--line)}.npd-stage-header h3{font-size:1.45rem}.npd-stage-status{padding:.35rem .6rem;background:#e5f5ed;border-radius:999px}.npd-factory{padding:1rem;background:#fbfcfb;margin-top:.8rem;border:1px solid rgba(19,36,31,.1)}.npd-sample{background:#edf8f2;border-color:#b8dfca}.npd-sample-title b{font-size:1rem}.npd-actions .solid{box-shadow:0 4px 12px rgba(15,107,92,.18)}.npd-form select{width:100%;border:1px solid var(--line);border-radius:6px;padding:.5rem .6rem;color:var(--ink);font:inherit;background:rgba(255,255,255,.75)}.npd-form select:focus{outline:3px solid rgba(15,107,92,.16);border-color:var(--teal)}
.npd-gate{margin:.25rem 0 1rem;padding:.65rem .75rem;background:#f3faf6;color:var(--teal-ink);font-size:.86rem}.npd-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0 0 1rem}.npd-summary div{padding:.6rem;background:#fafbf9;border:1px solid var(--line)}.npd-summary dt{color:var(--muted);font-size:.74rem;font-weight:700}.npd-summary dd{margin:.25rem 0 0;font-size:.9rem}
.npd-flow button{display:grid;justify-items:start;gap:.35rem;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.npd-flow button:disabled{cursor:not-allowed;opacity:.58}.npd-flow button:focus-visible{outline:3px solid rgba(15,107,92,.28);outline-offset:3px}.npd-flow .is-viewable button:hover b{text-decoration:underline;text-underline-offset:3px}
.npd-flow em{font-size:.65rem;font-style:normal;font-weight:700;color:#8a5b12}.npd-flow.has-parallel .is-parallel span{background:#fff7dd;border-color:#d8b667;color:#78510e}.npd-flow.has-parallel .is-parallel::before{background:#d8b667}.npd-flow.has-parallel .is-parallel.is-current span{background:var(--teal);border-color:var(--teal);color:#fff}.npd-create-form{max-width:520px}.npd-identity{display:flex;gap:.7rem;flex-wrap:wrap;margin:0 0 1rem}.npd-identity span{padding:.38rem .55rem;border:1px solid var(--line);background:#fafbf9;color:var(--muted);font-size:.78rem}.npd-identity b{display:block;margin-top:.12rem;color:var(--ink);font-size:.92rem}.npd-board-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 0 1rem;padding:.8rem .9rem;background:#f4f8f6;border:1px solid #d6e7dd}.npd-board-intro strong{display:block;color:var(--teal-ink);font-size:1rem}.npd-board-intro span,.npd-board-intro p{margin:.18rem 0 0;color:var(--muted);font-size:.78rem}.npd-board-intro p{max-width:42ch}.npd-factory-name{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.npd-branch-state{padding:.2rem .45rem;border-radius:999px;font-size:.7rem;font-weight:750}.npd-branch-state.is-waiting{background:#f1f3f2;color:#586661}.npd-branch-state.is-active{background:#e3f0ff;color:#205c95}.npd-branch-state.is-ready{background:#e3f5eb;color:#137144}.npd-branch-state.is-risk{background:#fff0eb;color:#a74425}.npd-branch-next{display:grid;justify-items:end;gap:.4rem;text-align:right}.npd-branch-next small{max-width:25ch;color:var(--muted);font-size:.74rem}.npd-factory{box-shadow:0 5px 18px rgba(19,36,31,.045)}
@media(max-width:620px){.npd-board-intro{display:grid}.npd-branch-next{justify-items:start;text-align:left}}
.npd-collaboration{margin-top:1rem;padding:1rem;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(19,36,31,.05)}.npd-collaboration header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.npd-collaboration h3{margin:0;font-family:var(--font-d);font-size:1.16rem}.npd-collaboration header p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.npd-task-list{display:grid;gap:.45rem;list-style:none;margin:0 0 .9rem;padding:0}.npd-task{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.65rem .7rem;border:1px solid var(--line);background:#fbfcfb}.npd-task strong,.npd-task span,.npd-task small{display:block}.npd-task strong{font-size:.9rem}.npd-task span,.npd-task small{margin-top:.18rem;color:var(--muted);font-size:.76rem}.npd-task small{color:#9a5520}.npd-task-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.npd-task-actions em{font-size:.72rem;font-style:normal;font-weight:700}.npd-task.is-open .npd-task-actions em{color:#205c95}.npd-task.is-blocked .npd-task-actions em{color:#a74425}.npd-task.is-done{background:#f4faf6;opacity:.78}.npd-task.is-done .npd-task-actions em{color:#137144}.npd-collab-empty{padding:.7rem;color:var(--muted);font-size:.84rem;background:#fafbf9}.npd-task-form{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:.55rem;align-items:end;padding-top:.85rem;border-top:1px solid var(--line)}.npd-task-form label{display:grid;gap:.25rem;color:var(--muted);font-size:.74rem;font-weight:700}.npd-task-form input,.npd-task-form select{min-width:0;border:1px solid var(--line);border-radius:6px;padding:.48rem .55rem;font:inherit;color:var(--ink);background:#fff}.npd-task-form .npd-task-blocker{grid-column:1/4}.npd-task-form button{align-self:end}@media(max-width:900px){.npd-task-form{grid-template-columns:repeat(2,minmax(0,1fr))}.npd-task-form .npd-task-blocker{grid-column:auto}}@media(max-width:620px){.npd-task,.npd-task-actions{align-items:flex-start;justify-content:flex-start;flex-direction:column}.npd-task-form{grid-template-columns:1fr}}
