/*
 * NaijaSabi Nigeria Tools v2.0.0
 * World-class mobile-first design
 * Brand: Green #007A3D | Deep #013D22 | Gold #F5A623
 */

/* ── Tokens ─────────────────────────────────── */
:root {
  --g:    #007A3D;
  --gd:   #013D22;
  --g2:   #009945;
  --gold: #F5A623;
  --red:  #DC2626;
  --bg:   #F4F1EB;
  --surf: #ffffff;
  --bdr:  rgba(0,0,0,.08);
  --txt:  #0C1A0F;
  --sub:  #3B5441;
  --mute: #8FA897;
  --r:    16px;
  --r-sm: 10px;
  --sh:   0 2px 16px rgba(0,0,0,.08);
  --sh2:  0 8px 40px rgba(0,0,0,.12);
  --head: 'Bricolage Grotesque','Georgia',serif;
  --body: 'DM Sans','Segoe UI',system-ui,sans-serif;
  --mono: 'JetBrains Mono','Courier New',monospace;
  --ease: cubic-bezier(.16,1,.3,1);
}

/* ── Page root ──────────────────────────────── */
.nnt-root {
  font-family: var(--body);
  color: var(--txt);
}

/* ── Hero Section ───────────────────────────── */
.nnt-hero {
  background: linear-gradient(135deg,#013D22 0%,#007A3D 55%,#009945 100%);
  padding: clamp(40px,6vw,72px) clamp(20px,4vw,48px);
  position: relative;
  overflow: hidden;
}
.nnt-hero::before,
.nnt-hero::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.nnt-hero::before { width:500px;height:500px;top:-200px;right:-100px;background:rgba(255,255,255,.04); }
.nnt-hero::after  { width:300px;height:300px;bottom:-150px;left:-60px;background:rgba(245,166,35,.06); }
.nnt-hero__inner {
  display: flex;
  gap: clamp(24px,4vw,48px);
  align-items: flex-start;
  max-width: 980px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.nnt-hero__left  { flex: 1; min-width: 0; }
.nnt-hero__right { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.nnt-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.4px;
  padding: 6px 16px;
  border-radius: 100px;
  margin-bottom: 20px;
  backdrop-filter: blur(8px);
}
.nnt-hero__dot {
  width: 7px; height: 7px;
  background: #F5A623;
  border-radius: 50%;
  flex-shrink: 0;
  animation: nntDotPulse 2s ease-in-out infinite;
}
@keyframes nntDotPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }
.nnt-hero__title {
  font-family: var(--head);
  font-size: clamp(26px,5.5vw,44px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -1.2px;
  line-height: 1.1;
  margin: 0 0 16px;
}
.nnt-hero__desc {
  font-size: clamp(14px,2.5vw,17px);
  color: rgba(255,255,255,.78);
  line-height: 1.7;
  margin: 0 0 24px;
  max-width: 540px;
}
.nnt-hero__feats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.nnt-hero__feat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 100px;
  backdrop-filter: blur(4px);
}
.nnt-hero__stat {
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 20px 24px;
  text-align: center;
  min-width: 120px;
  backdrop-filter: blur(10px);
}
.nnt-hero__stat-val {
  font-family: var(--head);
  font-size: clamp(24px,3.5vw,34px);
  font-weight: 900;
  color: #fff;
  line-height: 1;
  margin-bottom: 5px;
}
.nnt-hero__stat-lbl {
  font-size: 11px;
  color: rgba(255,255,255,.6);
  letter-spacing: .4px;
  line-height: 1.4;
}
@media(max-width:640px){
  .nnt-hero__inner { flex-direction:column; gap:24px; }
  .nnt-hero__right { flex-direction:row; flex-wrap:wrap; width:100%; }
  .nnt-hero__stat  { flex:1; min-width:80px; padding:14px 12px; }
  .nnt-hero__stat-val { font-size:22px; }
}

/* ── Page body ──────────────────────────────── */
.nnt-body {
  max-width: 980px;
  margin: 0 auto;
  padding: 36px 20px 60px;
}

/* ── Tool shell ─────────────────────────────── */
.nnt-tool {
  background: var(--surf);
  border: 1px solid var(--bdr);
  border-radius: 20px;
  padding: clamp(20px,4vw,32px);
  margin: 0 0 28px;
  box-shadow: var(--sh);
  overflow: hidden;
}
.nnt-tool-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.nnt-tool-title {
  font-family: var(--head);
  font-size: clamp(18px,3.5vw,24px);
  font-weight: 900;
  color: var(--txt);
  letter-spacing: -.5px;
  margin: 0 0 4px;
}
.nnt-tool-sub { font-size:14px; color:var(--mute); margin:0; }
.nnt-last-updated { font-size:11px; color:var(--mute); white-space:nowrap; margin-top:4px; }
.nnt-note {
  font-size: 12px;
  color: var(--mute);
  padding: 12px 16px;
  background: var(--bg);
  border-radius: 10px;
  margin: 16px 0 0;
  line-height: 1.6;
}

/* ── Shared inputs ──────────────────────────── */
.nnt-input {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--bdr);
  border-radius: 12px;
  font-size: 15px;
  font-family: var(--body);
  color: var(--txt);
  background: var(--surf);
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.nnt-input:focus { border-color:var(--g); outline:none; box-shadow:0 0 0 3px rgba(0,122,61,.1); }
.nnt-addon-wrap { position:relative; }
.nnt-addon { position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--mute);font-weight:700;pointer-events:none; }
.nnt-input--addon { padding-left:30px; }
.nnt-select {
  padding:10px 14px;border:1.5px solid var(--bdr);border-radius:12px;
  font-size:13px;background:var(--surf);cursor:pointer;color:var(--txt);font-family:var(--body);
}
.nnt-select:focus { border-color:var(--g);outline:none; }
.nnt-label { display:block;font-size:12px;font-weight:700;color:var(--sub);margin-bottom:6px;letter-spacing:.3px; }
.nnt-accent { color:var(--g); }
.nnt-field { flex:1;min-width:0; }
.nnt-loading { text-align:center;padding:32px;color:var(--mute);font-size:14px; }

