/* NEXUS — compléments de style des panels (CSS simple, sans compilation Tailwind). */
.nx-locale { display: flex; gap: .25rem; align-items: center; font-size: .875rem; }
.nx-locale--inline { justify-content: center; margin-top: 1rem; }
.nx-locale a { padding: .25rem .5rem; border-radius: .375rem; font-weight: 500; color: rgb(75 85 99); text-decoration: none; }
.nx-locale a:hover { background: rgb(243 244 246); }
.nx-locale a.is-active { background: var(--primary-600); color: #fff; }
.dark .nx-locale a { color: rgb(209 213 219); }
.dark .nx-locale a:hover { background: rgb(255 255 255 / .05); }

.nx-status-head { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; justify-content: space-between; }
.nx-status-state { display: flex; align-items: center; gap: .75rem; font-size: 1.125rem; font-weight: 600; }
.nx-dot { width: .75rem; height: .75rem; border-radius: 9999px; display: inline-block; }
.nx-dot--ok { background: rgb(22 163 74); box-shadow: 0 0 0 4px rgb(22 163 74 / .15); }
.nx-dot--warn { background: rgb(217 119 6); box-shadow: 0 0 0 4px rgb(217 119 6 / .15); }
.nx-dot--off { background: rgb(156 163 175); }
.nx-dot--danger { background: rgb(220 38 38); box-shadow: 0 0 0 4px rgb(220 38 38 / .15); }
.nx-reasons { margin: 1rem 0 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.nx-reasons li { display: flex; gap: .5rem; align-items: flex-start; padding: .625rem .75rem; border-radius: .5rem; background: rgb(254 243 199 / .6); color: rgb(120 53 15); }
.dark .nx-reasons li { background: rgb(120 53 15 / .25); color: rgb(254 243 199); }
.nx-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; margin-top: 1rem; }
.nx-fact { padding: .625rem .75rem; border-radius: .5rem; border: 1px solid rgb(229 231 235); }
.dark .nx-fact { border-color: rgb(255 255 255 / .1); }
.nx-fact dt { font-size: .75rem; color: rgb(107 114 128); }
.nx-fact dd { margin: 0; font-weight: 600; }
.nx-actions { display: flex; flex-wrap: wrap; gap: .5rem; }

.nx-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.nx-steps li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border-radius: .5rem; border: 1px solid rgb(229 231 235); }
.dark .nx-steps li { border-color: rgb(255 255 255 / .1); }
.nx-step-title { display: flex; align-items: center; gap: .75rem; font-weight: 500; }
.nx-step-num { width: 1.75rem; height: 1.75rem; border-radius: 9999px; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; background: rgb(243 244 246); }
.dark .nx-step-num { background: rgb(255 255 255 / .08); }
.nx-code { font-family: ui-monospace, monospace; font-size: 1.75rem; letter-spacing: .2em; font-weight: 700; text-align: center; padding: 1rem; border-radius: .5rem; background: rgb(243 244 246); }
.dark .nx-code { background: rgb(255 255 255 / .06); }
.nx-muted { color: rgb(107 114 128); font-size: .875rem; }
