/* Reuse the existing APP palette, service icons and layout. */
#maGrid .svc-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}#maGrid .svc{order:0!important}
.np-native .section-h,.np-factory>.section-h{font-family:Montserrat,sans-serif;font-size:26px;font-weight:700;line-height:1.2;margin:20px 0}
.np-native-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.np-external{display:inline-flex;align-items:center;gap:8px;color:var(--dim);font-size:11px;text-decoration:none;min-height:44px}.np-external svg{width:16px;height:16px}
.np-product-frame{display:block;border:1px solid var(--border);background:var(--bg);color-scheme:dark;width:100%;height:calc(100dvh - 220px);min-height:650px;border-radius:16px}.np-native-top+.section-h{margin-top:20px}
.np-empty{text-align:center;padding:36px 24px!important}.np-empty h3{font:700 20px/1.3 Montserrat,sans-serif;margin:16px 0 12px}.np-empty p{color:var(--dim);font-size:13px;line-height:1.7;max-width:430px;margin:0 auto 20px}.np-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;color:var(--lime);border:1px solid var(--border);border-radius:16px;background:var(--lime-dim)}.np-empty-icon .i{width:30px;height:30px}
.np-mode-tabs,.np-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 20px}.np-mode-tabs{padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--surface);width:fit-content}.np-mode-tabs button,.np-tab{cursor:pointer;font:600 12px/1.4 Montserrat,sans-serif;min-height:42px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--dim);padding:10px 14px}.np-mode-tabs .on,.np-tab.on{background:var(--lime-dim);border-color:var(--border);color:var(--accent)}
.np-factory:not(.np-local) #factoryRoot{display:none!important}.np-factory.np-local #npFactoryDashboard{display:none!important}
.np-factory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:24px 0}.np-eyebrow{font-size:10px;color:var(--accent);letter-spacing:.1em;font-weight:600}.np-factory-head h3,.np-model-detail h3,.np-wizard h3{font:700 24px/1.3 Montserrat,sans-serif;letter-spacing:-.025em;margin:8px 0 10px}.np-factory-head p{font-size:12px;line-height:1.6;color:var(--dim);margin:0}.np-project-picker{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--dim);margin:0 0 20px}.np-project-picker select{min-width:180px;max-width:100%;height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:600 13px Montserrat,sans-serif;padding:0 14px}
.np-text-button{background:none;border:0;padding:14px;color:var(--accent);font:600 12px Montserrat,sans-serif;cursor:pointer;min-height:44px;display:block;margin:12px auto}.np-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.np-material-heading{font-size:12px;color:var(--dim);margin:0 0 16px}.np-material{padding:22px!important;display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0!important}.np-material h3{font:600 14px/1.6 Montserrat,sans-serif;margin:0;overflow-wrap:anywhere}.np-material-meta{display:flex;justify-content:space-between;gap:10px;width:100%;font-size:10px;color:var(--dim)}.np-status{display:inline-flex;font-size:10px;font-weight:600;padding:7px 10px;border:1px solid var(--border);border-radius:9px;color:var(--dim)}.np-status[data-state=done]{color:var(--accent);background:var(--lime-dim)}.np-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.np-facts section{padding:24px;margin:0}.np-facts h3{font:600 16px Montserrat,sans-serif;margin:0 0 16px}.np-facts ul{padding:0 0 0 18px;font-size:12px;color:var(--dim);line-height:1.8}.np-facts li{margin-bottom:12px}
.np-field{display:flex;flex-direction:column;gap:9px;margin:0 0 18px;color:var(--dim);font:500 12px/1.5 Montserrat,sans-serif}.np-field input,.np-field textarea{border:1px solid var(--border);border-radius:12px;min-height:46px;padding:12px 14px;background:var(--surface);color:var(--text);font:400 14px/1.6 Montserrat,sans-serif;width:100%;min-width:0;resize:vertical}.np-field input[type=color]{padding:6px;width:90px}.np-field [aria-invalid=true]{border-color:var(--danger,#e84b4b)}.np-inline-actions,.np-wizard-actions,.np-type-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.np-wizard{padding:28px!important}.np-step-track{display:flex;gap:6px;margin:20px 0 28px}.np-step-track span{height:4px;flex:1;background:var(--border);border-radius:4px}.np-step-track .on{background:var(--accent)}.np-type-options{margin-bottom:24px}.np-wizard-fields{max-width:760px}.np-wizard-actions{justify-content:space-between;border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.np-error{color:var(--danger,#e84b4b);font-size:12px;line-height:1.6;min-height:20px}.np-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.np-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.np-platforms label{display:flex;align-items:center;gap:10px;font-size:12px;min-height:48px;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface)}.np-platforms input{width:18px;height:18px;accent-color:var(--accent)}.np-approval-note{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);background:var(--lime-dim);border-radius:12px;padding:18px;font-size:12px;line-height:1.7;margin:20px 0}.np-approval-note .i{color:var(--accent);flex-shrink:0}.np-draft-list{margin-top:28px}.np-draft-list h3{font:600 16px Montserrat,sans-serif;margin-bottom:16px}.np-draft-list article{padding:20px}.np-draft-list p{font-size:12px;color:var(--dim)}.np-draft-list .btn{margin-left:12px}.np-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px;max-height:320px;overflow:auto;padding:3px}.np-model{font:400 12px Montserrat,sans-serif;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;min-height:76px;padding:15px;text-align:left}.np-model b{display:block;font-size:12px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.np-model small{display:block;font-size:10px;margin-top:8px;color:var(--dim)}.np-model.on{border-color:var(--accent);background:var(--lime-dim)}.np-model-detail{padding:26px!important}.np-small{font-size:11px!important;line-height:1.7!important;margin:16px 0 0}.np-copy-status{font-size:12px;color:var(--accent);min-height:20px;margin-bottom:0}
.np-login{margin:auto;border:1px solid var(--border);padding:20px;border-radius:18px;max-width:calc(100vw - 20px);width:680px;max-height:calc(100dvh - 24px);background:var(--bg);color:var(--text)}.np-login::backdrop{background:#000b}.np-login-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.np-login h2{font:700 20px Montserrat,sans-serif}.np-login p{font-size:12px;line-height:1.6;color:var(--dim);margin:10px 0 18px}.np-login iframe{border:1px solid var(--border);border-radius:12px;width:100%;height:65dvh;min-height:380px;display:block;background:var(--bg)}
.np-profile-products{margin:20px 0}.np-profile-products>h3{font:600 13px Montserrat,sans-serif;color:var(--dim);margin:0 0 12px}.np-profile-products .p3-check{margin-bottom:8px}.np-profile-products .p3-ic{color:var(--accent)}
.np-native :focus-visible,.np-factory :focus-visible,.np-login :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:root[data-theme=light] .np-product-frame{color-scheme:light}
@media(max-width:599px){.np-product-frame{height:calc(100dvh - 210px);min-height:600px}.np-materials,.np-facts{grid-template-columns:1fr}.np-material{padding:18px!important}.np-factory-head h3,.np-wizard h3{font-size:21px}.np-factory-head{gap:10px}.np-factory-head>.btn{font-size:10px;padding:10px;white-space:nowrap}.np-factory-head p{font-size:11px}.np-factory-head .np-eyebrow{font-size:8px}.np-tab{font-size:10px;padding:10px 12px;min-height:42px}.np-wizard{padding:20px!important}.np-platforms{grid-template-columns:1fr 1fr}.np-format-grid{gap:8px}.np-inline-actions>.btn{flex:1;min-width:160px}.np-model-grid{grid-template-columns:1fr 1fr;max-height:300px}.np-model b{font-size:11px}.np-model-detail{padding:20px!important}.np-project-picker{align-items:flex-start;flex-direction:column;gap:8px}.np-project-picker select{width:100%}.np-type-options .btn{font-size:11px;flex:1;min-width:110px}.np-draft-list .btn{margin:12px 0 0;display:flex}.np-login{padding:16px}.np-external{font-size:10px}.np-mode-tabs button{font-size:11px}.np-native .section-h,.np-factory>.section-h{font-size:23px}}
@media(max-width:359px){#maGrid .svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.np-native-top{gap:8px}.np-format-grid{grid-template-columns:1fr}.np-platforms{grid-template-columns:1fr}.np-model{padding:10px}}
@media(prefers-reduced-motion:reduce){.np-native *,.np-factory *,.np-login *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.np-project-title{padding:26px!important}.np-project-title h3{font:700 26px/1.3 Montserrat,sans-serif;margin:12px 0}.np-project-title p{color:var(--dim);font-size:13px;line-height:1.7}.np-platform-tags{display:flex;gap:8px;flex-wrap:wrap}.np-platform-tags span{padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-size:10px;color:var(--accent)}.np-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.np-stats>.card{padding:22px!important;margin:0}.np-stats strong{display:block;font-size:29px;color:var(--accent);margin-bottom:12px}.np-stats span{font-size:11px;color:var(--dim)}.np-pipeline{padding:24px!important;margin-top:24px}.np-pipeline h3,.np-recent-title{font:600 17px/1.5 Montserrat,sans-serif;margin:0 0 18px}.np-pipeline ol{list-style:none;counter-reset:stage;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0;margin:0 0 24px}.np-pipeline li{counter-increment:stage;display:flex;gap:12px;align-items:center;font-size:12px;line-height:1.6;color:var(--dim)}.np-pipeline li:before{content:counter(stage);display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid var(--border);border-radius:50%;color:var(--accent)}.np-recent-title{margin-top:28px}@media(max-width:599px){.np-stats{grid-template-columns:1fr 1fr;gap:10px}.np-stats>.card{padding:18px!important}.np-pipeline ol{grid-template-columns:1fr}.np-project-title{padding:22px!important}.np-project-title h3{font-size:23px}}

.np-factory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.np-factory-toolbar .np-project-picker{margin:0}.np-project-title{margin-bottom:16px!important}@media(max-width:599px){.np-factory-toolbar{align-items:flex-end}.np-factory-toolbar .np-project-picker{flex:1;min-width:0}.np-factory-toolbar>.btn{font-size:10px;padding:12px}}
.np-reviews{display:grid;grid-template-columns:1fr;gap:20px}.np-review{padding:24px!important;margin:0!important}.np-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.np-review h3{font:600 18px/1.5 Montserrat,sans-serif;margin:18px 0 8px;overflow-wrap:anywhere}.np-review-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0}.np-review-media img,.np-review-media video{display:block;width:100%;max-height:650px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.np-review-media audio{width:100%}.np-review details{margin:18px 0;font-size:12px;line-height:1.7}.np-review summary{cursor:pointer;min-height:44px;color:var(--accent);display:list-item;padding:10px 0}.np-publication-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--dim);font-size:13px;line-height:1.8}.np-publications{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.np-publications article{padding:22px;margin:0!important}.np-publications .btn{margin-top:16px}.np-media-decision .np-field[hidden]{display:none}.np-media-decision .np-decision-version{font-size:10px}.np-media-decision .np-error{margin-top:16px}.np-media-decision .np-inline-actions{justify-content:flex-end}@media(max-width:599px){.np-review{padding:18px!important}.np-review h3{font-size:16px}.np-publications{grid-template-columns:1fr}.np-review-media{grid-template-columns:1fr}}

/* One login surface; no nested application or independent inner dialog. */
#npLogin{padding:0;width:min(460px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:calc(100vh - 24px);height:min(760px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:hidden}
#npLogin[open]{display:flex;flex-direction:column}#npLogin .np-login-head{flex:0 0 auto;padding:14px 16px;border-bottom:1px solid var(--border);gap:12px}#npLogin h2{font-size:20px;line-height:1.3;margin:0;min-width:0}#npLoginFrame{flex:1 1 auto;min-height:0;width:100%;height:0;border:0;border-radius:0;background:var(--bg)}
.np-login-close{display:flex;gap:6px;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex:0 0 auto;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:8px 10px;cursor:pointer;font:600 11px Montserrat,sans-serif}.np-login-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@media(max-width:359px){#npLogin h2{font-size:18px}#npLogin .np-login-head{padding:10px 12px}.np-login-close{padding:8px}.np-login-close span{font-size:10px}}

#npLoginStatus{flex:0 0 auto;padding:12px 16px;margin:0;font-size:12px;color:var(--dim)}#npLoginStatus[hidden],#npLoginFallback[hidden]{display:none!important}#npLoginFallback{padding:8px 16px;display:flex;align-items:center;gap:12px;font-size:11px}#npLoginFallback a{color:var(--accent)}