/* ── Spinner ───────────────────────────────── */
.nnt-spinner {
  display:inline-block;width:16px;height:16px;border:2px solid var(--bdr);
  border-top-color:var(--g);border-radius:50%;animation:nntSpin .7s linear infinite;vertical-align:middle;margin-right:8px;
}
@keyframes nntSpin { to{transform:rotate(360deg)} }

/* ── Code copy button ───────────────────────── */
.nnt-code {
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 12px;border-radius:8px;
  background:var(--bg);border:1.5px solid var(--bdr);
  cursor:pointer;font-family:var(--mono);font-size:13px;font-weight:700;color:var(--txt);
  transition:all .18s;white-space:nowrap;
}
.nnt-code:hover { border-color:var(--g);background:rgba(0,122,61,.06);color:var(--g); }
.nnt-code.nnt-copied { border-color:var(--g);background:rgba(0,122,61,.1);color:var(--g); }
.nnt-code--lg { font-size:18px;padding:12px 20px;margin-bottom:12px; }
.nnt-code--bank { font-size:13px; }
.nnt-code--inv { background:rgba(0,0,0,.15);border-color:rgba(255,255,255,.25);color:inherit; }
.nnt-code--inv:hover { background:rgba(0,0,0,.25); }
.nnt-code__icon { font-size:12px;opacity:.6; }

/* ── Tabs ────────────────────────────────────── */
.nnt-tabs {
  display:flex;gap:4px;border-bottom:2px solid var(--bdr);margin-bottom:24px;overflow-x:auto;
  scrollbar-width:none;
}
.nnt-tabs::-webkit-scrollbar { display:none; }
.nnt-tab {
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:12px 20px;border:none;background:none;cursor:pointer;
  font-family:var(--body);font-size:14px;font-weight:800;color:var(--mute);
  border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .18s;
  white-space:nowrap;line-height:1.2;flex-shrink:0;
}
.nnt-tab small { font-size:10px;font-weight:500;opacity:.7; }
.nnt-tab:hover { color:var(--txt); }
.nnt-tab--active { color:var(--g);border-bottom-color:var(--g); }
.nnt-tab-panel--hidden { display:none !important; }

