.nxref *, .nxref *::before, .nxref *::after { box-sizing:border-box; margin:0; padding:0; }
.nxref {
  --red:#C0392B;
  --red-dk:#A93226;
  --white:#FFFFFF;
  --black:#111111;
  --g-dk:#333333;
  --g-md:#555555;
  --g-lt:#E0E0E0;
  --g-50:#F7F7F7;
  --grn:#1B5E20;
  --grn-bg:#E8F5E9;
  --amb:#7B4B00;
  --amb-bg:#FFF8E1;
  --border:#E5E5E5;
  --card-r:10px;
  --r:6px;
  --t:0.15s ease;
  display:block; width:100%;
  background:transparent;
  font-family:'Inter', sans-serif;
  color:var(--black); line-height:1.6;
}

.nxref-inner { max-width:1140px; margin:0 auto; padding:2.5rem 0 3rem; }
@media (max-width:680px) { .nxref-inner { padding:1.5rem 0 2rem; } }

.nxref-search-row {
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
  background:var(--g-50);
  border:1px solid var(--border);
  border-radius:var(--card-r);
  padding:1.25rem 1.5rem;
  margin-bottom:2rem;
}
@media (max-width:540px) { .nxref-search-row { grid-template-columns:1fr; } }

.nxref-grp { display:flex; flex-direction:column; gap:6px; }
.nxref-step-lbl {
  font-size:11px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--g-md);
  display:flex; align-items:center; gap:7px;
}
.nxref-step-num {
  width:17px; height:17px; border-radius:50%;
  background:var(--red); color:#fff;
  font-size:9px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}

.nxref-sel-wrap { position:relative; }
.nxref-sel-wrap::after { content:''; pointer-events:none; position:absolute; right:12px; top:50%; transform:translateY(-50%); border:4px solid transparent; border-top-color:var(--g-md); border-bottom:none; }
.nxref select { width:100% !important; height:42px !important; padding:0 30px 0 12px !important; border:1px solid var(--border) !important; border-radius:var(--r) !important; background:var(--white) !important; color:var(--black) !important; font-family:'Inter',sans-serif !important; font-size:14px !important; font-weight:400 !important; appearance:none !important; -webkit-appearance:none !important; cursor:pointer; outline:none !important; box-shadow:none !important; }
.nxref select:focus { border-color:var(--red) !important; box-shadow:0 0 0 3px rgba(192,57,43,0.1) !important; }

