/* Isolated component colours: shared by the publications and journal themes. */
:root{--npc-surface:#ffffff;--npc-ink:#182d40;--npc-muted:#425d70;--npc-line:#b5c8d8;--npc-link:#075e78;--npc-soft:#edf5fa;--npc-accent:#127f86;--npc-error:#a42525;--npc-success:#126b48}
html[data-theme="dark"],html.theme-dark,body[data-theme="dark"],body.theme-dark{--npc-surface:#102333;--npc-ink:#edf5fa;--npc-muted:#c0d1dd;--npc-line:#446176;--npc-link:#83e5f2;--npc-soft:#183449;--npc-accent:#55cbd4;--npc-error:#ffaaaa;--npc-success:#8ee8ba}
.npc-wrap{max-width:1200px;margin:auto;padding:32px 22px;box-sizing:border-box}
.npc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:22px;margin:24px 0}
html .npc-card,html .npc-call{background:var(--npc-surface)!important;color:var(--npc-ink)!important;border:1px solid var(--npc-line);border-radius:16px;padding:24px;overflow-wrap:anywhere;box-sizing:border-box}
.npc-call{max-width:1160px;margin:22px auto;border-left:6px solid var(--npc-accent)!important}
html :is(.npc-call,.npc-card,.npc-admin) :is(h1,h2,h3,h4,p,strong,b,small,span,label,legend,li,td,th){color:var(--npc-ink)!important}
.npc-call h2,.npc-card h2{font-size:1.3rem;line-height:1.4;margin:12px 0}
.npc-call p,.npc-card p{line-height:1.65}
html :is(.npc-call,.npc-card,.npc-admin) a:not(.npc-button){color:var(--npc-link)!important;text-decoration:underline;text-underline-offset:3px}
html :is(.npc-call,.npc-card,.npc-admin) a:not(.npc-button):hover{text-decoration-thickness:2px}
html .npc-button{display:inline-block;background:#126575!important;color:#fff!important;padding:11px 17px;border-radius:7px;text-decoration:none;margin:8px 10px 8px 0}
html .npc-button:hover{background:#0b5260!important;color:#fff!important}
.npc-admin{color:var(--npc-ink)}
.npc-admin label{display:block;margin:14px 0}
html .npc-admin :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){display:block;width:100%;max-width:800px;box-sizing:border-box;padding:10px;font:inherit;border:1px solid var(--npc-line);border-radius:6px;background:var(--npc-surface)!important;color:var(--npc-ink)!important;color-scheme:inherit}
html .npc-admin :is(input,textarea)::placeholder{color:var(--npc-muted)!important;opacity:1}
html .npc-admin :is(option,optgroup){background:var(--npc-surface)!important;color:var(--npc-ink)!important}
html .npc-admin button{cursor:pointer;padding:10px 16px;font:inherit;border:1px solid var(--npc-line);border-radius:6px;background:var(--npc-soft)!important;color:var(--npc-ink)!important}
.npc-admin table{width:100%;border-collapse:collapse}
html .npc-admin :is(td,th){padding:12px;border-bottom:1px solid var(--npc-line);text-align:left;background:var(--npc-surface)!important;color:var(--npc-ink)!important}
html .npc-admin th{background:var(--npc-soft)!important}
html .npc-error{padding:16px;border:2px solid var(--npc-error);background:var(--npc-surface)!important;color:var(--npc-error)!important}
html .npc-success{padding:16px;border:2px solid var(--npc-success);background:var(--npc-surface)!important;color:var(--npc-success)!important}
.npc-scroll{overflow:auto}
.npc-admin .npc-tabs{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}
html :is(.npc-call,.npc-card,.npc-admin) :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--npc-link);outline-offset:3px}
@media(max-width:600px){.npc-call{margin:16px 12px;padding:18px}.npc-wrap{padding:24px 16px}.npc-card{padding:18px}}
