/* NorthX online — pages around the app (GreyHyphen Labs brand) */
.nx main{display:block}
.nx-userbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding:.6rem var(--pad-x);background:var(--plum);color:var(--white);font-size:.85rem}
.nx-userbar b{font-weight:600}
.nx-links{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}
.nx-userbar a{color:var(--white);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.nx-userbar a:hover{border-bottom-color:var(--white)}
.nx-flash{margin:1rem var(--pad-x) 0;padding:.75rem 1rem;background:var(--white);border-left:4px solid var(--sage);font-weight:500}
.nx-flash.nx-err{border-left-color:var(--coral)}
.nx-main{padding:clamp(1.5rem,4vw,3rem) var(--pad-x) 4rem}
.nx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.8rem}
.nx-head h1,.nx-panel h1{margin:0;font-weight:800;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.05;letter-spacing:-.025em}
.nx-sub{margin:.6rem 0 0;color:var(--plum)}
.nx-card{background:var(--white);padding:1.4rem 1.4rem 1.2rem;margin-bottom:1.4rem}
.nx-card h2{margin:0 0 1rem;font-weight:800;font-size:1.2rem}
.nx-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.4rem}
label{display:grid;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--plum)}
input[type=text],input[type=email],input[type=password],select{font:inherit;font-size:1rem;color:var(--ink);background:var(--white);border:1px solid var(--mist);padding:.7rem .8rem;width:100%;min-width:0}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
input[readonly]{background:var(--fog)}
.nx-check{display:flex;align-items:center;gap:.5rem;font-weight:400;color:var(--ink)}
.nx-grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;align-items:end}
.nx-stack{display:grid;gap:1rem}
.nx-table-wrap{overflow-x:auto}
.nx-table{width:100%;border-collapse:collapse;font-size:.9rem}
.nx-table th{background:var(--plum);color:var(--white);font-weight:500;text-align:left;padding:.6rem .7rem;white-space:nowrap}
.nx-table td{padding:.65rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
.nx-table small{color:var(--plum)}
.nx-title{font-weight:600;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent}
.nx-title:hover{border-bottom-color:var(--coral)}
.nx-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.nx-actions form{margin:0}
.nx-danger{color:#B3402F;border-color:#E8B3AA}
.nx-danger:hover{border-color:var(--coral)}
.nx-tag{display:inline-block;padding:.15rem .5rem;background:var(--fog);font-size:.75rem;font-weight:600;text-transform:capitalize}
.nx-tag.ok{background:#E9F0EC}.nx-tag.off{background:#FBE7E3}
.nx-rename{margin-top:.3rem;font-size:.8rem;color:var(--plum)}
.nx-rename summary{cursor:pointer}
.nx-rename form{display:flex;gap:.4rem;margin-top:.4rem}
.nx-rename input{padding:.4rem .5rem;font-size:.9rem}
.nx-empty{background:var(--white);padding:2.5rem 1.6rem;max-width:40rem}
.nx-empty .bar{width:3.5rem;height:.55rem;margin-bottom:1rem}
.nx-empty h2{margin:0 0 .5rem;font-weight:800}
.nx-empty p{margin:0 0 1.2rem}
.nx-linkbox{background:var(--white);border-left:6px solid var(--coral);padding:1.2rem 1.4rem;margin-bottom:1.4rem}
.nx-linkbox h2{margin:0 0 .4rem;font-weight:800;font-size:1.1rem}
.nx-copyrow{display:flex;gap:.5rem}
.nx-copyrow input{font-size:.85rem}
.nx-auth{position:relative;overflow:hidden;min-height:70vh;display:grid;place-items:center;padding:clamp(2rem,6vw,4rem) var(--pad-x)}
.nx-auth-cascade{position:absolute;right:clamp(-6rem,-4vw,-2rem);top:3rem;width:clamp(14rem,32vw,28rem)}
.nx-panel{position:relative;z-index:1;width:min(100%,28rem);background:var(--white);padding:2rem 1.8rem;display:grid;gap:1rem;box-shadow:0 18px 50px rgba(74,62,68,.08)}
.nx-panel .kicker{margin:0}
.nx-panel h1{font-size:clamp(1.8rem,4vw,2.4rem);margin-bottom:.3rem}
.nx-panel .btn{justify-content:center}
.nx-error{margin:0;padding:.7rem .9rem;background:#FBE7E3;border-left:4px solid var(--coral);color:var(--ink)}
.nx-small{margin:0;font-size:.8rem;color:var(--plum)}
.nx-note{margin:1rem 0 0;padding:.8rem 1rem;background:var(--white);border-left:4px solid var(--teal);max-width:40rem}
.nx-copied{color:var(--teal);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-left:.5rem}
.nx-features{padding-top:1rem}
.nx-features .card h3{color:var(--ink);font-weight:800;font-size:1.15rem}
.nx-how{padding:0 var(--pad-x) 4rem}
.nx-how .section-h{padding:0}
.nx-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.2rem;counter-reset:s}
.nx-steps li{background:var(--white);padding:1.2rem 1.3rem;counter-increment:s;position:relative}
.nx-steps li::before{content:counter(s,decimal-leading-zero);display:block;font-weight:800;font-size:1.6rem;color:var(--coral);margin-bottom:.4rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:560px){.nx-actions{justify-content:flex-start}.nx-copyrow{flex-direction:column}}
.nx-copyrow .btn{white-space:nowrap}
/* ── Shared account + console (GreyHyphen core) ── */
.site-nav .nav-signin{margin-left:.2rem}
.cx-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1.4rem;border-bottom:1px solid var(--mist,#D9D2D6)}
.cx-tabs a{padding:.6rem .85rem;color:var(--plum,#4A3E44);text-decoration:none;font-size:.86rem;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}
.cx-tabs a:hover{color:var(--ink,#141414)}
.cx-tabs a[aria-current]{color:var(--ink,#141414);border-bottom-color:var(--coral,#E8604C)}
.cx-tabs a b{display:inline-block;min-width:1.3rem;padding:0 .35rem;margin-left:.25rem;border-radius:999px;background:var(--coral,#E8604C);color:#141414;font-size:.72rem;text-align:center}
.cx-mode{align-self:center;padding:.35rem .7rem;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
.cx-mode-live{background:#E3F1EC;color:#1F7A80}.cx-mode-test{background:#FFF1EC;color:#9C3A2B}
.cx-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;margin:0 0 1.2rem}
.cx-kpis>div{background:#fff;padding:1rem 1.1rem;border-top:4px solid var(--coral,#E8604C);display:grid;gap:.15rem}
.cx-kpis>div:nth-child(2){border-top-color:#1F7A80}.cx-kpis>div:nth-child(3){border-top-color:#F2B33D}.cx-kpis>div:nth-child(4){border-top-color:#9C86C2}
.cx-kpis span{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--grey,#8A8589)}
.cx-kpis b{font-size:1.7rem;font-weight:800;line-height:1.1}
.cx-kpis small{color:var(--plum,#4A3E44)}
.cx-list{list-style:none;margin:0 0 1rem;padding:0}
.cx-list li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--mist,#E7E1E4)}
.cx-list li>span:last-child{text-align:right;white-space:nowrap}
.cx-row{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}
.cx-field{display:grid;gap:.25rem}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.7rem;align-items:end;margin:.6rem 0 1.1rem}
.cx-grid label{display:grid;gap:.25rem}
.cx-check{display:inline-flex!important;gap:.35rem;align-items:center}
.cx-facts{margin:.5rem 0 .9rem;padding-left:1.1rem;display:grid;gap:.2rem}
.cx-toolcard{border-left:4px solid var(--c)}
.nx-actions select{max-width:15rem}
.ac-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem}
.ac-tool{position:relative;display:grid;gap:.3rem;padding:1.1rem 1.2rem 1.1rem 1.35rem;background:var(--fog,#F3EFF1);color:var(--ink,#141414);text-decoration:none;border-radius:3px}
.ac-tool::before{content:"";position:absolute;left:0;top:.8rem;bottom:.8rem;width:4px;background:var(--c)}
.ac-tool b{font-size:1.15rem}.ac-tool span{color:var(--plum,#4A3E44);font-size:.92rem}.ac-tool small{color:var(--grey,#8A8589)}
.ac-tool i{font-style:normal;font-weight:700;color:var(--ink,#141414);margin-top:.3rem}
a.ac-tool:hover{background:#ECE6E9}
.ac-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}
@media (max-width:900px){.cx-tabs{overflow-x:auto;flex-wrap:nowrap}.cx-tabs a{white-space:nowrap}}
.cx-dash{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;margin-bottom:1rem}
.cx-chart svg{width:100%;height:auto;display:block;color:var(--ink,#141414)}
.cx-attn .cx-list b{font-size:1.1rem}.cx-hot{color:#E8604C}
.cx-bars{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.cx-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;font-size:.9rem}
.cx-bars i{grid-column:1/-1;height:6px;background:#1F7A80;border-radius:3px;order:3}
.cx-bars b{white-space:nowrap}
.sp-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1rem;align-items:start}
.sp-two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.sp-faq details{border-bottom:1px solid var(--mist,#E7E1E4);padding:.6rem 0}
.sp-faq summary{cursor:pointer;font-weight:600}
.sp-faq p{margin:.5rem 0 0;color:var(--plum,#4A3E44)}
.sp-thread{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.8rem}
.sp-msg{padding:.9rem 1rem;border-radius:3px;background:var(--fog,#F3EFF1);max-width:46rem}
.sp-msg.sp-staff{border-left:4px solid #1F7A80}.sp-msg.sp-client{border-left:4px solid #E8604C}
.sp-mine{margin-left:auto;background:#fff;border:1px solid var(--mist,#E7E1E4)}
.sp-who{margin:0 0 .35rem;font-size:.8rem;color:var(--grey,#8A8589)}
.sp-reply textarea{width:100%}
@media (max-width:900px){.cx-dash,.sp-grid{grid-template-columns:minmax(0,1fr)}.sp-two{grid-template-columns:minmax(0,1fr)}}