.nxref-inp-wrap { position:relative; }
.nxref-ico { position:absolute; left:11px; top:50%; transform:translateY(-50%); color:#ADADAD; pointer-events:none; display:flex; align-items:center; }
.nxref input[type="text"] { width:100% !important; height:42px !important; padding:0 12px 0 36px !important; border:1px solid var(--border) !important; border-radius:var(--r) !important; background:var(--white) !important; color:var(--black) !important; font-family:'Inter',sans-serif !important; font-size:14px !important; outline:none !important; box-shadow:none !important; }
.nxref input[type="text"]:focus { border-color:var(--red) !important; box-shadow:0 0 0 3px rgba(192,57,43,0.1) !important; }
.nxref input[type="text"]::placeholder { color:#ADADAD !important; }

.nxref-sugs { position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:99999; background:var(--white); border:1px solid var(--border); border-radius:var(--r); box-shadow:0 6px 20px rgba(0,0,0,0.12); overflow:hidden; max-height:240px; overflow-y:auto; display:none; }
.nxref-sugs.open { display:block; }
.nxref-si { display:flex; align-items:center; justify-content:space-between; padding:9px 12px; cursor:pointer; gap:10px; border-bottom:1px solid #F3F3F3; transition:background var(--t); }
.nxref-si:last-child { border-bottom:none; }
.nxref-si:hover, .nxref-si.on { background:#FDF0EF; }
.nxref-sl { display:flex; flex-direction:column; gap:1px; min-width:0; }
.nxref-sc { font-size:13px; font-weight:600; color:var(--black); }
.nxref-sn { font-size:11px; color:var(--g-md); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nxref-sp { display:flex; gap:5px; flex-shrink:0; }
.nxref-pvg { font-size:10px; font-weight:600; background:var(--g-50); color:var(--g-md); padding:2px 6px; border-radius:99px; border:1px solid var(--g-lt); }
.nxref-pty { font-size:10px; font-weight:700; background:var(--red); color:#fff; padding:2px 6px; border-radius:99px; }
.nxref-sug-none { padding:12px; font-size:13px; color:var(--g-md); text-align:center; }
.nxref mark { background:none; color:var(--red); font-weight:700; }

.nxref-empty { padding:2.5rem 1rem; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.nxref-et { font-size:15px; font-weight:600; color:var(--g-dk); }
.nxref-es { font-size:13px; color:var(--g-md); }

.nxref-status { display:flex; align-items:center; gap:10px; padding:10px 0 14px; font-size:13px; font-weight:600; border-bottom:1px solid var(--border); margin-bottom:1.5rem; }
.nxref-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.nxref-status.exact   { color:var(--grn); }
.nxref-status.partial { color:var(--amb); }
.nxref-dot-exact   { background:var(--grn); }
.nxref-dot-partial { background:#D97706; }

.nxref-result { display:none; }
.nxref-result.on { display:block; animation:nxIn 0.2s ease both; }
@keyframes nxIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }

.nxref-cards { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media (max-width:600px) { .nxref-cards { grid-template-columns:1fr; } }

.nxref-card {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--card-r);
  overflow:hidden;
}

.nxref-card-body { padding:1.25rem 1.5rem 1.5rem; }

.nxref-card-title {
  font-size:1.15rem; font-weight:700;
  color:var(--black); margin-bottom:0.5rem;
  line-height:1.25;
}
.nxref-card-title.is-next { color:var(--black); }

.nxref-card-code {
  font-size:12px; font-weight:600; color:var(--red);
  letter-spacing:0.03em; margin-bottom:0.75rem;
}

.nxref-card-desc { font-size:14px; color:var(--g-md); line-height:1.6; margin-bottom:1rem; }

.nxref-app-lbl {
  font-size:11px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--black);
  margin-bottom:0.6rem;
}

.nxref-app-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:2px 12px;
  margin-bottom:1.1rem;
}
@media (max-width:380px) { .nxref-app-grid { grid-template-columns:1fr; } }

.nxref-app-item {
  font-size:13px; color:var(--g-dk);
  display:flex; align-items:flex-start; gap:6px;
  padding:3px 0;
}
.nxref-app-item::before {
  content:''; flex-shrink:0;
  width:5px; height:5px; border-radius:50%;
  background:var(--red); margin-top:6px;
}

.nxref-specs { margin-bottom:1rem; }
.nxref-spec-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid #F3F3F3; font-size:13px; }
.nxref-spec-row:last-child { border-bottom:none; }
.nxref-spec-k { color:var(--g-md); }
.nxref-spec-v { font-weight:600; color:var(--black); text-align:right; }
.nxref-spec-v.match-direct { color:var(--grn); }
.nxref-spec-v.match-close  { color:var(--amb); }

.nxref-view-link {
  display:inline-flex; align-items:center; gap:6px;
  color:var(--red) !important; text-decoration:none !important;
  font-size:14px; font-weight:600;
  transition:gap var(--t);
}
.nxref-view-link:hover { gap:10px; }
.nxref-view-link.off { display:none; }

.nxref-none { display:none; padding:2rem 0; text-align:center; }
.nxref-none.on { display:block; }
.nxref-none-ico { width:46px; height:46px; border-radius:50%; background:var(--red); margin:0 auto 1rem; display:flex; align-items:center; justify-content:center; }
.nxref-none-t { font-size:16px; font-weight:700; margin-bottom:6px; }
.nxref-none-s { font-size:14px; color:var(--g-md); margin-bottom:1.25rem; }
.nxref-ctabtn { display:inline-flex; align-items:center; gap:8px; background:var(--red); color:#fff !important; font-family:'Inter',sans-serif !important; font-size:13px !important; font-weight:700 !important; padding:11px 22px; border-radius:var(--r); text-decoration:none !important; text-transform:uppercase; letter-spacing:0.05em; transition:background var(--t); }
.nxref-ctabtn:hover { background:var(--red-dk); }