/* ══ DATA PLANS ═══════════════════════════════ */
.nnt-plans-controls {
  display:flex;flex-direction:column;gap:16px;
  background:var(--bg);border-radius:16px;padding:20px;margin-bottom:20px;
}
.nnt-budget-wrap { display:flex;flex-direction:column;gap:8px; }
.nnt-slider { width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:rgba(0,0,0,.12);outline:none;cursor:pointer; }
.nnt-slider::-webkit-slider-thumb { -webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--g);cursor:pointer;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,122,61,.4); }
.nnt-slider::-moz-range-thumb { width:24px;height:24px;border-radius:50%;background:var(--g);cursor:pointer;border:3px solid #fff; }
.nnt-slider-marks { display:flex;justify-content:space-between;font-size:10px;color:var(--mute);margin-top:2px; }
.nnt-plans-filters { display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end; }
.nnt-net-tabs { display:flex;gap:6px;flex-wrap:wrap; }
.nnt-net-tab {
  padding:8px 16px;border-radius:100px;border:1.5px solid var(--bdr);
  background:var(--surf);font-size:12px;font-weight:800;cursor:pointer;color:var(--sub);
  transition:all .18s;font-family:var(--body);
}
.nnt-net-tab.active,.nnt-net-tab:hover { background:var(--gd);border-color:var(--gd);color:#fff; }
.nnt-mtn.active    { background:#FFCB00;border-color:#FFCB00;color:#111; }
.nnt-airtel.active { background:#ED1C24;border-color:#ED1C24;color:#fff; }
.nnt-glo.active    { background:#007A3D;border-color:#007A3D;color:#fff; }
.nnt-9mobile.active{ background:#006633;border-color:#006633;color:#fff; }

/* Best pick banner */
.nnt-best-pick {
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:linear-gradient(135deg,var(--gd),#025c2a);
  border-radius:16px;padding:16px 20px;margin-bottom:16px;color:#fff;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
}
.nnt-best-pick__label { font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;opacity:.75; }
.nnt-best-pick__name  { font-family:var(--head);font-size:20px;font-weight:900;flex:1;letter-spacing:-.4px; }
.nnt-best-pick__detail{ font-size:13px;opacity:.8;font-weight:600; }
.nnt-best-pick__activate {
  padding:8px 16px;border-radius:100px;background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12px;font-weight:700;
  cursor:pointer;transition:background .18s;white-space:nowrap;font-family:var(--body);
}
.nnt-best-pick__activate:hover { background:rgba(255,255,255,.25); }

/* Mobile cards */
.nnt-plans-cards { display:none; }
@media(max-width:640px){
  .nnt-plans-cards { display:block; }
  .nnt-plans-table-wrap { display:none; }
}
.nnt-plan-card {
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;border:1.5px solid var(--bdr);border-radius:14px;
  margin-bottom:10px;background:var(--surf);transition:all .18s;
  cursor:pointer;
}
.nnt-plan-card:hover { border-color:var(--g);box-shadow:var(--sh); }
.nnt-plan-card--best { border-color:var(--g);background:rgba(0,122,61,.04); }
.nnt-plan-card__net {
  display:flex;flex-direction:column;align-items:center;gap:4px;
  min-width:52px;
}
.nnt-plan-card__pill {
  display:inline-block;padding:4px 10px;border-radius:100px;
  font-size:11px;font-weight:900;letter-spacing:.4px;
}
.nnt-pill--MTN     { background:#FFCB00;color:#111; }
.nnt-pill--Airtel  { background:#ED1C24;color:#fff; }
.nnt-pill--Glo     { background:#007A3D;color:#fff; }
.nnt-pill--9mobile { background:#006633;color:#fff; }
.nnt-plan-card__info { flex:1; }
.nnt-plan-card__name  { font-weight:800;font-size:16px;color:var(--txt); }
.nnt-plan-card__meta  { font-size:12px;color:var(--mute);margin-top:2px; }
.nnt-plan-card__right { text-align:right; }
.nnt-plan-card__price { font-family:var(--head);font-size:18px;font-weight:900;color:var(--txt); }
.nnt-plan-card__value { font-size:11px;color:var(--g);font-weight:700;margin-top:2px; }
.nnt-plan-card__badge { font-size:10px;background:rgba(245,166,35,.15);color:#7A5000;padding:2px 8px;border-radius:100px;font-weight:700;margin-top:4px;display:inline-block; }

/* Desktop table */
.nnt-plans-table-wrap { overflow-x:auto;-webkit-overflow-scrolling:touch; }
.nnt-plans-table { width:100%;border-collapse:collapse;font-size:13px;min-width:480px; }
.nnt-plans-table thead th { background:var(--gd);color:rgba(255,255,255,.7);padding:11px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap; }
.nnt-plans-table thead th:first-child { border-radius:8px 0 0 0; }
.nnt-plans-table thead th:last-child  { border-radius:0 8px 0 0; }
.nnt-plans-table tbody tr { border-bottom:1px solid var(--bdr);transition:background .12s; }
.nnt-plans-table tbody tr:hover { background:rgba(0,122,61,.03); }
.nnt-plans-table tbody td { padding:12px 14px;vertical-align:middle; }
.nnt-tr--best { background:rgba(0,122,61,.05) !important; }
.nnt-tr--best td:first-child { border-left:3px solid var(--g); }
.nnt-val--best { color:var(--g);font-weight:900; }
.nnt-val--ok   { color:var(--sub); }
.nnt-val--poor { color:var(--mute); }
.nnt-badge-pill { display:inline-block;padding:2px 8px;border-radius:100px;background:rgba(245,166,35,.15);color:#7A5000;font-size:10px;font-weight:700; }
.nnt-empty { text-align:center;padding:36px;color:var(--mute); }

/* ══ USSD ══════════════════════════════════════ */
.nnt-search-bar { position:relative;margin-bottom:16px; }
.nnt-search-icon { position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:17px;pointer-events:none; }
.nnt-search-input {
  width:100%;padding:12px 40px 12px 44px;border:1.5px solid var(--bdr);
  border-radius:14px;font-size:14px;font-family:var(--body);color:var(--txt);
  background:var(--bg);box-sizing:border-box;transition:all .2s;
}
.nnt-search-input:focus { border-color:var(--g);outline:none;background:#fff;box-shadow:0 0 0 3px rgba(0,122,61,.1); }
.nnt-search-clear { position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--mute);font-size:15px; }
.nnt-ussd-group { margin-bottom:24px; }
.nnt-ussd-group__head { font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--mute);margin-bottom:10px;padding-left:4px; }
.nnt-table-wrap { overflow-x:auto;-webkit-overflow-scrolling:touch; }
.nnt-ussd-table { width:100%;border-collapse:collapse;font-size:13px;min-width:440px; }
.nnt-ussd-table thead th { background:var(--bg);padding:10px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--sub);border-bottom:2px solid var(--bdr);white-space:nowrap; }
.nnt-ussd-table tbody tr { border-bottom:1px solid var(--bdr);transition:background .12s; }
.nnt-ussd-table tbody tr:hover { background:rgba(0,122,61,.03); }
.nnt-ussd-table td { padding:10px 14px;vertical-align:middle; }
.nnt-ussd-action { font-weight:700;color:var(--txt); }
.nnt-ussd-row--hidden { display:none; }
.nnt-net-badge { display:inline-block;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:900; }
.nnt-mtn-bg     { background:#FFCB00;color:#111; }
.nnt-airtel-bg  { background:#ED1C24;color:#fff; }
.nnt-glo-bg     { background:#007A3D;color:#fff; }
.nnt-9m-bg      { background:#006633;color:#fff; }
.nnt-bank-cards { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px; }
.nnt-bank-card { border:1px solid var(--bdr);border-radius:14px;padding:14px;background:var(--surf);transition:all .2s; }
.nnt-bank-card:hover { border-color:var(--g);box-shadow:var(--sh);transform:translateY(-2px); }
.nnt-bank-card--hidden { display:none; }
.nnt-bank-card__top { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px; }
.nnt-bank-card__name { font-weight:800;font-size:14px;color:var(--txt); }
.nnt-bank-card__services { font-size:11px;color:var(--mute);margin:0;line-height:1.5; }

/* ══ PAYE ══════════════════════════════════════ */
.nnt-paye-badge {
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:100px;margin-bottom:22px;
  background:rgba(0,122,61,.08);color:var(--g);
  font-size:12px;font-weight:700;border:1px solid rgba(0,122,61,.2);
}
.nnt-paye-presets {
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding:14px 16px;background:var(--bg);border-radius:14px;margin-bottom:22px;
}
.nnt-preset {
  padding:7px 14px;border-radius:100px;border:1.5px solid var(--bdr);
  background:var(--surf);font-size:12px;font-weight:700;cursor:pointer;
  color:var(--sub);transition:all .18s;font-family:var(--body);
}
.nnt-preset:hover,.nnt-preset.active { background:var(--g);border-color:var(--g);color:#fff; }
.nnt-paye-form { background:var(--bg);border-radius:18px;padding:22px;margin-bottom:24px; }
.nnt-paye-row  { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px; }
@media(max-width:560px){ .nnt-paye-row{ grid-template-columns:1fr; } }
.nnt-toggle { display:flex;border:1.5px solid var(--bdr);border-radius:12px;overflow:hidden; }
.nnt-toggle__opt { flex:1;text-align:center;padding:12px;cursor:pointer;font-size:13px;font-weight:700;color:var(--sub);transition:all .18s;user-select:none; }
.nnt-toggle__opt input { display:none; }
.nnt-toggle__opt--on { background:var(--gd);color:#fff; }
.nnt-checks { display:flex;flex-direction:column;gap:10px;margin-top:4px; }
.nnt-check { display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sub);cursor:pointer; }
.nnt-check input { accent-color:var(--g);width:16px;height:16px; }
.nnt-calc-btn {
  width:100%;padding:16px;background:var(--g);color:#fff;border:none;
  border-radius:14px;font-size:16px;font-weight:800;cursor:pointer;
  font-family:var(--body);transition:all .2s;
  box-shadow:0 4px 20px rgba(0,122,61,.35);letter-spacing:.2px;
}
.nnt-calc-btn:hover { background:var(--g2);transform:translateY(-1px);box-shadow:0 6px 28px rgba(0,122,61,.45); }

/* Results */
.nnt-saving-banner {
  background:linear-gradient(135deg,var(--g),var(--g2));
  border-radius:18px;padding:20px 24px;margin-bottom:24px;color:#fff;
  box-shadow:0 6px 28px rgba(0,122,61,.3);text-align:center;
}
.nnt-saving-banner__label { font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;opacity:.8;margin-bottom:4px; }
.nnt-saving-banner__amt   { font-family:var(--head);font-size:clamp(32px,7vw,52px);font-weight:900;letter-spacing:-2px;line-height:1; }
.nnt-saving-banner__sub   { font-size:14px;opacity:.75;margin-top:4px; }
.nnt-compare {
  display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;margin-bottom:24px;
}
@media(max-width:560px){ .nnt-compare{ grid-template-columns:1fr;} .nnt-compare__vs{ display:none; } }
.nnt-compare__vs { font-family:var(--head);font-size:22px;font-weight:900;color:var(--mute);align-self:center;padding-top:30px; }
.nnt-compare__col { border-radius:18px;padding:20px;background:var(--bg); }
.nnt-compare__col--new { border:2px solid var(--g); }
.nnt-compare__col--old { border:1px solid var(--bdr);opacity:.85; }
.nnt-compare__badge { display:inline-block;padding:4px 12px;border-radius:100px;background:var(--g);color:#fff;font-size:11px;font-weight:900;letter-spacing:.8px;margin-bottom:6px; }
.nnt-compare__badge--old { background:var(--mute); }
.nnt-compare__law { font-size:11px;color:var(--mute);margin-bottom:14px; }
.nnt-compare__amount { font-family:var(--head);font-size:clamp(28px,5vw,40px);font-weight:900;color:var(--txt);letter-spacing:-1.5px;line-height:1; }
.nnt-compare__amount--old { opacity:.75; }
.nnt-compare__label { font-size:11px;color:var(--mute);margin:4px 0 14px;text-transform:uppercase;letter-spacing:.5px; }
.nnt-compare__breakdown { font-size:12px;color:var(--sub);line-height:2; }
.nnt-compare__breakdown .row { display:flex;justify-content:space-between;gap:8px; }
.nnt-compare__breakdown .neg { color:var(--red);font-weight:600; }
.nnt-compare__breakdown .pos { color:var(--g);font-weight:600; }

/* Tax band visualisation */
.nnt-band-viz { margin:0 0 24px;padding:20px;background:var(--bg);border-radius:16px; }
.nnt-band-viz h3 { font-family:var(--head);font-size:14px;font-weight:800;color:var(--txt);margin:0 0 14px; }
.nnt-band-bar { margin-bottom:10px; }
.nnt-band-bar__meta { display:flex;justify-content:space-between;font-size:11px;color:var(--sub);margin-bottom:4px; }
.nnt-band-bar__track { height:8px;background:rgba(0,0,0,.1);border-radius:4px;overflow:hidden; }
.nnt-band-bar__fill  { height:100%;background:var(--g);border-radius:4px;transition:width .8s var(--ease);transform-origin:left; }

/* PAYE detail table */
.nnt-paye-table { background:var(--bg);border-radius:16px;padding:20px; }
.nnt-paye-table h3 { font-family:var(--head);font-size:15px;font-weight:900;color:var(--txt);margin:0 0 14px; }
.nnt-paye-table table { width:100%;border-collapse:collapse;font-size:13px; }
.nnt-paye-table th { text-align:left;padding:8px 14px;background:rgba(0,0,0,.04);font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--sub); }
.nnt-paye-table td { padding:10px 14px;border-bottom:1px solid var(--bdr); }
.nnt-paye-table tr:last-child td { border-bottom:none;font-weight:900;font-size:15px;color:var(--g); }

/* ══ IDENTITY ══════════════════════════════════ */
.nnt-id-intro { background:var(--bg);border-left:4px solid var(--g);border-radius:0 14px 14px 0;padding:14px 18px;margin-bottom:24px;font-size:14px;color:var(--sub);line-height:1.7; }
.nnt-id-methods { display:flex;flex-direction:column;gap:14px;margin-bottom:24px; }
.nnt-id-method { display:flex;gap:16px;padding:18px 20px;border:1px solid var(--bdr);border-radius:16px;background:var(--surf);transition:all .2s; }
.nnt-id-method:hover { border-color:rgba(0,122,61,.25);box-shadow:var(--sh);transform:translateY(-1px); }
.nnt-id-method--featured { border-color:var(--g);background:rgba(0,122,61,.03); }
.nnt-id-method__num { font-family:var(--head);font-size:40px;font-weight:900;color:rgba(0,122,61,.15);line-height:1;flex-shrink:0;min-width:48px; }
.nnt-id-method__body h3 { font-size:15px;font-weight:800;color:var(--txt);margin:0 0 8px; }
.nnt-id-method__body p  { font-size:14px;color:var(--sub);line-height:1.65;margin:8px 0 0; }
.nnt-id-problems-title { font-family:var(--head);font-size:16px;font-weight:800;color:var(--txt);margin:24px 0 12px; }
.nnt-id-faq { border:1px solid var(--bdr);border-radius:12px;margin-bottom:8px;overflow:hidden;transition:border-color .18s; }
.nnt-id-faq.open { border-color:var(--g); }
.nnt-id-faq__q { display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 18px;background:none;border:none;text-align:left;font-size:14px;font-weight:700;color:var(--txt);cursor:pointer;font-family:var(--body);gap:12px;transition:background .15s; }
.nnt-id-faq__q:hover { background:var(--bg); }
.nnt-id-faq__q span:last-child { transition:transform .2s;flex-shrink:0;font-size:11px;color:var(--mute); }
.nnt-id-faq.open .nnt-id-faq__q span:last-child { transform:rotate(180deg); }
.nnt-id-faq__a { display:none;padding:0 18px 14px;font-size:13px;color:var(--sub);line-height:1.7; }
.nnt-id-faq.open .nnt-id-faq__a { display:block; }
.nnt-link-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:20px; }
.nnt-link-card { border-radius:16px;overflow:hidden;border:1px solid var(--bdr);transition:transform .2s; }
.nnt-link-card:hover { transform:translateY(-2px);box-shadow:var(--sh2); }
.nnt-link-card__head { padding:16px 18px;display:flex;flex-direction:column;gap:10px; }
.nnt-link-card__net   { font-family:var(--head);font-size:22px;font-weight:900; }
.nnt-link-card__actions { display:flex;flex-direction:column;gap:8px; }
.nnt-link-card__row { display:flex;align-items:center;gap:8px;font-size:12px; }
.nnt-link-card__steps { padding:14px 18px 14px 34px;margin:0;font-size:13px;color:var(--sub);line-height:1.85; }
.nnt-id-warning { background:rgba(245,166,35,.08);border:1px solid rgba(245,166,35,.3);border-radius:12px;padding:14px 18px;font-size:13px;color:var(--sub);line-height:1.65; }

/* ══ Page-level content ════════════════════════ */
.nnt-info { padding:24px;background:var(--bg);border-radius:16px;margin:28px 0; }
.nnt-info h2 { font-family:var(--head);font-size:clamp(18px,3vw,22px);font-weight:900;color:var(--txt);margin:0 0 12px;letter-spacing:-.3px; }
.nnt-info h2+h2 { margin-top:24px; }
.nnt-info p { font-size:15px;color:var(--sub);line-height:1.75;margin-bottom:12px; }
.nnt-info ul { padding-left:20px;margin-bottom:0; }
.nnt-info li { font-size:14px;color:var(--sub);line-height:1.75;margin-bottom:6px; }
.nnt-info code { background:#fff;padding:2px 8px;border-radius:5px;font-family:var(--mono);font-size:13px;color:var(--g);font-weight:700; }
.nnt-table { width:100%;border-collapse:collapse;font-size:14px;margin:12px 0 20px;border-radius:12px;overflow:hidden; }
.nnt-table thead th { background:var(--gd);color:rgba(255,255,255,.75);padding:12px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.5px; }
.nnt-table tbody tr { border-bottom:1px solid var(--bdr); }
.nnt-table tbody tr:hover { background:rgba(0,122,61,.03); }
.nnt-table tbody td { padding:11px 14px; }

/* FAQ — native <details>/<summary> */
.nnt-faq-section { margin:32px 0; }
.nnt-faq-section h2 { font-family:var(--head);font-size:clamp(18px,3vw,22px);font-weight:900;color:var(--txt);margin:0 0 16px; }
.nnt-faq-item {
  border:1px solid var(--bdr);border-radius:14px;margin-bottom:10px;
  overflow:hidden;background:var(--surf);transition:border-color .18s;
}
.nnt-faq-item[open] { border-color:var(--g); }
.nnt-faq-q {
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;font-size:15px;font-weight:700;color:var(--txt);
  cursor:pointer;list-style:none;gap:12px;transition:background .15s;
  font-family:var(--body);
}
.nnt-faq-q::-webkit-details-marker { display:none; }
.nnt-faq-q::marker { display:none; }
.nnt-faq-q:hover { background:var(--bg); }
.nnt-faq-arr { transition:transform .25s;flex-shrink:0;font-size:12px;color:var(--mute); }
.nnt-faq-item[open] .nnt-faq-arr { transform:rotate(180deg); }
.nnt-faq-a { padding:0 20px 16px;font-size:14px;color:var(--sub);line-height:1.75; }

/* More tools */
.nnt-more { margin-top:40px;padding-top:28px;border-top:2px solid var(--bdr); }
.nnt-more h2 { font-family:var(--head);font-size:20px;font-weight:900;color:var(--txt);margin:0 0 16px; }
.nnt-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px; }
.nnt-list__item { display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--surf);border:1px solid var(--bdr);border-radius:14px;text-decoration:none;color:var(--txt);transition:all .2s; }
.nnt-list__item:hover { border-color:var(--g);transform:translateY(-2px);box-shadow:var(--sh); }
.nnt-list__icon { font-size:26px;flex-shrink:0; }
.nnt-list__item strong { display:block;font-size:13px;font-weight:800;margin-bottom:4px; }
.nnt-list__item p { font-size:12px;color:var(--mute);margin:0;line-height:1.4; }

/* Ad slots */
.nnt-ad { margin:24px 0; }
.nnt-ad-empty { display:flex;align-items:center;justify-content:center;padding:20px;border:2px dashed var(--bdr);border-radius:12px;color:var(--mute);font-size:13px;margin:16px 0; }

/* ══ GEMINI AI CHAT ════════════════════════════ */
.nnt-ai { position:fixed;bottom:24px;right:24px;z-index:9999;font-family:var(--body); }
.nnt-ai__btn {
  display:flex;align-items:center;gap:8px;padding:14px 24px;
  background:linear-gradient(135deg,var(--g),var(--g2));
  color:#fff;border:none;border-radius:100px;font-size:14px;font-weight:800;
  cursor:pointer;font-family:var(--body);transition:all .25s var(--ease);
  box-shadow:0 4px 24px rgba(0,122,61,.45);
}
.nnt-ai__btn:hover { transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,122,61,.55); }
.nnt-ai__btn-icon { font-size:18px; }
.nnt-ai__panel {
  position:absolute;bottom:68px;right:0;width:340px;max-height:500px;
  background:#fff;border-radius:22px;box-shadow:0 8px 48px rgba(0,0,0,.18);
  display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bdr);
  animation:nntAISlide .25s var(--ease);
}
@keyframes nntAISlide { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
@media(max-width:400px){ .nnt-ai__panel{ width:calc(100vw - 32px);right:0; } }
.nnt-ai__top { display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--gd),#025c2a);flex-shrink:0; }
.nnt-ai__brand { display:flex;align-items:center;gap:10px; }
.nnt-ai__brand>span { font-size:20px; }
.nnt-ai__brand strong { display:block;font-size:14px;font-weight:800;color:#fff; }
.nnt-ai__brand small  { font-size:10px;color:rgba(255,255,255,.6);letter-spacing:.5px; }
.nnt-ai__close { background:rgba(255,255,255,.15);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .18s; }
.nnt-ai__close:hover { background:rgba(255,255,255,.25); }
.nnt-ai__msgs { flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px; }
.nnt-ai__msg { animation:nntFadeIn .25s ease; }
.nnt-ai__msg p { font-size:13px;line-height:1.65;padding:10px 14px;margin:0;max-width:88%;border-radius:14px; }
.nnt-ai__msg--bot p { background:var(--bg);color:var(--txt);border-radius:4px 14px 14px 14px; }
.nnt-ai__msg--user { display:flex;justify-content:flex-end; }
.nnt-ai__msg--user p { background:var(--g);color:#fff;border-radius:14px 4px 14px 14px; }
.nnt-ai__msg--err p { background:rgba(220,38,38,.08);color:var(--red); }
.nnt-ai__dots span { animation:nntDot3 1.2s infinite;font-size:20px;font-weight:900;color:var(--mute); }
.nnt-ai__dots span:nth-child(2){ animation-delay:.2s; }
.nnt-ai__dots span:nth-child(3){ animation-delay:.4s; }
@keyframes nntDot3{ 0%,80%,100%{opacity:.2} 40%{opacity:1} }
@keyframes nntFadeIn{ from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
.nnt-ai__qs { display:flex;flex-direction:column;gap:6px;padding:0 14px 8px;flex-shrink:0; }
.nnt-ai__q { text-align:left;padding:8px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--bdr);font-size:12px;color:var(--sub);cursor:pointer;font-family:var(--body);transition:all .18s; }
.nnt-ai__q:hover { border-color:var(--g);color:var(--g); }
.nnt-ai__foot { display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--bdr);flex-shrink:0; }
.nnt-ai__input { flex:1;padding:10px 12px;border:1.5px solid var(--bdr);border-radius:100px;font-size:13px;font-family:var(--body);color:var(--txt);outline:none;transition:border-color .18s; }
.nnt-ai__input:focus { border-color:var(--g); }
.nnt-ai__send { width:38px;height:38px;border-radius:50%;background:var(--g);color:#fff;border:none;cursor:pointer;font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;transition:background .18s;flex-shrink:0; }
.nnt-ai__send:hover { background:var(--g2); }
.nnt-ai__send:disabled { background:var(--mute);cursor:not-allowed; }
.nnt-ai__disc { font-size:10px;color:var(--mute);text-align:center;padding:4px 14px 8px;margin:0; }

/* ══ Global responsive ══════════════════════════ */
@media(max-width:640px){
  .nnt-tool { padding:18px; }
  .nnt-id-method { flex-direction:column;gap:8px; }
  .nnt-id-method__num { font-size:28px;min-width:auto; }
  .nnt-tabs { border-bottom:none;flex-direction:column;gap:4px; }
  .nnt-tab { border:1px solid var(--bdr);border-radius:12px;margin-bottom:0;border-bottom-color:var(--bdr) !important; }
  .nnt-tab--active { background:rgba(0,122,61,.08);border-color:var(--g) !important; }
  .nnt-bank-cards { grid-template-columns:1fr; }
  .nnt-link-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){
  *,::before,::after { animation-duration:.01ms !important;transition-duration:.01ms !important; }
}
