@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Inter:wght@400;500;600&display=swap');

/* =========================================================
   NorTech Accounts v2 — Design System
   Navy #0A2A4A | Blue #1E73B9 | Teal #6EC1E4 | Gold #F5A623
   ========================================================= */

:root {
  --nta-navy:      #0A2A4A;
  --nta-navy-mid:  #0d3460;
  --nta-blue:      #1E73B9;
  --nta-blue-dark: #155f9a;
  --nta-teal:      #6EC1E4;
  --nta-teal-dark: #4aaed4;
  --nta-gold:      #F5A623;
  --nta-white:     #ffffff;
  --nta-light:     #F0F5FB;
  --nta-light2:    #E8F0F8;
  --nta-border:    #D8E6F0;
  --nta-text:      #1A2D40;
  --nta-muted:     #5A7080;
  --nta-success:   #1a7a3c;
  --nta-success-bg:#E8F8EE;
  --nta-danger:    #b91c1c;
  --nta-danger-bg: #FEE2E2;
  --nta-warn:      #92400e;
  --nta-warn-bg:   #FEF3C7;
  --nta-radius:    12px;
  --nta-radius-lg: 18px;
  --nta-shadow:    0 4px 24px rgba(10,42,74,.10);
  --nta-shadow-lg: 0 8px 40px rgba(10,42,74,.16);
  --nta-sidebar-w: 260px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

/* =========================================================
   AUTH PAGES
   ========================================================= */

.nta-auth-wrap {
  max-width: 480px;
  margin: 40px auto;
  padding: 0 16px 40px;
  font-family: 'Inter', sans-serif;
}

.nta-auth-card {
  background: var(--nta-white);
  border: 1px solid var(--nta-border);
  border-radius: var(--nta-radius-lg);
  padding: 40px 44px;
  box-shadow: var(--nta-shadow-lg);
  animation: ntaFadeUp .35s ease both;
}

@keyframes ntaFadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

.nta-auth-logo { text-align: center; margin-bottom: 28px; }
.nta-auth-logo img { height: 40px; width: auto; }

.nta-auth-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 26px; font-weight: 800;
  color: var(--nta-navy);
  margin: 0 0 6px; text-align: center; letter-spacing: -.02em;
}
.nta-auth-sub { font-size: 14px; color: var(--nta-muted); text-align: center; margin: 0 0 24px; line-height: 1.6; }
.nta-auth-footer { text-align: center; margin-top: 22px; font-size: 13px; color: var(--nta-muted); }
.nta-auth-footer a { color: var(--nta-blue); font-weight: 600; text-decoration: none; }
.nta-auth-footer a:hover { text-decoration: underline; }
.nta-auth-trust { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; margin-top: 18px; font-size: 12px; color: var(--nta-muted); }

.nta-already-in { text-align: center; padding: 20px; font-family: 'Inter', sans-serif; color: var(--nta-muted); }
.nta-already-in a { color: var(--nta-blue); }

.nta-success-card, .nta-error-card { text-align: center; }
.nta-success-icon { font-size: 52px; margin-bottom: 14px; display: block; }
.nta-card-title { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 800; color: var(--nta-navy); margin: 0 0 10px; }
.nta-card-sub { font-size: 14px; color: var(--nta-muted); line-height: 1.6; margin: 0; }

/* =========================================================
   SOCIAL SIGN-IN BUTTONS
   ========================================================= */

.nta-social-divider {
  display: flex; align-items: center; gap: 12px; margin: 4px 0 20px;
}
.nta-social-divider::before, .nta-social-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--nta-border);
}
.nta-social-divider span {
  font-size: 12px; color: var(--nta-muted); white-space: nowrap;
  font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
}

.nta-social-btns { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }

.nta-social-btn {
  flex: 1; min-width: 0;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 14px; border-radius: 10px; border: 1.5px solid var(--nta-border);
  background: var(--nta-white); color: var(--nta-text);
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
  text-decoration: none; cursor: pointer; transition: all .18s ease; white-space: nowrap;
}
.nta-social-btn:hover {
  border-color: var(--nta-blue); background: var(--nta-light);
  transform: translateY(-1px); box-shadow: 0 4px 12px rgba(30,115,185,.14);
  text-decoration: none; color: var(--nta-navy);
}
.nta-social-btn svg { flex-shrink: 0; }
.nta-social-apple { background: #000; color: #fff; border-color: #000; }
.nta-social-apple:hover { background: #222; border-color: #222; color: #fff; }
.nta-social-facebook { background: #1877F2; color: #fff; border-color: #1877F2; }
.nta-social-facebook:hover { background: #0f65d8; border-color: #0f65d8; color: #fff; }

/* =========================================================
   FORMS
   ========================================================= */

.nta-form { margin-top: 4px; }
.nta-field { margin-bottom: 18px; }
.nta-field label {
  display: block; font-size: 13px; font-weight: 600; color: var(--nta-navy);
  margin-bottom: 6px; font-family: 'Inter', sans-serif;
}
.nta-hint { font-size: 11px; color: var(--nta-muted); font-weight: 400; }

.nta-field input[type="text"],.nta-field input[type="email"],.nta-field input[type="tel"],
.nta-field input[type="password"],.nta-field select,.nta-form input[type="text"],
.nta-form input[type="email"],.nta-form input[type="tel"],.nta-form input[type="password"],.nta-form select {
  width: 100%; padding: 11px 14px; border: 1.5px solid var(--nta-border); border-radius: 9px;
  font-size: 14px; font-family: 'Inter', sans-serif; color: var(--nta-text);
  background: var(--nta-white); transition: border-color .18s, box-shadow .18s; outline: none; -webkit-appearance: none;
}
.nta-field input:focus,.nta-form input:focus,.nta-form select:focus {
  border-color: var(--nta-blue); box-shadow: 0 0 0 3px rgba(30,115,185,.12);
}
.nta-field input:disabled { background: var(--nta-light); color: var(--nta-muted); cursor: not-allowed; }

.nta-form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nta-col-full { grid-column: 1 / -1; }

.nta-pw-wrap { position: relative; }
.nta-pw-wrap input { padding-right: 44px; }
.nta-pw-toggle {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; font-size: 16px; padding: 0; color: var(--nta-muted); line-height: 1;
}

.nta-pw-strength { height: 4px; border-radius: 4px; margin-top: 6px; background: var(--nta-border); overflow: hidden; transition: all .3s; }
.nta-pw-strength::after { content: ''; display: block; height: 100%; border-radius: 4px; transition: width .3s, background .3s; }
.nta-pw-strength.weak::after   { width: 33%; background: #ef4444; }
.nta-pw-strength.fair::after   { width: 66%; background: var(--nta-gold); }
.nta-pw-strength.strong::after { width: 100%; background: var(--nta-success); }

.nta-checkbox-label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 13px; color: var(--nta-muted); line-height: 1.5; }
.nta-checkbox-label input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--nta-blue); margin-top: 1px; }
.nta-checkbox-label a { color: var(--nta-blue); }
.nta-consent { margin-bottom: 22px; }
.nta-remember-row { align-items: center; margin-bottom: 20px; }
.nta-forgot-link { font-size: 13px; color: var(--nta-blue); text-decoration: none; font-weight: 600; text-align: right; }
.nta-forgot-link:hover { text-decoration: underline; }

.nta-submit-btn {
  width: 100%; padding: 14px 24px;
  background: linear-gradient(135deg, var(--nta-blue) 0%, var(--nta-blue-dark) 100%);
  color: var(--nta-white); border: none; border-radius: 10px;
  font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 800; letter-spacing: .03em;
  cursor: pointer; transition: all .2s ease; text-transform: uppercase; display: block; text-align: center; text-decoration: none;
}
.nta-submit-btn:hover {
  background: linear-gradient(135deg, var(--nta-blue-dark) 0%, #0d4f80 100%);
  transform: translateY(-1px); box-shadow: 0 6px 20px rgba(30,115,185,.4); color: #fff; text-decoration: none;
}
.nta-submit-btn:disabled { opacity: .6; cursor: not-allowed; transform: none; }

.nta-alert-success, .nta-alert-error {
  padding: 12px 16px; border-radius: 9px; font-size: 13.5px;
  font-family: 'Inter', sans-serif; margin-bottom: 18px;
  display: flex; align-items: flex-start; gap: 8px; line-height: 1.55;
}
.nta-alert-success { background: var(--nta-success-bg); color: var(--nta-success); border: 1px solid #a7f3c0; }
.nta-alert-success svg { stroke: var(--nta-success); width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; }
.nta-alert-error   { background: var(--nta-danger-bg); color: var(--nta-danger); border: 1px solid #fca5a5; }
.nta-alert-error a { color: var(--nta-danger); font-weight: 600; }

/* =========================================================
   PORTAL LAYOUT
   ========================================================= */

.nta-portal-wrap {
  display: flex; min-height: 100vh; font-family: 'Inter', sans-serif;
  background: var(--nta-light); margin: 0 -9999px; padding: 0 9999px;
}

.nta-portal-nav {
  width: var(--nta-sidebar-w); flex-shrink: 0; background: var(--nta-navy);
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh;
  overflow-y: auto; z-index: 50; scrollbar-width: thin; scrollbar-color: rgba(110,193,228,.3) transparent;
}

.nta-portal-nav-header { padding: 28px 20px 22px; border-bottom: 1px solid rgba(255,255,255,.08); text-align: center; }

.nta-portal-avatar-wrap { position: relative; display: inline-block; margin-bottom: 14px; }

.nta-portal-avatar {
  width: 68px; height: 68px; border-radius: 50%; overflow: hidden;
  border: 3px solid var(--nta-teal); background: var(--nta-navy-mid);
  display: flex; align-items: center; justify-content: center;
}
.nta-portal-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nta-portal-avatar span { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 800; color: var(--nta-teal); }

.nta-provider-badge {
  position: absolute; bottom: 0; right: 0; width: 22px; height: 22px;
  border-radius: 50%; border: 2px solid var(--nta-navy);
  display: flex; align-items: center; justify-content: center; font-size: 11px; line-height: 1;
}
.nta-badge-google { background: #fff; }
.nta-badge-apple  { background: #000; font-size: 10px; }
.nta-badge-facebook { background: #1877F2; }

.nta-portal-nav-name { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700; color: var(--nta-white); margin-bottom: 3px; }
.nta-portal-nav-email { font-size: 11px; color: rgba(110,193,228,.75); margin-bottom: 14px; word-break: break-all; }

.nta-portal-book-btn {
  display: block; background: linear-gradient(135deg, var(--nta-teal-dark) 0%, var(--nta-teal) 100%);
  color: var(--nta-navy); font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 800;
  letter-spacing: .04em; text-decoration: none; padding: 9px 16px; border-radius: 8px; text-align: center;
  transition: all .18s; text-transform: uppercase;
}
.nta-portal-book-btn:hover { background: linear-gradient(135deg, var(--nta-teal) 0%, #8dd6ef 100%); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(110,193,228,.4); color: var(--nta-navy); text-decoration: none; }

.nta-portal-nav-list { list-style: none; flex: 1; padding: 12px 10px; }
.nta-portal-nav-list li { border-radius: 9px; overflow: hidden; }
.nta-portal-nav-list li + li { margin-top: 2px; }
.nta-portal-nav-list li a {
  display: flex; align-items: center; gap: 10px; padding: 10px 14px;
  color: rgba(255,255,255,.7); text-decoration: none; font-size: 13.5px; font-weight: 500;
  border-radius: 9px; transition: all .18s;
}
.nta-portal-nav-list li a:hover, .nta-portal-nav-list li.nta-nav-active a {
  background: rgba(110,193,228,.15); color: var(--nta-white);
}
.nta-portal-nav-list li.nta-nav-active a {
  background: linear-gradient(90deg, rgba(30,115,185,.4) 0%, rgba(110,193,228,.18) 100%);
  color: var(--nta-teal); font-weight: 600;
}

.nta-nav-icon { width: 18px; height: 18px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.nta-nav-icon svg { width: 16px; height: 16px; stroke: currentColor; fill: none; }

.nta-nav-divider { height: 1px; background: rgba(255,255,255,.08); margin: 10px 4px; border-radius: 1px; }
.nta-nav-logout { color: rgba(239,68,68,.8) !important; }
.nta-nav-logout:hover { color: #ef4444 !important; background: rgba(239,68,68,.1) !important; }

.nta-portal-nav-footer { padding: 14px 20px; border-top: 1px solid rgba(255,255,255,.07); display: flex; justify-content: center; gap: 8px; font-size: 11px; color: rgba(110,193,228,.5); }

.nta-nav-mobile-toggle {
  display: none; width: calc(100% - 32px); margin: 0 16px 10px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  color: var(--nta-white); border-radius: 9px; padding: 11px 16px;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer;
  align-items: center; gap: 10px; text-align: left;
}
.nta-nav-mobile-toggle svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2; }

.nta-portal-main { flex: 1; min-width: 0; padding: 28px 28px 40px; }

/* =========================================================
   PORTAL HEADER
   ========================================================= */

.nta-tab-header { margin-bottom: 28px; padding-bottom: 20px; border-bottom: 2px solid var(--nta-border); }
.nta-tab-title { font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: 800; color: var(--nta-navy); letter-spacing: -.02em; }
.nta-tab-sub { margin-top: 4px; font-size: 14px; color: var(--nta-muted); }

/* =========================================================
   DASHBOARD
   ========================================================= */

.nta-welcome-hero {
  background: linear-gradient(135deg, var(--nta-navy) 0%, var(--nta-navy-mid) 60%, #1a4a7a 100%);
  border-radius: var(--nta-radius-lg); padding: 30px 32px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  margin-bottom: 28px; position: relative; overflow: hidden;
}
.nta-welcome-hero::after {
  content: ''; position: absolute; right: -40px; top: -40px;
  width: 200px; height: 200px; border-radius: 50%; background: rgba(110,193,228,.08); pointer-events: none;
}
.nta-welcome-time { font-size: 14px; color: var(--nta-teal); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 4px; }
.nta-welcome-name { font-family: 'Montserrat', sans-serif; font-size: 28px; font-weight: 900; color: var(--nta-white); letter-spacing: -.02em; margin-bottom: 6px; }
.nta-welcome-sub { font-size: 14px; color: rgba(255,255,255,.65); }

.nta-welcome-hero-actions { display: flex; gap: 10px; flex-shrink: 0; flex-wrap: wrap; }

.nta-cta-btn {
  display: inline-flex; align-items: center; gap: 7px; padding: 11px 20px; border-radius: 9px;
  font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 800;
  text-decoration: none; letter-spacing: .03em; text-transform: uppercase; transition: all .2s; white-space: nowrap;
}
.nta-cta-btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; }
.nta-btn-primary { background: linear-gradient(135deg, var(--nta-teal-dark) 0%, var(--nta-teal) 100%); color: var(--nta-navy); }
.nta-btn-primary:hover { background: linear-gradient(135deg, var(--nta-teal) 0%, #94dff5 100%); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(110,193,228,.4); color: var(--nta-navy); text-decoration: none; }
.nta-btn-outline { background: rgba(255,255,255,.1); color: var(--nta-white); border: 1.5px solid rgba(255,255,255,.25); }
.nta-btn-outline:hover { background: rgba(255,255,255,.18); color: #fff; text-decoration: none; }

.nta-stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 14px; margin-bottom: 32px; }

.nta-stat-card {
  background: var(--nta-white); border-radius: var(--nta-radius); padding: 20px 16px 18px;
  text-decoration: none; border: 1.5px solid var(--nta-border); transition: all .2s;
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px; position: relative; overflow: hidden;
}
.nta-stat-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: 12px 12px 0 0; }
.nta-stat-blue::before   { background: var(--nta-blue); }
.nta-stat-teal::before   { background: var(--nta-teal-dark); }
.nta-stat-navy::before   { background: var(--nta-navy); }
.nta-stat-card:hover { border-color: var(--nta-blue); box-shadow: var(--nta-shadow); transform: translateY(-2px); text-decoration: none; }

.nta-stat-icon { width: 28px; height: 28px; display: flex; align-items: center; color: var(--nta-muted); }
.nta-stat-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.nta-stat-num  { font-family: 'Montserrat', sans-serif; font-size: 28px; font-weight: 900; color: var(--nta-navy); line-height: 1; }
.nta-stat-lbl  { font-size: 12px; color: var(--nta-muted); font-weight: 500; line-height: 1.3; }
.nta-stat-arrow { position: absolute; bottom: 12px; right: 14px; width: 16px; height: 16px; color: var(--nta-border); }
.nta-stat-arrow svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.nta-stat-card:hover .nta-stat-arrow { color: var(--nta-blue); }

.nta-dashboard-lower { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }

.nta-section-title {
  font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; color: var(--nta-muted);
  letter-spacing: .08em; margin: 0 0 14px; text-transform: uppercase;
}

.nta-quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.nta-quick-link {
  display: flex; align-items: center; gap: 10px; padding: 13px 16px;
  background: var(--nta-white); border: 1.5px solid var(--nta-border); border-radius: 10px;
  text-decoration: none; font-size: 13px; font-weight: 500; color: var(--nta-text); transition: all .18s;
}
.nta-quick-link:hover { border-color: var(--nta-blue); color: var(--nta-blue); background: var(--nta-light); transform: translateX(2px); text-decoration: none; }
.nta-quick-icon { width: 18px; height: 18px; flex-shrink: 0; color: var(--nta-muted); display: flex; align-items: center; }
.nta-quick-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; }
.nta-quick-arrow { width: 15px; height: 15px; margin-left: auto; color: var(--nta-border); flex-shrink: 0; }
.nta-quick-arrow svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.nta-quick-link:hover .nta-quick-arrow { color: var(--nta-blue); }

.nta-account-summary-card { background: var(--nta-white); border: 1.5px solid var(--nta-border); border-radius: var(--nta-radius); overflow: hidden; margin-bottom: 16px; }
.nta-summary-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; border-bottom: 1px solid var(--nta-border); gap: 12px; }
.nta-summary-row:last-of-type { border-bottom: none; }
.nta-summary-label { font-size: 12px; font-weight: 600; color: var(--nta-muted); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.nta-summary-value { font-size: 13px; color: var(--nta-text); font-weight: 500; text-align: right; word-break: break-all; }
.nta-verified-badge { color: var(--nta-success); display: flex; align-items: center; gap: 4px; }
.nta-verified-badge svg { width: 13px; height: 13px; stroke: var(--nta-success); fill: none; }
.nta-summary-edit-link { display: block; text-align: center; padding: 11px; font-size: 13px; font-weight: 600; color: var(--nta-blue); text-decoration: none; background: var(--nta-light); border-top: 1px solid var(--nta-border); }
.nta-summary-edit-link:hover { background: var(--nta-light2); text-decoration: none; }

.nta-support-card { background: linear-gradient(135deg, var(--nta-navy) 0%, var(--nta-navy-mid) 100%); border-radius: var(--nta-radius); padding: 18px 20px; display: flex; align-items: center; gap: 14px; }
.nta-support-icon { color: var(--nta-teal); flex-shrink: 0; width: 28px; height: 28px; display: flex; align-items: center; }
.nta-support-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nta-support-title { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700; color: #fff; }
.nta-support-sub { font-size: 12px; color: rgba(255,255,255,.6); margin-top: 2px; }
.nta-support-btn { margin-left: auto; flex-shrink: 0; background: var(--nta-teal); color: var(--nta-navy); padding: 8px 16px; border-radius: 8px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 800; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; transition: all .18s; }
.nta-support-btn:hover { background: #94dff5; color: var(--nta-navy); text-decoration: none; }

/* =========================================================
   PROFILE TAB
   ========================================================= */

.nta-profile-photo-row { display: flex; align-items: center; gap: 20px; margin-bottom: 30px; padding: 20px 24px; background: var(--nta-white); border: 1.5px solid var(--nta-border); border-radius: var(--nta-radius); }
.nta-profile-avatar-lg { width: 82px; height: 82px; border-radius: 50%; overflow: hidden; border: 3px solid var(--nta-teal); background: var(--nta-navy); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.nta-profile-avatar-lg img { width: 100%; height: 100%; object-fit: cover; }
.nta-profile-avatar-lg span { font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 800; color: var(--nta-teal); }

.nta-upload-btn { display: inline-block; padding: 8px 18px; background: var(--nta-light); border: 1.5px solid var(--nta-border); border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--nta-navy); cursor: pointer; transition: all .18s; font-family: 'Inter', sans-serif; }
.nta-upload-btn:hover { border-color: var(--nta-blue); background: var(--nta-light2); }
.nta-photo-upload-info p { margin-top: 6px; }
.nta-email-display { margin-top: 4px; }

/* =========================================================
   SECURITY TAB
   ========================================================= */

.nta-security-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.nta-card { background: var(--nta-white); border: 1.5px solid var(--nta-border); border-radius: var(--nta-radius); padding: 26px 28px; }
.nta-card-inner-title { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 700; color: var(--nta-navy); margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--nta-border); }

/* =========================================================
   EMPTY STATE
   ========================================================= */

.nta-empty-state { text-align: center; padding: 60px 40px; background: var(--nta-white); border: 1.5px solid var(--nta-border); border-radius: var(--nta-radius-lg); }
.nta-empty-icon { width: 56px; height: 56px; background: var(--nta-light); border-radius: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; color: var(--nta-muted); }
.nta-empty-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; }
.nta-empty-title { font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 700; color: var(--nta-navy); margin-bottom: 6px; }
.nta-empty-sub   { font-size: 14px; color: var(--nta-muted); }

/* =========================================================
   TAB BODY
   ========================================================= */

.nta-tab-body { animation: ntaFadeUp .25s ease both; }

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 960px) {
  .nta-portal-main { padding: 20px 16px 32px; }
  .nta-dashboard-lower { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .nta-portal-nav { width: 100%; height: auto; position: relative; top: auto; overflow: visible; }
  .nta-portal-wrap { flex-direction: column; }
  .nta-portal-nav-header { display: flex; align-items: center; gap: 16px; text-align: left; padding: 18px 16px; }
  .nta-portal-avatar-wrap { margin-bottom: 0; }
  .nta-portal-avatar { width: 48px; height: 48px; }
  .nta-portal-avatar span { font-size: 16px; }
  .nta-portal-nav-name  { font-size: 13px; margin-bottom: 2px; }
  .nta-portal-nav-email { margin-bottom: 6px; }
  .nta-portal-book-btn  { display: none; }
  .nta-portal-nav-footer { display: none; }
  .nta-nav-mobile-toggle { display: flex; }
  .nta-portal-nav-list   { display: none; padding: 0 10px 10px; }
  .nta-portal-nav-list.nta-nav-open { display: block; }
  .nta-portal-main { padding: 20px 16px; }
  .nta-welcome-hero { flex-direction: column; align-items: flex-start; padding: 22px 20px; }
  .nta-welcome-hero-actions { width: 100%; }
  .nta-cta-btn { flex: 1; justify-content: center; }
  .nta-welcome-name { font-size: 22px; }
  .nta-stats-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
  .nta-quick-grid { grid-template-columns: 1fr; }
  .nta-security-grid { grid-template-columns: 1fr; }
  .nta-auth-card { padding: 28px 24px; }
  .nta-form-row-2 { grid-template-columns: 1fr; }
  .nta-social-btns { flex-direction: column; }
}

@media (max-width: 480px) {
  .nta-auth-wrap { margin: 20px auto; }
  .nta-tab-title { font-size: 20px; }
  .nta-stat-num { font-size: 24px; }
}

/* =========================================================
   MEMBERSHIP TIERS
   ========================================================= */

.nta-portal-nav-tier {
  margin-top: 6px;
  display: flex;
  justify-content: center;
}

.nta-tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid;
  letter-spacing: .03em;
}

/* Membership page */
.nta-membership-wrap { max-width: 860px; }

.nta-current-tier-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 28px;
  border-radius: var(--nta-radius-lg);
  margin-bottom: 28px;
  background: linear-gradient(135deg, var(--nta-navy) 0%, var(--nta-navy-mid) 100%);
  color: #fff;
}
.nta-ctb-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.6); margin-bottom: 4px; }
.nta-ctb-name  { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 800; margin-bottom: 4px; }
.nta-ctb-sub   { font-size: 13px; color: rgba(255,255,255,.7); }

.nta-upgrade-hero-btn {
  flex-shrink: 0;
  background: var(--nta-gold);
  color: var(--nta-navy);
  padding: 12px 24px;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: all .18s;
  letter-spacing: .03em;
}
.nta-upgrade-hero-btn:hover { background: #f9b730; transform: translateY(-1px); color: var(--nta-navy); text-decoration: none; }

.nta-tier-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.nta-tier-card {
  background: var(--nta-white);
  border: 1.5px solid var(--nta-border);
  border-radius: var(--nta-radius);
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow .2s;
}
.nta-tier-card-current {
  border-color: var(--nta-blue);
  box-shadow: 0 0 0 3px rgba(30,115,185,.15);
}
.nta-tier-card-vip {
  background: linear-gradient(160deg, #fffbeb 0%, #fff 60%);
  border-color: #D97706;
}

.nta-tier-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nta-tier-emoji { font-size: 22px; }
.nta-tier-name  { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 800; color: var(--nta-navy); }
.nta-tier-cur-tag { margin-left: auto; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--nta-blue); background: rgba(30,115,185,.1); padding: 2px 8px; border-radius: 20px; }

.nta-tier-perks { list-style: none; padding: 0; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.nta-tier-perks li { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--nta-text); }
.nta-tier-perks li svg { width: 14px; height: 14px; stroke: var(--nta-success); flex-shrink: 0; fill: none; }

.nta-tier-action-cur   { text-align: center; padding: 10px; background: rgba(30,115,185,.08); border-radius: 8px; color: var(--nta-blue); font-size: 13px; font-weight: 700; }
.nta-tier-action-lower { text-align: center; padding: 10px; color: var(--nta-muted); font-size: 12px; }
.nta-tier-upgrade-btn  { display: block; text-align: center; padding: 10px; background: linear-gradient(135deg, var(--nta-blue) 0%, var(--nta-blue-dark) 100%); color: #fff; border-radius: 8px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 800; text-decoration: none; letter-spacing: .03em; text-transform: uppercase; transition: all .18s; }
.nta-tier-upgrade-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(30,115,185,.3); color: #fff; text-decoration: none; }

@media (max-width: 860px) { .nta-tier-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .nta-tier-grid { grid-template-columns: 1fr; } .nta-current-tier-banner { flex-direction: column; } }

/* =========================================================
   SERVICE ACTIONS ROW (screenshot image 2)
   ========================================================= */

.nta-service-actions-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin-bottom: 32px;
}

.nta-service-action-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 12px 18px;
  background: var(--nta-white);
  border: 1.5px solid var(--nta-border);
  border-radius: var(--nta-radius);
  text-decoration: none;
  color: var(--nta-text);
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  transition: all .2s;
  line-height: 1.35;
}
.nta-service-action-card:hover {
  border-color: var(--nta-blue);
  box-shadow: var(--nta-shadow);
  transform: translateY(-2px);
  color: var(--nta-navy);
  text-decoration: none;
}
.nta-sa-icon { font-size: 26px; line-height: 1; }
.nta-sa-label { font-size: 12px; font-weight: 600; color: var(--nta-text); }

@media (max-width: 860px) { .nta-service-actions-row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .nta-service-actions-row { grid-template-columns: repeat(2, 1fr); } }

/* =========================================================
   DASHBOARD LAYOUT — left/right columns
   ========================================================= */

.nta-dashboard-lower {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: start;
}
.nta-dashboard-left  { display: flex; flex-direction: column; gap: 0; }
.nta-dashboard-right { display: flex; flex-direction: column; gap: 16px; }

/* =========================================================
   SUPPORT RESOURCES CARD (screenshot image 3)
   ========================================================= */

.nta-support-resources-card {
  background: var(--nta-white);
  border: 1.5px solid var(--nta-border);
  border-radius: var(--nta-radius);
  overflow: hidden;
}
.nta-support-res-header {
  background: var(--nta-navy);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 800;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.nta-support-res-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 18px;
  text-decoration: none;
  color: var(--nta-text);
  font-size: 13.5px;
  font-weight: 500;
  border-bottom: 1px solid var(--nta-border);
  transition: background .15s;
}
.nta-support-res-link:last-child { border-bottom: none; }
.nta-support-res-link:hover { background: var(--nta-light); text-decoration: none; color: var(--nta-navy); }
.nta-res-icon { font-size: 18px; flex-shrink: 0; width: 28px; text-align: center; }
.nta-res-arrow { margin-left: auto; color: var(--nta-muted); font-size: 14px; }

/* =========================================================
   24/7 EMERGENCY CARD (screenshot image 4)
   ========================================================= */

.nta-emergency-card {
  background: var(--nta-navy);
  border-radius: var(--nta-radius);
  padding: 24px 22px;
  text-align: center;
}
.nta-emergency-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  font-weight: 900;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 12px;
  letter-spacing: -.02em;
}
.nta-emergency-sub {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  margin-bottom: 18px;
  line-height: 1.55;
}
.nta-emergency-btn {
  display: block;
  background: linear-gradient(135deg, var(--nta-teal-dark) 0%, var(--nta-teal) 100%);
  color: var(--nta-navy);
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 13px 20px;
  border-radius: 10px;
  text-decoration: none;
  margin-bottom: 10px;
  transition: all .18s;
}
.nta-emergency-btn:hover { background: linear-gradient(135deg, var(--nta-teal) 0%, #94dff5 100%); transform: translateY(-1px); color: var(--nta-navy); text-decoration: none; }
.nta-emergency-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.1);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12px;
  color: rgba(255,255,255,.75);
}
.nta-status-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 2px rgba(74,222,128,.3);
  animation: ntaPulse 2s infinite;
  flex-shrink: 0;
}
@keyframes ntaPulse {
  0%,100% { box-shadow: 0 0 0 2px rgba(74,222,128,.3); }
  50%      { box-shadow: 0 0 0 5px rgba(74,222,128,.1); }
}

/* =========================================================
   TIPS & TRICKS CARD (screenshot image 5)
   ========================================================= */

.nta-tips-card {
  background: var(--nta-white);
  border: 1.5px solid var(--nta-border);
  border-radius: var(--nta-radius);
  overflow: hidden;
}
.nta-tips-header {
  background: var(--nta-blue);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 17px;
  font-weight: 800;
  padding: 14px 20px;
}
.nta-tips-sub {
  padding: 14px 20px 0;
  font-size: 13px;
  color: var(--nta-muted);
  line-height: 1.55;
}
.nta-tips-btn {
  display: block;
  margin: 14px 20px 18px;
  padding: 10px 16px;
  border: 1.5px solid var(--nta-border);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--nta-navy);
  text-decoration: none;
  text-align: center;
  transition: all .18s;
}
.nta-tips-btn:hover { border-color: var(--nta-blue); background: var(--nta-light); text-decoration: none; }

/* =========================================================
   SIDEBAR — scrolls with page (not sticky/fixed)
   ========================================================= */

.nta-portal-nav {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: unset !important;
  overflow-y: visible !important;
  /* flex column so sign-out sticks right after last nav item */
  display: flex;
  flex-direction: column;
}

/* nav-list takes flex space, pushes signout+footer down to content end */
.nta-portal-nav-list {
  flex: 0 0 auto !important;
}

/* Portal wrap: don't stretch — sidebar is only as tall as its content */
.nta-portal-wrap {
  align-items: flex-start;
}

/* =========================================================
   DASHBOARD RESPONSIVE OVERRIDES
   ========================================================= */

@media (max-width: 960px) {
  .nta-dashboard-lower { grid-template-columns: 1fr; }
  .nta-dashboard-right { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 640px) {
  .nta-dashboard-right { grid-template-columns: 1fr; }
}

/* =========================================================
   PROFILE FORM — section title spacing
   ========================================================= */

.nta-form .nta-section-title {
  margin-top: 28px;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--nta-border);
}

/* =========================================================
   SIDEBAR SIGN OUT — pinned at bottom of nav
   ========================================================= */

.nta-portal-nav-signout {
  padding: 6px 10px 2px;
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 4px;
}

.nta-nav-logout-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  width: 100%;
  color: rgba(239,68,68,.8);
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 500;
  border-radius: 9px;
  transition: all .18s;
}
.nta-nav-logout-btn:hover {
  color: #ef4444;
  background: rgba(239,68,68,.1);
  text-decoration: none;
}
.nta-nav-logout-btn .nta-nav-icon svg {
  stroke: currentColor;
}

/* =========================================================
   WIDGET ROW — 3 equal columns wrapping content
   ========================================================= */

.nta-widget-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  align-items: stretch;
  margin-top: 24px;
}

.nta-widget-col {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Emergency card tall variant (fills column height) */
.nta-emergency-tall {
  height: 100%;
  box-sizing: border-box;
}

/* =========================================================
   DASHBOARD RIGHT COLUMN override for 3-col widget row
   ========================================================= */

/* nta-dash-right-3col removed — widget-row now sits outside dashboard-lower */

/* =========================================================
   RESPONSIVE — widget row
   ========================================================= */

@media (max-width: 1100px) {
  .nta-widget-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .nta-widget-row { grid-template-columns: 1fr; }
}

/* =========================================================
   MOBILE SIDEBAR — sign out visible
   ========================================================= */

@media (max-width: 768px) {
  .nta-portal-nav-signout {
    display: block;
  }
}

/* =========================================================
   NorTech Suite v3 — Membership System CSS
   Appended to base nta-style.css
   ========================================================= */

/* ── Plans Page ── */
.ntm-page-wrap { max-width:1200px; margin:0 auto; padding:0 20px 80px; }

.ntm-hero { text-align:center; padding:56px 20px 44px; position:relative; }
.ntm-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(30,115,185,.07) 0%,transparent 70%); pointer-events:none; }
.ntm-hero-eyebrow { display:inline-block; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--nta-blue); background:#EFF6FF; border:1px solid rgba(30,115,185,.2); padding:5px 16px; border-radius:20px; margin-bottom:18px; }
.ntm-hero-title { font-size:clamp(28px,5vw,52px); font-weight:900; color:var(--nta-navy); line-height:1.15; margin:0 0 16px; font-family:'Montserrat',sans-serif; }
.ntm-hero-sub { font-size:17px; color:var(--nta-muted); max-width:580px; margin:0 auto 24px; line-height:1.65; }
.ntm-hero-current-badge { display:inline-flex; align-items:center; gap:10px; background:var(--nta-light); border:1px solid var(--nta-border); border-radius:30px; padding:8px 18px; font-size:14px; margin-bottom:24px; flex-wrap:wrap; justify-content:center; }
.ntm-hero-portal-link { color:var(--nta-blue); font-weight:600; text-decoration:none; }
.ntm-hero-cta-wrap { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.ntm-hero-cta-btn { display:inline-block; background:var(--nta-blue); color:#fff; font-size:15px; font-weight:700; padding:13px 32px; border-radius:50px; text-decoration:none; font-family:'Montserrat',sans-serif; }
.ntm-hero-cta-btn:hover { background:var(--nta-navy); color:#fff; }
.ntm-hero-signin-link { font-size:14px; color:var(--nta-muted); text-decoration:none; }
.ntm-hero-signin-link:hover { color:var(--nta-blue); }

.ntm-billing-toggle { display:inline-flex; border:2px solid var(--nta-border); border-radius:50px; overflow:hidden; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.ntm-cycle-btn { background:none; border:none; padding:10px 24px; font-size:14px; font-weight:600; color:var(--nta-muted); cursor:pointer; display:flex; align-items:center; gap:8px; font-family:'Inter',sans-serif; }
.ntm-cycle-btn.ntm-active { background:var(--nta-navy); color:#fff; }
.ntm-save-pill { font-size:11px; font-weight:800; background:#dcfce7; color:#166534; padding:3px 8px; border-radius:20px; }

/* Plan cards */
.ntm-plans-section { padding:0 0 12px; }
.ntm-plans-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:start; }
.ntm-plan-card { background:#fff; border:2px solid var(--nta-border); border-radius:18px; padding:28px 22px 24px; position:relative; transition:transform .2s,box-shadow .2s; }
.ntm-plan-card:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(10,42,74,.1); }
.ntm-plan-current { border-color:var(--nta-blue); box-shadow:0 0 0 3px rgba(30,115,185,.12); }
.ntm-plan-popular { border-color:var(--nta-blue); }
.ntm-plan-vip { border-color:#D97706; background:#FFFBEB; }

.ntm-plan-popular-tag,.ntm-plan-cur-tag { position:absolute; top:-13px; left:50%; transform:translateX(-50%); font-size:11px; font-weight:800; padding:4px 16px; border-radius:20px; white-space:nowrap; }
.ntm-plan-popular-tag { background:var(--nta-blue); color:#fff; }
.ntm-plan-cur-tag { background:#0D9488; color:#fff; }

.ntm-plan-head { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.ntm-plan-icon { font-size:26px; line-height:1; }
.ntm-plan-name { font-size:20px; font-weight:800; color:var(--nta-navy); font-family:'Montserrat',sans-serif; }

.ntm-plan-price-area { margin-bottom:16px; }
.ntm-plan-price { font-size:38px; font-weight:900; color:var(--nta-navy); line-height:1; font-family:'Montserrat',sans-serif; }
.ntm-plan-price-sub { font-size:14px; color:var(--nta-muted); margin-left:2px; }
.ntm-billed-note { font-size:11px; color:var(--nta-muted); margin-top:3px; }

.ntm-plan-perks { list-style:none; padding:0; margin:0 0 20px; border-top:1px solid var(--nta-light); padding-top:14px; }
.ntm-plan-perks li { font-size:13px; color:var(--nta-text); padding:5px 0 5px 20px; position:relative; border-bottom:1px solid #f5f7fa; line-height:1.4; }
.ntm-plan-perks li::before { content:'✓'; position:absolute; left:0; color:#0D9488; font-weight:700; }

.ntm-plan-cta { display:block; width:100%; padding:12px 0; background:var(--nta-blue); color:#fff; border:none; border-radius:10px; font-size:14px; font-weight:700; cursor:pointer; text-align:center; text-decoration:none; font-family:'Montserrat',sans-serif; }
.ntm-plan-cta:hover { background:var(--nta-navy); color:#fff; }
.ntm-plan-cta-ghost { background:none; border:2px solid var(--nta-border); color:var(--nta-navy); }
.ntm-plan-cta-ghost:hover { background:var(--nta-light); color:var(--nta-navy); }
.ntm-plan-vip .ntm-plan-cta { background:#D97706; }
.ntm-plan-vip .ntm-plan-cta:hover { background:#b45309; }
.ntm-plan-active-label,.ntm-plan-lower-label { text-align:center; font-size:13px; color:#0D9488; font-weight:600; padding:10px 0; }
.ntm-plan-lower-label { color:var(--nta-muted); }
.ntm-plan-cur-info { font-size:12px; color:var(--nta-muted); text-align:center; padding:8px 0; line-height:1.7; }
.ntm-cancel-link { color:var(--nta-danger); font-size:12px; text-decoration:none; display:inline-block; margin-top:4px; }
.ntm-cancel-link:hover { text-decoration:underline; }

/* Why section */
.ntm-why-section { padding:52px 0 36px; }
.ntm-why-header,.ntm-compare-header { text-align:center; margin-bottom:32px; }
.ntm-why-eyebrow { display:inline-block; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--nta-blue); margin-bottom:8px; }
.ntm-why-title { font-size:clamp(24px,3.5vw,36px); color:var(--nta-navy); margin:0; font-family:'Montserrat',sans-serif; font-weight:800; }
.ntm-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ntm-why-card { background:#fff; border:1px solid var(--nta-border); border-radius:14px; padding:24px 22px; }
.ntm-why-icon { font-size:28px; margin-bottom:10px; }
.ntm-why-card h3 { font-size:15px; font-weight:800; color:var(--nta-navy); margin:0 0 8px; }
.ntm-why-card p { font-size:13px; color:var(--nta-muted); margin:0; line-height:1.65; }

/* Comparison table */
.ntm-compare-section { padding:36px 0 44px; }
.ntm-table-wrap { overflow-x:auto; border-radius:14px; border:1px solid var(--nta-border); }
.ntm-compare-table { width:100%; border-collapse:collapse; font-size:13px; min-width:580px; }
.ntm-compare-table thead tr { background:var(--nta-navy); }
.ntm-th-feature { text-align:left; padding:14px 20px; color:rgba(255,255,255,.7); font-size:12px; width:220px; }
.ntm-th-tier { text-align:center; padding:14px 16px; color:#fff; font-weight:800; font-size:14px; }
.ntm-th-vip { color:#fde68a; }
.ntm-compare-table tbody tr:nth-child(even) { background:#fafbfd; }
.ntm-compare-table tbody tr:hover { background:var(--nta-light); }
.ntm-tr-pricing td { font-weight:700; }
.ntm-td-feature { padding:11px 20px; color:var(--nta-text); font-weight:500; border-bottom:1px solid var(--nta-border); }
.ntm-td-val { padding:11px 16px; text-align:center; border-bottom:1px solid var(--nta-border); }
.ntm-tick { color:#0D9488; font-size:16px; font-weight:700; }
.ntm-dash { color:#d1d5db; }
.ntm-text-val { color:var(--nta-navy); font-weight:600; font-size:12px; }

.ntm-table-cta { text-align:center; margin-top:24px; }
.ntm-table-cta-btn { display:inline-block; background:var(--nta-navy); color:#fff; font-size:15px; font-weight:700; padding:13px 36px; border-radius:50px; text-decoration:none; margin-bottom:12px; font-family:'Montserrat',sans-serif; }
.ntm-table-cta-btn:hover { background:var(--nta-blue); color:#fff; }
.ntm-table-cta-sub { font-size:13px; color:var(--nta-muted); margin:0; }

/* Upgrade banner */
.ntm-upgrade-banner { background:linear-gradient(135deg,var(--nta-navy),#1a4a7a); border-radius:16px; margin-bottom:32px; }
.ntm-upgrade-banner-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 28px; flex-wrap:wrap; }
.ntm-upgrade-text { color:#e8f0f8; font-size:14px; flex:1; }
.ntm-upgrade-text strong { color:#fff; }
.ntm-upgrade-banner-btn { background:#fff; color:var(--nta-navy); font-size:14px; font-weight:700; padding:10px 24px; border-radius:8px; text-decoration:none; white-space:nowrap; font-family:'Montserrat',sans-serif; }

/* Modal */
.ntm-overlay { position:fixed; inset:0; background:rgba(10,42,74,.55); z-index:9998; backdrop-filter:blur(3px); }
.ntm-modal { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:9999; width:min(500px,95vw); }
.ntm-modal-inner { background:#fff; border-radius:20px; padding:40px 36px 32px; position:relative; box-shadow:0 24px 64px rgba(0,0,0,.2); }
.ntm-modal-close { position:absolute; top:16px; right:18px; background:var(--nta-light); border:none; width:32px; height:32px; border-radius:50%; font-size:16px; cursor:pointer; color:var(--nta-muted); display:flex; align-items:center; justify-content:center; }
.ntm-modal-tier-icon { font-size:40px; text-align:center; margin-bottom:10px; }
.ntm-modal-title { font-size:22px; font-weight:900; color:var(--nta-navy); text-align:center; margin:0 0 8px; font-family:'Montserrat',sans-serif; }
.ntm-modal-summary { text-align:center; font-size:15px; color:var(--nta-muted); margin-bottom:22px; }
.ntm-tc-box { background:var(--nta-light); border:1.5px solid var(--nta-border); border-radius:10px; padding:14px 18px; margin-bottom:18px; }
.ntm-tc-label { display:flex; align-items:flex-start; gap:10px; font-size:14px; cursor:pointer; }
.ntm-tc-label input { margin-top:2px; flex-shrink:0; }
.ntm-tc-label a { color:var(--nta-blue); }
.ntm-modal-confirm-btn { width:100%; padding:15px; background:var(--nta-blue); color:#fff; border:none; border-radius:12px; font-size:16px; font-weight:700; cursor:pointer; font-family:'Montserrat',sans-serif; }
.ntm-modal-confirm-btn:hover { background:var(--nta-navy); }
.ntm-modal-confirm-btn:disabled { background:#9ca3af; cursor:not-allowed; }
.ntm-modal-note { display:flex; align-items:center; justify-content:center; gap:6px; font-size:12px; color:var(--nta-muted); margin:12px 0 0; }
.ntm-shake { animation:ntm-shake .4s ease; }
@keyframes ntm-shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} 60%{transform:translateX(-4px)} }
body.ntm-modal-open { overflow:hidden; }

/* Portal Membership Tab */
.ntm-portal-upgrade-banner { display:flex; align-items:center; justify-content:space-between; gap:16px; background:linear-gradient(135deg,var(--nta-navy),#1a4a7a); border-radius:14px; padding:20px 24px; margin-bottom:20px; flex-wrap:wrap; }
.ntm-pub-title { font-size:16px; font-weight:800; color:#fff; margin-bottom:4px; }
.ntm-pub-sub { font-size:13px; color:#c8dff0; line-height:1.5; }
.ntm-pub-btn { background:#fff; color:var(--nta-navy); font-size:13px; font-weight:700; padding:10px 22px; border-radius:8px; text-decoration:none; white-space:nowrap; flex-shrink:0; font-family:'Montserrat',sans-serif; }
.ntm-pub-btn:hover { color:var(--nta-navy); background:var(--nta-light); }

.ntm-portal-tier-bar { display:flex; align-items:center; gap:16px; padding:16px 20px; border-radius:12px; margin-bottom:20px; background:var(--nta-light); border:2px solid var(--nta-border); flex-wrap:wrap; }
.ntm-tier-bar-basic   { background:#FEF3C7; border-color:#F59E0B; }
.ntm-tier-bar-premium { background:#EFF6FF; border-color:#3B82F6; }
.ntm-tier-bar-vip     { background:#FFFBEB; border-color:#D97706; }

.ntm-ptb-identity { display:flex; align-items:center; gap:12px; flex:1; min-width:150px; }
.ntm-ptb-badge { font-size:30px; line-height:1; }
.ntm-ptb-name { font-size:15px; font-weight:800; color:var(--nta-navy); }
.ntm-ptb-renews { font-size:12px; color:var(--nta-muted); margin-top:2px; }
.ntm-ptb-points-display { text-align:center; padding:0 14px; border-left:1px solid var(--nta-border); border-right:1px solid var(--nta-border); min-width:100px; }
.ntm-ptb-pts-number { font-size:26px; font-weight:900; color:var(--nta-blue); display:block; line-height:1; font-family:'Montserrat',sans-serif; }
.ntm-ptb-pts-label { font-size:11px; color:var(--nta-muted); font-weight:600; }
.ntm-ptb-actions { display:flex; align-items:center; gap:12px; }
.ntm-ptb-upgrade-link { font-size:13px; font-weight:700; color:var(--nta-blue); text-decoration:none; }
.ntm-ptb-cancel { font-size:12px; color:var(--nta-danger); text-decoration:none; }
.ntm-ptb-cancel:hover { text-decoration:underline; }

.ntm-portal-mem-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.ntm-portal-card { background:#fff; border:1px solid var(--nta-border); border-radius:12px; padding:20px 22px; }
.ntm-portal-card-title { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:800; color:var(--nta-navy); margin:0 0 14px; padding-bottom:12px; border-bottom:2px solid var(--nta-light); }
.ntm-portal-card-title svg { color:var(--nta-blue); flex-shrink:0; }
.ntm-portal-empty { font-size:13px; color:var(--nta-muted); margin:0; line-height:1.6; }
.ntm-portal-empty a { color:var(--nta-blue); }
.ntm-portal-note { font-size:12px; color:var(--nta-muted); margin:10px 0 0; font-style:italic; }
.ntm-portal-notice { background:#fffbeb; border:1px solid #fde68a; border-radius:8px; padding:10px 14px; font-size:12px; color:#92400e; margin-bottom:12px; line-height:1.5; }
.ntm-portal-notice a { color:#b45309; font-weight:600; }

.ntm-credits-list { display:flex; flex-direction:column; gap:8px; }
.ntm-credit-row { display:flex; align-items:center; gap:10px; padding:9px 12px; background:var(--nta-light); border-radius:8px; border:1px solid var(--nta-border); }
.ntm-credit-used { opacity:.5; background:#f5f5f5; }
.ntm-credit-icon { font-size:16px; }
.ntm-credit-label { flex:1; font-size:13px; font-weight:600; color:var(--nta-navy); }
.ntm-credit-status { font-size:11px; color:var(--nta-muted); white-space:nowrap; }

.ntm-ref-lead { font-size:13px; color:var(--nta-text); margin:0 0 12px; line-height:1.5; }
.ntm-ref-code-wrap { background:var(--nta-navy); border-radius:10px; padding:12px 16px; margin-bottom:10px; display:flex; align-items:center; gap:12px; }
.ntm-ref-code-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:rgba(255,255,255,.5); white-space:nowrap; }
.ntm-ref-code-val { font-size:20px; font-weight:900; color:#fff; letter-spacing:3px; font-family:monospace; }
.ntm-ref-link-wrap { display:flex; gap:8px; margin-bottom:12px; }
.ntm-ref-input { flex:1; padding:8px 10px; border:1px solid var(--nta-border); border-radius:8px; font-size:12px; color:var(--nta-muted); background:#fafafa; }
.ntm-copy-btn { padding:8px 16px; background:var(--nta-navy); color:#fff; border:none; border-radius:8px; font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; }
.ntm-copy-btn:hover { background:var(--nta-blue); }
.ntm-ref-log { border-top:1px solid var(--nta-light); padding-top:10px; }
.ntm-ref-log-row { display:flex; justify-content:space-between; align-items:center; font-size:12px; padding:5px 0; border-bottom:1px solid #f5f7fa; }
.ntm-ref-status-completed { color:var(--nta-success); font-weight:700; }
.ntm-ref-status-signed_up { color:var(--nta-blue); font-weight:600; }
.ntm-ref-status-pending { color:var(--nta-muted); }

.ntm-points-full-card { margin-bottom:0; }
.ntm-points-overview { display:flex; gap:20px; align-items:flex-start; margin-bottom:20px; }
.ntm-points-balance-box { background:var(--nta-navy); border-radius:12px; padding:20px 24px; text-align:center; min-width:140px; }
.ntm-points-bal-num { font-size:38px; font-weight:900; color:#fff; line-height:1; font-family:'Montserrat',sans-serif; }
.ntm-points-bal-label { font-size:11px; color:rgba(255,255,255,.6); font-weight:600; text-transform:uppercase; letter-spacing:.5px; margin:4px 0 6px; }
.ntm-points-earn-rate { font-size:12px; color:rgba(255,255,255,.75); }
.ntm-points-earn-guide { flex:1; }
.ntm-peg-title { font-size:13px; font-weight:700; color:var(--nta-navy); margin-bottom:8px; }
.ntm-earn-table { width:100%; border-collapse:collapse; font-size:12px; }
.ntm-earn-table td { padding:4px 6px; color:var(--nta-text); }
.ntm-earn-table td:last-child { text-align:right; font-weight:700; color:var(--nta-navy); }
.ntm-earn-upgrade-note { font-size:12px; color:var(--nta-muted); margin:8px 0 0; }
.ntm-earn-upgrade-note a { color:var(--nta-blue); }

.ntm-redeem-title { font-size:14px; font-weight:800; color:var(--nta-navy); margin-bottom:12px; padding-top:16px; border-top:2px solid var(--nta-light); }
.ntm-redeem-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
.ntm-redeem-card { background:var(--nta-light); border:1.5px solid var(--nta-border); border-radius:10px; padding:14px 12px; text-align:center; }
.ntm-locked { opacity:.45; }
.ntm-redeem-pts-needed { font-size:16px; font-weight:900; color:var(--nta-blue); margin-bottom:4px; }
.ntm-redeem-desc { font-size:12px; color:var(--nta-text); margin-bottom:10px; line-height:1.4; }
.ntm-redeem-btn { width:100%; padding:8px 0; background:var(--nta-blue); color:#fff; border:none; border-radius:7px; font-size:12px; font-weight:700; cursor:pointer; font-family:'Inter',sans-serif; }
.ntm-redeem-btn:disabled { background:#d1d5db; cursor:not-allowed; color:#9ca3af; }
.ntm-redeem-btn:not(:disabled):hover { background:var(--nta-navy); }

.ntm-ledger-details { margin-top:2px; }
.ntm-ledger-details summary { font-size:13px; color:var(--nta-blue); font-weight:600; cursor:pointer; padding:6px 0; }
.ntm-ledger-tbl { width:100%; border-collapse:collapse; font-size:12px; margin-top:10px; }
.ntm-ledger-tbl th { padding:6px 8px; color:var(--nta-muted); font-weight:700; border-bottom:1px solid var(--nta-border); text-align:left; }
.ntm-ledger-tbl td { padding:6px 8px; border-bottom:1px solid #f0f4f8; }
.ntm-pts-pos { color:var(--nta-success); font-weight:700; text-align:right; }
.ntm-pts-neg { color:var(--nta-danger); font-weight:700; text-align:right; }

/* Inline widgets */
.ntm-upgrade-prompt { display:flex; align-items:center; gap:14px; background:linear-gradient(135deg,var(--nta-navy),#1a4570); border-radius:12px; padding:16px 20px; margin:16px 0; flex-wrap:wrap; }
.ntm-up-icon { font-size:24px; }
.ntm-up-text { flex:1; color:#c8dff0; font-size:13px; line-height:1.5; }
.ntm-up-text strong { display:block; color:#fff; font-size:14px; margin-bottom:2px; }
.ntm-up-btn { background:#fff; color:var(--nta-navy); font-size:12px; font-weight:700; padding:8px 18px; border-radius:8px; text-decoration:none; white-space:nowrap; }
.ntm-points-widget { background:var(--nta-light); border:1px solid var(--nta-border); border-radius:10px; padding:16px 20px; text-align:center; }
.ntm-pw-pts { font-size:32px; font-weight:900; color:var(--nta-blue); line-height:1; font-family:'Montserrat',sans-serif; }
.ntm-pw-label { font-size:11px; font-weight:700; color:var(--nta-muted); text-transform:uppercase; letter-spacing:.5px; margin:3px 0 6px; }
.ntm-pw-tier { font-size:12px; color:var(--nta-text); margin-bottom:10px; }
.ntm-pw-link { font-size:12px; font-weight:600; color:var(--nta-blue); text-decoration:none; }

/* T&C Page */
.ntm-tc-page { max-width:860px; margin:0 auto; padding:0 20px 80px; font-family:'Inter',sans-serif; }
.ntm-tc-hero { background:var(--nta-navy); border-radius:20px; padding:48px; margin-bottom:36px; text-align:center; position:relative; overflow:hidden; }
.ntm-tc-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(30,115,185,.4) 0%,transparent 70%); pointer-events:none; }
.ntm-tc-hero-logo { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:20px; }
.ntm-tc-logo-mark { width:48px; height:48px; }
.ntm-tc-logo-text { font-family:'Montserrat',sans-serif; font-size:20px; color:#fff; }
.ntm-tc-title { font-family:'Montserrat',sans-serif; font-size:clamp(24px,4vw,38px); color:#fff; margin:0 0 12px; font-weight:900; }
.ntm-tc-intro { font-size:17px; font-weight:700; color:#a8c8e8; margin:0 0 10px; }
.ntm-tc-intro-sub { font-size:14px; color:rgba(255,255,255,.65); max-width:560px; margin:0 auto 18px; line-height:1.7; }
.ntm-tc-meta { display:flex; justify-content:center; gap:20px; font-size:12px; color:rgba(255,255,255,.4); font-weight:600; letter-spacing:.5px; text-transform:uppercase; }
.ntm-tc-toc { background:var(--nta-light); border:1px solid var(--nta-border); border-radius:12px; padding:20px 28px; margin-bottom:32px; }
.ntm-tc-toc-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--nta-blue); margin-bottom:12px; }
.ntm-tc-toc-list { margin:0; padding-left:18px; columns:2; gap:12px; }
.ntm-tc-toc-list li { margin-bottom:6px; }
.ntm-tc-toc-list a { font-size:13px; color:var(--nta-navy); text-decoration:none; font-weight:500; }
.ntm-tc-toc-list a:hover { color:var(--nta-blue); }
.ntm-tc-body section { margin-bottom:32px; padding-bottom:32px; border-bottom:1px solid var(--nta-light); }
.ntm-tc-body section:last-child { border-bottom:none; }
.ntm-tc-body h2 { display:flex; align-items:baseline; gap:12px; font-size:19px; font-weight:800; color:var(--nta-navy); margin:0 0 12px; }
.ntm-tc-num { font-size:26px; color:var(--nta-blue); opacity:.4; line-height:1; font-style:italic; min-width:34px; font-family:'Montserrat',sans-serif; }
.ntm-tc-body p { font-size:14px; line-height:1.75; color:#2a3a4a; margin:0 0 10px; }
.ntm-tc-body ul { margin:8px 0 10px 0; padding-left:0; list-style:none; }
.ntm-tc-body ul li { font-size:14px; line-height:1.7; color:#2a3a4a; padding:5px 0 5px 24px; position:relative; border-bottom:1px solid #f5f7fa; }
.ntm-tc-body ul li::before { content:'→'; position:absolute; left:0; color:var(--nta-blue); font-weight:700; }
.ntm-tc-body a { color:var(--nta-blue); }
.ntm-tc-tier-pills { display:flex; gap:10px; flex-wrap:wrap; margin:12px 0 14px; }
.ntm-tc-pill { display:flex; align-items:center; gap:8px; padding:10px 14px; border-radius:10px; font-size:13px; font-weight:600; border:1.5px solid; flex:1; min-width:130px; }
.ntm-tc-pill-free    { background:var(--nta-light); border-color:var(--nta-border); color:var(--nta-navy); }
.ntm-tc-pill-basic   { background:#FEF3C7; border-color:#F59E0B; color:#92400e; }
.ntm-tc-pill-premium { background:#EFF6FF; border-color:#3B82F6; color:var(--nta-navy); }
.ntm-tc-pill-vip     { background:#FFFBEB; border-color:#D97706; color:var(--nta-navy); }
.ntm-tc-benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:12px 0; }
.ntm-tc-benefit-card { background:var(--nta-light); border:1px solid var(--nta-border); border-radius:10px; padding:14px; }
.ntm-tc-bc-vip { background:#FFFBEB; border-color:#D97706; }
.ntm-tc-bc-head { font-size:14px; font-weight:800; color:var(--nta-navy); margin-bottom:8px; padding-bottom:7px; border-bottom:1px solid var(--nta-border); }
.ntm-tc-benefit-card ul { margin:0; padding:0; }
.ntm-tc-benefit-card li { font-size:12px; padding:4px 0 4px 16px; border-bottom:none; }
.ntm-tc-benefit-card li::before { content:'✓'; color:#0D9488; }
.ntm-tc-note { background:#fffbeb; border:1px solid #fde68a; border-radius:8px; padding:10px 14px; font-size:13px; color:#92400e; margin-top:4px; }
.ntm-tc-ack { background:linear-gradient(135deg,#0D9488,#0a7a6e); border-radius:16px; padding:26px 30px; margin-bottom:28px; margin-top:32px; }
.ntm-tc-ack-inner { display:flex; gap:16px; align-items:flex-start; }
.ntm-tc-ack-icon { font-size:26px; flex-shrink:0; }
.ntm-tc-ack strong { display:block; font-size:15px; color:#fff; margin-bottom:7px; }
.ntm-tc-ack p { font-size:13px; color:rgba(255,255,255,.8); margin:0; line-height:1.65; }
.ntm-tc-footer-cta { text-align:center; background:var(--nta-light); border:1px solid var(--nta-border); border-radius:16px; padding:32px; }
.ntm-tc-footer-cta h3 { font-size:24px; color:var(--nta-navy); margin:0 0 10px; font-family:'Montserrat',sans-serif; }
.ntm-tc-footer-cta > p { font-size:14px; color:var(--nta-muted); margin:0 0 18px; max-width:480px; margin-left:auto; margin-right:auto; line-height:1.65; }
.ntm-tc-footer-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:14px; }
.ntm-tc-btn-primary { display:inline-block; background:var(--nta-blue); color:#fff; font-size:14px; font-weight:700; padding:12px 28px; border-radius:8px; text-decoration:none; font-family:'Montserrat',sans-serif; }
.ntm-tc-btn-primary:hover { background:var(--nta-navy); color:#fff; }
.ntm-tc-btn-ghost { display:inline-block; background:#fff; color:var(--nta-navy); font-size:14px; font-weight:700; padding:12px 28px; border-radius:8px; text-decoration:none; border:2px solid var(--nta-border); }
.ntm-tc-btn-ghost:hover { background:var(--nta-light); color:var(--nta-navy); }
.ntm-tc-contact { font-size:13px; color:var(--nta-muted); margin:0; }
.ntm-tc-contact a { color:var(--nta-blue); }

/* Responsive */
@media (max-width:1024px) { .ntm-plans-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px) {
    .ntm-plans-grid,.ntm-why-grid { grid-template-columns:1fr; }
    .ntm-portal-mem-grid { grid-template-columns:1fr; }
    .ntm-redeem-row { grid-template-columns:1fr 1fr; }
    .ntm-tc-benefits-grid,.ntm-tc-toc-list { columns:1; }
    .ntm-tc-hero { padding:32px 22px 28px; }
    .ntm-tc-tier-pills { flex-direction:column; }
    .ntm-points-overview { flex-direction:column; }
    .ntm-ptb-points-display { border:none; padding:0; }
    .ntm-portal-tier-bar { flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px) {
    .ntm-redeem-row { grid-template-columns:1fr; }
    .ntm-modal-inner { padding:28px 20px; }
    .ntm-why-grid { grid-template-columns:1fr; }
}

/* =========================================================
   NorTech Suite v3.1 — Plan-First Onboarding + Home Block
   ========================================================= */

/* ── Success notice on plans page after upgrade ── */
.ntm-success-notice {
    background:#dcfce7; border:1px solid #86efac; border-radius:10px;
    padding:14px 20px; margin-bottom:28px; font-size:14px; color:#166534; text-align:center;
}
.ntm-success-notice a { color:#15803d; font-weight:700; }

/* ── Hero variants ── */
.ntm-hero-public .ntm-hero-signin-bar {
    display:flex; align-items:center; justify-content:flex-end; gap:12px;
    background:rgba(30,115,185,.06); border:1px solid rgba(30,115,185,.12); border-radius:10px;
    padding:10px 16px; margin-bottom:28px; font-size:13px; color:var(--nta-muted);
}
.ntm-signin-bar-btn {
    background:var(--nta-navy); color:#fff; font-size:13px; font-weight:700;
    padding:7px 18px; border-radius:8px; text-decoration:none; white-space:nowrap;
}
.ntm-signin-bar-btn:hover { background:var(--nta-blue); color:#fff; }

.ntm-hero-steps {
    display:flex; align-items:center; justify-content:center; gap:12px;
    margin:20px 0 28px; flex-wrap:wrap;
}
.ntm-step { display:flex; align-items:center; gap:8px; }
.ntm-step-num {
    width:28px; height:28px; border-radius:50%;
    background:var(--nta-blue); color:#fff; font-size:13px; font-weight:800;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ntm-step-lbl { font-size:13px; font-weight:600; color:var(--nta-navy); }
.ntm-step-arrow { color:var(--nta-border); font-size:18px; font-weight:300; }

.ntm-hero-member-banner {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    background:rgba(30,115,185,.08); border:1.5px solid rgba(30,115,185,.2);
    border-radius:14px; padding:20px 24px; margin:24px 0 0; flex-wrap:wrap; max-width:700px; margin-left:auto; margin-right:auto;
}
.ntm-hmb-left { text-align:left; }
.ntm-hmb-greeting { font-size:15px; color:var(--nta-navy); font-weight:600; }
.ntm-hmb-renews { font-size:12px; color:var(--nta-muted); margin-top:3px; }
.ntm-hmb-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ntm-hmb-portal-btn {
    background:var(--nta-blue); color:#fff; font-size:13px; font-weight:700;
    padding:10px 22px; border-radius:8px; text-decoration:none;
}
.ntm-hmb-portal-btn:hover { background:var(--nta-navy); color:#fff; }
.ntm-hmb-upgrade-hint { font-size:12px; color:var(--nta-muted); }

.ntm-hero-portal-quick { margin:16px 0 0; }
.ntm-portal-quick-btn {
    font-size:13px; color:var(--nta-blue); text-decoration:none; font-weight:600;
}
.ntm-portal-quick-btn:hover { text-decoration:underline; }

/* ── Plan-selected registration banner ── */
.nta-reg-plan-banner {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:16px 22px; border-radius:14px 14px 0 0; flex-wrap:wrap;
    margin-bottom:0;
}
.nta-reg-plan-basic   { background:#FEF3C7; border:2px solid #F59E0B; border-bottom:none; }
.nta-reg-plan-premium { background:#EFF6FF; border:2px solid #3B82F6; border-bottom:none; }
.nta-reg-plan-vip     { background:#FFFBEB; border:2px solid #D97706; border-bottom:none; }

.nta-reg-plan-basic   + .nta-auth-card { border-top:none; border-radius:0 0 var(--nta-radius) var(--nta-radius); }
.nta-reg-plan-premium + .nta-auth-card { border-top:none; border-radius:0 0 var(--nta-radius) var(--nta-radius); }
.nta-reg-plan-vip     + .nta-auth-card { border-top:none; border-radius:0 0 var(--nta-radius) var(--nta-radius); }

.nta-rpb-left { display:flex; align-items:center; gap:12px; }
.nta-rpb-badge { font-size:26px; line-height:1; }
.nta-rpb-title { font-size:15px; font-weight:800; color:var(--nta-navy); }
.nta-rpb-price { font-size:13px; color:var(--nta-muted); margin-top:2px; font-weight:600; }
.nta-rpb-save { display:inline-block; background:#dcfce7; color:#166534; font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px; margin-left:8px; }
.nta-rpb-change { font-size:13px; color:var(--nta-blue); text-decoration:none; font-weight:600; white-space:nowrap; }
.nta-rpb-change:hover { text-decoration:underline; }

/* ================================================================
   [ntm_home_block] — Homepage block
   ================================================================ */

.ntm-home-block {
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

/* Hero copy */
.ntm-hb-hero {
    text-align:center;
    padding:52px 20px 40px;
}
.ntm-hb-eyebrow {
    display:inline-block; font-size:11px; font-weight:700; letter-spacing:2px;
    text-transform:uppercase; color:var(--nta-blue); background:#EFF6FF;
    border:1px solid rgba(30,115,185,.2); padding:5px 16px; border-radius:20px; margin-bottom:16px;
}
.ntm-hb-title {
    font-size:clamp(26px,4.5vw,48px); font-weight:900; color:var(--nta-navy);
    line-height:1.15; margin:0 0 16px; font-family:'Montserrat',sans-serif;
    max-width:780px; margin-left:auto; margin-right:auto;
}
.ntm-hb-sub {
    font-size:17px; color:var(--nta-muted); max-width:600px; margin:0 auto 28px; line-height:1.65;
}
.ntm-hb-member-bar {
    display:inline-flex; align-items:center; gap:14px;
    background:var(--nta-light); border:1px solid var(--nta-border);
    border-radius:50px; padding:10px 22px; font-size:14px; color:var(--nta-text);
    flex-wrap:wrap; justify-content:center;
}
.ntm-hb-pts { font-weight:800; color:var(--nta-blue); }
.ntm-hb-portal-cta {
    background:var(--nta-navy); color:#fff; font-size:13px; font-weight:700;
    padding:8px 18px; border-radius:8px; text-decoration:none;
}
.ntm-hb-portal-cta:hover { background:var(--nta-blue); color:#fff; }
.ntm-hb-upgrade-cta {
    background:var(--nta-blue); color:#fff; font-size:13px; font-weight:700;
    padding:8px 18px; border-radius:8px; text-decoration:none;
}
.ntm-hb-upgrade-cta:hover { background:var(--nta-navy); color:#fff; }

.ntm-hb-cta-row { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.ntm-hb-primary-cta {
    display:inline-block; background:var(--nta-blue); color:#fff;
    font-size:16px; font-weight:800; padding:14px 36px; border-radius:50px;
    text-decoration:none; font-family:'Montserrat',sans-serif;
    box-shadow:0 4px 20px rgba(30,115,185,.3);
}
.ntm-hb-primary-cta:hover { background:var(--nta-navy); color:#fff; transform:translateY(-1px); }
.ntm-hb-free-cta {
    display:inline-block; background:none; border:2px solid var(--nta-border);
    color:var(--nta-navy); font-size:14px; font-weight:600; padding:12px 24px;
    border-radius:50px; text-decoration:none;
}
.ntm-hb-free-cta:hover { background:var(--nta-light); color:var(--nta-navy); }
.ntm-hb-trust {
    font-size:12px; color:var(--nta-muted); margin:0;
    display:flex; justify-content:center; gap:20px; flex-wrap:wrap;
}
.ntm-hb-trust span::before { content:''; }

/* Tier preview cards */
.ntm-hb-tiers {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-bottom:28px;
}
.ntm-hb-tier-card {
    background:#fff; border:2px solid var(--nta-border); border-radius:16px;
    padding:22px 18px; position:relative; transition:transform .18s, box-shadow .18s;
}
.ntm-hb-tier-card:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(10,42,74,.1); }
.ntm-hb-active { border-color:var(--nta-blue); box-shadow:0 0 0 3px rgba(30,115,185,.12); }
.ntm-hb-tier-premium { border-color:var(--nta-blue); }
.ntm-hb-tier-vip { background:var(--nta-gold-lt,#FFFBEB); border-color:#D97706; }

.ntm-hbt-popular {
    position:absolute; top:-11px; left:50%; transform:translateX(-50%);
    background:var(--nta-blue); color:#fff; font-size:10px; font-weight:800;
    padding:3px 12px; border-radius:20px; white-space:nowrap; letter-spacing:.3px;
}
.ntm-hbt-head {
    font-size:17px; font-weight:800; color:var(--nta-navy); margin-bottom:10px;
    display:flex; align-items:center; gap:7px; font-family:'Montserrat',sans-serif;
}
.ntm-hbt-price {
    font-size:30px; font-weight:900; color:var(--nta-navy); line-height:1;
    margin-bottom:14px; font-family:'Montserrat',sans-serif;
}
.ntm-hbt-price span { font-size:14px; color:var(--nta-muted); font-weight:500; margin-left:1px; }
.ntm-hb-tier-card ul {
    list-style:none; padding:0; margin:0 0 18px;
    border-top:1px solid var(--nta-light); padding-top:12px;
}
.ntm-hb-tier-card ul li {
    font-size:13px; color:var(--nta-text); padding:4px 0 4px 18px;
    position:relative; border-bottom:1px solid #f5f7fa;
}
.ntm-hb-tier-card ul li::before { content:'✓'; position:absolute; left:0; color:#0D9488; font-weight:700; }

.ntm-hbt-cta {
    display:block; width:100%; padding:11px 0; background:var(--nta-blue);
    color:#fff; border:none; border-radius:9px; font-size:13px; font-weight:700;
    text-align:center; text-decoration:none; cursor:pointer; font-family:'Montserrat',sans-serif;
}
.ntm-hbt-cta:hover { background:var(--nta-navy); color:#fff; }
.ntm-hbt-cta-ghost { background:none; border:2px solid var(--nta-border); color:var(--nta-navy); }
.ntm-hbt-cta-ghost:hover { background:var(--nta-light); color:var(--nta-navy); }
.ntm-hbt-cta-premium { background:var(--nta-blue); }
.ntm-hbt-cta-vip { background:#D97706; }
.ntm-hbt-cta-vip:hover { background:#b45309; }
.ntm-hbt-active { text-align:center; font-size:13px; color:#0D9488; font-weight:700; padding:10px 0; }

/* Value strip */
.ntm-hb-strip {
    display:flex; align-items:center; justify-content:center; gap:0;
    background:var(--nta-navy); border-radius:14px; padding:18px 28px;
    flex-wrap:wrap; margin-bottom:8px;
}
.ntm-hb-strip-item {
    display:flex; align-items:center; gap:8px;
    font-size:13px; color:rgba(255,255,255,.85); font-weight:600;
    padding:8px 20px; border-right:1px solid rgba(255,255,255,.15);
}
.ntm-hb-strip-item:last-child { border-right:none; }
.ntm-hb-strip-icon { font-size:18px; }

/* Responsive */
@media (max-width:900px) { .ntm-hb-tiers { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) {
    .ntm-hb-tiers { grid-template-columns:1fr; }
    .ntm-hb-strip { flex-direction:column; gap:4px; }
    .ntm-hb-strip-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); width:100%; justify-content:center; }
    .ntm-hb-strip-item:last-child { border-bottom:none; }
    .ntm-hero-signin-bar { flex-direction:column; text-align:center; }
}

/* =========================================================
   NorTech Suite v3.2 — Member Coupon + Referral + Verify Fix
   ========================================================= */

/* Member discount coupon card */
.ntm-coupon-card { border-width:2px; }
.ntm-coupon-basic   { border-color:#F59E0B; background:#fffdf5; }
.ntm-coupon-premium { border-color:#3B82F6; background:#f5f9ff; }
.ntm-coupon-vip     { border-color:#D97706; background:#FFFBEB; }

.ntm-coupon-desc { font-size:13px; color:var(--nta-text); margin:0 0 14px; line-height:1.55; }

.ntm-coupon-display {
    display:flex; align-items:center; gap:10px;
    background:var(--nta-navy); border-radius:10px;
    padding:14px 18px; margin-bottom:12px;
}
.ntm-coupon-code {
    flex:1; font-size:22px; font-weight:900; color:#fff;
    letter-spacing:3px; font-family:monospace;
}
.ntm-coupon-meta {
    display:flex; align-items:center; gap:14px;
    font-size:12px; color:var(--nta-muted);
    flex-wrap:wrap;
}
.ntm-coupon-status-active {
    display:inline-flex; align-items:center; gap:4px;
    background:#dcfce7; color:#166534; font-size:11px;
    font-weight:700; padding:3px 10px; border-radius:20px;
}

/* Referral code field on registration */
.nta-referral-field { margin-top:4px; }
.nta-referral-field input { text-transform:uppercase; letter-spacing:1px; font-family:monospace; font-size:15px; }

/* Verify email — resend form */
.nta-auth-card .nta-success-icon { font-size:48px; text-align:center; margin-bottom:12px; }


/* =========================================================
   NorTech Suite v3.2 — Email Verification Notice
   ========================================================= */

/* Verify-needed card shown when unverified user tries to sign in */
.nta-verify-needed-card { text-align:center; }

.nta-verify-icon {
    font-size:52px;
    margin-bottom:16px;
    display:block;
}

.nta-verify-security-note {
    display:flex;
    align-items:flex-start;
    gap:10px;
    background:#EFF6FF;
    border:1px solid #BFDBFE;
    border-radius:10px;
    padding:14px 16px;
    margin:20px 0 4px;
    text-align:left;
    font-size:13px;
    color:#1e40af;
    line-height:1.55;
}

.nta-verify-security-note span:first-child {
    font-size:18px;
    flex-shrink:0;
    margin-top:1px;
}

/* Verified badge in account summary */
.nta-verified-badge {
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:var(--nta-success);
    font-weight:600;
}
.nta-verified-badge svg {
    width:14px;
    height:14px;
    stroke:var(--nta-success);
}

/* ============================================================ */
/* NT CRM -- Provider Manager Styles (merged from nortech-pm)   */
/* ============================================================ */
/* ── NorTech Provider Manager — Admin Styles ─────────────────────────────── */

:root {
    --nt-navy:   #003087;
    --nt-blue:   #0055cc;
    --nt-gold:   #f5a623;
    --nt-green:  #2e7d32;
    --nt-red:    #c62828;
    --nt-bg:     #f0f2f5;
    --nt-card:   #ffffff;
    --nt-border: #e0e4ea;
    --nt-text:   #1a1a2e;
    --nt-muted:  #6b7280;
    --nt-radius: 8px;
}

.nortech-wrap { max-width: 1400px; }

/* ── Page Title ─────────────────────────────────────────────────────────── */
.nortech-page-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 22px !important;
    color: var(--nt-navy) !important;
    margin-bottom: 20px !important;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--nt-border);
}
.nortech-back {
    font-size: 14px;
    color: var(--nt-blue) !important;
    text-decoration: none;
    font-weight: 400;
}
.nortech-back:hover { text-decoration: underline; }

/* ── Tabs ────────────────────────────────────────────────────────────────── */
.nortech-tab-bar {
    display: flex;
    gap: 2px;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--nt-border);
}
.nortech-tab {
    padding: 8px 16px;
    text-decoration: none;
    color: var(--nt-muted);
    font-size: 13px;
    font-weight: 500;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color .15s, border-color .15s;
}
.nortech-tab:hover { color: var(--nt-navy); }
.nortech-tab--active { color: var(--nt-navy) !important; border-bottom-color: var(--nt-navy); }

/* ── Cards / Grid ────────────────────────────────────────────────────────── */
.nortech-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}
.nortech-card {
    background: var(--nt-card);
    border: 1px solid var(--nt-border);
    border-radius: var(--nt-radius);
    padding: 20px 24px;
}
.nortech-card h3 {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--nt-navy);
}
.nortech-card--full { grid-column: 1 / -1; }

/* ── Definition List ─────────────────────────────────────────────────────── */
.nortech-dl { display: grid; grid-template-columns: 130px 1fr; gap: 6px 12px; margin: 0; }
.nortech-dl dt { font-weight: 600; color: var(--nt-muted); font-size: 12px; text-transform: uppercase; letter-spacing:.04em; display: flex; align-items: center; }
.nortech-dl dd { margin: 0; color: var(--nt-text); font-size: 14px; display: flex; align-items: center; }

/* ── Table ───────────────────────────────────────────────────────────────── */
.nortech-table { border-collapse: collapse !important; }
.nortech-table thead th {
    background: var(--nt-navy) !important;
    color: #fff !important;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 10px 12px !important;
    border: none !important;
}
.nortech-table tbody tr:hover { background: #f5f8ff; }
.nortech-table tbody td { padding: 10px 12px !important; vertical-align: middle; border-bottom: 1px solid var(--nt-border) !important; font-size: 13px; }
.nortech-row--assigned { background: #f0fff0 !important; }

/* ── Badges / Pills / Status ─────────────────────────────────────────────── */
.nortech-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    background: var(--nt-navy);
    color: #fff;
    letter-spacing: .04em;
}
.nortech-badge--warning { background: var(--nt-gold); color: #333; }
.nortech-badge--success { background: var(--nt-green); }

.nortech-pill {
    display: inline-block;
    padding: 2px 8px;
    background: #e8edf7;
    color: var(--nt-navy);
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    margin: 2px 2px 2px 0;
}
.nortech-pill--lg { font-size: 13px; padding: 4px 12px; }
.nortech-pill-group { display: flex; flex-wrap: wrap; gap: 6px; }

.nortech-status {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    background: #e8edf7;
    color: var(--nt-navy);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.nortech-status--pending  { background: #fff3cd; color: #856404; }
.nortech-status--approved,
.nortech-status--matched,
.nortech-status--assigned { background: #d1e7dd; color: var(--nt-green); }
.nortech-status--rejected,
.nortech-status--cancelled{ background: #f8d7da; color: var(--nt-red); }
.nortech-status--completed { background: #d0f0c0; color: #1b5e20; }

/* ── Utility ─────────────────────────────────────────────────────────────── */
.nortech-muted  { color: var(--nt-muted); font-size: 12px; }
.nortech-warn   { color: #856404; }
.nortech-link   { color: var(--nt-blue) !important; font-weight: 600; }
.nortech-empty  { padding: 40px; text-align: center; color: var(--nt-muted); background: #fff; border: 1px solid var(--nt-border); border-radius: var(--nt-radius); }

/* ── Action Bar ──────────────────────────────────────────────────────────── */
.nortech-action-bar {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid var(--nt-border);
    border-radius: var(--nt-radius);
}

/* ── Toggle Switch ───────────────────────────────────────────────────────── */
.nortech-toggle { position: relative; display: inline-block; width: 40px; height: 22px; }
.nortech-toggle input { opacity: 0; width: 0; height: 0; }
.nortech-toggle-slider {
    position: absolute; inset: 0;
    background: #ccc;
    border-radius: 22px;
    cursor: pointer;
    transition: background .2s;
}
.nortech-toggle-slider::before {
    content: '';
    position: absolute;
    width: 16px; height: 16px;
    left: 3px; bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform .2s;
}
.nortech-toggle input:checked + .nortech-toggle-slider { background: var(--nt-green); }
.nortech-toggle input:checked + .nortech-toggle-slider::before { transform: translateX(18px); }

/* ── Checkbox Grid ───────────────────────────────────────────────────────── */
.nortech-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px,1fr));
    gap: 6px 12px;
    margin-bottom: 12px;
}
.nortech-checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    cursor: pointer;
}
/* ── NorTech Provider Manager — Public Form Styles ──────────────────────── */

.nortech-form-wrap {
    max-width: 760px;
    margin: 0 auto;
    font-family: inherit;
}
.nortech-form-header {
    background: #003087;
    color: #fff;
    padding: 36px 40px;
    border-radius: 8px 8px 0 0;
}
.nortech-form-header h2 {
    margin: 0 0 8px;
    font-size: 26px;
    color: #fff;
}
.nortech-form-header p { margin: 0; opacity: .85; font-size: 15px; }

.nortech-apply-form {
    background: #fff;
    border: 1px solid #e0e4ea;
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 0;
}

.nortech-form-section {
    padding: 28px 36px;
    border-bottom: 1px solid #f0f2f5;
}
.nortech-form-section:last-of-type { border-bottom: none; }

.nortech-form-section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #003087;
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e8edf7;
}

.nortech-form-row { display: flex; gap: 16px; flex-wrap: wrap; }
.nortech-form-row--2 > .nortech-field { flex: 1 1 calc(50% - 8px); min-width: 200px; }

.nortech-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.nortech-field label { font-size: 13px; font-weight: 600; color: #374151; }
.nortech-req { color: #c62828; }
.nortech-hint { font-weight: 400; color: #6b7280; font-size: 12px; }

.nortech-field input[type="text"],
.nortech-field input[type="email"],
.nortech-field input[type="tel"],
.nortech-field select,
.nortech-field textarea {
    padding: 10px 14px;
    border: 1.5px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    color: #1a1a2e;
    transition: border-color .15s, box-shadow .15s;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    background: #fff;
}
.nortech-field input:focus,
.nortech-field select:focus,
.nortech-field textarea:focus {
    outline: none;
    border-color: #003087;
    box-shadow: 0 0 0 3px rgba(0,48,135,.1);
}
.nortech-field textarea { resize: vertical; }

/* Category checkboxes */
.nortech-category-group { margin-bottom: 18px; }
.nortech-category-group-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #6b7280;
    margin-bottom: 10px;
}
.nortech-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px,1fr));
    gap: 6px;
}
.nortech-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1.5px solid #e0e4ea;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    color: #374151;
    transition: border-color .15s, background .15s;
    user-select: none;
}
.nortech-checkbox-label:hover { border-color: #003087; background: #f5f8ff; }
.nortech-checkbox-label input[type="checkbox"] { accent-color: #003087; width: 15px; height: 15px; flex-shrink: 0; }
.nortech-checkbox-label:has(input:checked) { border-color: #003087; background: #e8edf7; color: #003087; font-weight: 600; }

/* Inline checkbox */
.nortech-field--checkbox-row { justify-content: flex-end; }
.nortech-inline-check {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #374151;
    padding: 10px 0;
}
.nortech-inline-check input { accent-color: #003087; width: 16px; height: 16px; }

/* Submit section */
.nortech-form-submit { padding: 24px 36px; background: #f8faff; border-top: 1px solid #e8edf7; }
.nortech-submit-btn {
    display: inline-block;
    padding: 14px 36px;
    background: #003087;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    letter-spacing: .03em;
    transition: background .15s, transform .1s;
}
.nortech-submit-btn:hover { background: #0044b8; transform: translateY(-1px); }
.nortech-submit-btn:active { transform: translateY(0); }
.nortech-submit-btn:disabled { opacity: .6; cursor: not-allowed; }
.nortech-form-privacy { font-size: 11px; color: #9ca3af; margin: 10px 0 0; }

.nortech-form-hint { color: #6b7280; font-size: 13px; margin: 0 0 14px; }

/* Success state */
.nortech-form-success {
    padding: 20px 24px;
    background: #d1e7dd;
    border: 1px solid #a3cfbb;
    border-radius: 8px;
    color: #0f5132;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 16px;
}

@media (max-width: 600px) {
    .nortech-form-header,
    .nortech-form-section,
    .nortech-form-submit { padding-left: 20px; padding-right: 20px; }
    .nortech-form-row--2 > .nortech-field { flex: 1 1 100%; }
}
