:root {
  --nn-primary: #e51b23;
  --nn-primary-dark: #bb0f1a;
  --nn-primary-soft: #fff1f2;
  --nn-navy: #181d29;
  --nn-ink: #1d2433;
  --nn-muted: #6b7280;
  --nn-line: #e8ebf0;
  --nn-surface: #ffffff;
  --nn-bg: #f6f7fb;
  --nn-success: #1fa971;
  --shadow-soft: 0 18px 44px rgba(15, 23, 42, .08);
  --shadow-card: 0 16px 30px rgba(15, 23, 42, .06);
  --radius-lg: 24px;
  --radius-md: 18px;
  --radius-sm: 14px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--nn-bg);
  color: var(--nn-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--nn-primary);
  text-decoration: none;
}

a:hover {
  color: var(--nn-primary-dark);
}

img {
  max-width: 100%;
}

.top-strip {
  background: var(--nn-navy);
  color: rgba(255, 255, 255, .86);
  font-size: .86rem;
  padding: .45rem 0;
}

.navbar {
  background: rgba(255, 255, 255, .94) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.navbar .nav-link {
  color: #283042;
  font-weight: 700;
}

.navbar .nav-link:hover {
  color: var(--nn-primary);
}

.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--nn-primary), #ff5562);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(229, 27, 35, .28);
}

.section {
  padding: 74px 0;
}

.page-hero {
  background: linear-gradient(180deg, #fff, #f8f9fc);
}

.card {
  border: 1px solid var(--nn-line);
  border-radius: var(--radius-md);
  background: var(--nn-surface);
  box-shadow: var(--shadow-card);
}

.card:hover {
  box-shadow: 0 20px 42px rgba(15, 23, 42, .09);
}

.btn {
  border-radius: 999px;
  font-weight: 800;
  padding: .78rem 1.3rem;
}

.btn-sm {
  padding: .5rem 1rem;
}

.btn-lg {
  padding: 1rem 1.65rem;
}

.btn-danger,
.btn-primary {
  --bs-btn-bg: var(--nn-primary);
  --bs-btn-border-color: var(--nn-primary);
  --bs-btn-hover-bg: var(--nn-primary-dark);
  --bs-btn-hover-border-color: var(--nn-primary-dark);
  --bs-btn-active-bg: var(--nn-primary-dark);
  --bs-btn-active-border-color: var(--nn-primary-dark);
}

.btn-outline-danger {
  --bs-btn-color: var(--nn-primary);
  --bs-btn-border-color: var(--nn-primary);
  --bs-btn-hover-bg: var(--nn-primary);
  --bs-btn-hover-border-color: var(--nn-primary);
}

.form-control,
.form-select {
  min-height: 52px;
  border-radius: 14px;
  border-color: #d8dde7;
}

textarea.form-control {
  min-height: 120px;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(229, 27, 35, .55);
  box-shadow: 0 0 0 .2rem rgba(229, 27, 35, .12);
}

.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at left center, rgba(255, 190, 196, .7) 0, rgba(255, 190, 196, 0) 40%),
    radial-gradient(circle at right center, rgba(255, 155, 170, .65) 0, rgba(255, 155, 170, 0) 38%),
    linear-gradient(135deg, #fff 0%, #fff8f9 44%, #ffffff 100%);
}

.hero::before,
.hero::after {
  content: "";
  position: absolute;
  top: 10%;
  width: 42vw;
  height: 70%;
  pointer-events: none;
  opacity: .75;
}

.hero::before {
  left: -6vw;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255, 84, 110, .18) 30%, rgba(255,255,255,0) 100%);
  transform: skewX(-18deg);
}

.hero::after {
  right: -6vw;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255, 110, 120, .18) 40%, rgba(255,255,255,0) 100%);
  transform: skewX(18deg);
}

.hero-inner {
  position: relative;
  z-index: 1;
}

.hero-copy {
  color: var(--nn-ink);
}

.hero-copy .eyebrow {
  color: var(--nn-primary);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
  font-size: .84rem;
}

.hero-title {
  font-weight: 900;
  line-height: .96;
  letter-spacing: -.03em;
  font-size: clamp(2.5rem, 7vw, 5.6rem);
}

.hero-title .display-5g {
  display: inline-flex;
  align-items: baseline;
  gap: .08em;
  color: #05070c;
}

.hero-title .display-5g .five {
  font-size: 1.2em;
}

.hero-subtitle {
  font-size: 1.08rem;
  color: #4a5567;
  max-width: 56ch;
}

.hero-price-box {
  display: flex;
  align-items: flex-end;
  gap: .4rem;
  margin: 1rem 0 1.4rem;
}

.hero-price-box .price-label {
  display: block;
  font-size: .82rem;
  color: #596377;
  font-weight: 800;
}

.hero-price-box .price-value {
  font-size: clamp(2.35rem, 5vw, 4rem);
  font-weight: 900;
  color: var(--nn-primary);
  line-height: .9;
}

.hero-price-box .price-unit {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: .35rem;
}

.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.2rem;
}

.hero-proof span,
.hero-proof-item,
.apply-trust-strip span,
.security-panel span,
.chip-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .58rem .88rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #eceef4;
  color: #273043;
  font-size: .9rem;
  font-weight: 700;
}

.hero-device-card {
  position: relative;
  padding: 1.35rem;
  border-radius: 28px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 24px 50px rgba(229, 27, 35, .10), 0 18px 36px rgba(15, 23, 42, .08);
  backdrop-filter: blur(10px);
}

.hero-device-card::after {
  content: "";
  position: absolute;
  inset: auto 22px 18px 22px;
  height: 20px;
  background: radial-gradient(circle, rgba(15,23,42,.18), rgba(15,23,42,0));
  filter: blur(8px);
}

.plan-preview {
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff, #f6f8fc);
  border: 1px solid #edf0f5;
  padding: 1.1rem;
}

.plan-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .8rem;
}

.mini-stat,
.preview-card,
.feature-tile,
.trust-box,
.service-tile,
.option-tile,
.shop-list-item,
.info-panel {
  border-radius: 18px;
  border: 1px solid var(--nn-line);
  background: #fff;
  box-shadow: var(--shadow-card);
}

.preview-card {
  padding: 1rem;
}

.preview-card .metric {
  font-size: 1.9rem;
  line-height: 1;
  font-weight: 900;
  color: var(--nn-primary);
}

.preview-card small,
.mini-stat span {
  color: var(--nn-muted);
}

.mini-stat {
  padding: 1rem;
}

.mini-stat strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: .3rem;
}

.section-heading {
  margin-bottom: 2rem;
}

.section-heading .eyebrow {
  color: var(--nn-primary);
  font-weight: 900;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .35rem;
}

.section-heading h2 {
  font-weight: 900;
  margin-bottom: .55rem;
}

.section-heading p {
  max-width: 60ch;
  color: var(--nn-muted);
  margin-bottom: 0;
}

.gtn-tabs {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  margin-bottom: 1.4rem;
}

.gtn-tabs .tab-pill {
  padding: .8rem 1.05rem;
  border-radius: 14px;
  border: 1px solid var(--nn-line);
  background: #fff;
  font-weight: 800;
  color: #3c4356;
}

.gtn-tabs .tab-pill.active {
  background: var(--nn-primary-soft);
  border-color: rgba(229, 27, 35, .28);
  color: var(--nn-primary);
}

.product-card {
  overflow: hidden;
}

.product-card .card-body {
  display: flex;
  flex-direction: column;
}

.product-cover {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  background: linear-gradient(135deg, #f6f7fb, #eceff5);
}

.product-card .price-line {
  display: flex;
  align-items: baseline;
  gap: .25rem;
}

.price-highlight {
  font-size: 2rem;
  color: var(--nn-primary);
  font-weight: 900;
  line-height: 1;
}

.feature-badges,
.badge-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.soft-badge,
.badge-soft {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: var(--nn-primary-soft);
  color: var(--nn-primary);
  border: 1px solid rgba(229, 27, 35, .16);
  font-size: .78rem;
  padding: .34rem .58rem;
  font-weight: 800;
}

.plan-list {
  display: grid;
  gap: .8rem;
}

.plan-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1rem;
  border-radius: 16px;
  background: #fafbfe;
  border: 1px solid #edf0f6;
}

.plan-row strong {
  display: block;
}

.service-tile,
.option-tile,
.feature-tile,
.trust-box {
  padding: 1.15rem;
  height: 100%;
}

.feature-tile {
  display: flex;
  align-items: center;
  gap: .85rem;
  font-weight: 800;
}

.feature-tile i,
.option-tile i,
.service-tile i {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  background: var(--nn-primary-soft);
  color: var(--nn-primary);
  font-size: 1.25rem;
}

.trust-box {
  text-align: center;
}

.trust-box strong {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 0 auto .75rem;
  border-radius: 50%;
  background: var(--nn-primary);
  color: #fff;
  font-size: 1.2rem;
}

.campaign-banner {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff 0%, #fff4f5 50%, #ffe8ec 100%);
  border: 1px solid rgba(229, 27, 35, .12);
  padding: 1.5rem;
  box-shadow: var(--shadow-soft);
}

.campaign-banner::before {
  content: "";
  position: absolute;
  right: -40px;
  top: -70px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(229, 27, 35, .08);
}

.campaign-banner .value {
  font-size: clamp(2rem, 4vw, 3.4rem);
  color: var(--nn-primary);
  font-weight: 900;
  line-height: .95;
}

.shop-map {
  min-height: 320px;
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.84)),
    url('../img/hero-mobile-support.png') center/cover;
  border: 1px solid var(--nn-line);
  position: relative;
}

.shop-pin {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--nn-primary);
  box-shadow: 0 0 0 6px rgba(229, 27, 35, .18);
}

.shop-pin::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: #fff;
}

.shop-list {
  display: grid;
  gap: .75rem;
}

.shop-list-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .9rem 1rem;
  font-weight: 700;
}

.shop-list-item i {
  color: var(--nn-primary);
}

.app-showcase {
  position: relative;
  border-radius: 28px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 50%, #fff4f6 100%);
  border: 1px solid var(--nn-line);
  padding: 2rem;
  overflow: hidden;
}

.phone-mockup {
  width: 180px;
  border-radius: 28px;
  border: 8px solid #151922;
  background: linear-gradient(180deg, #ff5367, #ff2738);
  padding: .85rem;
  color: #fff;
  box-shadow: 0 25px 45px rgba(15, 23, 42, .18);
}

.phone-mockup.secondary {
  transform: translate(-18px, 48px) rotate(-10deg) scale(.92);
  opacity: .94;
}

.phone-mockup.primary {
  transform: rotate(11deg);
}

.phone-screen {
  border-radius: 20px;
  min-height: 320px;
  background: linear-gradient(180deg, #fff 0%, #f9fafb 100%);
  color: #1f2937;
  padding: .9rem;
}

.phone-screen .screen-card {
  border-radius: 16px;
  background: linear-gradient(135deg, #fff0f2, #ffffff);
  border: 1px solid #f5d4d8;
  padding: .85rem;
  margin-bottom: .75rem;
}

.news-list {
  display: grid;
  gap: 1rem;
}

.news-item {
  display: grid;
  gap: .3rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--nn-line);
}

.news-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.cta-band {
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(120deg, #12203d 0%, #1c325a 54%, #213f78 100%);
  color: #fff;
  padding: 2rem;
}

.cta-band::before {
  content: "";
  position: absolute;
  inset: auto -60px -120px auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

footer {
  background: #fff !important;
  color: #262d3d !important;
  border-top: 1px solid var(--nn-line);
}

footer .text-white-50 {
  color: #667085 !important;
}

footer a:hover {
  color: var(--nn-primary) !important;
}

.progress-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  padding: .9rem;
  background: #fff;
  border: 1px solid var(--nn-line);
  border-radius: 20px;
  box-shadow: var(--shadow-card);
}

.step {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: #7a8292;
  font-weight: 800;
  min-width: 0;
}

.step span {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #eef1f6;
  color: #434a59;
}

.step.active {
  color: var(--nn-primary);
}

.step.active span {
  background: var(--nn-primary);
  color: #fff;
}

.choice-card,
.plan-card {
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.choice-card:hover,
.plan-card:hover,
.choice-card.selected,
.plan-card.selected {
  transform: translateY(-3px);
  border-color: rgba(229, 27, 35, .35);
  box-shadow: 0 22px 36px rgba(229, 27, 35, .12);
}

.choice-card.selected::after,
.plan-card.selected::after {
  content: "選択中";
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--nn-primary);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  padding: .35rem .6rem;
  border-radius: 999px;
}

.sticky-summary {
  position: sticky;
  top: 92px;
}

.field-card .card-body,
.auth-card .card-body {
  padding: 1.5rem;
}

.apply-side-card {
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff, #f8f9fc);
}

.form-section-title {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}

.form-section-title .index {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  background: var(--nn-primary-soft);
  color: var(--nn-primary);
  font-weight: 900;
}

.info-panel {
  padding: 1rem;
}

.mobile-sticky-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.95);
  border-top: 1px solid var(--nn-line);
  box-shadow: 0 -12px 22px rgba(15,23,42,.08);
  display: none;
}

.mobile-sticky-cta .btn {
  width: 100%;
}

.table thead th {
  background: #f4f6fa;
  color: #434c5d;
  font-size: .86rem;
  white-space: nowrap;
}

.admin-shell {
  min-height: 100vh;
}

.admin-sidebar {
  background: #1e2431;
  color: #fff;
  min-height: 100vh;
}

.admin-sidebar a {
  color: rgba(255,255,255,.82);
  display: block;
  padding: .55rem .75rem;
  border-radius: 10px;
  text-decoration: none;
}

.admin-sidebar a:hover,
.admin-sidebar a.active {
  background: rgba(229, 27, 35, .24);
  color: #fff;
}

.portal-hero,
.command-hero,
.agent-ribbon,
.next-action-panel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid var(--nn-line);
  border-left: 4px solid var(--nn-primary);
  border-radius: 18px;
  box-shadow: var(--shadow-card);
}

.plan-dimmed {
  opacity: .4;
}

.diagnosis-card.recommended {
  border-color: rgba(229, 27, 35, .34);
  box-shadow: 0 20px 38px rgba(229, 27, 35, .12);
}

.diagnosis-card.recommended::after {
  content: "おすすめ";
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--nn-primary);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  padding: .35rem .62rem;
  border-radius: 999px;
}

@media (max-width: 991.98px) {
  .section {
    padding: 56px 0;
  }

  .hero {
    min-height: auto;
  }

  .hero::before,
  .hero::after {
    width: 70vw;
    opacity: .55;
  }

  .hero-device-card {
    margin-top: 1rem;
  }

  .progress-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sticky-summary {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .top-strip {
    font-size: .78rem;
  }

  .navbar-brand span:last-child {
    font-size: 1rem;
  }

  .hero-title {
    font-size: 3.1rem;
  }

  .hero-subtitle {
    font-size: .98rem;
  }

  .hero-price-box {
    margin-bottom: 1rem;
  }

  .hero-price-box .price-value {
    font-size: 3rem;
  }

  .section-heading {
    margin-bottom: 1.3rem;
  }

  .gtn-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: .2rem;
  }

  .gtn-tabs .tab-pill {
    white-space: nowrap;
  }

  .plan-preview-grid {
    grid-template-columns: 1fr;
  }

  .progress-rail {
    grid-template-columns: 1fr 1fr;
  }

  .step {
    font-size: .9rem;
  }

  .mobile-sticky-cta {
    display: block;
  }

  body.has-mobile-cta {
    padding-bottom: 92px;
  }

  .cta-band {
    padding: 1.5rem;
  }

  .shop-map {
    min-height: 220px;
  }

  .app-showcase {
    padding: 1.3rem;
  }

  .phone-mockup {
    width: 138px;
  }

  .phone-screen {
    min-height: 245px;
  }
}

.nn-main-nav{border-bottom:1px solid rgba(15,23,42,.05)}
.language-switcher{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.08)}
.language-switcher .switch-label{font-size:.78rem;color:inherit;opacity:.85;margin-right:.2rem}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:34px;padding:0 .75rem;border-radius:999px;color:#253046;font-weight:800;background:#fff}
.language-switcher a.active{background:var(--nn-primary);color:#fff;box-shadow:0 8px 16px rgba(229,27,35,.24)}
.language-switcher.compact-switcher{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.16)}
.language-switcher.compact-switcher a{background:rgba(255,255,255,.18);color:#fff}
.language-switcher.compact-switcher a.active{background:#fff;color:var(--nn-primary)}
.language-switcher.dark{background:rgba(255,255,255,.06)}
.apply-step-header{background:linear-gradient(135deg,#fff 0%,#fff7f8 100%);border-radius:28px;box-shadow:0 20px 44px rgba(15,23,42,.08)}
.apply-step-secure{display:inline-flex;align-items:center;gap:.25rem;padding:.7rem 1rem;border-radius:999px;background:#fff;color:var(--nn-primary);font-weight:800;border:1px solid rgba(229,27,35,.14)}
.stepper-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stepper-item{display:flex;align-items:center;gap:.9rem;padding:1rem;border-radius:20px;background:#fff;border:1px solid #e9edf4;min-height:84px;position:relative}
.stepper-item.active{border-color:rgba(229,27,35,.25);box-shadow:0 18px 30px rgba(229,27,35,.08)}
.stepper-item.done{background:linear-gradient(135deg,#fff 0%,#fff0f1 100%)}
.stepper-badge{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#f3f5f9;color:#6b7280;font-weight:900;position:relative;overflow:hidden}
.stepper-badge i{font-size:1rem;position:absolute;top:11px}
.stepper-badge span{position:absolute;right:8px;bottom:6px;font-size:.72rem}
.stepper-item.active .stepper-badge,.stepper-item.done .stepper-badge{background:linear-gradient(135deg,var(--nn-primary),#ff5c6a);color:#fff;box-shadow:0 12px 24px rgba(229,27,35,.22)}
.stepper-copy strong{display:block;font-size:1rem;color:#182030}
.apply-panel{border-radius:28px;box-shadow:0 24px 50px rgba(15,23,42,.08)}
.apply-panel-badge{display:inline-flex;padding:.45rem .9rem;border-radius:999px;background:#fff0f1;color:var(--nn-primary);font-size:.78rem;font-weight:900;letter-spacing:.04em;margin-bottom:1rem}
.apply-inline-note{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border-radius:16px;background:#f8fafc;color:#475569;font-weight:600}
.otp-input-lg{letter-spacing:.35em;font-size:1.4rem;font-weight:900}
.confirm-shell{border-radius:30px;box-shadow:0 24px 54px rgba(15,23,42,.09);background:linear-gradient(180deg,#fff 0%,#fcfcfe 100%)}
.confirm-hero,.confirm-product-card,.confirm-block{background:#fff;border:1px solid #e9edf4;border-radius:24px;padding:1.25rem;box-shadow:0 12px 24px rgba(15,23,42,.05)}
.confirm-product-card{background:linear-gradient(135deg,#ffffff 0%,#fff7f8 100%)}
.confirm-block-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #edf0f5}
.confirm-block-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--nn-primary)}
.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.confirm-item{padding:1rem;border-radius:18px;background:#f9fafc;border:1px solid #eef1f6}
.confirm-label{font-size:.82rem;font-weight:800;color:#6b7280;margin-bottom:.35rem}
.confirm-value{font-weight:700;color:#1f2937;word-break:break-word}
.confirm-document-row{display:flex;align-items:center;gap:.9rem;padding:1rem;border-radius:18px;background:#f9fafc;border:1px solid #eef1f6}
.confirm-document-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#fff0f1;color:var(--nn-primary);font-size:1.1rem}
.admin-body{background:linear-gradient(180deg,#f4f7fb 0%,#eef2f7 100%)}
.admin-topbar{background:linear-gradient(90deg,#111827 0%,#1f2937 70%,#243346 100%);padding:.9rem 0;box-shadow:0 16px 36px rgba(15,23,42,.18)}
.admin-sidebar{background:transparent}
.admin-sidebar-inner{position:sticky;top:92px;background:linear-gradient(180deg,#1b2432 0%,#111827 100%);border-radius:28px;padding:1.25rem;box-shadow:0 22px 44px rgba(15,23,42,.18)}
.admin-nav-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55);font-weight:800;margin-bottom:.5rem}
.admin-nav-group{display:grid;gap:.45rem}
.admin-nav-group a{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:18px;color:rgba(255,255,255,.78);font-weight:700;background:transparent}
.admin-nav-group a i{font-size:1rem}
.admin-nav-group a.active,.admin-nav-group a:hover{background:rgba(255,255,255,.1);color:#fff}
.admin-search{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important;min-height:42px}
.admin-search::placeholder{color:rgba(255,255,255,.6)}
.admin-main{min-height:calc(100vh - 76px)}
.admin-content .card,.admin-content .table-responsive,.admin-content .alert{border-radius:24px}
.admin-content .table{--bs-table-bg:transparent}
@media (max-width: 991.98px){
  .stepper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-sidebar-inner{position:static;top:auto}
}
@media (max-width: 767.98px){
  .stepper-grid,.confirm-grid{grid-template-columns:1fr}
  .stepper-item{min-height:72px;padding:.9rem}
  .apply-step-header{border-radius:22px}
  .confirm-shell,.confirm-hero,.confirm-product-card,.confirm-block{border-radius:20px}
  .language-switcher .switch-label{display:none}
}


.demo-login-box{border-radius:1rem;background:linear-gradient(180deg,#fff,#fff5f6);}
.demo-credential{padding:.75rem .9rem;border:1px solid rgba(201,21,35,.12);border-radius:.9rem;background:#fff;display:flex;justify-content:space-between;gap:.75rem;align-items:center;}
.demo-credential span{color:#6c757d;}
.demo-credential strong{font-weight:700;word-break:break-all;}


.mypage-body,.mypage-guest-body{background:linear-gradient(180deg,#f4f7fb 0%,#eef2f7 100%)}
.mypage-topbar{background:linear-gradient(90deg,#111827 0%,#1f2937 65%,#243346 100%);padding:.95rem 0;box-shadow:0 16px 36px rgba(15,23,42,.16)}
.mypage-topbar.simple{position:sticky;top:0;z-index:1030}.mypage-topbar-text{font-size:.92rem;color:rgba(255,255,255,.72)}
.mypage-shell{min-height:calc(100vh - 72px)}
.mypage-sidebar{position:sticky;top:92px;background:linear-gradient(180deg,#1b2432 0%,#111827 100%);border-radius:28px;padding:1.25rem;box-shadow:0 22px 44px rgba(15,23,42,.18)}
.mypage-user-card{display:flex;gap:1rem;align-items:center;padding:1rem;border-radius:22px;background:rgba(255,255,255,.08)}
.mypage-user-avatar{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--nn-primary),#ff5c6a);color:#fff;font-weight:900;font-size:1.35rem}
.mypage-nav-group{display:grid;gap:.45rem}
.mypage-nav-group a{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border-radius:18px;color:rgba(255,255,255,.8);font-weight:700}
.mypage-nav-group a.active,.mypage-nav-group a:hover{background:rgba(255,255,255,.1);color:#fff}
.mypage-side-panel{padding:1rem;border-radius:22px;background:#fff}
.mypage-main{min-height:calc(100vh - 76px)}
.mypage-content .card,.mypage-content .alert{border-radius:24px}
.mypage-hero-card,.mypage-summary-card{background:#fff;border:1px solid #e9edf4;border-radius:30px;padding:1.5rem;box-shadow:0 24px 50px rgba(15,23,42,.08)}
.mypage-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--nn-primary);margin-bottom:.35rem}
.status-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:999px;background:#fff0f1;color:var(--nn-primary);font-weight:800}
.quick-action-card{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1rem 1.1rem;border-radius:22px;background:#fff;border:1px solid #e8edf5;color:#182030;box-shadow:0 12px 24px rgba(15,23,42,.05)}
.quick-action-card.compact{padding:.95rem}
.quick-action-card .icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#fff0f1;color:var(--nn-primary);font-size:1.1rem}
.quick-action-card strong{font-size:1rem}.quick-action-card small{color:#6b7280}.quick-action-card:hover{transform:translateY(-2px);border-color:rgba(229,27,35,.18)}
.summary-pair{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #edf1f6}.summary-pair:last-child{border-bottom:none}
.soft-row{padding:1rem 1.1rem;border-radius:18px;background:#f8fafc;border:1px solid #edf1f6}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
@media (max-width:991.98px){.mypage-sidebar{position:static;top:auto}.mypage-topbar-text{display:none}}
@media (max-width:767.98px){.mypage-hero-card,.mypage-summary-card{border-radius:22px;padding:1.15rem}.page-head{align-items:flex-start}}

.session-warning {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: min(340px, calc(100vw - 36px));
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 18px;
  padding: 18px;
  z-index: 1090;
}
.ops-kpi-card { transition: transform .2s ease, box-shadow .2s ease; }
.ops-kpi-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(15,23,42,.12) !important; }
.admin-compact-table td, .admin-compact-table th { white-space: nowrap; }
@media (max-width: 991.98px) {
  .session-warning { left: 14px; right: 14px; width: auto; }
}

/* =========================================================
   Network TeamConnect UI v2 polish public site polish
   ========================================================= */
:root{--nn-red:#e60023;--nn-red-2:#ff334c;--nn-dark:#141820;--nn-admin-bg:#f3f5fa;--nn-admin-dark:#151b28;--nn-ring:0 0 0 .22rem rgba(230,0,35,.14)}
body{background:radial-gradient(circle at 8% 0%,rgba(230,0,35,.045),transparent 28rem),radial-gradient(circle at 92% 8%,rgba(230,0,35,.035),transparent 28rem),var(--nn-bg)}
.nn-main-nav{border-bottom:1px solid rgba(15,23,42,.07)}.nn-main-nav .navbar-toggler{border:0;box-shadow:none}.nn-main-nav .navbar-toggler:focus{box-shadow:var(--nn-ring)}
.top-strip{background:linear-gradient(90deg,#111827,#232b3b 52%,#111827)}
.hero{min-height:680px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(230,0,35,.10) 17%,rgba(255,255,255,0) 38%),linear-gradient(270deg,rgba(255,255,255,0) 0%,rgba(230,0,35,.12) 18%,rgba(255,255,255,0) 42%),radial-gradient(circle at 15% 42%,rgba(230,0,35,.11),transparent 20rem),radial-gradient(circle at 85% 42%,rgba(255,80,105,.14),transparent 22rem),#fff}.hero::before,.hero::after{top:8%;height:78%;opacity:.95;filter:blur(.2px)}.hero::before{width:46vw;background:repeating-linear-gradient(100deg,rgba(230,0,35,.16) 0 14px,rgba(255,255,255,0) 14px 42px)}.hero::after{width:46vw;background:repeating-linear-gradient(80deg,rgba(230,0,35,.15) 0 14px,rgba(255,255,255,0) 14px 42px)}.hero-copy{text-align:left}.hero-title{font-size:clamp(3.1rem,8vw,7.2rem)}.hero-title .display-5g{color:#020617}.hero-title .display-5g::after{content:"";display:inline-block;width:.34em;height:.72em;background:linear-gradient(180deg,var(--nn-red),#ff6b79);clip-path:polygon(38% 0,100% 0,60% 45%,100% 45%,0 100%,34% 52%,0 52%);margin-left:.08em;transform:translateY(.08em)}.hero-price-box{width:fit-content;margin:1.7rem 0 1.4rem;padding:1rem 1.35rem;border:1px solid rgba(230,0,35,.14);background:rgba(255,255,255,.86);backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(230,0,35,.10)}.price-value{color:var(--nn-red)}.hero-device-card{border:1px solid rgba(230,0,35,.12);box-shadow:0 34px 80px rgba(15,23,42,.12);position:relative}.hero-device-card::before{content:"Free online application";position:absolute;top:-16px;left:28px;background:var(--nn-red);color:#fff;border-radius:999px;padding:.45rem .95rem;font-size:.78rem;font-weight:900;box-shadow:0 12px 28px rgba(230,0,35,.30)}.hero-proof span{background:#fff;border:1px solid rgba(230,0,35,.11);border-radius:999px;padding:.55rem .8rem;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.section-heading{max-width:760px;margin:0 auto 2.3rem;text-align:center}.section-heading h2{font-weight:900;letter-spacing:-.03em}.section-heading .eyebrow{color:var(--nn-red);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.section-heading h2::after{content:"";display:block;width:44px;height:3px;background:var(--nn-red);border-radius:999px;margin:.8rem auto 0}
.gtn-tabs{position:sticky;top:76px;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;background:#fff;border:1px solid var(--nn-line);border-radius:18px;padding:.35rem;box-shadow:0 14px 30px rgba(15,23,42,.06);margin-bottom:1.5rem}.tab-pill{border-radius:14px;padding:.8rem 1rem;text-align:center;font-weight:900;font-size:.9rem;color:#4b5563}.tab-pill.active{background:var(--nn-red);color:#fff;box-shadow:0 10px 20px rgba(230,0,35,.22)}
.product-card{overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.product-card:hover{transform:translateY(-4px)}.product-cover{aspect-ratio:16/9;object-fit:cover;background:#f3f4f6}.price-line .price-highlight{font-size:2.2rem;color:var(--nn-red);font-weight:1000;letter-spacing:-.04em}.badge-wrap,.feature-badges{display:flex;flex-wrap:wrap;gap:.35rem}.badge-soft,.soft-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.35rem .65rem;font-weight:800;font-size:.76rem;color:var(--nn-red);background:#fff0f3;border:1px solid rgba(230,0,35,.10)}
.campaign-banner{background:#fff;border:1px solid var(--nn-line);border-radius:24px;padding:2rem;box-shadow:var(--shadow-card);overflow:hidden;position:relative}.campaign-banner::after{content:"";position:absolute;inset:auto -35px -55px auto;width:140px;height:140px;border-radius:999px;background:rgba(230,0,35,.08)}.campaign-banner .value{font-size:3.6rem;line-height:1;color:var(--nn-red);font-weight:1000;letter-spacing:-.06em}
.apply-step-header{overflow:hidden;background:radial-gradient(circle at 5% 0%,rgba(230,0,35,.10),transparent 22rem),radial-gradient(circle at 95% 0%,rgba(230,0,35,.08),transparent 20rem),#fff}.apply-step-secure{background:#111827;color:#fff;border-radius:999px;padding:.65rem 1rem;font-weight:800;white-space:nowrap}.stepper-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.stepper-item{border-radius:18px;padding:.95rem;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;gap:.75rem}.stepper-item.active{border-color:rgba(230,0,35,.38);background:#fff0f3}.stepper-item.done{background:#f0fdf4;border-color:#bbf7d0}.stepper-badge{width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:#f3f4f6;color:#111827;position:relative;flex:0 0 auto}.stepper-badge span{position:absolute;right:-4px;bottom:-4px;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:.68rem;font-weight:900;background:#fff;border:1px solid #e5e7eb}.stepper-item.active .stepper-badge{background:var(--nn-red);color:#fff}.stepper-item.done .stepper-badge{background:#16a34a;color:#fff}.stepper-copy strong{font-size:.88rem}
.form-card,.apply-form-card{border-radius:26px;border:1px solid var(--nn-line);box-shadow:0 20px 48px rgba(15,23,42,.07)}.form-label{font-weight:800;color:#1f2937}.form-control,.form-select{background:#fff;border-radius:16px;min-height:54px}.form-control:focus,.form-select:focus{box-shadow:var(--nn-ring)}.required-mark,.text-danger{color:var(--nn-red)!important}.confirm-section-card{background:#fff;border:1px solid var(--nn-line);border-radius:24px;box-shadow:var(--shadow-card);padding:1.35rem}.confirm-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;padding:.9rem 0;border-bottom:1px dashed #e5e7eb}.confirm-row:last-child{border-bottom:0}.confirm-row .label{color:#6b7280;font-weight:800}.confirm-row .value{font-weight:700;color:#111827;word-break:break-word}
.admin-body{background:radial-gradient(circle at top left,rgba(230,0,35,.08),transparent 28rem),var(--nn-admin-bg)}.admin-topbar{position:sticky;top:0;z-index:1030;background:rgba(20,24,32,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);padding:.72rem 0}.admin-shell .row{min-height:calc(100vh - 62px)}.admin-sidebar{background:linear-gradient(180deg,var(--nn-admin-dark),#101522)}.admin-sidebar-inner{position:sticky;top:86px}.admin-nav-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900;margin:.8rem 0 .5rem}.admin-nav-group a,.mypage-nav-group a{display:flex;align-items:center;gap:.72rem;border-radius:15px;padding:.72rem .85rem;color:rgba(255,255,255,.78);font-weight:800;margin-bottom:.25rem}.admin-nav-group.tight a{padding:.58rem .75rem;font-size:.9rem}.admin-nav-group a:hover,.admin-nav-group a.active,.mypage-nav-group a:hover,.mypage-nav-group a.active{color:#fff;background:linear-gradient(135deg,rgba(230,0,35,.95),rgba(255,65,86,.92));box-shadow:0 12px 24px rgba(230,0,35,.22)}.admin-main,.mypage-main{background:var(--nn-admin-bg)}.admin-content,.mypage-content{max-width:1480px}.admin-kpi-card,.ops-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:24px;padding:1.25rem;box-shadow:0 18px 42px rgba(15,23,42,.06)}.table{--bs-table-bg:transparent}.table thead th{font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e5e7eb}.table tbody tr{vertical-align:middle}.table tbody td{padding:1rem .75rem}
.mypage-body{background:linear-gradient(135deg,#f5f7fb 0%,#fff 100%)}.mypage-topbar{position:sticky;top:0;z-index:1030;background:linear-gradient(90deg,#141820,#232b3a);padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.mypage-topbar-text{color:rgba(255,255,255,.66);font-size:.88rem}.mypage-sidebar{background:linear-gradient(180deg,#161c2a,#111827);border-radius:26px;padding:1rem;position:sticky;top:86px;box-shadow:0 26px 60px rgba(15,23,42,.20)}.mypage-user-card{display:flex;align-items:center;gap:.8rem;padding:.8rem;background:rgba(255,255,255,.07);border-radius:20px}.mypage-user-avatar{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:var(--nn-red);color:#fff;font-weight:1000}.mypage-side-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:1rem}.mypage-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:1.25rem;box-shadow:0 18px 42px rgba(15,23,42,.06)}.customer-mobile-nav{display:none}
.session-warning{position:fixed;right:20px;bottom:20px;z-index:2000;width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid rgba(230,0,35,.18);border-radius:22px;padding:1.1rem}
@media (max-width:991.98px){.top-strip{display:none}.navbar{position:sticky;top:0}.hero{min-height:auto;padding-bottom:1.5rem;text-align:center}.hero-copy{text-align:center}.hero-price-box{margin-left:auto;margin-right:auto}.hero-proof{justify-content:center}.gtn-tabs{top:64px;overflow-x:auto;grid-template-columns:repeat(4,170px)}.section{padding:54px 0}.stepper-grid{grid-template-columns:repeat(4,minmax(78px,1fr));gap:.35rem;overflow-x:auto}.stepper-item{flex-direction:column;align-items:center;text-align:center;padding:.65rem .45rem;min-width:88px}.stepper-copy strong{font-size:.72rem}.apply-step-secure{white-space:normal}.admin-shell .row,.mypage-shell .row{min-height:auto}.admin-sidebar{border-radius:0 0 24px 24px}.admin-sidebar-inner{position:static}.admin-nav-group{display:flex;gap:.45rem;overflow:auto;padding-bottom:.35rem}.admin-nav-group a{white-space:nowrap;margin-bottom:0}.mypage-sidebar{position:static}.mypage-topbar-text{display:none}.mypage-shell aside{display:none}.mypage-content{padding-bottom:90px!important}.customer-mobile-nav{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:1040;background:rgba(17,24,39,.95);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.10);border-radius:24px;padding:.45rem;box-shadow:0 24px 60px rgba(15,23,42,.32)}.customer-mobile-nav a{flex:1;display:grid;place-items:center;gap:.12rem;color:rgba(255,255,255,.68);font-size:.68rem;font-weight:800;padding:.45rem .2rem;border-radius:18px}.customer-mobile-nav a.active{background:var(--nn-red);color:#fff}.confirm-row{grid-template-columns:1fr;gap:.2rem}}
@media (max-width:575.98px){.hero-title{font-size:clamp(3rem,19vw,5rem)}.hero-subtitle{font-size:.98rem}.btn-lg{width:100%}.hero-copy .d-flex.flex-wrap.gap-3{display:grid!important}.campaign-banner{padding:1.35rem}.campaign-banner .value{font-size:2.8rem}.section-heading h2{font-size:1.6rem}}
.public-mobile-cta{position:fixed;left:14px;right:14px;bottom:14px;z-index:1040;display:flex;gap:.55rem}.public-mobile-cta .btn{flex:1}@media (min-width:992px){.public-mobile-cta{display:none!important}}@media (max-width:991.98px){body{padding-bottom:78px}}

/* === v2 polish: operations-first UI === */
.fw-black{font-weight:1000!important;letter-spacing:-.035em}.admin-actionbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:26px;background:linear-gradient(135deg,#151b27,#232b3a);box-shadow:0 24px 55px rgba(15,23,42,.16);color:#fff}.admin-breadcrumb{display:flex;gap:.45rem;align-items:center;font-size:.78rem;font-weight:800;color:rgba(255,255,255,.62);margin-bottom:.25rem}.admin-breadcrumb a{color:rgba(255,255,255,.78)}.admin-actionbar-actions{display:flex;gap:.55rem;flex-wrap:wrap}.admin-actionbar .btn-outline-light{--bs-btn-color:#fff;--bs-btn-border-color:rgba(255,255,255,.3)}.ops-hero-panel{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.5rem;border-radius:30px;background:radial-gradient(circle at left top,rgba(230,0,35,.14),transparent 22rem),#fff;border:1px solid rgba(230,0,35,.10);box-shadow:0 22px 55px rgba(15,23,42,.07)}.ops-hero-actions{display:flex;gap:.6rem;flex-wrap:wrap}.ops-mini-kpi{background:#fff;border:1px solid #e8ebf0;border-radius:24px;padding:1.15rem;box-shadow:0 18px 42px rgba(15,23,42,.06);color:#111827;position:relative;overflow:hidden}.ops-mini-kpi::after{content:"";position:absolute;right:-22px;bottom:-22px;width:84px;height:84px;border-radius:999px;background:rgba(230,0,35,.07)}.ops-mini-kpi span{display:block;color:#64748b;font-weight:900;font-size:.82rem}.ops-mini-kpi strong{display:block;font-size:2.15rem;line-height:1;color:var(--nn-red);font-weight:1000;margin:.25rem 0}.ops-mini-kpi small{font-weight:800;color:#94a3b8}.ops-timeline-card{background:#fff;border:1px solid #e8ebf0;border-radius:28px;padding:1.35rem;box-shadow:0 20px 48px rgba(15,23,42,.06)}.ops-flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ops-flow-step{display:flex;gap:1rem;padding:1rem;border-radius:22px;border:1px solid #edf0f5;background:linear-gradient(180deg,#fff,#fafbff);text-decoration:none;color:#111827;transition:transform .16s ease,box-shadow .16s ease}.ops-flow-step:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(15,23,42,.08);color:#111827}.ops-flow-step i{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:#fff0f3;color:var(--nn-red);font-size:1.25rem;flex:0 0 auto}.ops-flow-step strong{display:block;font-weight:1000;margin-bottom:.25rem}.ops-flow-step p{margin:0;color:#64748b;font-size:.9rem;line-height:1.65}.daily-checklist{display:grid;gap:.6rem}.daily-checklist label{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem;border:1px solid #edf0f5;border-radius:16px;background:#fafbff;font-weight:800;color:#334155}.daily-checklist input{margin-top:.25rem;accent-color:var(--nn-red)}.readiness-line{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border-radius:16px;background:#f8fafc;border:1px solid #edf0f5;font-weight:850}.readiness-line.ok i{color:#16a34a}.readiness-line.ng i{color:#dc2626}.admin-search{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}.admin-search::placeholder{color:rgba(255,255,255,.55)}.admin-search:focus{background:#fff;color:#111827}.admin-content .table-responsive,.mypage-content .table-responsive{border:1px solid #e8ebf0;border-radius:22px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.045);overflow:hidden}.admin-content .table,.mypage-content .table{margin-bottom:0}.admin-content .table thead,.mypage-content .table thead{background:#f8fafc}.admin-content .table tbody tr:hover,.mypage-content .table tbody tr:hover{background:#fff7f8}.mypage-trust-strip{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.mypage-trust-strip span{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #e8ebf0;border-radius:999px;padding:.55rem .8rem;font-weight:800;font-size:.84rem;color:#475569}.mypage-content > h1:first-child,.admin-content > h1:first-child{font-weight:1000;letter-spacing:-.035em}.customer-mobile-nav{padding-bottom:calc(.45rem + env(safe-area-inset-bottom))}.public-mobile-cta{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:991.98px){.admin-actionbar,.ops-hero-panel{align-items:flex-start;flex-direction:column}.admin-actionbar-actions,.ops-hero-actions{width:100%}.admin-actionbar-actions .btn,.ops-hero-actions .btn{flex:1}.ops-flow-grid{grid-template-columns:1fr}.admin-content .table-responsive,.mypage-content .table-responsive{border-radius:18px}.ops-mini-kpi strong{font-size:1.8rem}}

/* Beginner/no-code admin upgrades */
.beginner-hero{background:linear-gradient(135deg,#fff 0%,#fff4f4 45%,#ffe1e1 100%);border:1px solid rgba(230,0,35,.08);box-shadow:0 18px 50px rgba(230,0,35,.08)}
.admin-smart-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:28px;padding:24px;box-shadow:0 12px 35px rgba(15,23,42,.06);transition:.2s ease}.admin-smart-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(230,0,35,.12)}
.smart-icon{width:54px;height:54px;border-radius:18px;background:#fff1f2;color:#e60023;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.setting-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(15,23,42,.08)}
.lifecycle-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:18px;overflow-x:auto;padding-bottom:8px}.lifecycle-col{background:#f8fafc;border:1px solid rgba(15,23,42,.06);border-radius:26px;padding:18px;min-height:520px}.life-card{background:#fff;border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 8px 24px rgba(15,23,42,.06);border-left:4px solid #e60023}.task-column{background:#f8fafc;border-radius:24px;padding:16px;min-height:420px;border:1px solid rgba(15,23,42,.06)}.task-card{background:#fff;border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.safety-step{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(15,23,42,.08)}.safety-step strong{width:30px;height:30px;border-radius:50%;background:#e60023;color:#fff;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:991.98px){.lifecycle-board{grid-template-columns:repeat(4,82vw)}.admin-smart-card{border-radius:22px;padding:20px}}

/* === User-centric beginner operations v3 === */
.user-journey-hero{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:1.5rem;border-radius:30px;background:linear-gradient(135deg,#fff 0%,#fff6f6 55%,#ffe8e8 100%);border:1px solid rgba(230,0,35,.10);box-shadow:0 20px 55px rgba(230,0,35,.08)}
.journey-score{min-width:170px;background:#fff;border:1px solid #f0d5d8;border-radius:26px;padding:1rem;text-align:center;box-shadow:0 18px 42px rgba(15,23,42,.06)}.journey-score span,.journey-score small{display:block;color:#64748b;font-weight:800;font-size:.82rem}.journey-score strong{display:block;font-size:2.6rem;line-height:1;color:var(--nn-red);font-weight:1000}
.journey-steps{display:grid;gap:.75rem}.journey-step{display:grid;grid-template-columns:42px 54px 1fr;align-items:center;gap:.85rem;padding:1rem;border:1px solid #edf0f5;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfcff);text-decoration:none;color:#111827;transition:.18s ease}.journey-step:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.08);color:#111827}.journey-step i{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#fff0f3;color:var(--nn-red);font-size:1.35rem}.journey-step strong{font-weight:1000}.journey-step p{margin:0;color:#64748b;font-size:.92rem}.step-num{width:42px;height:42px;border-radius:999px;background:var(--nn-red);color:#fff;font-weight:1000;display:grid;place-items:center;box-shadow:0 12px 30px rgba(230,0,35,.22)}
.queue-pill{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.65rem;padding:.85rem 1rem;border-radius:18px;border:1px solid #edf0f5;background:#f8fafc;text-decoration:none;color:#111827}.queue-pill strong{color:var(--nn-red);font-size:1.35rem}.queue-pill:hover{background:#fff5f6;color:#111827}.screen-map-card,.automation-card{display:block;height:100%;background:#fff;border:1px solid #e8ebf0;border-radius:24px;padding:1.15rem;text-decoration:none;color:#111827;box-shadow:0 14px 34px rgba(15,23,42,.05);transition:.16s ease}.screen-map-card:hover,.automation-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(230,0,35,.10);color:#111827}.screen-map-card strong,.automation-card strong{display:block;font-weight:1000;margin-bottom:.35rem}.screen-map-card p,.automation-card p{color:#64748b;font-size:.9rem;line-height:1.65;margin-bottom:.75rem}.screen-map-card span{font-weight:900;color:var(--nn-red);font-size:.85rem}.guide-steps{padding-left:1.25rem}.guide-steps li{margin-bottom:.55rem;line-height:1.65}.go-live-list{display:grid;gap:1rem}.go-live-item{display:grid;grid-template-columns:52px 1fr;gap:1rem;align-items:start;background:#fff;border:1px solid #e8ebf0;border-radius:26px;padding:1.25rem;box-shadow:0 16px 38px rgba(15,23,42,.055)}
@media(max-width:991.98px){.user-journey-hero{flex-direction:column;align-items:flex-start}.journey-score{width:100%}.journey-step{grid-template-columns:38px 46px 1fr}.journey-step i{width:46px;height:46px}.go-live-item{grid-template-columns:44px 1fr}}

/* === v4 user-centric responsive / overflow polish === */
:root{
  --nn-red: var(--nn-primary);
  --nn-red-dark: var(--nn-primary-dark);
  --nn-focus: 0 0 0 .22rem rgba(229,27,35,.16);
  --nn-soft-blue:#eef6ff;
}
html,body{max-width:100%;overflow-x:hidden;}
body{line-height:1.65;text-rendering:optimizeLegibility;}
body.admin-body,body.mypage-body,body.mypage-guest-body{padding-bottom:0!important;}
.container,.container-fluid,.row,[class*="col-"]{min-width:0;}
.card,.admin-smart-card,.screen-map-card,.automation-card,.quick-action-card,.ops-mini-kpi,.confirm-item,.product-card{min-width:0;}
.card-body,.admin-content,.mypage-content,.admin-main,.mypage-main{min-width:0;overflow-wrap:anywhere;}

/* Common readable typography */
.admin-content h1,.mypage-content h1,.section-heading h2{letter-spacing:-.035em;}
.admin-content p,.mypage-content p,.confirm-value,.product-card p{overflow-wrap:anywhere;}
.small-muted{color:#64748b;font-size:.9rem;}

/* Better scroll behavior */
.table-responsive,
.responsive-scroll,
.scroll-x,
.lifecycle-board,
.admin-scroll-area,
.mypage-scroll-area{
  overflow-x:auto!important;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(229,27,35,.55) rgba(15,23,42,.08);
}
.table-responsive::-webkit-scrollbar,
.responsive-scroll::-webkit-scrollbar,
.scroll-x::-webkit-scrollbar,
.lifecycle-board::-webkit-scrollbar,
.admin-scroll-area::-webkit-scrollbar,
.mypage-scroll-area::-webkit-scrollbar{height:10px;width:10px;}
.table-responsive::-webkit-scrollbar-track,
.responsive-scroll::-webkit-scrollbar-track,
.scroll-x::-webkit-scrollbar-track,
.lifecycle-board::-webkit-scrollbar-track,
.admin-scroll-area::-webkit-scrollbar-track,
.mypage-scroll-area::-webkit-scrollbar-track{background:rgba(15,23,42,.06);border-radius:999px;}
.table-responsive::-webkit-scrollbar-thumb,
.responsive-scroll::-webkit-scrollbar-thumb,
.scroll-x::-webkit-scrollbar-thumb,
.lifecycle-board::-webkit-scrollbar-thumb,
.admin-scroll-area::-webkit-scrollbar-thumb,
.mypage-scroll-area::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--nn-primary),#ff6471);border-radius:999px;}
.table-responsive.has-horizontal-scroll,
.responsive-scroll.has-horizontal-scroll,
.lifecycle-board.has-horizontal-scroll{position:relative;padding-bottom:.35rem;}
.scroll-hint{display:none;align-items:center;gap:.45rem;width:max-content;margin:.25rem 0 .65rem auto;padding:.42rem .75rem;border-radius:999px;background:#fff3f4;color:var(--nn-primary);font-weight:900;font-size:.78rem;border:1px solid rgba(229,27,35,.12);}
.has-horizontal-scroll + .scroll-hint,.scroll-hint.is-visible,.scroll-hint{display:none!important;}

/* Tables should scroll instead of breaking layout */
.admin-content .table-responsive,.mypage-content .table-responsive{overflow-x:auto!important;overflow-y:auto;max-width:100%;}
.table{min-width:760px;vertical-align:middle;}
.table.table-sm{min-width:680px;}
.table th{white-space:nowrap;color:#475569;font-size:.82rem;text-transform:none;}
.table td{white-space:normal;word-break:break-word;}
.table td .btn,.table th .btn{white-space:nowrap;}
.table-sticky-head thead th,.admin-content .table thead th,.mypage-content .table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;box-shadow:0 1px 0 #e8ebf0;}

/* Sidebar scroll: long menus stay usable */
.admin-sidebar-inner,.mypage-sidebar{max-height:calc(100vh - 112px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;}
.admin-sidebar-inner::-webkit-scrollbar,.mypage-sidebar::-webkit-scrollbar{width:8px;}
.admin-sidebar-inner::-webkit-scrollbar-thumb,.mypage-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px;}
.admin-nav-group a,.mypage-nav-group a{min-width:0;}
.admin-nav-group a span,.mypage-nav-group a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Admin layout refinement */
.admin-content{max-width:1540px;margin-inline:auto;}
.admin-topbar .container-fluid,.mypage-topbar .container-fluid{min-width:0;}
.admin-actionbar{position:relative;overflow:hidden;}
.admin-actionbar::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.06);pointer-events:none;}
.admin-actionbar > *{position:relative;z-index:1;}
.admin-content .card{border:1px solid rgba(15,23,42,.075);}
.admin-content .card-header{background:linear-gradient(180deg,#fff,#fbfcff);border-bottom:1px solid #edf0f5;border-radius:24px 24px 0 0!important;}
.admin-smart-card{position:relative;overflow:hidden;}
.admin-smart-card::after{content:"";position:absolute;right:-42px;bottom:-42px;width:120px;height:120px;border-radius:999px;background:rgba(229,27,35,.055);pointer-events:none;}
.admin-smart-card > *{position:relative;z-index:1;}
.setting-line{gap:1rem;min-width:0;}.setting-line > *{min-width:0;overflow-wrap:anywhere;}

/* Forms: better touch and overflow */
.form-control,.form-select,.btn{max-width:100%;}
.input-group{min-width:0;}.input-group .form-control{min-width:0;}
textarea.form-control{resize:vertical;}
.form-text{line-height:1.5;}
.form-check-label{overflow-wrap:anywhere;}

/* product card polish */
.product-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.product-card:hover{transform:translateY(-4px);border-color:rgba(229,27,35,.18);}
.price-highlight{letter-spacing:-.04em;}
.gtn-tabs{position:sticky;top:74px;z-index:9;background:rgba(246,247,251,.88);backdrop-filter:blur(10px);padding:.65rem 0;border-radius:0 0 18px 18px;}
.gtn-tabs .tab-pill{flex:0 0 auto;}

/* Apply form responsive stepper */
.stepper-grid{overflow-x:auto;scrollbar-width:thin;padding-bottom:.15rem;}
.stepper-item{min-width:220px;}
.apply-panel,.confirm-shell{overflow:hidden;}
.confirm-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.confirm-block-head{min-width:0;}.confirm-block-head > *{min-width:0;}
.confirm-document-row{min-width:0;}.confirm-document-row > div:last-child{min-width:0;overflow-wrap:anywhere;}

/* My Page: mobile first usability */
.mypage-content{max-width:1500px;margin-inline:auto;}
.mypage-trust-strip{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.35rem;scrollbar-width:thin;}
.mypage-trust-strip span{flex:0 0 auto;}
.customer-mobile-nav{box-shadow:0 -12px 30px rgba(15,23,42,.12);backdrop-filter:blur(12px);}
.customer-mobile-nav a span{white-space:nowrap;}

/* Boards and no-code screens */
.lifecycle-board{grid-template-columns:repeat(4,minmax(280px,1fr));max-width:100%;}
.task-column{max-height:680px;overflow-y:auto;scrollbar-width:thin;}
.task-card,.life-card{overflow-wrap:anywhere;}
.journey-steps{min-width:0;}.journey-step{min-width:0;}.journey-step > div:last-child{min-width:0;}
.screen-map-card p,.automation-card p{overflow-wrap:anywhere;}

/* Safer code/pre blocks */
pre,code,.code-box,.env-preview{max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word;}

/* Helpful empty/loading states */
.empty-state{padding:2rem;border:1px dashed #d9dee8;border-radius:24px;background:#fbfcff;text-align:center;color:#64748b;}
.empty-state i{font-size:2rem;color:var(--nn-primary);display:block;margin-bottom:.5rem;}

/* Mobile refinements */
@media(max-width:1199.98px){
  .admin-content,.mypage-content{max-width:100%;}
  .admin-sidebar-inner,.mypage-sidebar{max-height:none;position:static;}
}
@media(max-width:991.98px){
  .admin-topbar .container-fluid,.mypage-topbar .container-fluid{align-items:flex-start!important;flex-direction:column;}
  .admin-topbar .container-fluid > div,.mypage-topbar .container-fluid > div{max-width:100%;}
  .admin-main,.mypage-main{min-height:auto;}
  .admin-sidebar-inner,.mypage-sidebar{border-radius:22px;}
  .admin-nav-group,.mypage-nav-group{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-nav-group a,.mypage-nav-group a{padding:.78rem .85rem;}
  .gtn-tabs{top:63px;margin-inline:-.25rem;padding:.55rem .25rem;overflow-x:auto;flex-wrap:nowrap;}
  .table{min-width:720px;}
}
@media(max-width:767.98px){
  body{font-size:15px;}
  .section{padding:48px 0;}
  .hero-title{line-height:1.02;}
  .hero-copy .d-flex.flex-wrap.gap-3,.admin-actionbar-actions,.ops-hero-actions{display:grid!important;grid-template-columns:1fr;}
  .admin-actionbar,.ops-hero-panel,.user-journey-hero{border-radius:22px;padding:1.15rem;}
  .admin-nav-group,.mypage-nav-group{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;}
  .admin-nav-group a,.mypage-nav-group a{flex:0 0 auto;min-width:150px;justify-content:flex-start;}
  .mypage-side-panel{display:none;}
  .mypage-content{padding-bottom:6.5rem!important;}
  .customer-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:1045;background:rgba(255,255,255,.95);border-top:1px solid #e8ebf0;}
  .customer-mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .2rem;color:#64748b;font-size:.72rem;font-weight:900;}
  .customer-mobile-nav a.active{color:var(--nn-primary);}
  .customer-mobile-nav i{font-size:1.1rem;}
  .public-mobile-cta{left:10px;right:10px;bottom:10px;}
  .public-mobile-cta .btn{padding:.72rem .8rem;font-size:.88rem;}
  .table{min-width:640px;}
  .lifecycle-board{grid-template-columns:repeat(4,86vw);}
  .journey-step{grid-template-columns:34px 42px minmax(0,1fr);gap:.65rem;padding:.85rem;}
  .journey-step i{width:42px;height:42px;border-radius:14px;}
  .step-num{width:34px;height:34px;}
  .setting-line{align-items:flex-start;flex-direction:column;}
}
@media(max-width:575.98px){
  .container{padding-left:1rem;padding-right:1rem;}
  .card-body,.field-card .card-body,.auth-card .card-body{padding:1.15rem;}
  .hero-title{font-size:clamp(2.6rem,16vw,4.2rem);}
  .btn-lg,.admin-actionbar .btn,.ops-hero-actions .btn{width:100%;}
  .stepper-grid{grid-template-columns:none;display:flex;gap:.75rem;}
  .stepper-item{flex:0 0 82vw;}
  .confirm-item{padding:.85rem;}
  .quick-action-card{padding:.9rem;}
}

/* Document review / operation UX polish */
.ops-hero.compact{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(135deg,#fff 0%,#fff6f6 50%,#f2f6ff 100%);border:1px solid rgba(230,0,35,.12);border-radius:24px;padding:1.5rem;box-shadow:0 14px 36px rgba(15,23,42,.07)}
.eyebrow{font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#e60023;margin-bottom:.25rem}.fw-black{font-weight:900}.work-tile{display:block;background:#fff;border-radius:20px;padding:1.1rem;border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.06);color:#111827;transition:.18s}.work-tile:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.12);color:#e60023}.work-count{font-size:2rem;line-height:1;font-weight:900}.queue-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 0;border-bottom:1px solid rgba(15,23,42,.08)}.queue-row:last-child{border-bottom:0}.table-scroll{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}.document-review-card{background:#fff;border-radius:22px;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 30px rgba(15,23,42,.07);overflow:hidden}.document-preview{height:250px;background:#f3f4f6;display:grid;place-items:center;border-bottom:1px solid rgba(15,23,42,.08);overflow:hidden}.document-preview img{width:100%;height:100%;object-fit:contain}.document-preview iframe{width:100%;height:100%;border:0;background:#fff}.doc-file-icon{font-size:3rem;color:#64748b}.document-review-form .form-select{border-radius:12px}.document-mini-card{border:1px solid rgba(15,23,42,.08);background:#fafafa;border-radius:18px;padding:1rem;height:100%}.customer-doc-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;border:1px solid rgba(15,23,42,.08);border-radius:18px;margin-bottom:.75rem;background:#fff}.empty-state{padding:1.25rem;border:1px dashed rgba(15,23,42,.25);border-radius:18px;color:#64748b;text-align:center;background:#fafafa}@media (max-width:767.98px){.ops-hero.compact{display:block;padding:1.1rem}.ops-hero.compact .btn{width:100%;margin-top:1rem}.document-preview{height:210px}.customer-doc-row{display:block}.customer-doc-row .badge{margin-top:.65rem}.work-count{font-size:1.55rem}}

/* v4 operations polish: prevent raw DB columns 月額 breaking screens */
.module-head,
.ops-hero.compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.4rem;
  border-radius: 26px;
  background: linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
}
.fw-black { font-weight: 900; }
.table-toolbar { display:flex; justify-content:space-between; gap:1rem; align-items:center; flex-wrap:wrap; background:#fff; }
.table-scroll-x,
.table-scroll,
.table-responsive {
  width: 100%;
  overflow-x: auto !important;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}
.table-scroll-x::after { content: ""; display:block; height:1px; }
.admin-clean-table { min-width: 920px; table-layout: auto; }
.admin-clean-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
  color: #64748b;
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}
.admin-clean-table td {
  max-width: 260px;
  vertical-align: middle;
  word-break: break-word;
  overflow-wrap: anywhere;
  background: #fff;
}
.admin-clean-table tbody tr:hover td { background: #fff7f8; }
.mini-kpi {
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15,23,42,.05);
  font-weight: 800;
  color: #475569;
}
.mini-kpi-count { font-size: 1.8rem; font-weight: 900; color: var(--nn-primary); line-height: 1; }
.queue-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.75rem 0;
  border-bottom:1px solid #eef2f7;
}
.queue-row:last-child { border-bottom:0; }
.work-tile {
  display:block;
  border-radius:22px;
  padding:1.2rem;
  background:#fff;
  color:#111827;
  border:1px solid #e5e7eb;
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}
.work-tile:hover { transform: translateY(-2px); box-shadow:0 18px 40px rgba(15,23,42,.08); color:#111827; }
.work-count { font-size:2rem; font-weight:900; color:var(--nn-primary); line-height:1; margin-bottom:.25rem; }
.empty-state {
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 1.3rem;
  color: #64748b;
  background: #f8fafc;
  text-align: center;
}
.document-mini-card {
  border:1px solid #e5e7eb;
  border-radius:20px;
  padding:1rem;
  background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
@media (max-width: 991.98px) {
  .module-head,
  .ops-hero.compact { align-items: stretch; flex-direction: column; }
  .admin-clean-table { min-width: 760px; }
}
@media (max-width: 575.98px) {
  .module-head { padding: 1rem; border-radius: 18px; }
  .admin-clean-table { min-width: 680px; }
  .admin-clean-table td { max-width: 220px; }
}

/* v4 admin navigation polish */
.sidebar-brand {
  display:flex; align-items:center; gap:.75rem; color:#fff;
}
.sidebar-brand small { display:block; color:rgba(255,255,255,.62); font-size:.72rem; font-weight:700; }
.admin-menu-scroll {
  max-height: calc(100vh - 235px);
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: .25rem;
}
.admin-menu-scroll::-webkit-scrollbar { width: 6px; }
.admin-menu-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); border-radius: 999px; }
.admin-nav-label {
  color: rgba(255,255,255,.48);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 1rem .65rem .45rem;
}
.admin-nav-group a {
  min-width: 0;
}
.admin-nav-group a span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-main { min-width: 0; }
.admin-content { max-width: 100%; overflow-x: hidden; }
@media (max-width: 991.98px) {
  .admin-menu-scroll {
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    display: flex;
    gap: .75rem;
    padding-bottom: .5rem;
  }
  .admin-menu-scroll .admin-nav-label { display:none; }
  .admin-menu-scroll .admin-nav-group { display:flex; gap:.5rem; flex:0 0 auto; }
  .admin-menu-scroll .admin-nav-group a { white-space: nowrap; }
}

/* v8 operational UX: card-based pending page and safer fixed nav behavior */
.admin-filter-card{background:#fff;border:1px solid #e8ebf0;border-radius:24px;padding:1rem;box-shadow:0 16px 36px rgba(15,23,42,.055)}
.ops-mini-kpi.is-selected{outline:3px solid rgba(229,27,35,.18);border-color:rgba(229,27,35,.35)}
.application-card-list{display:grid;gap:.75rem;max-height:min(72vh,860px);overflow:auto;padding-right:.25rem;scrollbar-width:thin}
.application-operation-card{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(190px,1fr) auto;gap:1rem;align-items:center;background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid #edf0f5;border-radius:20px;padding:1rem;box-shadow:0 12px 26px rgba(15,23,42,.045)}
.application-operation-card:hover{border-color:rgba(229,27,35,.20);box-shadow:0 18px 36px rgba(15,23,42,.075)}
.app-op-main,.app-op-meta{min-width:0}.app-op-main strong{display:block;margin:.35rem 0 .1rem;font-size:1.02rem}.app-op-meta small{color:#64748b;font-weight:800}.app-op-actions{display:flex;gap:.45rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.app-op-actions form{margin:0}.small-list{display:grid;gap:.55rem}.small-list a{display:block;text-decoration:none;color:#111827;background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:.75rem}.small-list a:hover{background:#fff7f8;border-color:rgba(229,27,35,.18)}.small-list strong{display:block;font-weight:1000}.small-list span{display:block;color:#64748b;font-size:.83rem;overflow-wrap:anywhere}.admin-smart-card{background:#fff;border:1px solid #e8ebf0;border-radius:26px;padding:1.25rem;box-shadow:0 18px 42px rgba(15,23,42,.06);position:relative;overflow:hidden}.admin-smart-card::after{content:"";position:absolute;right:-42px;bottom:-42px;width:120px;height:120px;border-radius:999px;background:rgba(229,27,35,.05);pointer-events:none}.admin-smart-card>*{position:relative}.daily-checklist label a{text-decoration:none;font-weight:900;color:var(--nn-red)}
.customer-mobile-nav a,.public-mobile-cta a{-webkit-tap-highlight-color:transparent}.customer-mobile-nav a.active{cursor:default}.nav-no-jump-disabled{opacity:.92}
@media(max-width:991.98px){.application-operation-card{grid-template-columns:1fr}.app-op-actions{justify-content:flex-start}.application-card-list{max-height:none}.admin-filter-card{border-radius:20px}.ops-hero-panel{align-items:flex-start;flex-direction:column}.ops-hero-actions{width:100%}.ops-hero-actions .btn{flex:1}.admin-smart-card{border-radius:22px;padding:1rem}}

/* v9 user-centered admin polish */
:root{--nn-red:var(--nn-primary);--nn-orange:#f97316;--nn-blue:#2563eb;--nn-green:#16a34a;--nn-soft-shadow:0 22px 60px rgba(15,23,42,.08)}
.admin-v9 .admin-content{padding-bottom:7.5rem!important;}
.admin-focus-strip{display:flex;gap:.55rem;overflow-x:auto;padding:.35rem .15rem .6rem;scrollbar-width:thin;}
.admin-focus-strip a{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;border:1px solid #e7ebf3;background:#fff;color:#334155;border-radius:999px;padding:.62rem .9rem;font-weight:900;font-size:.86rem;box-shadow:0 10px 24px rgba(15,23,42,.045)}
.admin-focus-strip a:hover{background:#fff4f5;border-color:rgba(229,27,35,.25);color:var(--nn-primary);transform:translateY(-1px)}
.admin-help-dock{position:fixed;right:1.25rem;bottom:1.25rem;display:flex;gap:.5rem;z-index:1020;background:rgba(17,24,39,.84);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:.55rem;box-shadow:0 20px 60px rgba(15,23,42,.3)}
.admin-help-dock a{width:62px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;text-decoration:none;font-size:.75rem;font-weight:900;gap:.1rem;}
.admin-help-dock a i{font-size:1.15rem}.admin-help-dock a:hover{background:rgba(255,255,255,.12);color:#fff}.admin-help-dock span{display:block;font-size:.68rem}.admin-help-dock a[href="/admin/pending"]{background:var(--nn-primary)}
.ops-command-hero,.staff-command-center{position:relative;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,#141a27 0%,#20293a 56%,#e51b23 160%);color:#fff;padding:1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;box-shadow:0 26px 70px rgba(15,23,42,.18)}
.ops-command-hero:before,.staff-command-center:before{content:"";position:absolute;inset:-30% -20% auto auto;width:520px;height:520px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 58%);pointer-events:none}.ops-command-hero>*{position:relative}.ops-eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:#ffccd2;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin-bottom:.4rem}.ops-command-copy h2,.staff-command-main h2{font-size:clamp(1.75rem,3vw,3.1rem);font-weight:1000;letter-spacing:-.055em;margin:0 0 .45rem}.ops-command-copy p,.staff-command-main p{color:rgba(255,255,255,.78);margin:0;max-width:62ch;line-height:1.8}.ops-command-score,.staff-command-score{min-width:170px;border-radius:28px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:1rem;text-align:center;backdrop-filter:blur(10px)}.ops-command-score span,.staff-command-score span{display:block;color:rgba(255,255,255,.72);font-weight:900;font-size:.78rem}.ops-command-score strong,.staff-command-score strong{display:block;font-size:3rem;line-height:1;font-weight:1000}.ops-command-score small,.staff-command-score small{color:rgba(255,255,255,.72);font-weight:800}.staff-command-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}.staff-command-actions .btn-outline-light{--bs-btn-color:#fff;--bs-btn-border-color:rgba(255,255,255,.4)}
.next-action-grid,.quick-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.next-action-card,.quick-route-card{position:relative;overflow:hidden;display:block;border:1px solid #e8ebf0;background:#fff;border-radius:26px;padding:1.15rem;color:#111827;text-decoration:none;box-shadow:var(--nn-soft-shadow);min-height:148px}.next-action-card:after,.quick-route-card:after{content:"";position:absolute;right:-35px;bottom:-35px;width:110px;height:110px;border-radius:999px;background:rgba(229,27,35,.07)}.next-action-card i,.quick-route-card i{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:#fff1f2;color:var(--nn-primary);font-size:1.25rem;margin-bottom:.9rem}.next-action-card strong,.quick-route-card strong{display:block;font-size:1rem;font-weight:1000;letter-spacing:-.02em}.next-action-card span,.quick-route-card span{display:block;color:#64748b;font-size:.84rem;line-height:1.55;margin-top:.25rem}.next-action-card.primary{background:linear-gradient(135deg,#fff,#fff5f6);border-color:rgba(229,27,35,.22)}.quick-route-card.orange i{background:#fff7ed;color:var(--nn-orange)}.quick-route-card.green i{background:#f0fdf4;color:var(--nn-green)}.quick-route-card.blue i{background:#eff6ff;color:var(--nn-blue)}.next-action-card:hover,.quick-route-card:hover,.guide-card:hover{transform:translateY(-3px);color:#111827;box-shadow:0 28px 70px rgba(15,23,42,.12)}
.operation-panel{background:#fff;border:1px solid #e8ebf0;border-radius:30px;padding:1.25rem;box-shadow:var(--nn-soft-shadow)}.operation-panel.compact{padding:1.05rem}.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-title-row h3{font-size:1.05rem;font-weight:1000;letter-spacing:-.03em;margin:0}.panel-title-row p{margin:.15rem 0 0;color:#64748b;font-size:.86rem}.application-operation-card.v9{grid-template-columns:auto minmax(210px,1.2fr) minmax(170px,.9fr) auto;border-radius:24px;padding:1rem 1.1rem}.application-operation-card.v9 .app-op-status{align-self:flex-start}.application-operation-card.v9 .app-op-main span{display:block;color:#334155;font-weight:900}.application-operation-card.v9 .app-op-main small{display:block;color:#64748b;overflow-wrap:anywhere}.application-operation-card.v9 .app-op-meta strong{display:block;color:#111827;font-size:.9rem}.application-operation-card.v9 .app-op-meta span{display:block;color:#64748b;font-size:.78rem;margin-top:.2rem}.side-action-stack{display:grid;gap:1rem}.premium-list a{display:grid;gap:.12rem;border-radius:18px}.operation-note-card{border-radius:24px;border:1px dashed rgba(229,27,35,.3);background:#fff7f8;padding:1rem}.operation-note-card strong{font-weight:1000}.operation-note-card p{color:#64748b;margin:.35rem 0 .55rem}.operation-note-card a{font-weight:900}.empty-state.premium{padding:2rem;background:linear-gradient(180deg,#fff,#f8fafc)}
.journey-steps.v9{display:grid;gap:.75rem}.journey-steps.v9 .journey-step{border-radius:22px;border:1px solid #edf0f5;background:linear-gradient(180deg,#fff,#fbfcff);padding:.95rem}.queue-pill.v9{border-radius:18px;padding:.85rem 1rem;margin-bottom:.6rem;background:#f8fafc;border:1px solid #edf0f5}.guide-card{display:block;background:#fff;border:1px solid #e8ebf0;border-radius:26px;padding:1.2rem;color:#111827;text-decoration:none;box-shadow:var(--nn-soft-shadow)}.guide-card h6{font-weight:1000;margin:.9rem 0 .35rem}.guide-card p{color:#64748b;font-size:.86rem;line-height:1.65;margin:0}.smart-icon{width:48px;height:48px;border-radius:18px;background:#fff1f2;color:var(--nn-primary);display:grid;place-items:center;font-size:1.35rem}.admin-actionbar{position:sticky;top:.75rem;z-index:20}.admin-sidebar{position:relative}.admin-sidebar-inner{position:sticky;top:0}.admin-v9 .table-responsive{overflow:auto!important}.admin-v9 .table{min-width:900px}.admin-v9 pre,.admin-v9 code,.admin-v9 .text-break{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:1199.98px){.next-action-grid,.quick-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.application-operation-card.v9{grid-template-columns:1fr}.ops-command-hero,.staff-command-center{align-items:flex-start;flex-direction:column}.ops-command-score,.staff-command-score{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left}.ops-command-score strong,.staff-command-score strong{font-size:2.4rem}.admin-actionbar{position:relative;top:auto}}
@media(max-width:767.98px){.admin-v9 .admin-content{padding-bottom:6.5rem!important}.next-action-grid,.quick-route-grid{grid-template-columns:1fr}.admin-help-dock{left:.75rem;right:.75rem;bottom:.75rem;justify-content:space-around;border-radius:22px}.admin-help-dock a{width:auto;min-width:78px}.ops-command-hero,.staff-command-center{border-radius:24px;padding:1.15rem}.operation-panel{border-radius:24px;padding:1rem}.panel-title-row{flex-direction:column}.admin-focus-strip{margin-left:-.35rem;margin-right:-.35rem}.admin-actionbar-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.admin-actionbar-actions .btn:last-child{grid-column:1/-1}.staff-command-actions .btn{width:100%}.application-card-list{max-height:none}}

/* v10 Super Admin & cleaner operation UI */
.nn-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.nn-kicker{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#e11d48;text-transform:uppercase;margin-bottom:.35rem}.fw-black{font-weight:900}.nn-card{border:0;border-radius:1.5rem;box-shadow:0 18px 45px rgba(15,23,42,.08);background:#fff}.nn-action-card{display:flex;align-items:center;gap:1rem;padding:1.15rem;border-radius:1.25rem;background:#fff;box-shadow:0 14px 40px rgba(15,23,42,.08);color:#111827;min-height:120px;transition:.18s ease}.nn-action-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(225,29,72,.12);color:#111827}.nn-action-card h3{font-size:1.05rem;font-weight:900;margin:0 0 .25rem}.nn-action-card p{font-size:.88rem;color:#64748b;margin:0;line-height:1.45}.nn-action-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.nn-tone-danger{background:linear-gradient(135deg,#ef233c,#c1121f)}.nn-tone-primary{background:linear-gradient(135deg,#2563eb,#0f172a)}.nn-tone-success{background:linear-gradient(135deg,#16a34a,#065f46)}.nn-tone-dark{background:linear-gradient(135deg,#111827,#334155)}.nn-tone-info{background:linear-gradient(135deg,#06b6d4,#2563eb)}.nn-tone-warning{background:linear-gradient(135deg,#f59e0b,#ef4444)}.nn-codearea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;background:#0f172a;color:#e2e8f0}.nn-code-mini{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;background:#f1f5f9;border-radius:.85rem;padding:.65rem;word-break:break-all}.nn-table-wrap{border-radius:1rem;overflow:auto}.nn-clean-table{margin:0}.nn-clean-table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f8fafc;border-bottom:0}.nn-clean-table td{vertical-align:middle}.admin-v9 .admin-actionbar{border-radius:1.5rem}.admin-v9 .admin-menu-scroll{max-height:calc(100vh - 250px);overflow:auto;padding-right:.25rem}.admin-v9 .admin-nav-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:1rem 0 .35rem}.admin-v9 .admin-nav-group a span{white-space:nowrap}.admin-v9 .admin-focus-strip{overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.admin-v9 .admin-focus-strip a{display:inline-flex}.admin-v9 code{white-space:normal;word-break:break-word}.admin-v9 td,.admin-v9 th{max-width:360px}.admin-v9 td{word-break:break-word}.admin-help-dock a[href="#"]{pointer-events:none;opacity:.6}@media(max-width:991.98px){.nn-action-card{min-height:auto}.admin-v9 .admin-menu-scroll{display:flex;overflow-x:auto;max-height:none;gap:.75rem}.admin-v9 .admin-nav-label{display:none}.admin-v9 .admin-nav-group{display:flex;gap:.5rem;flex:0 0 auto}.admin-v9 .admin-nav-group a{min-width:max-content}.admin-help-dock{bottom:72px}}

/* v12: clearer operator UX + super admin control center */
.admin-role-chip{display:inline-flex;align-items:center;padding:.34rem .65rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;background:rgba(255,255,255,.10);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.control-hero{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.6rem;border-radius:30px;background:radial-gradient(circle at top right, rgba(239,68,68,.25), transparent 34%),linear-gradient(135deg,#111827,#2b0b13 54%,#e60023);color:#fff;box-shadow:0 24px 54px rgba(15,23,42,.18);overflow:hidden;position:relative}.control-hero h2{font-weight:1000;font-size:clamp(1.8rem,3.2vw,3rem);margin:.2rem 0 .35rem}.control-hero p{max-width:760px;color:rgba(255,255,255,.78);font-weight:700}.control-readiness{min-width:170px;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:1rem;backdrop-filter:blur(10px)}.control-readiness small,.control-readiness span{display:block;color:rgba(255,255,255,.72);font-weight:800}.control-readiness strong{display:block;font-size:2.5rem;line-height:1;font-weight:1000}.control-alert-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:1.1rem 1.2rem;box-shadow:0 16px 36px rgba(15,23,42,.055);min-height:116px}.control-alert-card span{display:block;font-weight:1000;font-size:1.03rem}.control-alert-card small{display:block;color:#64748b;font-weight:700;margin-top:.2rem}.control-alert-card strong{font-size:2.1rem;font-weight:1000;line-height:1}.control-alert-card.tone-danger strong{color:#e60023}.control-alert-card.tone-warning strong{color:#f97316}.control-alert-card.tone-info strong{color:#2563eb}.control-flow-list{display:grid;gap:.75rem}.control-flow-step{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:.85rem;text-decoration:none;color:#111827;background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:.95rem 1rem}.control-flow-step:hover{background:#fff7f8;border-color:rgba(230,0,35,.20);transform:translateY(-1px)}.control-flow-step b{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#111827;color:#fff}.control-flow-step strong{display:block;font-weight:1000}.control-flow-step span{display:block;color:#64748b;font-weight:700;font-size:.88rem}.simple-note{border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1;padding:1rem;color:#475569}.command-palette-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:4000;display:grid;place-items:start center;padding-top:9vh}.command-palette{width:min(620px,calc(100vw - 28px));background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(15,23,42,.35);overflow:hidden;border:1px solid rgba(15,23,42,.08)}.command-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;border-bottom:1px solid #e5e7eb}.command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:1rem}.command-grid a{text-decoration:none;color:#111827;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:.9rem;font-weight:900}.command-grid a:hover{background:#fff7f8;border-color:rgba(230,0,35,.25)}.admin-nav-group a.active{background:rgba(255,255,255,.16);box-shadow:inset 3px 0 0 #fff}.danger-action,[data-confirm-danger]{position:relative}@media(max-width:991.98px){.control-hero{display:block;border-radius:22px}.control-readiness{margin-top:1rem;text-align:left}.command-grid{grid-template-columns:1fr}.admin-topbar .btn[data-command-open]{display:none}}

/* v13: fix oversized admin rows/cards and make all admin pages denser/readable */
.admin-shell .row{min-height:0!important;}
.admin-shell > .row{min-height:calc(100vh - 62px)!important;}
.admin-content .row{align-items:stretch;}
.screen-map-card,.automation-card,.admin-smart-card,.ops-card,.guide-card,.nn-action-card,.quick-route-card,.next-action-card{height:auto!important;min-height:0!important;}
.screen-map-card{display:flex!important;flex-direction:column;justify-content:space-between;padding:1rem 1.05rem!important;border-radius:18px!important;box-shadow:0 10px 24px rgba(15,23,42,.045)!important;}
.screen-map-card p{line-height:1.45!important;margin-bottom:.5rem!important;font-size:.86rem!important;}
.screen-map-card strong{font-size:.98rem!important;}
.admin-smart-card,.ops-card{padding:1rem!important;border-radius:20px!important;}
.admin-smart-card .smart-icon,.guide-card .smart-icon{width:42px!important;height:42px!important;border-radius:14px!important;font-size:1.15rem!important;}
.admin-smart-card h5,.ops-card h5{font-size:1rem!important;margin-top:.75rem!important;margin-bottom:.35rem!important;}
.admin-smart-card p,.ops-card p,.guide-card p{line-height:1.45!important;margin-bottom:.7rem!important;}
.guide-card{padding:1rem!important;border-radius:20px!important;box-shadow:0 10px 26px rgba(15,23,42,.045)!important;}
.guide-card h6{margin:.65rem 0 .25rem!important;font-size:.98rem!important;}
.mini-stat{border-radius:16px!important;padding:.85rem!important;background:#f8fafc;border:1px solid #e5e7eb;}
.mini-stat span{display:block;color:#64748b;font-size:.78rem;font-weight:800;}
.mini-stat strong{display:block;font-size:1.55rem;font-weight:1000;line-height:1;color:#e60023;margin-top:.25rem;}
.beginner-hero,.glass-panel,.user-journey-hero{padding:1.35rem!important;border-radius:24px!important;}
.beginner-hero h2,.glass-panel h2,.user-journey-hero h2{font-size:clamp(1.35rem,2vw,2rem)!important;}
.admin-content{overflow-x:hidden;}
.table-responsive,.table-scroll,.table-scroll-x{max-width:100%;}
@media(max-width:1199.98px){.admin-shell > .row{min-height:0!important;}.admin-sidebar{max-height:none;}.admin-sidebar-inner{position:relative!important;top:auto!important;}}
@media(max-width:767.98px){.admin-content{padding:.95rem!important}.admin-actionbar{border-radius:18px!important}.screen-map-card,.admin-smart-card,.ops-card,.guide-card{border-radius:16px!important;padding:.9rem!important}.beginner-hero,.glass-panel,.user-journey-hero{border-radius:18px!important;padding:1rem!important}.row.g-4{--bs-gutter-y:1rem;--bs-gutter-x:1rem}.row.g-3{--bs-gutter-y:.8rem;--bs-gutter-x:.8rem}}

/* v14 payment UX */
.compact-head{padding:1.1rem 1.25rem;border-radius:22px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff;box-shadow:0 18px 40px rgba(15,23,42,.18)}
.compact-head .text-muted,.compact-head .admin-breadcrumb{color:rgba(255,255,255,.68)!important}.compact-head .btn-outline-secondary{border-color:rgba(255,255,255,.35);color:#fff}.compact-head .btn-outline-secondary:hover{background:#fff;color:#111827}
.ops-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:1.25rem;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.ops-icon{width:42px;height:42px;min-width:42px;border-radius:14px;display:grid;place-items:center;font-weight:900}.clean-list-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid rgba(15,23,42,.08)}.clean-list-row:last-child{border-bottom:0}.min-w-0{min-width:0}.admin-compact-table td,.admin-compact-table th{white-space:nowrap}.table-scroll-hint{overflow:auto}.table-scroll-hint:before{content:'横に長い場合は表の中だけスクロールできます';display:block;font-size:.78rem;color:#64748b;margin-bottom:.5rem}@media(max-width:768px){.compact-head{border-radius:18px}.ops-card{padding:1rem}.admin-compact-table{font-size:.86rem}}

/* v15: cleaner admin UI for daily operation */
.admin-body{background:#f5f7fb;color:#111827;}
.admin-topbar{min-height:56px;background:#111827;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-actionbar{padding:1rem 1.15rem!important;border-radius:20px!important;background:linear-gradient(135deg,#111827,#182033)!important;color:#fff!important;box-shadow:0 12px 28px rgba(15,23,42,.14)!important;}
.admin-actionbar h1{font-size:1.25rem!important;}
.admin-actionbar .admin-breadcrumb,.admin-actionbar .admin-breadcrumb a{color:rgba(255,255,255,.72)!important;}
.admin-actionbar-actions .btn{border-radius:999px;font-weight:800;}
.admin-sidebar{background:#111827!important;}
.admin-sidebar-inner{background:transparent!important;border:0!important;box-shadow:none!important;}
.sidebar-brand small{display:none!important;}
.admin-search{height:40px;border-radius:14px;background:#1f2937!important;border-color:#334155!important;color:#fff!important;}
.admin-nav-label{margin-top:1rem!important;margin-bottom:.35rem!important;color:#94a3b8!important;font-size:.68rem!important;}
.admin-nav-group a{min-height:42px!important;padding:.65rem .8rem!important;border-radius:14px!important;font-size:.92rem!important;gap:.65rem!important;}
.admin-nav-group a i{width:20px;text-align:center;opacity:.9;}
.admin-nav-group a.active{background:#e60023!important;color:#fff!important;box-shadow:0 10px 22px rgba(230,0,35,.22)!important;}
.admin-focus-strip{display:flex;gap:.5rem;padding:.2rem 0 .35rem!important;}
.admin-focus-strip a{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:.55rem .85rem;color:#111827;text-decoration:none;font-weight:800;font-size:.86rem;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.admin-focus-strip a:hover{border-color:#fecdd3;background:#fff7f8;color:#e60023;}
.module-head,.panel-title-row{align-items:center;}
.module-head p,.panel-title-row p{font-size:.9rem;line-height:1.45;}
.card,.operation-panel,.ops-card,.admin-smart-card,.screen-map-card,.guide-card{border:1px solid #e8edf5!important;box-shadow:0 10px 24px rgba(15,23,42,.045)!important;}
.admin-clean-table thead th{font-size:.72rem;letter-spacing:.04em;text-transform:none!important;background:#f8fafc!important;color:#64748b!important;white-space:nowrap;}
.admin-clean-table td{font-size:.92rem;vertical-align:middle;}
.admin-clean-table th,.admin-clean-table td{padding:.8rem .9rem!important;}
.table-toolbar{padding:.85rem 1rem!important;}
.badge{border-radius:999px;padding:.4rem .6rem;font-weight:800;}
.empty-state{padding:2rem;text-align:center;color:#64748b;background:#f8fafc;border-radius:16px;}
.ops-command-hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:linear-gradient(135deg,#111827,#1f2937)!important;color:#fff!important;border-radius:24px!important;padding:1.25rem!important;box-shadow:0 16px 34px rgba(15,23,42,.14)!important;}
.ops-command-hero h2{font-size:clamp(1.35rem,2.2vw,2.1rem)!important;margin-bottom:.25rem!important;}
.ops-command-hero p{max-width:780px;color:rgba(255,255,255,.72)!important;margin-bottom:0!important;font-weight:600!important;}
.ops-eyebrow{display:inline-flex;color:#fecdd3!important;font-weight:900;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;}
.ops-command-score{min-width:132px;text-align:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:.85rem;}
.ops-command-score strong{display:block;font-size:2.25rem;line-height:1;font-weight:1000;}
.next-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;}
.next-action-card{min-height:0!important;padding:1rem!important;border-radius:18px!important;background:#fff!important;border:1px solid #e8edf5!important;color:#111827!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(15,23,42,.04)!important;}
.next-action-card i{font-size:1.25rem;color:#e60023;}
.next-action-card strong{display:block;margin-top:.45rem;font-weight:1000;}
.next-action-card span{display:block;color:#64748b;font-size:.86rem;line-height:1.35;margin-top:.2rem;}
.next-action-card.primary{background:#fff7f8!important;border-color:#fecdd3!important;}
.ops-mini-kpi{padding:.9rem!important;border-radius:18px!important;background:#fff;border:1px solid #e8edf5;box-shadow:0 8px 18px rgba(15,23,42,.035)}
.ops-mini-kpi span,.ops-mini-kpi small{font-size:.78rem!important;color:#64748b!important;}
.ops-mini-kpi strong{font-size:1.6rem!important;line-height:1!important;}
.admin-filter-card{background:#fff;border:1px solid #e8edf5;border-radius:20px;padding:1rem;box-shadow:0 8px 20px rgba(15,23,42,.035)}
.admin-help-dock{right:20px!important;bottom:20px!important;display:flex;gap:.5rem;background:#111827;border-radius:999px;padding:.45rem;box-shadow:0 16px 34px rgba(15,23,42,.22)}
.admin-help-dock a{width:auto!important;min-width:52px;height:42px!important;padding:0 .65rem!important;border-radius:999px!important;background:transparent!important;color:#fff!important;font-size:.75rem!important;text-decoration:none!important;display:flex!important;align-items:center;gap:.35rem;justify-content:center;}
.admin-help-dock a:hover{background:#e60023!important;}
.admin-help-dock i{font-size:1rem;}
.admin-help-dock span{display:inline!important;}
.text-break,td,th{overflow-wrap:anywhere;}
@media(max-width:1199.98px){.next-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-help-dock span{display:none!important}.admin-help-dock a{min-width:42px!important;width:42px!important;padding:0!important}}
@media(max-width:767.98px){.admin-topbar .container-fluid{padding:.6rem .9rem}.admin-topbar .language-switcher,.admin-topbar .btn[href="/"]{display:none!important}.admin-actionbar{padding:.9rem!important}.admin-actionbar-actions{display:none!important}.next-action-grid{grid-template-columns:1fr}.ops-command-hero{display:block}.ops-command-score{text-align:left;margin-top:.9rem}.admin-focus-strip a span{display:none}.admin-focus-strip a{width:42px;height:42px;justify-content:center;padding:0!important}.admin-clean-table th,.admin-clean-table td{padding:.7rem!important}.admin-help-dock{left:50%;right:auto!important;transform:translateX(-50%);bottom:12px!important}}

/* v16: user-first UX polish ------------------------------------------------ */
:root{--nn-page-max:1280px;--nn-sidebar-w:280px;--nn-admin-bg:#f4f6fb;--nn-card-border:#e7ebf3;--nn-soft-blue:#eff6ff;--nn-soft-red:#fff1f3;--nn-text-strong:#101828;}
body{overflow-x:hidden;}
.admin-body{background:var(--nn-admin-bg)!important;}
.admin-shell{max-width:100%!important;}
.admin-sidebar{width:var(--nn-sidebar-w);max-width:var(--nn-sidebar-w);flex:0 0 var(--nn-sidebar-w);}
.admin-main{min-width:0;flex:1 1 auto;}
.admin-sidebar-inner{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow-y:auto;overflow-x:hidden;border-radius:24px;background:linear-gradient(180deg,#121826,#0b1020);padding:1rem;box-shadow:0 18px 46px rgba(15,23,42,.20);}
.sidebar-brand strong{letter-spacing:-.02em}.sidebar-brand small{display:block;color:rgba(255,255,255,.56);font-size:.76rem;margin-top:.1rem}.admin-search{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}.admin-search::placeholder{color:rgba(255,255,255,.48)}
.admin-menu-section{border:1px solid rgba(255,255,255,.08);border-radius:16px;margin-bottom:.65rem;background:rgba(255,255,255,.035);overflow:hidden}.admin-menu-section summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.82);font-size:.78rem;font-weight:900;letter-spacing:.02em;padding:.72rem .82rem}.admin-menu-section summary::-webkit-details-marker{display:none}.admin-menu-section summary i{transition:.2s ease}.admin-menu-section[open] summary i{transform:rotate(180deg)}.admin-menu-section .admin-nav-group{padding:0 .55rem .6rem;display:grid;gap:.22rem}.admin-menu-section .admin-nav-group a{border-radius:12px;min-height:40px;padding:.56rem .66rem!important;color:rgba(255,255,255,.76)!important;background:transparent!important;border:0!important;box-shadow:none!important;display:flex;align-items:center;gap:.65rem}.admin-menu-section .admin-nav-group a i{width:20px;text-align:center;opacity:.88}.admin-menu-section .admin-nav-group a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-menu-section .admin-nav-group a:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}.admin-menu-section .admin-nav-group a.active{background:#fff!important;color:#101828!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important}.admin-nav-label{display:none!important}.admin-topbar{box-shadow:0 10px 28px rgba(15,23,42,.10)}.admin-role-chip{border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:.38rem .75rem;color:#fff;font-weight:900;text-transform:none}.admin-content{max-width:var(--nn-page-max);margin:0 auto;width:100%;}.admin-actionbar{border-radius:24px!important;background:linear-gradient(135deg,#111827,#1f2937)!important;color:#fff!important;box-shadow:0 18px 44px rgba(15,23,42,.14)!important}.admin-breadcrumb a,.admin-breadcrumb span{color:rgba(255,255,255,.72)!important}.admin-actionbar h1{color:#fff!important;font-weight:1000!important;letter-spacing:-.035em}.admin-focus-strip{background:#fff;border:1px solid var(--nn-card-border);border-radius:20px;padding:.45rem;box-shadow:0 12px 32px rgba(15,23,42,.055);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.admin-focus-strip a{color:#344054!important;background:#f8fafc;border:1px solid #edf0f5;border-radius:15px;padding:.65rem .85rem!important;font-weight:900;text-decoration:none}.admin-focus-strip a:hover{background:var(--nn-soft-red);border-color:rgba(229,27,35,.18);color:var(--nn-primary)!important}
.operation-panel,.card,.guide-card,.quick-route-card,.next-action-card,.ops-mini-kpi,.application-operation-card,.control-alert-card,.control-flow-step,.mypage-hero-card,.mypage-summary-card,.quick-action-card{border:1px solid var(--nn-card-border)!important;box-shadow:0 14px 34px rgba(15,23,42,.055)!important}.operation-panel{background:#fff;border-radius:24px;padding:1.15rem}.panel-title-row h3{font-size:1.05rem!important;font-weight:1000!important;letter-spacing:-.025em}.panel-title-row p{font-size:.88rem!important;margin-bottom:0!important;color:#667085!important}.guide-card,.quick-route-card,.next-action-card{transition:.18s ease;min-height:unset!important}.guide-card:hover,.quick-route-card:hover,.next-action-card:hover,.control-flow-step:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.095)!important}.ops-command-hero,.staff-command-center{background:radial-gradient(circle at 95% 10%,rgba(229,27,35,.30),transparent 30%),linear-gradient(135deg,#101828,#1d2939)!important;border-radius:24px!important;padding:1.35rem!important;min-height:unset!important}.ops-command-copy h2,.staff-command-main h2{font-size:clamp(1.55rem,2.6vw,2.65rem)!important}.ops-command-copy p,.staff-command-main p{font-size:.96rem!important}.ops-command-score,.staff-command-score{min-width:150px!important;border-radius:22px!important}.next-action-grid,.quick-route-grid{gap:.9rem!important}.next-action-card,.quick-route-card{padding:1rem!important;border-radius:20px!important}.next-action-card i,.quick-route-card i{font-size:1.55rem!important}.application-operation-card.v9{border-radius:20px!important;padding:.9rem!important;gap:.9rem!important}.application-card-list{gap:.75rem!important}.app-op-main strong{font-size:.98rem}.app-op-main span,.app-op-meta strong{font-size:.88rem}.app-op-main small,.app-op-meta span,.app-op-meta small{font-size:.78rem}.app-op-actions{gap:.45rem}.app-op-actions .btn{padding:.46rem .72rem!important;font-size:.78rem}.small-list.premium-list a{border-radius:16px!important;padding:.75rem!important}.empty-state{border-radius:18px;background:#f8fafc;border:1px dashed #ccd5e1;color:#667085;font-weight:800;text-align:center}.admin-filter-card{border-radius:22px;background:#fff;border:1px solid var(--nn-card-border);box-shadow:0 12px 30px rgba(15,23,42,.05);padding:1rem}.table-responsive{border-radius:18px;border:1px solid var(--nn-card-border);background:#fff}.table{margin-bottom:0}.table thead th{background:#f8fafc;color:#475467;font-size:.78rem;text-transform:none;letter-spacing:.02em;border-bottom:1px solid #e5e7eb}.table td{vertical-align:middle}.badge{font-weight:900;border-radius:999px;padding:.45rem .7rem}.admin-help-dock{box-shadow:0 14px 36px rgba(15,23,42,.16)!important}.admin-help-dock a{font-size:.78rem}.admin-help-dock a span{font-weight:900}.command-palette-backdrop[hidden]{display:none!important}.command-palette-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:9999;display:grid;place-items:start center;padding-top:9vh}.command-palette{width:min(640px,calc(100vw - 24px));background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:hidden;border:1px solid rgba(15,23,42,.08)}.command-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;border-bottom:1px solid #edf0f5}.command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1rem}.command-grid a{display:flex;align-items:center;gap:.45rem;text-decoration:none;color:#101828;background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:.95rem;font-weight:900}.command-grid a:hover{background:var(--nn-soft-red);border-color:rgba(229,27,35,.18);color:var(--nn-primary)}
/* Public UI: cleaner product journey */
.nn-main-nav .navbar-brand span:last-child{letter-spacing:-.02em}.hero .btn,.public-mobile-cta .btn{box-shadow:0 10px 22px rgba(229,27,35,.20)}.product-card,.plan-card,.choice-card{transition:.18s ease}.product-card:hover,.plan-card:hover,.choice-card:hover{transform:translateY(-2px)}.apply-step-header,.apply-progress,.stepper{overflow-x:auto;scrollbar-width:thin}.apply-step-header a,.apply-step-header span{white-space:nowrap}.form-control,.form-select{font-size:1rem}.form-text{color:#667085;font-weight:600}.public-mobile-cta{backdrop-filter:blur(12px)}
/* Customer UI */
.customer-shell,.mypage-shell{background:#f5f7fb}.mypage-hero-card,.mypage-summary-card{border-radius:26px!important}.quick-action-card{border-radius:18px!important;background:#fff;color:#101828;text-decoration:none;padding:1rem;display:block;height:100%}.quick-action-card .icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--nn-soft-red);color:var(--nn-primary);margin-bottom:.7rem}.summary-pair{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #edf0f5}.summary-pair:last-child{border-bottom:0}.soft-row{background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:.8rem;overflow-wrap:anywhere}
/* Text safety: never let values break layout */
td,th,.card,.operation-panel,.application-operation-card,.small-list a,.soft-row,.form-control,.form-select{overflow-wrap:anywhere;word-break:break-word}.json,pre,code,.setup-command{max-width:100%;overflow:auto;border-radius:14px}.visually-technical{display:none!important}
@media(max-width:1199.98px){.admin-sidebar{width:100%;max-width:100%;flex:0 0 100%;}.admin-sidebar-inner{position:relative;top:auto;max-height:none}.admin-menu-scroll.admin-nav-v16{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.3rem}.admin-menu-section{min-width:230px}.admin-menu-section:not([open]){height:auto}.admin-content{max-width:100%}}
@media(max-width:767.98px){.admin-topbar .container-fluid{gap:.5rem}.admin-topbar .brand-mark+span{display:none}.admin-role-chip{font-size:.75rem;padding:.32rem .55rem}.admin-content{padding:1rem!important;padding-bottom:6.5rem!important}.admin-actionbar{border-radius:20px!important;padding:1rem!important}.admin-actionbar-actions{display:none!important}.ops-command-hero,.staff-command-center{border-radius:20px!important;padding:1rem!important}.ops-command-score,.staff-command-score{width:100%;margin-top:.8rem}.operation-panel{border-radius:20px;padding:.95rem}.next-action-grid,.quick-route-grid{grid-template-columns:1fr!important}.command-grid{grid-template-columns:1fr}.admin-help-dock{left:.8rem!important;right:.8rem!important;bottom:.8rem!important;transform:none!important;border-radius:20px}.admin-help-dock a{min-width:auto;flex:1}.admin-help-dock a span{font-size:.7rem}.application-operation-card.v9{display:block}.app-op-status,.app-op-main,.app-op-meta,.app-op-actions{margin-bottom:.65rem}.app-op-actions{display:grid;grid-template-columns:1fr 1fr}.public-mobile-cta{left:.8rem;right:.8rem;bottom:.8rem;border-radius:20px}.section{padding:46px 0}.hero-title{font-size:clamp(2.35rem,14vw,4rem)}}

/* v17: full admin UX reset - simple, compact, staff-first */
body.ops-redesign{background:#f4f6fa!important;color:#111827!important;padding:0!important;}
body.ops-redesign .ops-layout{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);}
body.ops-redesign .ops-sidebar{background:#121826;color:#fff;padding:18px;position:sticky;top:0;height:100vh;overflow:auto;box-shadow:12px 0 34px rgba(15,23,42,.12);}
body.ops-redesign .ops-brand{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;}
body.ops-redesign .ops-brand-link{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.04rem;font-weight:950;}
body.ops-redesign .ops-brand small{color:#94a3b8;font-weight:800;margin-left:48px;margin-top:-6px;}
body.ops-redesign .ops-search{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:0 10px;margin:14px 0 16px;}
body.ops-redesign .ops-search i{color:#94a3b8;}
body.ops-redesign .ops-search input{min-height:40px;width:100%;background:transparent;border:0;outline:0;color:#fff;font-weight:800;}
body.ops-redesign .ops-search input::placeholder{color:#94a3b8;}
body.ops-redesign .ops-primary-nav{display:grid;gap:6px;margin-bottom:14px;}
body.ops-redesign .ops-primary-nav a,
body.ops-redesign .ops-secondary-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;color:#cbd5e1;text-decoration:none;font-weight:850;line-height:1.1;}
body.ops-redesign .ops-primary-nav a i,
body.ops-redesign .ops-secondary-nav a i{font-size:1rem;width:20px;text-align:center;}
body.ops-redesign .ops-primary-nav a.active,
body.ops-redesign .ops-primary-nav a:hover,
body.ops-redesign .ops-secondary-nav a.active,
body.ops-redesign .ops-secondary-nav a:hover{background:#e60023;color:#fff;box-shadow:0 12px 26px rgba(230,0,35,.22);}
body.ops-redesign .ops-secondary-nav{border-top:1px solid rgba(255,255,255,.10);padding-top:10px;}
body.ops-redesign .ops-secondary-nav details{border-radius:14px;margin-bottom:4px;}
body.ops-redesign .ops-secondary-nav summary{list-style:none;display:flex;align-items:center;justify-content:space-between;color:#94a3b8;font-size:.8rem;font-weight:950;letter-spacing:.04em;padding:10px 8px;cursor:pointer;}
body.ops-redesign .ops-secondary-nav summary::-webkit-details-marker{display:none;}
body.ops-redesign .ops-secondary-nav details[open] summary i{transform:rotate(180deg);}
body.ops-redesign .ops-secondary-nav details>div{display:grid;gap:3px;padding-bottom:6px;}
body.ops-redesign .ops-secondary-nav a{font-size:.9rem;padding:9px 10px;}
body.ops-redesign .ops-logout{margin-top:16px;}
body.ops-redesign .ops-main{min-width:0;padding-bottom:88px;}
body.ops-redesign .ops-header{position:sticky;top:0;z-index:1010;background:rgba(244,246,250,.92);backdrop-filter:blur(16px);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px;}
body.ops-redesign .ops-header h1{font-size:1.35rem;font-weight:1000;letter-spacing:-.035em;margin:0;}
body.ops-redesign .ops-breadcrumb{display:flex;gap:6px;align-items:center;color:#667085;font-weight:850;font-size:.78rem;margin-bottom:2px;}
body.ops-redesign .ops-breadcrumb a{color:#475467;}
body.ops-redesign .ops-header-actions{display:flex;align-items:center;gap:8px;}
body.ops-redesign .ops-role{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid #e5e7eb;padding:6px 10px;font-weight:950;font-size:.78rem;color:#475467;}
body.ops-redesign .ops-page{padding:24px 26px;max-width:1320px;margin:0 auto;}
body.ops-redesign .ops-mobile-tabs{display:none;}
body.ops-redesign .ops-bottom-nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:1030;background:#111827;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 48px rgba(15,23,42,.26);border-radius:999px;padding:6px;display:flex;gap:4px;}
body.ops-redesign .ops-bottom-nav a{display:flex;align-items:center;gap:5px;color:#fff;text-decoration:none;border-radius:999px;padding:9px 13px;font-weight:900;font-size:.78rem;}
body.ops-redesign .ops-bottom-nav a:hover{background:#e60023;}
body.ops-redesign .ops-home-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#111827,#233044);color:#fff;border-radius:24px;padding:24px;box-shadow:0 20px 48px rgba(15,23,42,.16);}
body.ops-redesign .ops-home-hero.compact{padding:20px 22px;}
body.ops-redesign .ops-home-hero span{display:block;color:#fecdd3;font-weight:950;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
body.ops-redesign .ops-home-hero h2{font-size:clamp(1.55rem,2.5vw,2.35rem);font-weight:1000;letter-spacing:-.04em;margin:0 0 6px;}
body.ops-redesign .ops-home-hero p{margin:0;color:rgba(255,255,255,.72);font-weight:700;max-width:740px;}
body.ops-redesign .ops-home-number{min-width:128px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:20px;text-align:center;padding:14px;}
body.ops-redesign .ops-home-number small{display:block;color:rgba(255,255,255,.7);font-weight:900;}
body.ops-redesign .ops-home-number strong{display:block;font-size:2.15rem;line-height:1;font-weight:1000;}
body.ops-redesign .ops-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
body.ops-redesign .ops-work-card{position:relative;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e8edf5;border-radius:20px;padding:18px;text-decoration:none;color:#111827;box-shadow:0 14px 34px rgba(15,23,42,.055);min-height:150px;}
body.ops-redesign .ops-work-card:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(15,23,42,.09);color:#111827;}
body.ops-redesign .ops-work-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#fff1f2;color:#e60023;font-size:1.25rem;}
body.ops-redesign .ops-work-copy strong{display:block;font-weight:1000;font-size:1.02rem;}
body.ops-redesign .ops-work-copy span{display:block;color:#667085;line-height:1.45;font-weight:650;font-size:.88rem;margin-top:3px;}
body.ops-redesign .ops-work-card em{position:absolute;top:14px;right:14px;min-width:30px;height:30px;display:grid;place-items:center;background:#e60023;color:#fff;border-radius:999px;font-style:normal;font-weight:1000;}
body.ops-redesign .ops-work-card.orange .ops-work-icon{background:#fff7ed;color:#f97316;}
body.ops-redesign .ops-work-card.green .ops-work-icon{background:#ecfdf3;color:#16a34a;}
body.ops-redesign .ops-work-card.blue .ops-work-icon{background:#eff6ff;color:#2563eb;}
body.ops-redesign .ops-clean-panel{background:#fff;border:1px solid #e8edf5;border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.05);}
body.ops-redesign .ops-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}
body.ops-redesign .ops-panel-head h3{font-size:1rem;font-weight:1000;margin:0;letter-spacing:-.02em;}
body.ops-redesign .ops-panel-head a{font-size:.84rem;font-weight:950;color:#e60023;}
body.ops-redesign .ops-steps-list,.ops-queue-list,.ops-side-list,.ops-application-list{display:grid;gap:8px;}
body.ops-redesign .ops-step-row{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:12px;background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:12px;color:#111827;text-decoration:none;}
body.ops-redesign .ops-step-row:hover{background:#fff7f8;color:#111827;}
body.ops-redesign .ops-step-row b{width:34px;height:34px;border-radius:12px;background:#111827;color:#fff;display:grid;place-items:center;}
body.ops-redesign .ops-step-row strong{display:block;font-weight:1000;}
body.ops-redesign .ops-step-row span{display:block;color:#667085;font-size:.86rem;font-weight:650;}
body.ops-redesign .ops-queue-list a{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:12px;text-decoration:none;color:#111827;font-weight:900;}
body.ops-redesign .ops-queue-list strong{font-size:1.3rem;color:#e60023;}
body.ops-redesign .ops-help-strip{display:flex;gap:10px;flex-wrap:wrap;}
body.ops-redesign .ops-help-strip a{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e8edf5;border-radius:999px;padding:10px 14px;font-weight:950;color:#111827;text-decoration:none;}
body.ops-redesign .ops-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
body.ops-redesign .ops-status-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:14px;text-decoration:none;color:#111827;box-shadow:0 10px 24px rgba(15,23,42,.04);}
body.ops-redesign .ops-status-card span{color:#667085;font-weight:900;font-size:.84rem;}
body.ops-redesign .ops-status-card strong{font-size:1.45rem;font-weight:1000;color:#e60023;}
body.ops-redesign .ops-status-card.active{background:#fff1f2;border-color:#fecdd3;}
body.ops-redesign .ops-filter{display:grid;grid-template-columns:1fr 220px auto;gap:10px;background:#fff;border:1px solid #e8edf5;border-radius:20px;padding:12px;box-shadow:0 10px 24px rgba(15,23,42,.04);}
body.ops-redesign .ops-filter input,body.ops-redesign .ops-filter select{border:1px solid #d8dde7;border-radius:14px;min-height:46px;padding:0 12px;font-weight:800;background:#fff;}
body.ops-redesign .ops-application-item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:13px;}
body.ops-redesign .ops-app-main strong{display:block;font-weight:1000;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.ops-redesign .ops-app-main small{display:block;color:#667085;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.ops-redesign .ops-app-sub span{display:block;color:#667085;font-weight:800;font-size:.84rem;}
body.ops-redesign .ops-app-actions{display:flex;gap:6px;align-items:center;}
body.ops-redesign .ops-app-actions form{margin:0;}
body.ops-redesign .ops-side-list a{display:block;background:#f8fafc;border:1px solid #edf0f5;border-radius:15px;padding:11px;text-decoration:none;color:#111827;}
body.ops-redesign .ops-side-list strong{display:block;font-weight:1000;}
body.ops-redesign .ops-side-list span{display:block;color:#667085;font-weight:700;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.ops-redesign .ops-empty{padding:18px;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;color:#667085;font-weight:850;}
body.ops-redesign .table-responsive{overflow:auto!important;border-radius:18px!important;}
body.ops-redesign .table td,body.ops-redesign .table th{white-space:nowrap;}
body.ops-redesign .command-palette-backdrop[hidden]{display:none!important;}
@media(max-width:1199.98px){body.ops-redesign .ops-layout{grid-template-columns:1fr;}body.ops-redesign .ops-sidebar{position:relative;height:auto;padding:12px 12px 8px;border-radius:0 0 22px 22px;}body.ops-redesign .ops-brand,body.ops-redesign .ops-search,body.ops-redesign .ops-secondary-nav,body.ops-redesign .ops-logout{display:none;}body.ops-redesign .ops-primary-nav{display:flex;gap:8px;overflow:auto;margin:0;padding-bottom:4px;}body.ops-redesign .ops-primary-nav a{white-space:nowrap;min-width:max-content;}body.ops-redesign .ops-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));}body.ops-redesign .ops-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));}body.ops-redesign .ops-filter{grid-template-columns:1fr;}body.ops-redesign .ops-application-item{grid-template-columns:1fr;}body.ops-redesign .ops-app-actions{justify-content:flex-start;}}
@media(max-width:767.98px){body.ops-redesign .ops-header{padding:14px 14px;}body.ops-redesign .ops-header-actions .btn[href="/"]{display:none;}body.ops-redesign .ops-header h1{font-size:1.12rem;}body.ops-redesign .ops-page{padding:16px 14px 92px;}body.ops-redesign .ops-home-hero{display:block;padding:18px;border-radius:20px;}body.ops-redesign .ops-home-number{text-align:left;margin-top:14px;}body.ops-redesign .ops-work-grid{grid-template-columns:1fr;}body.ops-redesign .ops-status-grid{grid-template-columns:1fr 1fr;}body.ops-redesign .ops-bottom-nav{left:10px;right:10px;bottom:10px;transform:none;border-radius:20px;justify-content:space-between;}body.ops-redesign .ops-bottom-nav a{flex:1;justify-content:center;padding:8px 4px;font-size:.72rem;}body.ops-redesign .ops-bottom-nav a span{display:block;}body.ops-redesign .ops-work-card{min-height:0;}body.ops-redesign .ops-app-actions{display:grid;grid-template-columns:1fr 1fr;}body.ops-redesign .ops-app-actions .btn{width:100%;}.command-grid{grid-template-columns:1fr!important;}}

/* v19: operator-first polish */
.ops-page-title{background:#fff;border:1px solid var(--nn-line);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow-card)}
.ops-page-title h2{font-size:1.25rem;font-weight:900;margin:0 0 4px}.ops-page-title p{margin:0;color:var(--nn-muted)}.ops-kicker{font-size:.78rem;font-weight:900;color:var(--nn-primary);letter-spacing:.08em;text-transform:uppercase}
.ops-clean-panel{background:#fff;border:1px solid var(--nn-line);border-radius:22px;padding:18px;box-shadow:var(--shadow-card)}
.ops-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.ops-panel-head h3{font-size:1rem;font-weight:900;margin:0}.ops-panel-head small{display:block;color:var(--nn-muted);margin-top:2px}.ops-panel-head a{font-weight:800;font-size:.85rem}
.ops-compact-list{display:grid;gap:10px}.ops-compact-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #edf0f5;border-radius:16px;color:var(--nn-ink);background:#fff}.ops-compact-item:hover{background:#fff7f7}.ops-compact-item div{min-width:0;flex:1}.ops-compact-item strong,.ops-compact-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-compact-item small{color:var(--nn-muted)}.ops-compact-item em{font-style:normal;font-size:.75rem;font-weight:800;color:var(--nn-muted)}.ops-avatar-mini{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--nn-primary-soft);color:var(--nn-primary);font-weight:900;flex:0 0 auto}
.ops-detail-hero{display:flex;justify-content:space-between;gap:16px;align-items:stretch;background:linear-gradient(135deg,#171b28,#2c3144);color:#fff;border-radius:26px;padding:22px;box-shadow:0 22px 42px rgba(15,23,42,.18)}.ops-detail-hero h2{font-weight:900;margin:0 0 4px}.ops-detail-hero p{margin:0;color:rgba(255,255,255,.72)}.ops-detail-score{min-width:120px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:14px;text-align:center}.ops-detail-score small{display:block;color:rgba(255,255,255,.72);font-weight:800}.ops-detail-score strong{font-size:2rem;font-weight:900}
.ops-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:14px}.ops-tabs button{border:0;background:#f4f6fa;color:#333d4f;border-radius:999px;padding:9px 15px;font-weight:900;white-space:nowrap}.ops-tabs button.active{background:var(--nn-primary);color:#fff}.ops-tab-pane{display:none}.ops-tab-pane.active{display:block}.ops-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-summary-grid>div,.ops-field-list>div{border:1px solid #edf0f5;border-radius:16px;padding:12px;background:#fff}.ops-summary-grid span,.ops-field-list span{display:block;color:var(--nn-muted);font-size:.82rem;font-weight:800}.ops-summary-grid strong,.ops-field-list strong{display:block;margin-top:3px;overflow-wrap:anywhere}.ops-field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-history-list{display:grid;gap:10px}.ops-history-list>div{border-left:4px solid var(--nn-primary);background:#fff7f8;border-radius:14px;padding:12px}.ops-history-list span{font-weight:900}.ops-history-list small{float:right;color:var(--nn-muted)}.ops-history-list p{margin:8px 0 0;color:#4b5563}.ops-sticky-action{position:sticky;top:18px}.ops-action-divider{height:1px;background:var(--nn-line);margin:12px 0}.ops-more-actions summary{cursor:pointer;font-weight:900;color:var(--nn-muted)}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:991px){.ops-detail-hero{flex-direction:column}.ops-summary-grid,.ops-field-list{grid-template-columns:1fr}.ops-sticky-action{position:static}.ops-clean-panel{padding:15px}.ops-tabs button{padding:8px 12px}}

.contract-admin-page .ops-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.contract-admin-page .ops-summary-grid>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:14px}.contract-admin-page .ops-summary-grid span{display:block;font-size:.78rem;color:#64748b;font-weight:700;margin-bottom:4px}.contract-admin-page .ops-summary-grid strong{word-break:break-word}.ops-panel-head h3{font-size:1rem;font-weight:800;margin:0}@media(max-width:768px){.contract-admin-page .ops-summary-grid{grid-template-columns:1fr}}

/* nn-contract: contract operation UI - easier daily use */
.contract-ops-nn-contract .contract-command-hero{
  display:flex;align-items:stretch;justify-content:space-between;gap:18px;
  background:linear-gradient(135deg,#101828 0%,#243044 58%,#e51b23 170%);
  color:#fff;border-radius:28px;padding:24px;box-shadow:0 24px 58px rgba(15,23,42,.18);overflow:hidden;position:relative;
}
.contract-ops-nn-contract .contract-command-hero:after{content:"";position:absolute;right:-70px;top:-80px;width:240px;height:240px;border-radius:999px;background:rgba(255,255,255,.08)}
.contract-ops-nn-contract .contract-command-hero h2{font-weight:1000;letter-spacing:-.035em;margin:0 0 5px;font-size:clamp(1.45rem,2.5vw,2.45rem)}
.contract-ops-nn-contract .contract-command-hero p{margin:0;color:rgba(255,255,255,.76);font-weight:750;overflow-wrap:anywhere}
.contract-ops-nn-contract .contract-next-action{display:flex;align-items:center;gap:7px;margin-top:14px;padding:11px 13px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);font-weight:800;max-width:860px}
.contract-ops-nn-contract .contract-next-action i{color:#fecdd3}.contract-ops-nn-contract .contract-next-action span{color:rgba(255,255,255,.9)}
.contract-ops-nn-contract .contract-hero-actions{position:relative;z-index:1;display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.contract-ops-nn-contract .contract-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.contract-ops-nn-contract .contract-kpi{background:#fff;border:1px solid #e8edf5;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.055);position:relative;overflow:hidden;min-height:116px}
.contract-ops-nn-contract .contract-kpi:after{content:"";position:absolute;right:-24px;bottom:-24px;width:82px;height:82px;border-radius:999px;background:#fff1f2}
.contract-ops-nn-contract .contract-kpi.danger:after{background:#fef3c7}.contract-ops-nn-contract .contract-kpi span{display:block;color:#667085;font-weight:950;font-size:.82rem}.contract-ops-nn-contract .contract-kpi strong{display:block;font-weight:1000;font-size:2rem;line-height:1;color:#e60023;margin:.28rem 0}.contract-ops-nn-contract .contract-kpi small{display:block;color:#94a3b8;font-weight:800;position:relative;z-index:1}
.contract-ops-nn-contract .contract-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.contract-ops-nn-contract .contract-step{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:13px;min-height:116px;position:relative}.contract-ops-nn-contract .contract-step b{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:#e5e7eb;color:#475467;margin-bottom:10px}.contract-ops-nn-contract .contract-step strong{display:block;font-weight:1000}.contract-ops-nn-contract .contract-step span{display:block;color:#667085;font-size:.84rem;font-weight:750;margin-top:3px}.contract-ops-nn-contract .contract-step.done{background:#fff7f8;border-color:#fecdd3}.contract-ops-nn-contract .contract-step.done b{background:#e60023;color:#fff}
.contract-ops-nn-contract .contract-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contract-ops-nn-contract .contract-info-grid>div{background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:12px;min-width:0}.contract-ops-nn-contract .contract-info-grid span{display:block;color:#667085;font-size:.78rem;font-weight:900;margin-bottom:3px}.contract-ops-nn-contract .contract-info-grid strong{display:block;overflow-wrap:anywhere;color:#111827}.contract-ops-nn-contract .contract-card-list{display:grid;gap:9px}.contract-ops-nn-contract .contract-mini-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;background:#fff;border:1px solid #edf0f5;border-radius:16px;padding:12px;color:#111827;text-decoration:none}.contract-ops-nn-contract .contract-mini-row:hover{background:#fff7f8;color:#111827}.contract-ops-nn-contract .contract-mini-row strong,.contract-ops-nn-contract .contract-mini-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-ops-nn-contract .contract-mini-row div>span{color:#667085;font-size:.86rem;font-weight:750;margin-top:2px}.contract-ops-nn-contract .contract-sticky-actions{position:sticky;top:92px}.contract-ops-nn-contract .contract-action-form .form-control,.contract-ops-nn-contract .contract-action-form .form-select{min-height:44px}.contract-ops-nn-contract .contract-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contract-ops-nn-contract .cancel-panel{border-color:#fecaca!important;background:linear-gradient(180deg,#fff,#fff7f7)}
@media(max-width:1199.98px){.contract-ops-nn-contract .contract-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-ops-nn-contract .contract-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-ops-nn-contract .contract-sticky-actions{position:static}}
@media(max-width:767.98px){.contract-ops-nn-contract .contract-command-hero{display:block;padding:18px;border-radius:22px}.contract-ops-nn-contract .contract-hero-actions{justify-content:flex-start;margin-top:14px}.contract-ops-nn-contract .contract-hero-actions .btn{width:100%}.contract-ops-nn-contract .contract-next-action{align-items:flex-start}.contract-ops-nn-contract .contract-kpi-grid,.contract-ops-nn-contract .contract-stepper,.contract-ops-nn-contract .contract-info-grid{grid-template-columns:1fr}.contract-ops-nn-contract .contract-mini-row{grid-template-columns:1fr}.contract-ops-nn-contract .contract-action-grid{grid-template-columns:1fr}.contract-ops-nn-contract .contract-kpi{min-height:0}}

/* nn-contract: mypage/home polish */
.mypage-body .mypage-hero-card,.mypage-body .mypage-summary-card{border-radius:28px!important;border:1px solid #e8edf5!important;box-shadow:0 18px 46px rgba(15,23,42,.07)!important;background:#fff!important}.mypage-body .mypage-hero-card{background:radial-gradient(circle at top right,rgba(229,27,35,.10),transparent 18rem),#fff!important}.mypage-body .quick-action-card{border-radius:20px!important;min-height:140px;transition:.18s}.mypage-body .quick-action-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.10)!important}.mypage-body .summary-pair{border-radius:16px;background:#f8fafc;border:1px solid #edf0f5;padding:12px;margin-bottom:8px}.mypage-body .summary-pair span{font-weight:900;color:#667085}.mypage-body .summary-pair strong{font-size:1.2rem}.mypage-body .soft-row{border-radius:16px!important;border:1px solid #edf0f5!important;background:#fff!important;padding:12px!important}

/* V29 public service page: category tabs + plan cards */
.fw-black{font-weight:950;letter-spacing:-.035em}.public-service-hero{padding:72px 0 44px;background:linear-gradient(180deg,#fff 0%,#fff 70%,#f6f7fb 100%)}.public-flow-pills{display:flex;flex-wrap:wrap;gap:.55rem}.public-flow-pills span{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #eceff5;background:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:800;color:#344054;box-shadow:0 8px 18px rgba(15,23,42,.04)}.service-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.45rem;max-width:980px;margin:0 auto 1.25rem;border-bottom:3px solid var(--nn-red)}.service-tab{border:0;background:#eef0f4;color:#111827;font-weight:900;padding:1.05rem .7rem;border-radius:12px 12px 0 0;transition:.18s ease}.service-tab.active{background:#fff;color:var(--nn-red);box-shadow:inset 0 0 0 3px var(--nn-red),0 10px 24px rgba(15,23,42,.06);border-bottom:3px solid #fff;transform:translateY(3px)}.service-panel{display:none}.service-panel.active{display:block}.service-plan-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1.55rem;box-shadow:0 14px 34px rgba(15,23,42,.06);transition:.18s ease;display:flex;flex-direction:column}.service-plan-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(15,23,42,.10);border-color:rgba(229,27,35,.2)}.service-card-top{display:flex;justify-content:center;gap:.4rem;min-height:32px;margin-bottom:.9rem}.service-type-badge,.service-mini-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:900}.service-type-badge{background:#fff0f3;color:var(--nn-red);border:1px solid rgba(229,27,35,.14)}.service-mini-badge{background:#f2f4f7;color:#475467}.service-summary{min-height:40px}.service-price strong{font-size:2.05rem;font-weight:950;letter-spacing:-.05em;color:#05070c}.service-specs{display:grid;gap:.6rem;margin-top:auto}.service-specs div{display:flex;gap:.55rem;align-items:flex-start;color:#4b5563;font-size:.88rem}.service-specs i{color:#98a2b3}.service-chip-row{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center}.service-chip-row span{background:var(--nn-red);color:#fff;border-radius:999px;padding:.3rem .65rem;font-weight:900;font-size:.72rem;line-height:1.1}.service-detail-link{font-weight:900;color:var(--nn-red);text-decoration:none}.public-admin-preview{background:#111827;border-radius:24px;padding:1rem;box-shadow:0 18px 42px rgba(15,23,42,.18);display:grid;gap:.65rem}.public-admin-preview div{display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:.9rem;color:#fff}.public-admin-preview strong{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--nn-red);color:#fff}.public-admin-preview span{font-weight:800}.public-management-note{border-radius:32px 32px 0 0}.service-panel-head .btn{white-space:nowrap}
@media (max-width: 991.98px){.service-tabs{grid-template-columns:repeat(4,180px);overflow-x:auto;justify-content:flex-start;max-width:100%;padding-top:.2rem}.service-tab{white-space:nowrap}.service-panel-head{align-items:flex-start!important;flex-direction:column}.public-service-hero{padding:52px 0 32px}.service-plan-card{padding:1.25rem}}
@media (max-width: 575.98px){.service-tabs{grid-template-columns:repeat(4,150px)}.service-tab{font-size:.82rem;padding:.9rem .55rem}.public-flow-pills span{font-size:.78rem}.service-price strong{font-size:1.85rem}}

/* =========================================================
   V34: design polish without changing existing screen flow
   - Keep original pages/layouts
   - Improve spacing, readability, buttons, cards, selection state
   ========================================================= */
:root{
  --nn-primary:#e60023;
  --nn-primary-dark:#b8001b;
  --nn-primary-soft:#fff1f3;
  --nn-ink:#172033;
  --nn-muted:#667085;
  --nn-line:#e7eaf0;
  --nn-bg:#f6f7fb;
  --nn-card:#ffffff;
  --nn-focus:0 0 0 .22rem rgba(230,0,35,.14);
  --nn-shadow:0 14px 36px rgba(15,23,42,.07);
  --nn-shadow-strong:0 22px 54px rgba(15,23,42,.11);
}
body{background:var(--nn-bg);color:var(--nn-ink);letter-spacing:.01em;}
.navbar{border-bottom:1px solid rgba(15,23,42,.06);box-shadow:0 8px 24px rgba(15,23,42,.045)!important;}
.navbar .nav-link{border-radius:999px;padding:.55rem .9rem!important;}
.navbar .nav-link:hover{background:var(--nn-primary-soft);}
.brand-mark{border-radius:13px;box-shadow:0 10px 22px rgba(230,0,35,.22);}
.section{padding-top:56px;padding-bottom:56px;}
.page-hero{background:linear-gradient(180deg,#fff 0%,#fafbff 100%)!important;}
.card,.form-card,.apply-form-card,.ops-clean-panel,.mypage-card{border:1px solid var(--nn-line)!important;border-radius:22px!important;box-shadow:var(--nn-shadow)!important;}
.card:hover{box-shadow:var(--nn-shadow-strong)!important;}
.btn{border-radius:999px;font-weight:850;letter-spacing:.01em;}
.btn-danger,.btn-primary{box-shadow:0 10px 20px rgba(230,0,35,.16);}
.btn-danger:hover,.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(230,0,35,.22);}
.btn-outline-danger:hover,.btn-outline-primary:hover{box-shadow:0 10px 20px rgba(230,0,35,.14);}
.form-control,.form-select{border-radius:14px!important;border-color:#d8dee9!important;background:#fff;}
.form-control:focus,.form-select:focus{border-color:rgba(230,0,35,.44)!important;box-shadow:var(--nn-focus)!important;}
.form-label{font-weight:850;color:#243044;margin-bottom:.42rem;}
.table{--bs-table-bg:transparent;}
.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#f8fafc;border-bottom:1px solid #e5e7eb;}
.table tbody tr{vertical-align:middle;}
.table tbody tr:hover{background:#fff8f9;}
.badge,.soft-badge,.badge-soft{font-weight:850;}
.alert{border-radius:18px!important;}

/* Public: keep original structure, make choice clear */
.choice-card,.plan-card,.selectable-card{transition:.16s ease;border-radius:20px!important;}
.choice-card:hover,.plan-card:hover,.selectable-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,23,42,.10)!important;}
.choice-card.is-selected,.plan-card.is-selected,.selectable-card.is-selected{border-color:var(--nn-primary)!important;background:linear-gradient(180deg,#fff,#fff8f9)!important;box-shadow:0 18px 42px rgba(230,0,35,.14)!important;}
.choice-check,.selected-ribbon{background:var(--nn-primary)!important;color:#fff!important;border-radius:999px!important;box-shadow:0 8px 18px rgba(230,0,35,.25)!important;}
.selected-summary,.summary-box{border-radius:20px!important;}
.selected-summary{background:#fff!important;border:1px solid #fecdd3!important;color:#991b1b!important;box-shadow:0 10px 26px rgba(230,0,35,.07);}
.price-highlight,.price-big{color:var(--nn-primary)!important;font-weight:950!important;letter-spacing:-.035em;}
.product-cover{background:linear-gradient(135deg,#fff1f3,#eef2f7)!important;}
.option-pill{border-radius:999px!important;border-color:#e5e7eb!important;background:#fff!important;box-shadow:0 6px 16px rgba(15,23,42,.04);}
.option-pill:has(input:checked){border-color:#fecdd3!important;background:#fff1f3!important;color:#991b1b;}
.apply-trust-strip span,.chip-pill{background:#fff;border:1px solid #e8edf5;border-radius:999px;padding:.48rem .78rem;font-weight:850;}

/* Admin: keep current menu, improve visibility */
.admin-body{background:#f4f6fa;}
.admin-sidebar,.ops-sidebar{box-shadow:0 18px 50px rgba(15,23,42,.16);}
.admin-nav-group a,.ops-primary-nav a,.ops-secondary-nav a{border-radius:14px!important;}
.admin-nav-group a.active,.ops-primary-nav a.active,.ops-secondary-nav a.active{background:var(--nn-primary)!important;color:#fff!important;}
.ops-header,.ops-page-title{border-radius:22px!important;border:1px solid var(--nn-line)!important;background:#fff!important;box-shadow:var(--nn-shadow)!important;}
.ops-header h1,.ops-page-title h2{letter-spacing:-.025em;}
.ops-compact-item,.ops-summary-grid>div,.ops-field-list>div{border-color:#e7eaf0!important;border-radius:16px!important;}
.ops-compact-item:hover{background:#fff5f6!important;}

/* Catalog studio: make selected product/plan obvious but not a different app */
.studio-shell{background:#f6f7fb!important;border:1px solid #e7eaf0;border-radius:24px!important;}
.studio-hero{background:linear-gradient(135deg,#1d2433,#303a4d)!important;border-radius:22px!important;}
.studio-card,.product-tile,.preview-phone,.danger-zone{border-radius:20px!important;box-shadow:var(--nn-shadow)!important;}
.product-tile.is-selected{outline:3px solid var(--nn-primary)!important;outline-offset:2px;background:#fff8f9!important;}
.select-pill{background:var(--nn-primary)!important;color:#fff!important;}
.quick-tabs .nav-link{border-radius:999px!important;font-weight:850;}
.quick-tabs .nav-link.active{background:var(--nn-primary)!important;color:#fff!important;}
.sticky-bottom-save{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.8),#fff 45%);padding-top:14px;z-index:3;}

/* Customer My Page */
.mypage-hero-card,.mypage-summary-card,.quick-action-card{border-radius:22px!important;border:1px solid var(--nn-line)!important;box-shadow:var(--nn-shadow)!important;}
.quick-action-card:hover{transform:translateY(-2px);box-shadow:var(--nn-shadow-strong)!important;}
.summary-pair,.soft-row{border-radius:16px!important;}

@media(max-width:991.98px){
  .section{padding-top:38px;padding-bottom:38px;}
  .navbar .nav-link{padding:.68rem .8rem!important;}
  .card,.form-card,.apply-form-card{border-radius:18px!important;}
  .btn-lg{padding:.82rem 1.2rem;font-size:1rem;}
}

/* =========================================================
   V35: Public application page full visual fix
   Purpose: remove broken spacing, make selection and CTA easy
   ========================================================= */
.apply-v35{background:#f5f7fb;min-height:100vh;color:#172033;}
.apply-v35-hero{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border-bottom:1px solid #e7eaf0;padding:44px 0 28px;}
.apply-v35-kicker{display:inline-flex;align-items:center;border:1px solid #fecdd3;background:#fff1f3;color:#e60023;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px;}
.apply-v35-title{font-size:clamp(30px,4vw,52px);line-height:1.05;font-weight:950;letter-spacing:-.05em;margin:0 0 10px;}
.apply-v35-lead{font-size:16px;color:#667085;margin:0;}
.apply-v35-flow{display:grid;gap:8px;background:#fff;border:1px solid #e7eaf0;border-radius:22px;padding:14px;box-shadow:0 16px 38px rgba(15,23,42,.06);}
.apply-v35-flow span{display:flex;align-items:center;gap:8px;border-radius:14px;padding:10px 12px;background:#f8fafc;font-weight:850;color:#667085;}
.apply-v35-flow span.active{background:#e60023;color:#fff;}
.apply-v35-body{padding-top:32px;padding-bottom:72px;}
.apply-v35-block{background:#fff;border:1px solid #e7eaf0;border-radius:28px;padding:24px;box-shadow:0 16px 42px rgba(15,23,42,.06);margin-bottom:22px;}
.apply-v35-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;}
.apply-v35-block-head h2{font-size:22px;font-weight:950;letter-spacing:-.03em;margin:0 0 5px;}
.apply-v35-block-head p{margin:0;color:#667085;font-size:14px;}
.apply-v35-required,.apply-v35-optional{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:950;white-space:nowrap;}
.apply-v35-required{background:#fff1f3;color:#e60023;border:1px solid #fecdd3;}
.apply-v35-optional{background:#f2f4f7;color:#475467;border:1px solid #e4e7ec;}
.apply-v35-product,.apply-v35-plan{display:block;position:relative;height:100%;cursor:pointer;background:#fff;border:2px solid #e7eaf0;border-radius:24px;overflow:hidden;transition:.18s ease;box-shadow:0 10px 26px rgba(15,23,42,.045);}
.apply-v35-product input,.apply-v35-plan input{position:absolute;opacity:0;pointer-events:none;}
.apply-v35-product:hover,.apply-v35-plan:hover{transform:translateY(-3px);border-color:#fecdd3;box-shadow:0 20px 44px rgba(15,23,42,.09);}
.apply-v35-product.is-selected,.apply-v35-plan.is-selected{border-color:#e60023;background:linear-gradient(180deg,#fff,#fff8f9);box-shadow:0 22px 52px rgba(230,0,35,.14);}
.apply-v35-selected-badge{display:none;position:absolute;top:12px;right:12px;background:#e60023;color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:950;z-index:2;box-shadow:0 10px 18px rgba(230,0,35,.25);}
.is-selected>.apply-v35-selected-badge{display:inline-flex;}
.apply-v35-product-img{height:150px;background:linear-gradient(135deg,#eef2f7,#fff1f3);overflow:hidden;display:grid;place-items:center;}
.apply-v35-product-img img{width:100%;height:100%;object-fit:cover;display:block;}
.apply-v35-product-img.no-image span{font-weight:950;color:#e60023;background:#fff;border-radius:999px;padding:10px 16px;border:1px solid #fecdd3;}
.apply-v35-product-body{padding:18px;}
.apply-v35-type{display:inline-flex;background:#fff1f3;color:#e60023;border:1px solid #fecdd3;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950;margin-bottom:10px;}
.apply-v35-product h3{font-size:20px;font-weight:950;letter-spacing:-.03em;margin:0 0 7px;}
.apply-v35-product p{color:#667085;font-size:13px;min-height:36px;margin:0 0 10px;}
.apply-v35-price strong,.apply-v35-plan-price strong{font-size:32px;line-height:1;font-weight:950;color:#e60023;letter-spacing:-.06em;}
.apply-v35-price span,.apply-v35-plan-price span{font-weight:850;margin-left:2px;}
.apply-v35-empty{border:1px dashed #cbd5e1;background:#f8fafc;color:#667085;border-radius:18px;padding:18px;text-align:center;font-weight:850;}
.apply-v35-plan{padding:20px;min-height:170px;}
.apply-v35-plan-title{font-size:19px;font-weight:950;letter-spacing:-.025em;padding-right:82px;margin-bottom:5px;}
.apply-v35-plan-meta{font-size:13px;color:#667085;margin-bottom:16px;}
.apply-v35-plan-sub{font-size:13px;color:#667085;margin-top:6px;}
.apply-v35-warning{border-radius:18px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:16px;font-weight:850;}
.apply-v35-options{display:flex;flex-wrap:wrap;gap:10px;}
.apply-v35-option{display:inline-flex;align-items:center;gap:10px;border:1px solid #e4e7ec;background:#fff;border-radius:999px;padding:12px 15px;cursor:pointer;transition:.16s ease;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.apply-v35-option input{position:absolute;opacity:0;}
.apply-v35-option .checkmark{width:18px;height:18px;border-radius:6px;border:2px solid #cbd5e1;display:inline-block;position:relative;background:#fff;}
.apply-v35-option input:checked + .checkmark{border-color:#e60023;background:#e60023;}
.apply-v35-option input:checked + .checkmark:after{content:'✓';position:absolute;inset:-3px 0 0 2px;color:#fff;font-size:13px;font-weight:950;}
.apply-v35-option:has(input:checked){border-color:#fecdd3;background:#fff1f3;color:#991b1b;}
.apply-v35-option .option-name{font-weight:850;}
.apply-v35-option strong{color:#e60023;}
.apply-v35-summary-card{position:sticky;top:92px;background:#fff;border:1px solid #e7eaf0;border-radius:30px;padding:22px;box-shadow:0 24px 60px rgba(15,23,42,.10);}
.apply-v35-summary-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef2f7;padding-bottom:14px;margin-bottom:12px;}
.apply-v35-summary-top span{font-size:18px;font-weight:950;letter-spacing:-.03em;}
.apply-v35-summary-top strong{background:#f2f4f7;color:#475467;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;}
.apply-v35-summary-line{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid #f0f2f6;}
.apply-v35-summary-line span{font-size:13px;color:#667085;font-weight:850;}
.apply-v35-summary-line strong{font-size:14px;font-weight:950;text-align:right;}
.apply-v35-total{background:linear-gradient(135deg,#fff1f3,#ffffff);border:1px solid #fecdd3;border-radius:22px;padding:16px;margin-top:16px;}
.apply-v35-total span{display:block;color:#991b1b;font-weight:900;font-size:13px;}
.apply-v35-total strong{display:block;color:#e60023;font-size:30px;font-weight:950;letter-spacing:-.05em;line-height:1.1;}
.apply-v35-total small{display:block;color:#667085;font-weight:800;margin-top:5px;}
.apply-v35-help{background:#f8fafc;border:1px solid #e7eaf0;border-radius:18px;padding:13px 14px;color:#475467;font-weight:850;margin:16px 0;}
.apply-v35-next{height:56px;font-weight:950;box-shadow:0 16px 30px rgba(230,0,35,.2)!important;}
.apply-v35-next.btn-next-disabled{opacity:.55;pointer-events:none;box-shadow:none!important;}
.apply-v35-note{font-size:12px;color:#667085;text-align:center;margin:12px 0 0;font-weight:700;}
.mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1030;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid #e7eaf0;padding:10px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 -12px 30px rgba(15,23,42,.10);}
.mobile-cta-price{flex:1;font-weight:950;color:#172033;font-size:13px;line-height:1.25;}
.mobile-sticky-cta .btn{min-width:106px;font-weight:950;}
@media (max-width:1199.98px){.apply-v35-product-img{height:132px}.apply-v35-product h3{font-size:18px}.apply-v35-price strong,.apply-v35-plan-price strong{font-size:28px}}
@media (max-width:991.98px){.apply-v35-hero{padding:32px 0 22px}.apply-v35-body{padding-top:22px;padding-bottom:96px}.apply-v35-summary-card{position:relative;top:auto}.apply-v35-flow{grid-template-columns:repeat(3,1fr)}.apply-v35-flow span{justify-content:center;font-size:12px;text-align:center}.apply-v35-block{border-radius:22px;padding:18px}.apply-v35-product-img{height:140px}}
@media (max-width:575.98px){.apply-v35-title{font-size:30px}.apply-v35-lead{font-size:14px}.apply-v35-flow{grid-template-columns:1fr}.apply-v35-block-head{align-items:flex-start}.apply-v35-product-img{height:128px}.apply-v35-options{display:grid}.apply-v35-option{border-radius:18px}.apply-v35-summary-line{grid-template-columns:70px 1fr}.apply-v35-total strong{font-size:26px}}


/* ===== V36: cleaner public application + payout management ===== */
.fw-black{font-weight:950!important}.nn-payout-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;background:linear-gradient(135deg,#fff,#fff7f8);border:1px solid #f1d7dc;border-radius:28px;padding:24px;box-shadow:0 18px 42px rgba(15,23,42,.06)}.nn-payout-hero h1{font-weight:950;letter-spacing:-.04em}.nn-payout-eyebrow{display:inline-flex;align-items:center;background:#fff1f3;color:#e60023;border:1px solid #fecdd3;border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.nn-payout-month-filter{background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:12px;min-width:260px}.nn-payout-kpi{height:100%;background:#fff;border:1px solid #e8edf5;border-radius:22px;padding:18px;box-shadow:0 12px 28px rgba(15,23,42,.045)}.nn-payout-kpi span{display:block;color:#64748b;font-size:.82rem;font-weight:850}.nn-payout-kpi strong{display:block;font-size:1.65rem;font-weight:950;letter-spacing:-.04em}.nn-payout-kpi.danger strong{color:#e60023}.nn-payout-card{border-radius:26px!important;box-shadow:0 18px 44px rgba(15,23,42,.06)!important}.nn-payout-agent-list{display:grid;gap:.7rem;max-height:620px;overflow:auto}.nn-payout-agent-row{display:flex;justify-content:space-between;gap:1rem;background:#f8fafc;border:1px solid #edf0f5;border-radius:18px;padding:13px}.nn-payout-agent-row strong,.nn-payout-agent-row b{display:block;font-weight:950}.nn-payout-agent-row small{display:block;color:#64748b;font-size:.78rem}.nn-payout-table thead th{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc}.nn-payout-table td,.nn-payout-table th{vertical-align:middle}.apply-v35{background:linear-gradient(180deg,#f7f8fb,#fff)!important}.apply-v35-hero{padding:30px 0 22px!important}.apply-v35-body{padding-top:22px!important}.apply-v35-block{padding:20px!important;margin-bottom:18px!important;border-radius:24px!important;box-shadow:0 12px 34px rgba(15,23,42,.055)!important}.apply-v35-block-head{margin-bottom:14px!important}.apply-v35-product-img{height:118px!important}.apply-v35-product-body{padding:15px!important}.apply-v35-product p{min-height:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.apply-v35-price strong,.apply-v35-plan-price strong{font-size:28px!important}.apply-v35-plan{min-height:138px!important;padding:16px!important}.apply-v35-plan-title{padding-right:72px!important}.apply-v35-options{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px!important}.apply-v35-option{border-radius:18px!important;justify-content:flex-start}.apply-v35-summary-card{top:76px!important;border-radius:24px!important;padding:18px!important}.apply-v35-total{margin-top:12px!important}.apply-v35-total strong{font-size:27px!important}.mobile-sticky-cta{box-shadow:0 -12px 30px rgba(15,23,42,.08)!important}
@media(max-width:991.98px){.nn-payout-hero{align-items:flex-start;flex-direction:column;border-radius:22px;padding:18px}.nn-payout-month-filter{width:100%}.apply-v35-flow{display:none!important}.apply-v35-summary-card{position:relative!important;top:auto!important}.apply-v35-product-img{height:132px!important}}
@media(max-width:575.98px){.apply-v35-block{padding:14px!important;border-radius:18px!important}.apply-v35-title{font-size:26px!important}.apply-v35-product-img{height:108px!important}.nn-payout-kpi strong{font-size:1.35rem}}

/* =========================================================
   V37 FINAL OVERRIDE: stable apply page and admin readability
========================================================= */
:root{--nn-red:#e91624;--nn-red-dark:#c8101d;--nn-ink:#151b2d;--nn-muted:#667085;--nn-line:#e6eaf1;--nn-soft:#f6f8fb;--nn-card:#ffffff;}
body{background:#f5f7fb;color:var(--nn-ink)}
.apply-v35{background:linear-gradient(180deg,#f5f7fb,#fff)!important;padding:32px 0 72px!important}.apply-v35-hero{padding:0!important;background:transparent!important}.apply-v35-hero .container{max-width:1180px!important;background:linear-gradient(135deg,#fff,#fff7f8);border:1px solid #f3d9de;border-radius:28px;padding:26px 28px;box-shadow:0 16px 42px rgba(15,23,42,.06)}.apply-v35-title{font-size:42px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.05em!important;margin-bottom:8px!important}.apply-v35-lead{color:var(--nn-muted)!important;font-weight:700!important}.apply-v35-flow span{border-radius:999px!important;font-weight:900!important}.apply-v35-body{max-width:1180px!important;padding-top:24px!important}.apply-v35-block{background:#fff!important;border:1px solid var(--nn-line)!important;border-radius:28px!important;padding:22px!important;margin-bottom:18px!important;box-shadow:0 16px 44px rgba(15,23,42,.06)!important}.apply-v35-block-head h2{font-size:24px!important;font-weight:950!important;letter-spacing:-.035em!important}.apply-v35-block-head p{font-weight:700!important;color:var(--nn-muted)!important}.apply-v35-required,.apply-v35-optional{border-radius:999px!important;font-weight:950!important}.apply-v35-product,.apply-v35-plan{background:#fff!important;border:2px solid #e9edf4!important;border-radius:24px!important;overflow:hidden!important;box-shadow:none!important;transition:.16s ease!important}.apply-v35-product:hover,.apply-v35-plan:hover{transform:translateY(-2px)!important;border-color:#f8a7af!important;box-shadow:0 18px 38px rgba(15,23,42,.08)!important}.apply-v35-product.is-selected,.apply-v35-plan.is-selected{border-color:var(--nn-red)!important;background:#fff7f8!important;box-shadow:0 0 0 4px rgba(233,22,36,.10),0 18px 44px rgba(233,22,36,.12)!important}.apply-v35-product input,.apply-v35-plan input{position:absolute!important;opacity:0!important;pointer-events:none!important}.apply-v35-selected-badge{display:none!important;position:absolute!important;right:12px!important;top:12px!important;z-index:5!important;background:var(--nn-red)!important;color:#fff!important;border-radius:999px!important;padding:7px 10px!important;font-size:12px!important;font-weight:950!important;box-shadow:0 10px 20px rgba(233,22,36,.22)!important}.apply-v35-product.is-selected .apply-v35-selected-badge,.apply-v35-plan.is-selected .apply-v35-selected-badge{display:inline-flex!important}.apply-v35-product-img{height:148px!important;background:#f1f5f9!important}.apply-v35-product-img img{width:100%!important;height:100%!important;object-fit:cover!important}.apply-v35-product-body{padding:17px!important}.apply-v35-type{background:#fff1f3!important;border:1px solid #fecdd3!important;color:var(--nn-red)!important;border-radius:999px!important;font-weight:950!important}.apply-v35-product h3{font-size:20px!important;font-weight:950!important;line-height:1.22!important;letter-spacing:-.035em!important}.apply-v35-product p{min-height:40px!important;color:var(--nn-muted)!important;font-size:13px!important;font-weight:700!important;line-height:1.55!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.apply-v35-price strong,.apply-v35-plan-price strong{font-size:32px!important;color:var(--nn-red)!important;font-weight:950!important;letter-spacing:-.06em!important}.apply-v35-plan{min-height:auto!important;padding:18px!important}.apply-v35-plan-title{font-size:20px!important;font-weight:950!important;letter-spacing:-.035em!important}.apply-v35-plan-meta,.apply-v35-plan-sub{color:var(--nn-muted)!important;font-weight:700!important}.apply-v35-options{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:10px!important}.apply-v35-option{border:1px solid var(--nn-line)!important;border-radius:18px!important;background:#fff!important;padding:13px 14px!important;font-weight:850!important}.apply-v35-option:has(input:checked){background:#fff7f8!important;border-color:#fecdd3!important;color:#991b1b!important}.apply-v35-summary-card{position:sticky!important;top:86px!important;background:#fff!important;border:1px solid var(--nn-line)!important;border-radius:28px!important;padding:20px!important;box-shadow:0 18px 48px rgba(15,23,42,.10)!important}.apply-v35-summary-line{grid-template-columns:80px 1fr!important}.apply-v35-total{border:1px solid #fecdd3!important;border-radius:22px!important;background:linear-gradient(135deg,#fff1f3,#fff)!important}.apply-v35-total strong{font-size:30px!important;color:var(--nn-red)!important}.apply-v35-help{border-radius:18px!important;font-size:13px!important}.apply-v35-next{height:56px!important;border-radius:999px!important;font-weight:950!important}.mobile-sticky-cta{position:fixed!important;left:0!important;right:0!important;bottom:0!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)!important;border-top:1px solid var(--nn-line)!important;box-shadow:0 -12px 30px rgba(15,23,42,.10)!important}.mobile-sticky-cta .btn{border-radius:999px!important;font-weight:950!important}.admin-main .card,.nn-payout-card{border:1px solid var(--nn-line)!important;border-radius:24px!important;box-shadow:0 14px 36px rgba(15,23,42,.055)!important}.admin-main .btn,.admin-layout .btn{border-radius:999px!important;font-weight:850!important}.admin-main table thead th{background:#f8fafc!important;color:#667085!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.04em!important;border-bottom:1px solid var(--nn-line)!important}.nn-payout-hero{border-radius:28px!important;background:linear-gradient(135deg,#fff,#fff7f8)!important}
@media(max-width:1100px){.apply-v35-summary-card{position:relative!important;top:auto!important}.apply-v35-flow{display:none!important}}
@media(max-width:991.98px){.apply-v35-hero .container{border-radius:22px!important;padding:20px!important}.apply-v35-title{font-size:30px!important}.apply-v35-body{padding-bottom:92px!important}.apply-v35-product-img{height:150px!important}}
@media(max-width:575.98px){.apply-v35-block{padding:16px!important;border-radius:22px!important}.apply-v35-product-img{height:138px!important}.apply-v35-price strong,.apply-v35-plan-price strong{font-size:28px!important}body.has-mobile-cta{padding-bottom:78px!important}}

/* Review flow visibility fix */
.review-step-box{display:grid;gap:8px}.review-step{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;align-items:center;border:1px solid #e6eaf2;border-radius:16px;padding:10px 12px;background:#fff}.review-step b{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;color:#64748b}.review-step span{font-weight:900;color:#111827}.review-step small{color:#64748b}.review-step.is-current{border-color:var(--nn-primary);box-shadow:0 10px 24px rgba(238,0,45,.12);background:#fff7f8}.review-step.is-current b{background:var(--nn-primary);color:#fff}.review-step.is-done{background:#f0fdf4;border-color:#bbf7d0}.review-step.is-done b{background:#16a34a;color:#fff}

/* =========================================================
   V41: easier admin UI, visible review steps, clearer actions
========================================================= */
body.ops-redesign{background:#f3f6fb!important;color:#121827!important;}
body.ops-redesign .ops-layout{grid-template-columns:250px minmax(0,1fr)!important;}
body.ops-redesign .ops-sidebar{background:linear-gradient(180deg,#111827,#0b1220)!important;padding:16px!important;}
body.ops-redesign .ops-main{padding-bottom:96px!important;}
body.ops-redesign .ops-header{max-width:1180px;margin:0 auto 14px!important;padding:20px 20px 0!important;}
body.ops-redesign .ops-header h1{font-size:clamp(1.45rem,2.4vw,2rem)!important;font-weight:950!important;letter-spacing:-.04em!important;}
body.ops-redesign .ops-page{max-width:1180px!important;margin:0 auto!important;padding:0 20px 36px!important;}
body.ops-redesign .ops-primary-nav a,body.ops-redesign .ops-secondary-nav a{border-radius:14px!important;min-height:42px!important;}
body.ops-redesign .ops-primary-nav a.active,body.ops-redesign .ops-secondary-nav a.active{background:var(--nn-primary)!important;color:#fff!important;box-shadow:0 12px 26px rgba(229,27,35,.24)!important;}
body.ops-redesign .ops-clean-panel,.review-main-panel-v2,.next-action-v2{border:1px solid #e5eaf2!important;border-radius:24px!important;background:#fff!important;box-shadow:0 16px 42px rgba(15,23,42,.065)!important;}
.review-hero-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:stretch;background:linear-gradient(135deg,#111827,#20283a)!important;color:#fff;border-radius:26px;padding:22px 24px;box-shadow:0 18px 46px rgba(15,23,42,.18)}
.review-hero-v2 h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:1000;letter-spacing:-.05em;margin:0 0 4px}.review-hero-v2 p{color:rgba(255,255,255,.74);font-weight:750}.review-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);border-radius:999px;padding:6px 10px;font-weight:850;font-size:.82rem;color:#fff}.review-pill.danger{background:#fff1f2;color:#9f1239;border-color:#fecdd3}.review-hero-score-grid{display:grid;grid-template-columns:repeat(3,94px);gap:10px}.review-hero-score-grid div{display:grid;align-content:center;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:20px;min-height:88px}.review-hero-score-grid small{color:rgba(255,255,255,.70);font-weight:850}.review-hero-score-grid strong{font-size:1.55rem;font-weight:1000;line-height:1;color:#fff}
.review-progress-v2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;background:#fff;border:1px solid #e5eaf2;border-radius:22px;padding:10px;box-shadow:0 12px 34px rgba(15,23,42,.045)}.review-progress-v2 div{position:relative;display:flex;align-items:center;gap:8px;border:1px solid #edf1f6;background:#f8fafc;border-radius:16px;padding:11px 12px;color:#667085;font-weight:900}.review-progress-v2 b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e2e8f0;color:#64748b;flex:0 0 28px}.review-progress-v2 .current{background:#fff1f3;border-color:#fda4af;color:#9f1239;box-shadow:0 10px 22px rgba(229,27,35,.10)}.review-progress-v2 .current b{background:var(--nn-primary);color:#fff}.review-progress-v2 .done{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.review-progress-v2 .done b{background:#16a34a;color:#fff}
.review-main-panel-v2{padding:0!important;overflow:hidden}.review-tabs-v2{display:flex;gap:8px;overflow:auto;padding:14px;border-bottom:1px solid #edf1f6;background:#fff;position:sticky;top:0;z-index:3}.review-tabs-v2 button{display:inline-flex;align-items:center;gap:6px;border:0;background:#f4f7fb;color:#4b5563;border-radius:999px;padding:10px 14px;font-weight:950;white-space:nowrap}.review-tabs-v2 button.active{background:var(--nn-primary);color:#fff;box-shadow:0 10px 20px rgba(229,27,35,.2)}.review-tabs-v2 em{font-style:normal;background:rgba(255,255,255,.22);border-radius:999px;padding:1px 7px;font-size:.78rem}.review-tabs-v2 button:not(.active) em{background:#fff;color:#64748b}.review-main-panel-v2 .ops-tab-pane{padding:18px}.review-section-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:12px}.review-section-title h3,.review-doc-head-v2 h3{margin:0;font-size:1.1rem;font-weight:1000;letter-spacing:-.03em}.review-section-title p,.review-doc-head-v2 p{margin:4px 0 0;color:#667085;font-weight:700;font-size:.9rem}.review-section-title.compact{align-items:flex-start;display:block}.review-summary-v2>div,.review-field-list-v2>div{background:#fff;border:1px solid #e6ebf2;border-radius:18px;padding:14px!important;min-height:74px}.review-summary-v2 span,.review-field-list-v2 span{display:block;color:#667085;font-size:.78rem;font-weight:900;margin-bottom:5px}.review-summary-v2 strong,.review-field-list-v2 strong{font-size:1rem;color:#101828;overflow-wrap:anywhere}.customer-check-v2{background:#f8fafc;border:1px solid #e6ebf2;border-radius:22px;padding:16px}.customer-check-grid-v2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.customer-check-grid-v2 div{background:#fff;border:1px solid #e6ebf2;border-radius:16px;padding:11px}.customer-check-grid-v2 span{display:block;color:#667085;font-size:.75rem;font-weight:900}.customer-check-grid-v2 strong{display:block;font-weight:1000}.customer-check-grid-v2 .danger{border-color:#fecdd3;background:#fff1f2}.customer-check-grid-v2 .danger strong{color:#be123c}.review-details-v2 summary,.ops-more-actions summary{cursor:pointer;font-weight:950;color:#475467}.review-doc-head-v2{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #e6ebf2;border-radius:20px;padding:14px}.document-card-v2{height:100%;border:1px solid #e6ebf2;border-radius:20px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.04)}.document-card-v2.approved{border-color:#bbf7d0;background:#fbfffd}.document-card-v2.rejected{border-color:#fecdd3;background:#fff7f8}.document-card-head-v2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.document-card-head-v2 strong{font-weight:1000}.doc-note-v2{border:1px solid #fecdd3;background:#fff1f2;color:#9f1239;border-radius:14px;padding:9px 10px;margin-bottom:9px;font-size:.86rem;font-weight:800}.doc-review-form-v2{background:#f8fafc;border:1px solid #e6ebf2;border-radius:16px;padding:10px}.next-action-v2{padding:18px;position:sticky;top:18px}.next-action-label-v2{display:inline-flex;background:#111827;color:#fff;border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:950;margin-bottom:10px}.next-action-v2 h3{font-size:1.5rem;font-weight:1000;letter-spacing:-.04em;margin-bottom:6px}.next-action-v2 p{color:#667085;font-weight:750}.review-checklist-v2{display:grid;gap:8px}.review-checklist-v2 div{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;background:#f8fafc;border:1px solid #e6ebf2;border-radius:16px;padding:10px}.review-checklist-v2 i{font-size:1.1rem;color:#94a3b8}.review-checklist-v2 span{font-weight:950;color:#344054}.review-checklist-v2 em{font-style:normal;font-weight:950;color:#64748b}.review-checklist-v2 .current{background:#fff7e6;border-color:#fed7aa}.review-checklist-v2 .current i,.review-checklist-v2 .current span{color:#b45309}.review-checklist-v2 .done{background:#ecfdf3;border-color:#bbf7d0}.review-checklist-v2 .done i,.review-checklist-v2 .done span{color:#15803d}.review-history-v2>div{border-left:4px solid #e5e7eb;padding-left:12px;margin-bottom:12px}.review-history-v2 span{font-weight:1000}.review-history-v2 small{display:block;color:#667085;font-weight:700}.review-history-v2 p{margin:.35rem 0 0}.ops-sticky-action{position:sticky;top:18px}.module-head{background:linear-gradient(135deg,#fff,#fff7f8);border:1px solid #f4d5db;border-radius:24px;padding:18px;box-shadow:0 12px 34px rgba(15,23,42,.045)}.mini-kpi{border-radius:18px!important;background:#fff!important;border:1px solid #e6ebf2!important;box-shadow:0 10px 24px rgba(15,23,42,.04)!important}.admin-clean-table tbody tr:hover{background:#fff7f8!important}.table-toolbar{background:#fff}.ops-filter{border-radius:22px!important;padding:12px!important;background:#fff!important;border:1px solid #e6ebf2!important;box-shadow:0 10px 24px rgba(15,23,42,.035)!important}.ops-application-item{border-radius:20px!important;border:1px solid #e6ebf2!important;background:#fff!important;box-shadow:0 10px 24px rgba(15,23,42,.035)!important}.ops-application-item:hover{border-color:#fda4af!important;box-shadow:0 14px 30px rgba(229,27,35,.09)!important}.ops-home-hero{border-radius:28px!important;background:radial-gradient(circle at 92% 8%,rgba(229,27,35,.28),transparent 32%),linear-gradient(135deg,#111827,#20283a)!important}.ops-work-card{border-radius:22px!important;background:#fff!important;border:1px solid #e6ebf2!important}.ops-work-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.095)!important}.ops-status-card{border-radius:20px!important;border:1px solid #e6ebf2!important;background:#fff!important}.ops-status-card.active{border-color:var(--nn-primary)!important;background:#fff1f3!important;color:var(--nn-primary)!important}.review-layout-v2 .btn{font-weight:950!important}.alert{border-radius:18px!important}
@media(max-width:1199.98px){body.ops-redesign .ops-layout{grid-template-columns:1fr!important}.review-hero-v2{grid-template-columns:1fr}.review-hero-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-progress-v2{overflow:auto;grid-template-columns:repeat(5,minmax(150px,1fr))}.customer-check-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.next-action-v2,.ops-sticky-action{position:relative;top:auto}.review-tabs-v2{position:relative}.ops-bottom-nav{display:flex!important}}
@media(max-width:767.98px){body.ops-redesign .ops-page,body.ops-redesign .ops-header{padding-left:12px!important;padding-right:12px!important}.review-hero-v2{border-radius:22px;padding:18px}.review-hero-score-grid{grid-template-columns:1fr 1fr 1fr}.review-hero-score-grid div{min-height:70px}.review-progress-v2{padding:8px}.review-progress-v2 div{padding:9px}.review-progress-v2 span{font-size:.86rem}.review-section-title,.review-doc-head-v2{display:block}.review-doc-head-v2 .btn{width:100%;margin-top:10px}.customer-check-grid-v2{grid-template-columns:1fr}.review-summary-v2,.review-field-list-v2{grid-template-columns:1fr!important}.next-action-v2 h3{font-size:1.25rem}}

/* v42 operation usability */
.operation-step-list { list-style:none; padding:0; display:grid; gap:.75rem; }
.operation-step-list li { display:flex; gap:.8rem; align-items:flex-start; padding:.9rem 1rem; border:1px solid rgba(220,53,69,.12); border-radius:1rem; background:#fff; }
.operation-step-list li strong { min-width:5.5rem; color:#b4232c; }
.operation-step-list li span { color:#667085; font-size:.92rem; }
.ops-kpi-card:hover { transform: translateY(-2px); border-color: rgba(220,53,69,.2)!important; }

/* v45: operation/batch readability and overflow fixes */
body.ops-redesign { overflow-x: hidden; }
body.ops-redesign .ops-layout { min-width: 0; }
body.ops-redesign .ops-main,
body.ops-redesign .ops-page,
body.ops-redesign .card,
body.ops-redesign .card-body,
body.ops-redesign .row,
body.ops-redesign [class*="col-"] { min-width: 0; }
body.ops-redesign .ops-page { width: 100%; max-width: 1440px; }
body.ops-redesign .table-responsive.safe-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.ops-redesign table { min-width: 760px; }
body.ops-redesign td, body.ops-redesign th { vertical-align: middle; }
body.ops-redesign .batch-message-cell { max-width: 360px; white-space: normal; overflow-wrap: anywhere; }
.batch-hero { background: linear-gradient(135deg, #fff 0%, #fff7f7 52%, #f4f7ff 100%); }
.batch-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.batch-kpi { background:#fff; border:1px solid #e8ebf0; border-radius:22px; padding:18px; box-shadow:0 14px 34px rgba(15,23,42,.055); position:relative; overflow:hidden; }
.batch-kpi:after { content:""; position:absolute; right:-24px; bottom:-28px; width:88px; height:88px; border-radius:999px; background:rgba(229,27,35,.07); }
.batch-kpi span { display:block; color:#64748b; font-size:.82rem; font-weight:900; }
.batch-kpi strong { display:block; font-size:2.05rem; line-height:1; font-weight:1000; color:#111827; margin:.28rem 0; }
.batch-kpi small { color:#94a3b8; font-weight:800; }
.batch-kpi.danger { border-color:rgba(220,38,38,.28); background:#fff7f7; }
.batch-kpi.danger strong { color:#dc2626; }
.batch-kpi.warning { border-color:rgba(245,158,11,.32); background:#fffbeb; }
.batch-kpi.warning strong { color:#d97706; }
.batch-setup-card { background:#fff; border:1px solid #e8ebf0; border-radius:24px; padding:22px; box-shadow:0 14px 34px rgba(15,23,42,.055); min-width:0; }
.copy-box { display:flex; align-items:stretch; gap:8px; background:#f8fafc; border:1px solid #e5e7eb; border-radius:16px; padding:6px; min-width:0; }
.copy-box input { flex:1; min-width:0; border:0; background:transparent; font-size:.84rem; color:#334155; outline:0; padding:0 8px; }
.copy-box button { border:0; background:#111827; color:#fff; border-radius:12px; padding:0 12px; font-size:.8rem; font-weight:900; white-space:nowrap; }
.batch-schedule-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; }
.batch-schedule-card { border:1px solid #e8ebf0; background:#fff; border-radius:24px; padding:18px; box-shadow:0 12px 30px rgba(15,23,42,.052); display:grid; gap:14px; min-width:0; border-left:5px solid #cbd5e1; }
.batch-schedule-card.ok { border-left-color:#16a34a; }
.batch-schedule-card.ng { border-left-color:#dc2626; background:#fffafa; }
.batch-schedule-card.warn { border-left-color:#f59e0b; background:#fffbeb; }
.batch-schedule-card.run { border-left-color:#2563eb; background:#eff6ff; }
.batch-schedule-card.skip { border-left-color:#64748b; }
.batch-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; min-width:0; }
.batch-card-head strong { display:block; font-weight:1000; color:#111827; overflow-wrap:anywhere; }
.batch-card-head small { display:block; color:#64748b; font-weight:800; overflow-wrap:anywhere; }
.batch-status { display:inline-flex; align-items:center; border-radius:999px; padding:5px 9px; font-size:.74rem; font-weight:950; white-space:nowrap; background:#f1f5f9; color:#475569; }
.batch-status.ok { background:#dcfce7; color:#166534; }
.batch-status.ng { background:#fee2e2; color:#991b1b; }
.batch-status.warn { background:#fef3c7; color:#92400e; }
.batch-status.run { background:#dbeafe; color:#1d4ed8; }
.batch-schedule-card dl { display:grid; grid-template-columns:52px minmax(0,1fr); gap:8px 10px; margin:0; }
.batch-schedule-card dt { color:#64748b; font-size:.78rem; font-weight:1000; }
.batch-schedule-card dd { margin:0; color:#334155; line-height:1.6; overflow-wrap:anywhere; }
.batch-meta { display:flex; gap:8px; flex-wrap:wrap; }
.batch-meta span { display:inline-flex; border:1px solid #e5e7eb; border-radius:999px; padding:5px 9px; color:#64748b; background:#f8fafc; font-size:.76rem; font-weight:850; }
.log-card { background:#fff; }
.log-card.ng { border-color:rgba(220,38,38,.26)!important; background:#fffafa; }
@media (max-width: 1199.98px) { .batch-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .batch-schedule-grid { grid-template-columns:1fr; } }
@media (max-width: 767.98px) {
  body.ops-redesign .ops-page { padding:16px 14px 92px; }
  body.ops-redesign .ops-header { padding:14px 16px; align-items:flex-start; }
  body.ops-redesign .ops-header-actions { flex-wrap:wrap; justify-content:flex-end; }
  .batch-kpi-grid { grid-template-columns:1fr; gap:10px; }
  .batch-setup-card, .batch-schedule-card { border-radius:18px; padding:15px; }
  .copy-box { display:grid; grid-template-columns:1fr; }
  .copy-box button { min-height:38px; }
  .batch-card-head { flex-direction:column; }
  .batch-schedule-card dl { grid-template-columns:1fr; gap:4px; }
  .batch-schedule-card dt { margin-top:6px; }
  body.ops-redesign table { min-width: 680px; }
}

/* v46: batch UI full redesign - no overflow, no clipped long Japanese text */
body.ops-redesign { overflow-x: clip; }
body.ops-redesign .ops-main { width: 100%; max-width: 100%; overflow-x: clip; }
body.ops-redesign .ops-page { max-width: 1220px !important; width: min(100%, 1220px) !important; overflow-x: clip; }
.batch-section-card { overflow: hidden; }
.batch-schedule-grid { grid-template-columns: 1fr !important; }
.batch-schedule-card { display: grid; grid-template-columns: minmax(0,1fr) 180px; align-items: stretch; gap: 16px; }
.batch-schedule-card .batch-card-head,
.batch-schedule-card dl,
.batch-schedule-card .batch-meta { grid-column: 1; }
.batch-schedule-card form { grid-column: 2; grid-row: 1 / span 3; display: flex; align-items: center; justify-content: center; }
.batch-schedule-card form .btn { width: 100%; min-height: 48px; }
.batch-schedule-card dd,
.batch-schedule-card strong,
.batch-card-head small { word-break: break-word; overflow-wrap: anywhere; line-break: strict; }
.batch-job-list-v46 { display: grid; gap: 14px; }
.batch-job-card-v46 { background: #fff; border: 1px solid #e8ebf0; border-left: 6px solid #cbd5e1; border-radius: 24px; padding: 18px; box-shadow: 0 14px 32px rgba(15,23,42,.05); min-width: 0; overflow: hidden; }
.batch-job-card-v46.ok { border-left-color: #16a34a; }
.batch-job-card-v46.ng { border-left-color: #dc2626; background: #fffafa; }
.batch-job-card-v46.warn { border-left-color: #f59e0b; background: #fffbeb; }
.batch-job-card-v46.run { border-left-color: #2563eb; background: #eff6ff; }
.batch-job-card-v46.skip { border-left-color: #64748b; }
.batch-job-top-v46 { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; min-width: 0; }
.batch-job-title-v46 { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.batch-job-title-v46 h3 { margin: 0; font-size: 1rem; font-weight: 1000; color: #111827; line-height: 1.35; overflow-wrap: anywhere; }
.batch-job-title-v46 code { display: inline-block; margin-top: 4px; color: #64748b; background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 999px; padding: 3px 8px; font-size: .75rem; white-space: normal; overflow-wrap: anywhere; }
.batch-job-icon-v46 { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 14px; display: grid; place-items: center; background: #fff1f2; color: #e51b23; }
.batch-job-state-v46 { display: flex; align-items: flex-end; flex-direction: column; gap: 6px; flex: 0 0 auto; }
.batch-lock-v46 { display: inline-flex; border-radius: 999px; padding: 4px 8px; background: #fef3c7; color: #92400e; font-size: .72rem; font-weight: 900; white-space: nowrap; }
.batch-job-body-v46 { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin: 14px 0; }
.batch-job-info-v46 { background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 16px; padding: 10px 12px; min-width: 0; }
.batch-job-info-v46 span { display: block; color: #64748b; font-size: .74rem; font-weight: 950; margin-bottom: 2px; }
.batch-job-info-v46 strong { display: block; color: #111827; font-size: .86rem; line-height: 1.35; overflow-wrap: anywhere; }
.batch-job-note-v46 { display: grid; gap: 8px; }
.batch-job-note-v46 div { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 8px; align-items: start; }
.batch-job-note-v46 b { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #f1f5f9; color: #475569; min-height: 28px; font-size: .76rem; font-weight: 1000; }
.batch-job-note-v46 p { margin: 0; color: #334155; font-size: .9rem; line-height: 1.65; overflow-wrap: anywhere; word-break: break-word; }

/* v47: cross-screen overflow guards for admin and mypage surfaces */
body.ops-redesign .ops-main,
body.ops-redesign .ops-page,
body.ops-redesign .ops-header,
body.ops-redesign .ops-header > div,
body.ops-redesign .ops-header-actions,
body.ops-redesign .ops-primary-nav a,
body.ops-redesign .ops-secondary-nav a,
body.ops-redesign .ops-mobile-tabs a,
body.ops-redesign .ops-bottom-nav a,
body.ops-redesign .command-grid a,
body.ops-redesign .card,
body.ops-redesign .card-body,
body.ops-redesign .table-responsive,
body.mypage-body .mypage-main,
body.mypage-body .mypage-content,
body.mypage-body .card,
body.mypage-body .card-body,
body.mypage-body .table-responsive {
  min-width: 0;
  max-width: 100%;
}
body.ops-redesign .ops-breadcrumb,
body.ops-redesign .ops-breadcrumb span,
body.ops-redesign .ops-header h1,
body.ops-redesign .ops-role,
body.ops-redesign .ops-header-actions .btn,
body.ops-redesign .ops-primary-nav a span,
body.ops-redesign .ops-secondary-nav a span,
body.ops-redesign .ops-mobile-tabs a span,
body.ops-redesign .ops-bottom-nav a span,
body.ops-redesign .command-grid a,
body.ops-redesign .table td,
body.ops-redesign .table th,
body.ops-redesign code,
body.mypage-body .soft-row strong,
body.mypage-body .soft-row small,
body.mypage-body .summary-pair strong,
body.mypage-body .table td,
body.mypage-body .table th {
  overflow-wrap: anywhere;
  word-break: break-word;
}
body.ops-redesign .table-responsive > .table,
body.mypage-body .table-responsive > .table {
  min-width: 680px;
}
body.ops-redesign .badge,
body.mypage-body .badge {
  max-width: 100%;
  white-space: normal;
}
@media (max-width: 767.98px) {
  body.ops-redesign .ops-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
  body.ops-redesign .ops-mobile-tabs {
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
  }
  body.ops-redesign .ops-mobile-tabs a {
    min-width: 92px;
    white-space: normal;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  body.ops-redesign .ops-bottom-nav a span {
    font-size: .68rem;
    line-height: 1.2;
  }
  body.mypage-body .quick-action-card,
  body.mypage-body .summary-pair {
    min-width: 0;
  }
}
.batch-job-footer-v46 { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid #eef2f7; margin-top: 14px; padding-top: 14px; }
.batch-job-mini-v46 { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.batch-job-mini-v46 span { display: inline-flex; border: 1px solid #e5e7eb; border-radius: 999px; padding: 5px 9px; background: #fff; color: #64748b; font-size: .76rem; font-weight: 850; }
@media (max-width: 991.98px) {
  .batch-schedule-card { grid-template-columns: 1fr; }
  .batch-schedule-card form { grid-column: 1; grid-row: auto; justify-content: stretch; }
  .batch-job-body-v46 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .batch-job-footer-v46 { align-items: stretch; flex-direction: column; }
  .batch-job-footer-v46 form .btn { width: 100%; }
}
@media (max-width: 575.98px) {
  .batch-job-card-v46 { border-radius: 18px; padding: 14px; }
  .batch-job-top-v46 { flex-direction: column; }
  .batch-job-state-v46 { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .batch-job-body-v46 { grid-template-columns: 1fr; }
  .batch-job-note-v46 div { grid-template-columns: 1fr; }
  .batch-job-note-v46 b { justify-content: flex-start; padding: 0 10px; width: fit-content; }
  .batch-schedule-card { border-radius: 18px; padding: 14px; }
}

/* =========================================================
   Network TeamConnect Final Red Operation UI
   Purpose: 赤白ベース + 管理しやすい業務画面
========================================================= */
:root{
  --tc-red:#e60023;
  --tc-red-dark:#990016;
  --tc-red-soft:#fff1f3;
  --tc-ink:#151a28;
  --tc-muted:#667085;
  --tc-line:#e7e9ef;
  --tc-bg:#f7f8fb;
  --tc-card:#ffffff;
  --tc-shadow:0 18px 45px rgba(15,23,42,.08);
  --tc-radius:24px;
}
body{background:var(--tc-bg);color:var(--tc-ink)}
.brand-mark{background:linear-gradient(135deg,var(--tc-red),#ff6175)!important;box-shadow:0 14px 30px rgba(230,0,35,.28)!important}
.navbar.nn-main-nav{border-bottom:1px solid rgba(230,0,35,.08)}
.navbar .nav-link{font-weight:800;letter-spacing:.01em}.navbar .nav-link:hover{color:var(--tc-red)!important}
.btn-danger,.btn-primary{background:var(--tc-red)!important;border-color:var(--tc-red)!important;box-shadow:0 12px 24px rgba(230,0,35,.18)}
.btn-danger:hover,.btn-primary:hover{background:var(--tc-red-dark)!important;border-color:var(--tc-red-dark)!important;transform:translateY(-1px)}
.btn-outline-danger{color:var(--tc-red)!important;border-color:rgba(230,0,35,.45)!important}.btn-outline-danger:hover{background:var(--tc-red)!important;color:#fff!important}
.card,.tc-card,.operation-card{border:1px solid var(--tc-line)!important;border-radius:var(--tc-radius)!important;box-shadow:var(--tc-shadow)!important;background:var(--tc-card)!important}
.hero,.page-hero{background:radial-gradient(circle at right,rgba(255,135,150,.36),transparent 38%),linear-gradient(135deg,#fff 0%,#fff7f8 48%,#fff 100%)!important}
.hero-title strong,.text-danger{color:var(--tc-red)!important}.badge.text-bg-danger,.status-danger{background:var(--tc-red)!important;color:#fff!important}
.form-control,.form-select{border-radius:16px!important;border-color:#d8dde7!important}.form-control:focus,.form-select:focus{border-color:rgba(230,0,35,.55)!important;box-shadow:0 0 0 .22rem rgba(230,0,35,.12)!important}
footer{background:#111827!important;color:#fff!important}
/* Admin layout */
.admin-body{background:#f5f6fa!important}.ops-layout{min-height:100vh;background:#f5f6fa}.ops-sidebar{background:linear-gradient(180deg,#151923 0%,#1d1115 58%,#850013 100%)!important;border-right:0!important;box-shadow:18px 0 50px rgba(15,23,42,.16)}
.ops-brand{border-bottom:1px solid rgba(255,255,255,.11)!important}.ops-brand-link{color:#fff!important}.ops-brand small{color:rgba(255,255,255,.65)!important}
.ops-primary-nav a,.ops-secondary-nav a{border-radius:16px!important;color:rgba(255,255,255,.82)!important}.ops-primary-nav a:hover,.ops-secondary-nav a:hover{background:rgba(255,255,255,.1)!important;color:#fff!important}.ops-primary-nav a.active,.ops-secondary-nav a.active{background:#fff!important;color:var(--tc-red)!important;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.ops-header{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(14px);border:1px solid var(--tc-line)!important;border-radius:28px!important;box-shadow:var(--tc-shadow)!important;margin:18px!important;padding:18px 22px!important}.ops-header h1{font-weight:900;letter-spacing:-.03em}.ops-breadcrumb a{color:var(--tc-red)!important}.ops-page{padding:0 18px 90px!important}
.ops-mobile-tabs,.ops-bottom-nav{background:#fff!important;border-color:var(--tc-line)!important}.ops-mobile-tabs a.active,.ops-bottom-nav a.active,.ops-bottom-nav a:hover{color:var(--tc-red)!important}
.table{--bs-table-hover-bg:#fff1f3}.table thead th{color:#475467;background:#fafafa!important;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.alert-danger{background:#fff1f3!important;color:#9f1239!important;border:0!important}.alert-success{background:#ecfdf3!important;color:#027a48!important;border:0!important}
/* Operational components */
.tc-kpi{border-radius:24px;background:#fff;border:1px solid var(--tc-line);box-shadow:var(--tc-shadow);padding:20px}.tc-kpi .value{font-size:2rem;font-weight:900;color:var(--tc-red)}.tc-kpi .label{color:var(--tc-muted);font-weight:700}.tc-status{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.38rem .7rem;font-weight:800;font-size:.82rem}.tc-status.todo{background:#fff1f3;color:#9f1239}.tc-status.doing{background:#fffaeb;color:#b54708}.tc-status.done{background:#ecfdf3;color:#027a48}.tc-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tc-flow-step{background:#fff;border:1px solid var(--tc-line);border-radius:20px;padding:16px}.tc-flow-step b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--tc-red);color:#fff;margin-bottom:8px}
@media(max-width:991px){.ops-header{margin:10px!important;border-radius:20px!important}.ops-page{padding:0 10px 90px!important}.hero-title{font-size:clamp(2.25rem,11vw,4rem)!important}}

/* =========================================================
   v56 Photo Rich Public Redesign
   - 写真/ビジュアルを大きく使う公開サイト
   - 既存機能は維持して見せ方だけ改善
========================================================= */
:root{
  --tc-red:#e60023;
  --tc-red-2:#ff4057;
  --tc-red-dark:#a80018;
  --tc-soft:#fff3f5;
  --tc-ink:#101828;
  --tc-muted:#667085;
  --tc-line:#e8edf3;
  --tc-bg:#f7f8fb;
}
.tc-hero-photo{position:relative;overflow:hidden;padding:76px 0 64px;background:radial-gradient(circle at 82% 14%,rgba(255,96,118,.28),transparent 28rem),linear-gradient(135deg,#fff 0%,#fff6f7 48%,#fff 100%)}
.tc-hero-photo:before{content:"";position:absolute;inset:auto -12vw -28vw auto;width:55vw;height:55vw;border-radius:50%;background:rgba(230,0,35,.08);pointer-events:none}.tc-hero-photo .container{position:relative;z-index:1}.tc-hero-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(230,0,35,.14);background:#fff;border-radius:999px;padding:.55rem .9rem;color:var(--tc-red);font-weight:900;box-shadow:0 12px 28px rgba(230,0,35,.08)}.tc-hero-title{font-size:clamp(2.7rem,6vw,5.6rem);font-weight:1000;line-height:.98;letter-spacing:-.055em;color:var(--tc-ink)}.tc-hero-title span{color:var(--tc-red)}.tc-hero-lead{max-width:620px;color:#475467;font-size:1.08rem;line-height:1.9}.tc-hero-price{display:inline-grid;grid-template-columns:auto auto;align-items:end;gap:.2rem .7rem;background:#fff;border:1px solid #ffe0e5;border-radius:22px;padding:.85rem 1.1rem;box-shadow:0 18px 45px rgba(230,0,35,.1)}.tc-hero-price span{grid-column:1/-1;font-size:.8rem;font-weight:900;color:#667085;text-transform:uppercase;letter-spacing:.08em}.tc-hero-price strong{font-size:2.3rem;line-height:.9;color:var(--tc-red);font-weight:1000;letter-spacing:-.05em}.tc-hero-price small{font-weight:800;color:#475467}.tc-btn-white{background:#fff!important;border:1px solid #fff!important;color:#111827!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important}.tc-trust-row{display:flex;flex-wrap:wrap;gap:.55rem}.tc-trust-row span{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #edf0f5;background:rgba(255,255,255,.8);border-radius:999px;padding:.5rem .78rem;font-weight:850;color:#344054}.tc-trust-row i{color:var(--tc-red)}.tc-hero-photo-card{position:relative;border-radius:38px;padding:12px;background:#fff;box-shadow:0 28px 70px rgba(15,23,42,.14);border:1px solid #ffe1e6;transform:rotate(1deg)}.tc-hero-photo-card img{display:block;width:100%;border-radius:30px;aspect-ratio:14/9;object-fit:cover}.tc-floating-card{position:absolute;background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:.85rem 1rem;box-shadow:0 20px 42px rgba(15,23,42,.12);display:grid;gap:.15rem}.tc-floating-card strong{font-size:1.2rem;color:var(--tc-red);font-weight:1000}.tc-floating-card span{font-size:.82rem;color:#667085;font-weight:800}.tc-floating-card-a{left:-8px;top:11%}.tc-floating-card-b{right:-10px;bottom:12%}.tc-service-strip{padding:18px 0;background:#fff;border-top:1px solid #ffe5e8;border-bottom:1px solid #edf0f5}.tc-mini-service{display:flex;align-items:center;justify-content:center;gap:.65rem;border:1px solid #edf0f5;border-radius:18px;padding:1rem;background:linear-gradient(180deg,#fff,#fbfcff);font-weight:900;min-height:66px}.tc-mini-service i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--tc-soft);color:var(--tc-red);font-size:1.2rem}.tc-clean-section{background:linear-gradient(180deg,#f7f8fb 0%,#fff 100%)}.tc-photo-plan-card{overflow:hidden;background:#fff;border:1px solid #e8edf3;border-radius:30px;box-shadow:0 20px 55px rgba(15,23,42,.08);transition:.2s ease}.tc-photo-plan-card:hover{transform:translateY(-5px);box-shadow:0 28px 72px rgba(15,23,42,.12);border-color:rgba(230,0,35,.22)}.tc-photo-plan-img{background:#fff5f7;overflow:hidden}.tc-photo-plan-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:.25s ease}.tc-photo-plan-card:hover .tc-photo-plan-img img{transform:scale(1.035)}.tc-photo-plan-body{padding:1.35rem}.tc-card-price{display:flex;align-items:end;gap:.3rem;border-top:1px solid #eef2f7;padding-top:1rem}.tc-card-price span{font-size:.8rem;color:#98a2b3;font-weight:900;text-transform:uppercase}.tc-card-price strong{font-size:2.05rem;font-weight:1000;line-height:.9;color:#111827;letter-spacing:-.05em}.tc-card-price small{font-weight:800;color:#667085}.tc-image-frame,.tc-app-card{background:#fff;border:1px solid #e8edf3;border-radius:34px;padding:16px;box-shadow:0 22px 58px rgba(15,23,42,.08)}.tc-image-frame img,.tc-app-card img{border-radius:26px;width:100%;object-fit:cover}.tc-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tc-check-grid div{background:#fff;border:1px solid #edf0f5;border-radius:20px;padding:1rem;box-shadow:0 14px 34px rgba(15,23,42,.05)}.tc-check-grid i{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--tc-soft);color:var(--tc-red);font-size:1.2rem;margin-bottom:.65rem}.tc-check-grid strong{display:block;font-weight:950;color:#111827}.tc-check-grid span{display:block;color:#667085;font-size:.9rem;margin-top:.2rem}.tc-campaign-photo{min-height:420px;border-radius:34px;padding:2rem;display:flex;align-items:end;color:#fff;background:linear-gradient(135deg,rgba(16,24,40,.78),rgba(230,0,35,.72)),url('../img/wifi-visual.png') center/cover no-repeat;box-shadow:0 24px 62px rgba(15,23,42,.12);overflow:hidden}.tc-campaign-photo h2{max-width:560px}.tc-campaign-photo p{color:rgba(255,255,255,.78);max-width:600px}.tc-app-card{text-align:center}.tc-app-card img{max-height:260px;object-fit:cover}.tc-final-cta{background:radial-gradient(circle at right top,rgba(255,255,255,.16),transparent 22rem),linear-gradient(135deg,#151923 0%,#850013 100%)!important;border-radius:34px!important;overflow:hidden}.tc-products-hero{background:radial-gradient(circle at 78% 5%,rgba(230,0,35,.14),transparent 30rem),linear-gradient(180deg,#fff 0%,#fff8f9 72%,#f6f7fb 100%)!important}.service-plan-image{margin:-.65rem -.65rem 1rem;border-radius:18px;overflow:hidden;background:#fff5f7}.service-plan-image img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.service-plan-card{border-radius:26px!important;overflow:hidden}.service-plan-card:hover .service-plan-image img{transform:scale(1.035)}.service-plan-image img{transition:.22s ease}.public-service-hero .display-5{letter-spacing:-.05em}
/* Layout polish for all pages */
.section-heading h2{font-weight:1000;letter-spacing:-.04em}.section-heading p{color:#667085;line-height:1.85}.top-strip{background:linear-gradient(90deg,#111827,#2a1218)!important}.nn-main-nav .navbar-brand span:last-child{letter-spacing:-.02em}.public-mobile-cta{border-top:1px solid #eef2f7;background:rgba(255,255,255,.88);backdrop-filter:blur(12px)}footer{background:linear-gradient(180deg,#151923,#0b0f17)!important}.ops-sidebar{background:linear-gradient(180deg,#111827 0%,#1f1218 54%,#8c0014 100%)!important}.ops-search{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.12)!important}.ops-search input{color:#fff!important}.ops-search input::placeholder{color:rgba(255,255,255,.58)!important}.ops-header:before{content:"";display:block;width:7px;align-self:stretch;border-radius:999px;background:linear-gradient(180deg,var(--tc-red),#ff7182);margin-right:2px}.ops-header{display:flex!important;align-items:center!important}.ops-page .card,.ops-page .ops-card,.ops-page .admin-kpi-card{border-radius:26px!important}.mypage-topbar{background:linear-gradient(90deg,#111827,#8c0014)!important}.mypage-sidebar{background:linear-gradient(180deg,#141a28,#8c0014)!important}.mypage-trust-strip{background:#fff!important;border:1px solid #edf0f5!important;border-radius:18px!important;box-shadow:0 12px 28px rgba(15,23,42,.04)!important}.customer-mobile-nav{box-shadow:0 -16px 38px rgba(15,23,42,.10)}
@media(max-width:991.98px){.tc-hero-photo{padding:48px 0 42px}.tc-hero-photo-card{transform:none}.tc-floating-card{position:static;margin-top:.6rem;display:inline-grid;margin-right:.4rem}.tc-check-grid{grid-template-columns:1fr}.tc-campaign-photo{min-height:340px}.tc-service-strip .row{--bs-gutter-x:.65rem;--bs-gutter-y:.65rem}.tc-mini-service{font-size:.9rem;padding:.75rem}.tc-hero-title{font-size:clamp(2.4rem,12vw,4rem)}}
@media(max-width:575.98px){.tc-hero-photo{padding-top:36px}.tc-hero-lead{font-size:.98rem}.tc-hero-price{width:100%}.tc-photo-plan-body{padding:1.05rem}.tc-check-grid div{padding:.9rem}.tc-campaign-photo{border-radius:24px;padding:1.25rem}.tc-app-card,.tc-image-frame,.tc-photo-plan-card{border-radius:24px}.section{padding:54px 0}.tc-hero-title{letter-spacing:-.045em}}

/* v56 full visual/operation cleanup */
:root{--tc-red:#e60023;--tc-red-dark:#b8001c;--tc-ink:#101828;--tc-muted:#667085;--tc-soft:#fff0f3;--tc-blue:#1f56c5;--tc-orange:#ff9b44;}
.brand-mark{width:42px!important;height:42px!important;border-radius:14px!important;display:inline-grid!important;place-items:center!important;font-size:.78rem!important;font-weight:1000!important;letter-spacing:-.04em!important;background:linear-gradient(135deg,var(--tc-red),#ff6175)!important;color:#fff!important;box-shadow:0 14px 30px rgba(230,0,35,.28)!important;flex:0 0 auto;}
.nn-main-nav{border-bottom:1px solid rgba(16,24,40,.06)!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);}
.nn-main-nav .nav-link{font-weight:850;color:#344054!important;border-radius:999px;padding:.6rem .85rem!important;}
.nn-main-nav .nav-link:hover{background:var(--tc-soft);color:var(--tc-red)!important;}
.tc-hero-photo{padding-top:88px!important;background:radial-gradient(circle at 90% 6%,rgba(230,0,35,.20),transparent 28rem),radial-gradient(circle at 8% 82%,rgba(255,155,68,.16),transparent 26rem),linear-gradient(135deg,#fff 0%,#fff7f8 52%,#fff 100%)!important;}
.tc-hero-photo-card{transform:none!important;border-radius:42px!important;padding:14px!important;box-shadow:0 34px 90px rgba(16,24,40,.14)!important;}
.tc-hero-photo-card img{aspect-ratio:16/10!important;}
.tc-photo-plan-card,.service-plan-card{border-radius:30px!important;border:1px solid rgba(16,24,40,.08)!important;box-shadow:0 24px 64px rgba(16,24,40,.08)!important;}
.tc-photo-plan-card:hover,.service-plan-card:hover{transform:translateY(-6px)!important;box-shadow:0 34px 84px rgba(16,24,40,.13)!important;}
.tc-card-price strong,.service-price strong,.price-value{color:var(--tc-red)!important;}
.service-tabs{border-bottom:0!important;background:#fff;border:1px solid #edf0f5;border-radius:24px;padding:.5rem;box-shadow:0 18px 45px rgba(16,24,40,.06);}
.service-tab{border-radius:18px!important;background:transparent!important;}
.service-tab.active{background:var(--tc-red)!important;color:#fff!important;box-shadow:0 12px 28px rgba(230,0,35,.22)!important;transform:none!important;border:0!important;}
.public-flow-pills span{border-color:#edf0f5!important;box-shadow:0 12px 28px rgba(16,24,40,.05)!important;}
.footer a:hover, footer a:hover{color:#fff!important;}
.auth-card{box-shadow:0 28px 80px rgba(16,24,40,.12)!important;}
.auth-card .col-lg-5{background:linear-gradient(150deg,#111827 0%,#8c0014 100%)!important;}
body.ops-redesign .ops-sidebar{background:linear-gradient(180deg,#111827 0%,#1d1115 58%,#8c0014 100%)!important;}
body.ops-redesign .ops-primary-nav a,body.ops-redesign .ops-secondary-nav a{border-radius:16px!important;}
body.ops-redesign .ops-primary-nav a.active,body.ops-redesign .ops-secondary-nav a.active{background:rgba(230,0,35,.98)!important;color:#fff!important;}
.ops-header{border-radius:0 0 28px 28px!important;background:#fff!important;box-shadow:0 16px 40px rgba(16,24,40,.06)!important;}
.ops-page{max-width:1480px;margin:0 auto;}
.mypage-topbar,.customer-mobile-nav{background:linear-gradient(90deg,#111827,#8c0014)!important;}
.mypage-sidebar{background:linear-gradient(180deg,#111827,#8c0014)!important;}
.mypage-shell .card,.customer-shell .card{border-radius:26px!important;box-shadow:0 18px 48px rgba(16,24,40,.06)!important;}
.form-control,.form-select{border-radius:16px!important;}
.btn-danger{box-shadow:0 12px 30px rgba(230,0,35,.18);}
.btn-danger:hover{transform:translateY(-1px);}
@media(max-width:575.98px){.brand-mark{width:38px!important;height:38px!important}.tc-hero-photo-card{border-radius:28px!important}.tc-hero-photo-card img{border-radius:22px!important}.service-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}.service-tab{font-size:.86rem;padding:.8rem .5rem!important}}

/* v57 operation fixes: batch table overflow + rental device screen */
.batch-message-cell{max-width:360px;white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;line-height:1.55;}
.safe-table table{table-layout:auto;min-width:920px;}
.safe-table th,.safe-table td{vertical-align:middle;}
.rental-device-table td{white-space:normal;}
.rental-device-table .form-control,.rental-device-table .form-select{border-radius:12px!important;}
@media(max-width:991.98px){.batch-message-cell{max-width:260px}.safe-table{overflow-x:auto}.safe-table table{min-width:780px}}
@media(max-width:575.98px){.batch-message-cell{max-width:220px}.safe-table table{min-width:720px}}


/* v58 full test operation UX */
.cancel-fixed-summary{position:sticky;top:86px;z-index:15;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border:1px solid #ffe0e4;border-radius:24px;box-shadow:0 18px 42px rgba(16,24,40,.08);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.cancel-fixed-main{display:flex;align-items:center;gap:14px;}
.cancel-fixed-main strong{font-size:1.35rem;color:var(--nn-primary);letter-spacing:.02em;}
.cancel-fixed-note{font-size:.86rem;color:#667085;}
.cancel-sticky-card{position:sticky;top:170px;}
.cancel-test-guide{background:linear-gradient(135deg,#fff7f8,#fff);border:1px solid #ffe0e4;border-radius:24px;padding:18px;box-shadow:0 14px 34px rgba(16,24,40,.05);}
.cancel-test-pill{height:100%;border:1px solid #edf0f5;border-radius:18px;background:#fff;padding:12px 14px;}
.cancel-test-pill span{display:block;color:#667085;font-size:.78rem;font-weight:800;}
.cancel-test-pill strong{display:block;color:#111827;font-size:.95rem;word-break:break-word;}
.batch-test-lab{background:#fff;}
.batch-test-photo{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;}
.batch-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.batch-test-grid div{border:1px solid #edf0f5;border-radius:20px;padding:14px;background:linear-gradient(180deg,#fff,#fafafa);box-shadow:0 10px 26px rgba(16,24,40,.04);}
.batch-test-grid span{display:block;font-size:.75rem;color:#667085;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.batch-test-grid strong{display:block;margin:.25rem 0;color:#111827;font-size:.94rem;word-break:break-word;}
.batch-test-grid small{display:block;color:#e51b23;font-weight:800;}
.batch-schedule-card dl dd,.batch-schedule-card dl dt{word-break:break-word;overflow-wrap:anywhere;}
@media(max-width:991.98px){.cancel-fixed-summary{top:72px;align-items:flex-start;flex-direction:column}.cancel-sticky-card{position:static}.batch-test-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.batch-test-photo{min-height:220px}}
@media(max-width:575.98px){.cancel-fixed-main strong{font-size:1.15rem}.batch-test-grid{grid-template-columns:1fr}.cancel-fixed-summary{border-radius:18px;padding:12px}.batch-test-photo{min-height:180px}}

/* V59: cancellation date must stay visible and not scroll away */
.cancel-fixed-summary{
  position:fixed !important;
  top:82px !important;
  left:clamp(12px, 8vw, 300px);
  right:clamp(12px, 3vw, 32px);
  z-index:1040;
  max-width:1180px;
}
.cancel-page-head{padding-top:86px;}
@media(max-width:991.98px){
  .cancel-fixed-summary{top:70px !important;left:10px;right:10px;}
  .cancel-page-head{padding-top:136px;}
}
.admin-clean-table td,.admin-clean-table th{vertical-align:middle;}
.admin-clean-table .badge{white-space:nowrap;}

/* =========================================================
   v63 Network TeamConnect final polish
   - public site, My Page, Admin visual consistency
   ========================================================= */
:root{
  --nn-primary:#e60023;
  --nn-primary-dark:#b80d1a;
  --nn-primary-soft:#fff1f3;
  --nn-navy:#111827;
  --nn-ink:#101828;
  --nn-muted:#667085;
  --nn-line:#e7ebf3;
  --nn-bg:#f6f8fb;
  --nn-surface:#ffffff;
  --nn-shadow:0 22px 60px rgba(15,23,42,.08);
  --nn-shadow-strong:0 32px 90px rgba(15,23,42,.14);
}
body{background:radial-gradient(circle at 0 0,rgba(230,0,35,.05),transparent 28rem),radial-gradient(circle at 100% 2%,rgba(230,0,35,.035),transparent 30rem),var(--nn-bg);color:var(--nn-ink)}
.nn-main-nav,.navbar{border-bottom:1px solid rgba(16,24,40,.06);box-shadow:0 12px 34px rgba(16,24,40,.06)!important}
.brand-mark{border-radius:16px;background:linear-gradient(135deg,#ff5b6c,var(--nn-primary));box-shadow:0 14px 30px rgba(230,0,35,.28);letter-spacing:-.05em}
.top-strip{background:linear-gradient(90deg,#0f172a,#1f2937);}
.btn-danger,.btn-primary{box-shadow:0 12px 26px rgba(230,0,35,.20)}
.btn-danger:hover,.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(230,0,35,.26)}
.tc-hero-photo{position:relative;overflow:hidden;padding:86px 0 48px;background:linear-gradient(110deg,#fff 0%,#fff5f6 50%,#fff 100%)}
.tc-hero-photo:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 8%,rgba(230,0,35,.12),transparent 22rem),radial-gradient(circle at 90% 30%,rgba(255,100,115,.18),transparent 26rem);pointer-events:none}
.tc-hero-photo .container{position:relative;z-index:1}.tc-hero-title{font-size:clamp(2.4rem,5.4vw,5.8rem);line-height:1.02;letter-spacing:-.055em;font-weight:1000;color:#0f172a}.tc-hero-title span{color:var(--nn-primary)}
.tc-hero-lead{font-size:1.08rem;line-height:1.9;color:#475467;max-width:680px}.tc-hero-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(230,0,35,.14);background:#fff;color:var(--nn-primary);border-radius:999px;padding:.52rem .9rem;font-weight:900;box-shadow:0 12px 28px rgba(230,0,35,.08)}
.tc-hero-price{display:inline-grid;grid-template-columns:auto auto;align-items:end;gap:.25rem 1rem;background:#fff;border:1px solid rgba(230,0,35,.12);border-radius:24px;padding:1rem 1.2rem;box-shadow:var(--nn-shadow)}.tc-hero-price span{grid-column:1/3;color:#667085;font-weight:800}.tc-hero-price strong{font-size:2.2rem;line-height:1;color:var(--nn-primary);font-weight:1000}.tc-hero-price small{color:#475467;font-weight:800}
.tc-hero-photo-card{position:relative;border-radius:34px;overflow:hidden;background:#fff;border:1px solid rgba(230,0,35,.10);box-shadow:var(--nn-shadow-strong);padding:10px}.tc-hero-photo-card img{display:block;width:100%;border-radius:26px;object-fit:cover;aspect-ratio:14/9}.tc-floating-card{position:absolute;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid rgba(230,0,35,.12);border-radius:20px;padding:.8rem 1rem;box-shadow:0 20px 48px rgba(16,24,40,.14)}.tc-floating-card strong{display:block;color:#111827;font-size:1.1rem}.tc-floating-card span{color:#667085;font-weight:700;font-size:.82rem}.tc-floating-card-a{left:24px;bottom:24px}.tc-floating-card-b{right:24px;top:24px}
.tc-service-strip{margin-top:-18px;position:relative;z-index:3}.tc-mini-service{background:#fff;border:1px solid var(--nn-line);border-radius:22px;padding:1rem;display:flex;align-items:center;gap:.7rem;font-weight:900;box-shadow:0 18px 42px rgba(16,24,40,.08)}.tc-mini-service i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--nn-primary-soft);color:var(--nn-primary);font-size:1.3rem}
.section-heading .eyebrow,.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:1000;color:var(--nn-primary)}.section-heading h2{font-weight:1000;letter-spacing:-.035em}.section-heading p{color:#667085;max-width:720px;margin-left:auto;margin-right:auto;line-height:1.8}
.tc-photo-plan-card,.service-plan-card{border:1px solid var(--nn-line)!important;border-radius:30px!important;overflow:hidden;background:#fff;box-shadow:0 18px 46px rgba(16,24,40,.07)!important;transition:.2s ease}.tc-photo-plan-card:hover,.service-plan-card:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(16,24,40,.12)!important}.tc-photo-plan-img,.service-plan-image{height:210px;background:#f2f4f7;overflow:hidden}.tc-photo-plan-img img,.service-plan-image img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.tc-photo-plan-card:hover img,.service-plan-card:hover img{transform:scale(1.04)}.tc-photo-plan-body{padding:1.3rem}.service-type-badge,.service-mini-badge{display:inline-flex;border-radius:999px;padding:.42rem .72rem;font-size:.76rem;font-weight:1000}.service-type-badge{background:var(--nn-primary-soft);color:var(--nn-primary)}.service-mini-badge{background:#f8fafc;color:#475467;border:1px solid #eef2f7}.tc-card-price strong,.service-price strong{font-size:2rem;color:var(--nn-primary);font-weight:1000;letter-spacing:-.04em}.tc-card-price span,.tc-card-price small{font-weight:800;color:#667085}
.tc-image-frame,.tc-app-card,.tc-campaign-photo{border-radius:34px;border:1px solid var(--nn-line);box-shadow:var(--nn-shadow);overflow:hidden;background:#fff}.tc-image-frame img,.tc-app-card img{width:100%;display:block;object-fit:cover}.tc-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tc-check-grid>div{background:#fff;border:1px solid var(--nn-line);border-radius:22px;padding:1rem;box-shadow:0 12px 28px rgba(16,24,40,.05)}.tc-check-grid i{color:var(--nn-primary);font-size:1.45rem}.tc-check-grid strong{display:block;margin:.5rem 0 .2rem;font-weight:1000}.tc-check-grid span{color:#667085;font-size:.88rem}.tc-campaign-photo{min-height:330px;padding:2rem;display:flex;align-items:end;color:#fff;background:linear-gradient(135deg,rgba(15,23,42,.88),rgba(230,0,35,.78)),url('../img/support-visual.png') center/cover}.tc-app-card{padding:1.4rem}.tc-final-cta{border-radius:34px;background:linear-gradient(135deg,#111827,#e60023);box-shadow:var(--nn-shadow-strong)}
.public-service-hero{padding:72px 0;background:linear-gradient(180deg,#fff,#fff5f6)}.service-tabs{background:#fff;border:1px solid var(--nn-line);border-radius:999px;padding:.45rem;display:flex;gap:.35rem;box-shadow:0 12px 30px rgba(16,24,40,.06);overflow-x:auto}.service-tab{border:0;background:transparent;border-radius:999px;padding:.8rem 1.2rem;font-weight:1000;color:#475467;white-space:nowrap}.service-tab.active{background:var(--nn-primary);color:#fff;box-shadow:0 12px 24px rgba(230,0,35,.22)}.service-panel:not(.active){display:none}.customer-flow-preview div{border-radius:18px!important;background:#fff!important;border:1px solid var(--nn-line)!important;box-shadow:0 10px 24px rgba(16,24,40,.05)}
.ops-sidebar{background:linear-gradient(180deg,#111827,#1f2937)!important}.ops-brand-link{color:#fff!important;text-decoration:none}.ops-brand small{color:rgba(255,255,255,.62)}.ops-primary-nav a,.ops-secondary-nav a{border-radius:14px!important}.ops-primary-nav a.active,.ops-secondary-nav a.active{background:#fff!important;color:#111827!important}.ops-header{background:#fff;border:1px solid var(--nn-line);border-radius:26px;box-shadow:0 16px 36px rgba(16,24,40,.06);padding:1.2rem 1.35rem}.ops-header h1{font-weight:1000;letter-spacing:-.04em}.ops-role{background:var(--nn-primary-soft)!important;color:var(--nn-primary)!important;border-radius:999px;padding:.55rem .85rem;font-weight:1000}.ops-page .card,.operation-panel,.admin-filter-card,.table-responsive{border-radius:24px!important;border:1px solid var(--nn-line)!important;box-shadow:0 14px 34px rgba(16,24,40,.055)!important}.table thead th{background:#f8fafc;color:#475467;font-size:.78rem;font-weight:900}.command-palette{border-radius:28px!important}
.mypage-hero-card,.mypage-summary-card,.quick-action-card{border-radius:28px!important;border:1px solid var(--nn-line)!important;box-shadow:0 18px 46px rgba(16,24,40,.07)!important}.quick-action-card:hover{transform:translateY(-3px)}
footer{background:linear-gradient(135deg,#0f172a,#1f2937)!important;color:#fff}.mobile-sticky-cta,.public-mobile-cta{backdrop-filter:blur(10px)}
@media (max-width:991.98px){.tc-hero-photo{padding:52px 0 32px}.tc-hero-title{text-align:center}.tc-hero-lead{text-align:center;margin:auto}.tc-hero-price{margin-left:auto;margin-right:auto}.tc-hero-photo .d-flex{justify-content:center}.tc-trust-row{justify-content:center}.tc-floating-card{display:none}.tc-check-grid{grid-template-columns:1fr}.service-tabs{border-radius:20px}.tc-photo-plan-img,.service-plan-image{height:180px}.ops-header{border-radius:20px}.ops-main{padding-bottom:84px}}
@media (max-width:575.98px){.tc-hero-title{font-size:2.45rem}.tc-hero-photo-card{border-radius:24px}.tc-hero-photo-card img{border-radius:18px}.tc-mini-service{padding:.8rem;font-size:.88rem}.tc-service-strip{margin-top:0}.section{padding:52px 0}.tc-card-price strong,.service-price strong{font-size:1.7rem}}

/* ===== v64 Network TeamConnect final polish ===== */
:root{
  --nn-red:#ee0033;
  --nn-red-dark:#be0027;
  --nn-red-soft:#fff0f3;
  --nn-navy-900:#071326;
  --nn-navy-800:#0d1b32;
  --nn-text:#0f172a;
  --nn-sub:#667085;
  --nn-border:#e9edf4;
  --nn-shadow:0 22px 60px rgba(16,24,40,.09);
  --nn-shadow-strong:0 34px 90px rgba(16,24,40,.14);
}
.top-strip{display:none!important;}
.nn-main-nav{min-height:72px;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(16,24,40,.06);box-shadow:0 10px 34px rgba(16,24,40,.06)!important;}
.nn-main-nav .container{max-width:1320px;}
.nn-main-nav .navbar-brand span:last-child{font-size:1.05rem;color:var(--nn-text);}
.nn-main-nav .nav-link{padding:.75rem 1rem!important;border-radius:999px;color:#182235!important;font-weight:850;}
.nn-main-nav .nav-link:hover{background:var(--nn-red-soft)!important;color:var(--nn-red)!important;}
.inline-switcher a{border-radius:999px!important;padding:.55rem .8rem!important;font-weight:900!important;}
.inline-switcher a.active{background:var(--nn-red)!important;color:white!important;box-shadow:0 10px 24px rgba(238,0,51,.24)!important;}
.btn-danger,.btn-primary{background:var(--nn-red)!important;border-color:var(--nn-red)!important;box-shadow:0 16px 32px rgba(238,0,51,.18)!important;}
.btn-danger:hover,.btn-primary:hover{background:var(--nn-red-dark)!important;border-color:var(--nn-red-dark)!important;transform:translateY(-1px);}
.btn-outline-danger{color:var(--nn-red)!important;border-color:rgba(238,0,51,.32)!important;background:#fff!important;}
.btn-outline-danger:hover{background:var(--nn-red)!important;color:#fff!important;}
.brand-mark{background:linear-gradient(135deg,#ff2f5b,var(--nn-red))!important;border-radius:14px!important;box-shadow:0 16px 36px rgba(238,0,51,.28)!important;}
.tc-hero-photo{padding:82px 0 44px!important;background:radial-gradient(circle at 86% 8%,rgba(238,0,51,.16),transparent 26rem),radial-gradient(circle at 5% 88%,rgba(255,128,148,.15),transparent 24rem),linear-gradient(135deg,#fff 0%,#fff6f8 48%,#fff 100%)!important;}
.tc-hero-photo:before{display:none!important;}
.tc-hero-title{font-size:clamp(2.8rem,6.4vw,5.7rem)!important;line-height:1.03!important;letter-spacing:-.06em!important;font-weight:1000!important;color:#0b1222!important;}
.tc-hero-title span{color:var(--nn-red)!important;}
.tc-hero-lead{font-size:1.08rem!important;line-height:1.9!important;color:#344054!important;}
.tc-hero-chip{border:1px solid rgba(238,0,51,.13)!important;color:var(--nn-red)!important;border-radius:999px!important;background:#fff!important;box-shadow:0 16px 32px rgba(238,0,51,.08)!important;}
.tc-hero-price{display:none!important;}
.tc-trust-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;max-width:680px;}
.tc-trust-row span{background:#fff;border:1px solid var(--nn-border);border-radius:18px;padding:.9rem .8rem;font-weight:800;color:#344054;box-shadow:0 14px 30px rgba(16,24,40,.05);}
.tc-trust-row i{color:var(--nn-red);margin-right:.4rem;}
.tc-hero-photo-card{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important;}
.tc-hero-photo-card img{width:100%;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:999px 999px 999px 120px!important;box-shadow:0 34px 90px rgba(16,24,40,.16)!important;border:14px solid #fff;}
.tc-floating-card{display:none!important;}
.tc-service-strip{margin-top:0!important;padding:0 0 22px;background:#fff;}
.tc-mini-service{border-radius:22px!important;box-shadow:0 18px 42px rgba(16,24,40,.06)!important;}
.section-heading h2{font-weight:1000;letter-spacing:-.04em;color:#0b1222;}
.section-heading .eyebrow{color:var(--nn-red)!important;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;}
.tc-photo-plan-card,.service-plan-card{border-radius:24px!important;border:1px solid rgba(238,0,51,.10)!important;box-shadow:0 22px 56px rgba(16,24,40,.08)!important;overflow:hidden;}
.tc-photo-plan-img,.service-plan-image{height:190px!important;background:#f8fafc!important;}
.tc-photo-plan-img img,.service-plan-image img{object-fit:cover!important;width:100%;height:100%;}
.service-type-badge{background:var(--nn-red-soft)!important;color:var(--nn-red)!important;}
.tc-card-price strong,.service-price strong{color:var(--nn-red)!important;}
footer{background:linear-gradient(135deg,#071326,#0d1b32)!important;color:#fff!important;margin-top:0!important;}
footer .text-muted, footer .text-white-50{color:rgba(255,255,255,.62)!important;}
footer .border-top{border-color:rgba(255,255,255,.16)!important;}
/* Admin close to requested screenshot */
.admin-body{background:#f5f7fb!important;}
.ops-sidebar{background:linear-gradient(180deg,#08162b 0%,#0c1830 62%,#081326 100%)!important;border-right:1px solid rgba(255,255,255,.06)!important;}
.ops-brand{padding:26px 16px 20px!important;}
.ops-brand-link span:last-child{font-weight:900!important;color:#fff!important;}
.ops-brand small{color:rgba(255,255,255,.62)!important;font-weight:700!important;}
.ops-search{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:16px!important;}
.ops-search input{color:#fff!important;}
.ops-primary-nav a,.ops-secondary-nav a{border-radius:14px!important;color:rgba(255,255,255,.82)!important;font-weight:750!important;}
.ops-primary-nav a.active,.ops-secondary-nav a.active{background:linear-gradient(90deg,rgba(238,0,51,.92),rgba(238,0,51,.55))!important;color:#fff!important;box-shadow:0 12px 34px rgba(238,0,51,.26)!important;}
.ops-header{margin:18px 24px!important;padding:22px 26px!important;border-radius:0!important;border:0!important;border-bottom:1px solid var(--nn-border)!important;background:#fff!important;box-shadow:none!important;}
.ops-header:before{display:none!important;}
.ops-header h1{font-size:2rem!important;font-weight:1000!important;color:#0b1222!important;}
.ops-page{padding:0 24px 90px!important;}
.ops-page .card,.ops-card,.admin-kpi-card,.detail-page .card{border:1px solid var(--nn-border)!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(16,24,40,.07)!important;}
.table{--bs-table-bg:#fff;}
.admin-clean-table th{background:#f8fafc!important;color:#667085!important;font-size:.82rem;}
.admin-clean-table td{padding:1rem!important;}
.ops-role{background:var(--nn-red-soft)!important;color:var(--nn-red)!important;border-radius:999px;padding:.5rem .8rem;font-weight:900;}
@media(max-width:991.98px){.tc-trust-row{grid-template-columns:repeat(2,minmax(0,1fr));}.tc-hero-title{text-align:left!important}.tc-hero-lead{text-align:left!important}.tc-hero-photo-card img{border-radius:32px!important;aspect-ratio:4/3!important}.ops-header{margin:10px!important;border-radius:18px!important}.ops-page{padding:0 10px 90px!important}}
@media(max-width:575.98px){.tc-hero-photo{padding:44px 0 28px!important}.tc-hero-title{font-size:2.45rem!important}.tc-trust-row{grid-template-columns:1fr}.navbar-brand span:last-child{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-photo-plan-img{height:160px!important}}


/* nn-hero production polish */
:root{--nn-red:#e9002d;--nn-red2:#ff3157;--nn-ink:#0f172a;--nn-navy:#071426;--nn-soft:#fff5f7;--nn-line:#e9edf4;--nn-shadow:0 18px 45px rgba(15,23,42,.08)}
body{background:#fff;color:var(--nn-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--nn-red),#ff4770);color:#fff;font-weight:950;box-shadow:0 12px 28px rgba(233,0,45,.24);font-size:.78rem}.nn-main-nav{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.06);box-shadow:0 10px 30px rgba(15,23,42,.05);padding:16px 0}.nn-main-nav .navbar-brand span:last-child{font-size:1.13rem}.nn-main-nav .nav-link{font-weight:850;color:#172033!important;padding:.65rem .85rem!important}.nn-main-nav .btn{border-radius:999px;font-weight:900;padding:.65rem 1.2rem}.with-public-nav footer{background:var(--nn-navy)!important;color:#fff;margin-top:0!important}.with-public-nav footer a{text-decoration:none}.nn-hero-nn-hero{position:relative;overflow:hidden;padding:92px 0 58px;background:radial-gradient(circle at right top,rgba(233,0,45,.20),transparent 34rem),linear-gradient(105deg,#fff 0%,#fff 48%,#fff1f4 100%)}.nn-hero-nn-hero:before{content:"";position:absolute;left:-15%;top:8%;width:55%;aspect-ratio:1;border-radius:50%;background:rgba(233,0,45,.055);pointer-events:none}.nn-pill{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1px solid rgba(233,0,45,.14);color:var(--nn-red);border-radius:999px;padding:.72rem 1.05rem;font-weight:950;box-shadow:0 14px 36px rgba(233,0,45,.08)}.nn-hero-nn-hero h1{position:relative;z-index:1;font-size:clamp(2.5rem,6vw,5.3rem);line-height:1.05;letter-spacing:-.065em;font-weight:1000;margin:22px 0 18px;color:#0c1223}.nn-hero-nn-hero h1 span{color:var(--nn-red)}.nn-hero-nn-hero p{position:relative;z-index:1;font-size:1.04rem;line-height:1.9;color:#334155;font-weight:650;max-width:650px}.nn-hero-nn-hero .btn{border-radius:999px;padding:.92rem 1.65rem;font-weight:950}.nn-hero-image{position:relative;min-height:470px;border-radius:48% 0 0 48%;overflow:hidden;box-shadow:0 22px 60px rgba(15,23,42,.10);background:#fff}.nn-hero-image img{width:100%;height:100%;min-height:470px;object-fit:cover}.nn-hero-points{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;margin-top:24px}.nn-hero-points span{display:inline-flex;align-items:center;gap:.5rem;font-weight:850;color:#334155}.nn-hero-points i{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#fff;color:var(--nn-red);box-shadow:0 10px 22px rgba(15,23,42,.07)}.nn-service-cards{margin-top:-22px;position:relative;z-index:2;padding-bottom:36px}.nn-service-card{height:100%;display:grid;grid-template-rows:132px 1fr auto;background:#fff;border:1px solid var(--nn-line);border-radius:18px;box-shadow:var(--nn-shadow);overflow:hidden;color:inherit;text-decoration:none;transition:.18s}.nn-service-card:hover{transform:translateY(-4px);border-color:rgba(233,0,45,.28);color:inherit}.nn-service-card img{width:100%;height:132px;object-fit:cover}.nn-service-card div{padding:14px 16px 8px}.nn-service-card h3{font-size:1rem;font-weight:950;margin:0 0 4px}.nn-service-card p{font-size:.84rem;color:#475569;margin:0;line-height:1.55}.nn-service-card>span{position:absolute}.nn-service-card{position:relative}.nn-service-card>span{right:16px;bottom:18px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffd4dc;border-radius:999px;color:var(--nn-red);background:#fff}.nn-section-soft{background:#f8fafc}.nn-plan-card{background:#fff;border:1px solid var(--nn-line);border-radius:24px;overflow:hidden;box-shadow:var(--nn-shadow);height:100%}.nn-plan-card>img{width:100%;height:190px;object-fit:cover}.nn-plan-card h3{font-size:1.25rem;font-weight:950;margin:14px 0 8px}.nn-plan-card p{color:#64748b;min-height:48px}.nn-price{display:flex;align-items:flex-end;gap:.35rem;margin:18px 0}.nn-price small{font-weight:900;color:#64748b}.nn-price strong{font-size:2.15rem;line-height:1;font-weight:1000;letter-spacing:-.05em}.nn-photo-frame{border-radius:28px;overflow:hidden;box-shadow:var(--nn-shadow);border:1px solid var(--nn-line)}.nn-photo-frame img{width:100%;height:390px;object-fit:cover}.nn-check-list{display:grid;gap:14px}.nn-check-list div{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;background:#fff;border:1px solid var(--nn-line);border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.04)}.nn-check-list i{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff1f4;color:var(--nn-red);font-size:1.2rem}.nn-check-list strong{font-weight:950}.nn-check-list span{color:#64748b;font-size:.88rem}.nn-final-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;background:radial-gradient(circle at right,rgba(255,255,255,.16),transparent 18rem),linear-gradient(135deg,#0b1425,#121f35);color:#fff;border-radius:30px;padding:32px;box-shadow:0 22px 55px rgba(15,23,42,.18)}.nn-final-cta span{color:#ffb7c3;font-weight:950}.nn-final-cta h2{font-weight:1000;margin:.25rem 0}.nn-final-cta p{color:rgba(255,255,255,.72);margin:0}.nn-error-card{background:#fff;border:1px solid var(--nn-line);border-radius:28px;padding:34px;box-shadow:var(--nn-shadow)}.nn-error-card h1{font-weight:1000;letter-spacing:-.04em}.nn-setup-steps{display:grid;gap:10px}.nn-setup-steps div{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--nn-line);border-radius:16px;padding:12px 14px}.nn-setup-steps code{background:#0f172a;color:#fff;border-radius:8px;padding:.25rem .45rem}
body.ops-redesign .ops-layout{background:#f6f8fc}body.ops-redesign .ops-sidebar{background:linear-gradient(180deg,#071426,#0d1b30)!important;border-right:0;box-shadow:14px 0 36px rgba(15,23,42,.10)}body.ops-redesign .ops-brand-link{color:#fff!important}body.ops-redesign .ops-primary-nav a,body.ops-redesign .ops-secondary-nav a{border-radius:14px;font-weight:850}body.ops-redesign .ops-primary-nav a.active,body.ops-redesign .ops-secondary-nav a.active{background:linear-gradient(90deg,var(--nn-red),#9f1239)!important;color:#fff!important;box-shadow:0 10px 24px rgba(233,0,45,.22)}body.ops-redesign .ops-header{background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px);border-bottom:1px solid #edf0f5;box-shadow:0 8px 28px rgba(15,23,42,.04)}body.ops-redesign .ops-header h1{font-weight:1000;letter-spacing:-.045em}body.ops-redesign .ops-page .card,body.ops-redesign .ops-table-wrap,body.ops-redesign .ops-clean-panel{border-radius:20px!important;border:1px solid var(--nn-line)!important;box-shadow:var(--nn-shadow)!important}.auth-card{border-radius:28px!important;box-shadow:var(--nn-shadow)!important}.auth-card .btn-danger{border-radius:999px;font-weight:950}.auth-card .form-control{border-radius:14px}.demo-login-box{display:none!important}
@media(max-width:991.98px){.nn-hero-nn-hero{padding:54px 0 38px}.nn-hero-image{min-height:320px;border-radius:30px}.nn-hero-image img{min-height:320px}.nn-final-cta{display:block}.nn-final-cta .btn{margin-top:18px;width:100%}.nn-main-nav{padding:10px 0}.nn-service-cards{margin-top:0}.nn-hero-nn-hero h1{font-size:2.55rem}.nn-photo-frame img{height:260px}}

/* v66 pagination/admin polish */
.admin-pagination-bar{background:linear-gradient(180deg,#fff,#fbfcff);border-radius:0 0 1.25rem 1.25rem}
.admin-pagination-bar .page-link{border:0;border-radius:.75rem;margin:0 .12rem;color:#1f2937;font-weight:800;min-width:2.15rem;text-align:center;background:#f3f5f9}
.admin-pagination-bar .page-item.active .page-link{background:var(--nn-primary);color:#fff;box-shadow:0 8px 20px rgba(229,27,35,.22)}
.admin-pagination-bar .page-item.disabled .page-link{background:#f8fafc;color:#94a3b8}
.admin-per-page-form .form-select{min-height:34px;border-radius:999px;font-weight:800;background-color:#fff;min-width:92px}
.module-head{padding:1.35rem;border:1px solid rgba(229,27,35,.10);border-radius:28px;background:linear-gradient(135deg,#fff 0%,#fff7f8 100%);box-shadow:0 18px 45px rgba(15,23,42,.055)}
.module-page .card{border:1px solid #e8ebf0!important;box-shadow:0 18px 45px rgba(15,23,42,.07)!important}
.admin-clean-table thead th{background:#f8fafc;color:#64748b;font-size:.78rem;text-transform:none;letter-spacing:.02em;border-bottom:1px solid #e8ebf0;white-space:nowrap}
.admin-clean-table tbody td{padding:1rem .9rem;border-bottom:1px solid #eef2f7}
.admin-clean-table tbody tr:hover td{background:#fff8f9}


/* ==========================================================
   Network TeamConnect production polish
   - Clean white/red public site
   - Navy admin shell similar to reference mockup
   - Stronger table/pagination readability
   ========================================================== */
:root{--nn-red:#ef0038;--nn-red-2:#ff315d;--nn-navy:#07152b;--nn-navy-2:#0f213d;--nn-bg:#f6f8fc;--nn-text:#101827;--nn-muted:#64748b;--nn-line:#e8edf5;--nn-radius:24px;--nn-shadow:0 20px 60px rgba(15,23,42,.10)}
body{background:#fff;color:var(--nn-text);letter-spacing:.01em}.fw-black{font-weight:900}.brand-mark{background:linear-gradient(135deg,var(--nn-red),var(--nn-red-2))!important;box-shadow:0 14px 32px rgba(239,0,56,.24)!important}.brand-name-text{font-weight:900;letter-spacing:-.03em}.nn-main-nav{background:rgba(255,255,255,.94)!important;backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--nn-line);box-shadow:0 8px 34px rgba(15,23,42,.05)}.nn-main-nav .navbar-brand{font-size:1.16rem}.nn-main-nav .nav-link{font-weight:800;color:#172033!important;padding:.7rem .85rem!important}.nn-main-nav .nav-link:hover{color:var(--nn-red)!important}.nn-main-nav .btn{border-radius:999px;font-weight:900;padding:.62rem 1.15rem}.language-switcher a{border-radius:999px!important;min-width:44px;text-align:center;font-weight:900}.language-switcher a.active{background:var(--nn-red)!important;color:#fff!important;box-shadow:0 12px 28px rgba(239,0,56,.25)}
.nn-hero-nn-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 10%,rgba(239,0,56,.16),transparent 34%),linear-gradient(180deg,#fff 0%,#fff5f7 100%);padding:86px 0 58px}.nn-hero-nn-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at -6% 50%,rgba(239,0,56,.10),transparent 38%);pointer-events:none}.nn-hero-nn-hero h1{font-size:clamp(2.6rem,6vw,5.35rem);line-height:.98;letter-spacing:-.075em;font-weight:950;margin:24px 0 18px;color:#101827}.nn-hero-nn-hero h1 span{color:var(--nn-red)}.nn-hero-nn-hero p{font-size:1.08rem;line-height:1.9;color:#334155;max-width:620px}.nn-pill{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--nn-red);border:1px solid #ffd6df;border-radius:999px;padding:.7rem 1.1rem;font-weight:900;box-shadow:0 14px 34px rgba(239,0,56,.08)}.nn-hero-image{position:relative;border-radius:42px;overflow:hidden;box-shadow:var(--nn-shadow);border:1px solid rgba(255,255,255,.85);background:#fff}.nn-hero-image img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.nn-hero-points{display:flex;gap:1rem;flex-wrap:wrap;margin-top:26px}.nn-hero-points span{display:flex;align-items:center;gap:.55rem;font-weight:800;color:#263248}.nn-hero-points i{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:var(--nn-red);background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.08)}.nn-service-cards{padding:28px 0 58px;background:#fff}.nn-service-card{height:100%;display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--nn-line);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(15,23,42,.07);position:relative;transition:.2s ease}.nn-service-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(15,23,42,.12);border-color:#ffc7d3}.nn-service-card img{width:100%;height:150px;object-fit:cover}.nn-service-card div{padding:18px}.nn-service-card h3{font-size:1.08rem;font-weight:900;margin:0 0 6px}.nn-service-card p{font-size:.9rem;color:#64748b;margin:0;line-height:1.65}.nn-service-card>span{position:absolute;right:18px;bottom:18px;width:36px;height:36px;border-radius:999px;border:1px solid #ffd3dc;display:grid;place-items:center;color:var(--nn-red);background:#fff}.section{padding:76px 0}.nn-section-soft{background:linear-gradient(180deg,#f8fafc,#fff)}.section-heading .eyebrow,.eyebrow{color:var(--nn-red);text-transform:uppercase;letter-spacing:.12em;font-weight:950;font-size:.8rem}.section-heading h2{font-size:clamp(2rem,4vw,3rem);font-weight:950;letter-spacing:-.055em}.section-heading p{color:#64748b}.nn-plan-card{background:#fff;border:1px solid var(--nn-line);border-radius:28px;overflow:hidden;height:100%;box-shadow:0 18px 45px rgba(15,23,42,.08)}.nn-plan-card img{width:100%;height:210px;object-fit:cover}.service-type-badge{display:inline-flex;padding:.4rem .7rem;border-radius:999px;background:#fff1f4;color:var(--nn-red);font-size:.75rem;font-weight:900;margin-bottom:.9rem}.nn-plan-card h3{font-weight:950;letter-spacing:-.03em}.nn-price{display:flex;align-items:baseline;gap:.45rem;margin:1.3rem 0}.nn-price small{color:#64748b}.nn-price strong{font-size:2rem;font-weight:950;color:var(--nn-red)}.nn-photo-frame{border-radius:34px;overflow:hidden;box-shadow:var(--nn-shadow);border:1px solid #fff}.nn-photo-frame img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.nn-check-list{display:grid;gap:14px}.nn-check-list>div{display:grid;grid-template-columns:44px 1fr;gap:0 14px;align-items:center;background:#fff;border:1px solid var(--nn-line);border-radius:18px;padding:14px 16px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.nn-check-list i{grid-row:span 2;width:44px;height:44px;border-radius:15px;background:#fff1f4;color:var(--nn-red);display:grid;place-items:center;font-size:1.2rem}.nn-check-list strong{font-weight:900}.nn-check-list span{color:#64748b;font-size:.9rem}.nn-final-cta{background:linear-gradient(135deg,var(--nn-red),#c4002e);border-radius:34px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;box-shadow:0 28px 70px rgba(239,0,56,.25)}.nn-final-cta span{font-weight:900;opacity:.85}.nn-final-cta h2{font-weight:950;letter-spacing:-.04em}.nn-final-cta p{margin:0;opacity:.9}.nn-final-cta .btn{border-radius:999px;font-weight:900;color:var(--nn-red)}footer{background:linear-gradient(135deg,#07152b,#13223a)!important;color:#fff!important;margin-top:0!important}footer a{text-decoration:none}footer .border-top{border-color:rgba(255,255,255,.14)!important;color:rgba(255,255,255,.55)!important}
.ops-redesign{background:var(--nn-bg)}.ops-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.ops-sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,#07152b 0%,#0a1730 72%,#160817 100%)!important;color:#fff;padding:22px 16px;border-right:1px solid rgba(255,255,255,.08)}.ops-brand{padding:0 0 18px}.ops-brand-link{display:flex!important;align-items:center;gap:12px;color:#fff!important;text-decoration:none;font-weight:950;font-size:1.08rem}.ops-brand small{display:block;margin-left:56px;color:rgba(255,255,255,.62);font-weight:700}.ops-search{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:11px 14px;margin:14px 0 20px}.ops-search input{background:transparent!important;border:0!important;outline:0!important;color:#fff;width:100%}.ops-search input::placeholder{color:rgba(255,255,255,.58)}.ops-primary-nav,.ops-secondary-nav details div{display:grid;gap:7px}.ops-primary-nav a,.ops-secondary-nav a{display:flex!important;align-items:center;gap:12px;text-decoration:none;color:rgba(255,255,255,.78)!important;border-radius:14px;padding:12px 13px;font-weight:850}.ops-primary-nav a:hover,.ops-secondary-nav a:hover{background:rgba(255,255,255,.08);color:#fff!important}.ops-primary-nav a.active,.ops-secondary-nav a.active{background:linear-gradient(135deg,rgba(239,0,56,.96),rgba(255,49,93,.74))!important;color:#fff!important;box-shadow:0 14px 34px rgba(239,0,56,.24)}.ops-secondary-nav{border-top:1px solid rgba(255,255,255,.10);margin-top:18px;padding-top:12px}.ops-secondary-nav summary{list-style:none;cursor:pointer;color:rgba(255,255,255,.58);font-size:.82rem;font-weight:900;padding:14px 8px;display:flex;align-items:center;justify-content:space-between}.ops-secondary-nav summary::-webkit-details-marker{display:none}.ops-logout{margin-top:22px}.ops-main{min-width:0}.ops-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--nn-line);padding:22px 32px!important;display:flex;align-items:center;justify-content:space-between;gap:20px}.ops-breadcrumb{font-size:.8rem;font-weight:900;color:#7b879a}.ops-breadcrumb a{color:var(--nn-red);text-decoration:none}.ops-header h1{font-weight:950;letter-spacing:-.055em;margin:.15rem 0 0;font-size:clamp(1.5rem,3vw,2.25rem)}.ops-role{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--nn-line);border-radius:999px;padding:.55rem .85rem;font-weight:900;color:#253047}.ops-page{padding:28px 32px 92px}.module-head{background:linear-gradient(135deg,#fff,#fff7f9);border:1px solid #ffd7df;border-left:8px solid var(--nn-red);border-radius:26px;padding:22px 24px;box-shadow:0 15px 44px rgba(15,23,42,.05);display:flex;justify-content:space-between;align-items:center;gap:18px}.module-head h1{letter-spacing:-.05em}.card,.rounded-4{border-radius:22px!important}.table-toolbar{background:#fff}.admin-clean-table{font-size:.94rem}.admin-clean-table thead th{background:#f8fafc!important;color:#64748b!important;text-transform:none;font-size:.8rem;letter-spacing:.02em;border-bottom:1px solid var(--nn-line)!important;padding:14px 16px!important}.admin-clean-table tbody td{padding:15px 16px!important;border-color:#edf2f7!important}.admin-clean-table tbody tr:hover{background:#fff8fa}.badge{border-radius:999px;padding:.46rem .66rem;font-weight:900}.admin-pagination-bar .page-link{border-radius:12px;margin:0 2px;border:1px solid var(--nn-line);color:#334155;font-weight:800}.admin-pagination-bar .active .page-link{background:var(--nn-red);border-color:var(--nn-red);color:#fff}.mini-kpi{background:#fff;border:1px solid var(--nn-line);border-radius:20px;padding:17px;box-shadow:0 12px 32px rgba(15,23,42,.05)}.mini-kpi-count{font-size:1.7rem;font-weight:950;color:#101827}.auth-card{box-shadow:0 28px 80px rgba(15,23,42,.12)!important}.auth-card .col-lg-5{background:linear-gradient(180deg,#07152b,#14233e)!important}.form-control,.form-select{border-radius:14px;border-color:#dde6f2;padding:.78rem 1rem}.btn-danger{background:linear-gradient(135deg,var(--nn-red),var(--nn-red-2));border:0;box-shadow:0 12px 28px rgba(239,0,56,.20)}.btn-outline-danger{border-color:#ffc5d1;color:var(--nn-red);font-weight:900}.btn-outline-danger:hover{background:var(--nn-red);border-color:var(--nn-red);color:#fff}@media(max-width:991.98px){.ops-layout{display:block}.ops-sidebar{position:relative;height:auto}.ops-header{position:relative;padding:18px!important}.ops-page{padding:18px}.nn-final-cta{display:block}.nn-final-cta .btn{margin-top:18px}.nn-hero-nn-hero{padding:56px 0 34px}.module-head{display:block}.module-head .d-flex{margin-top:14px}}@media(max-width:575.98px){.nn-hero-nn-hero h1{font-size:2.35rem}.nn-service-card img{height:130px}.section{padding:52px 0}.nn-final-cta{padding:26px;border-radius:24px}.ops-primary-nav a,.ops-secondary-nav a{padding:11px}.admin-clean-table{min-width:720px}}


/* ============================================================
   Network TeamConnect final production UI polish
   - public site: white/red, photo first, high trust
   - admin: dark navy sidebar + clean data tables + strong pagination
   ============================================================ */
:root{
  --nn-primary:#ef0038;
  --nn-primary-dark:#c4002f;
  --nn-primary-soft:#fff0f4;
  --nn-navy:#071326;
  --nn-navy-2:#0d1b32;
  --nn-ink:#111827;
  --nn-muted:#64748b;
  --nn-line:#e7ebf2;
  --nn-bg:#f6f8fc;
  --shadow-soft:0 22px 55px rgba(2,8,23,.10);
  --shadow-card:0 16px 36px rgba(15,23,42,.08);
}
body{background:var(--nn-bg); color:var(--nn-ink)}
.navbar{min-height:72px;border-bottom:1px solid rgba(15,23,42,.06)}
.navbar .brand-name-text,.ops-brand-link span:last-child{letter-spacing:-.02em;font-weight:900;color:#111827!important}
.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#ef0038,#ff6a88);box-shadow:0 14px 30px rgba(239,0,56,.28)}
.nn-hero-nn-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(239,0,56,.16),transparent 26%),radial-gradient(circle at -10% 20%,rgba(255,197,206,.42),transparent 40%),linear-gradient(135deg,#fff 0%,#fff 58%,#fff6f8 100%);padding:92px 0 70px;border-bottom:1px solid rgba(239,0,56,.08)}
.nn-hero-nn-hero:before{content:"";position:absolute;inset:-20% auto auto -12%;width:55vw;height:55vw;border-radius:50%;background:linear-gradient(135deg,rgba(239,0,56,.10),rgba(239,0,56,0));pointer-events:none}.nn-hero-nn-hero .container{position:relative;z-index:1}
.nn-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.62rem 1rem;border:1px solid rgba(239,0,56,.15);background:#fff;color:#ef0038;border-radius:999px;font-weight:900;box-shadow:0 12px 30px rgba(239,0,56,.10)}
.nn-hero-nn-hero h1{margin-top:1.3rem;font-size:clamp(2.55rem,5.6vw,5.4rem);line-height:1.02;font-weight:950;letter-spacing:-.055em;color:#0b1220}.nn-hero-nn-hero h1 span{color:#ef0038}.nn-hero-nn-hero p{font-size:1.08rem;line-height:1.9;color:#4b5563;max-width:650px}.nn-hero-image{position:relative;border-radius:44px;overflow:hidden;background:#fff;box-shadow:0 30px 85px rgba(15,23,42,.18);border:1px solid rgba(255,255,255,.88)}.nn-hero-image:before{content:"";position:absolute;inset:18px;border-radius:32px;border:1px solid rgba(255,255,255,.55);z-index:1;pointer-events:none}.nn-hero-image img{display:block;width:100%;height:auto}.nn-hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.7rem}.nn-hero-points span{display:flex;align-items:center;gap:.55rem;background:#fff;border:1px solid var(--nn-line);border-radius:18px;padding:.95rem 1rem;font-weight:800;box-shadow:0 14px 36px rgba(15,23,42,.07)}.nn-hero-points i{color:#ef0038;font-size:1.15rem}.nn-service-cards{margin-top:-28px;position:relative;z-index:4}.nn-service-card{display:block;height:100%;background:#fff;border:1px solid #f3c8d1;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-card);color:#0f172a;transition:.2s transform,.2s box-shadow}.nn-service-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(239,0,56,.13);color:#0f172a}.nn-service-card img{width:100%;height:150px;object-fit:cover}.nn-service-card div{padding:1rem 1.1rem}.nn-service-card h3{font-weight:950;font-size:1.1rem;margin:0 0 .35rem}.nn-service-card p{color:#64748b;margin:0;font-size:.92rem}.nn-service-card span{position:absolute}.nn-plan-card{background:#fff;border:1px solid #f0d7de;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-card);height:100%;transition:.2s}.nn-plan-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(15,23,42,.12)}.nn-plan-card>img{width:100%;height:190px;object-fit:cover}.service-type-badge{display:inline-flex;background:#fff1f4;color:#ef0038;border:1px solid #ffd4dd;border-radius:999px;padding:.32rem .7rem;font-weight:900;font-size:.78rem}.nn-plan-card h3{font-weight:950;margin:.9rem 0 .5rem}.nn-price{display:flex;align-items:flex-end;gap:.35rem;margin:1rem 0}.nn-price small{font-weight:800;color:#64748b}.nn-price strong{font-size:2rem;line-height:1;font-weight:950;color:#ef0038}.nn-photo-frame{border-radius:34px;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid rgba(239,0,56,.12)}.nn-check-list{display:grid;gap:.9rem}.nn-check-list>div{display:grid;grid-template-columns:44px 1fr;gap:.2rem .9rem;background:#fff;border:1px solid var(--nn-line);border-radius:18px;padding:1rem;box-shadow:0 12px 28px rgba(15,23,42,.05)}.nn-check-list i{grid-row:1/3;width:44px;height:44px;border-radius:14px;background:#fff1f4;color:#ef0038;display:grid;place-items:center;font-size:1.25rem}.nn-check-list strong{font-weight:950}.nn-check-list span{color:#64748b;font-size:.9rem}.nn-final-cta{background:linear-gradient(135deg,#ef0038,#b3002a);color:#fff;border-radius:34px;padding:44px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 26px 70px rgba(239,0,56,.26)}.nn-final-cta span{font-weight:900;opacity:.86}.nn-final-cta h2{font-weight:950;letter-spacing:-.03em}.nn-final-cta p{margin:0;color:rgba(255,255,255,.82)}
footer{background:linear-gradient(135deg,#071326,#101b2f)!important;color:#fff;border-top:0}footer a{transition:.2s;color:rgba(255,255,255,.65)!important}footer a:hover{color:#fff!important}.public-mobile-cta{position:fixed;left:12px;right:12px;bottom:12px;display:flex;gap:10px;z-index:1030}.public-mobile-cta .btn{flex:1}
.ops-layout{background:#f6f8fc;min-height:100vh}.ops-sidebar{background:linear-gradient(180deg,#061224 0%,#0c1930 64%,#140914 100%)!important;border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 45px rgba(2,8,23,.14)}.ops-brand{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.10)}.ops-brand small{display:block;color:rgba(255,255,255,.58);margin-left:54px;margin-top:3px}.ops-brand-link span:last-child{color:#fff!important}.ops-search{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:16px}.ops-search input{color:#fff}.ops-search input::placeholder{color:rgba(255,255,255,.55)}.ops-primary-nav a,.ops-secondary-nav a{border-radius:15px;color:rgba(255,255,255,.72)!important;font-weight:800}.ops-primary-nav a:hover,.ops-secondary-nav a:hover{background:rgba(255,255,255,.08);color:#fff!important}.ops-primary-nav a.active,.ops-secondary-nav a.active{background:linear-gradient(135deg,#ef0038,#9c1230)!important;color:#fff!important;box-shadow:0 12px 26px rgba(239,0,56,.24)}.ops-secondary-nav summary{color:rgba(255,255,255,.68);font-weight:900;letter-spacing:.02em}.ops-header{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border:1px solid var(--nn-line);border-radius:28px;box-shadow:0 18px 40px rgba(15,23,42,.06);margin:18px 22px 0;padding:22px 26px}.ops-header h1{font-weight:950;letter-spacing:-.04em}.ops-page{padding:22px}.ops-role{display:inline-flex;align-items:center;background:#fff1f4;color:#ef0038;border:1px solid #ffd4dd;border-radius:999px;padding:.55rem .9rem;font-weight:900}.module-head{background:#fff;border:1px solid var(--nn-line);border-left:7px solid #ef0038;border-radius:26px;padding:24px;box-shadow:0 15px 36px rgba(15,23,42,.06)}.module-head h1,.fw-black{font-weight:950!important}.mini-kpi{background:#fff;border:1px solid var(--nn-line);border-radius:22px;padding:18px;box-shadow:0 14px 32px rgba(15,23,42,.06)}.mini-kpi-count{font-size:1.8rem;font-weight:950;color:#0f172a}.admin-clean-table thead th{background:#f8fafc!important;color:#475569;font-size:.78rem;text-transform:none;letter-spacing:.02em}.admin-clean-table tbody tr:hover{background:#fff7f9}.admin-clean-table td,.admin-clean-table th{padding:1rem!important;border-color:#eef2f7!important}.admin-pagination-bar .pagination .page-link{border:0;margin:0 3px;border-radius:10px;color:#0f172a;font-weight:800}.admin-pagination-bar .page-item.active .page-link{background:#ef0038;color:#fff}.table-toolbar{background:#fff}.table-scroll-x{overflow-x:auto}.empty-state{border:1px dashed #cbd5e1;border-radius:20px;padding:32px;text-align:center;color:#64748b;background:#f8fafc}.badge{border-radius:999px;padding:.45rem .68rem;font-weight:900}.alert{border-radius:18px}.form-control,.form-select{background:#fff}.command-palette{border-radius:28px}.ops-bottom-nav{box-shadow:0 -12px 34px rgba(15,23,42,.12)}
@media (max-width:991px){.nn-hero-nn-hero{padding:64px 0 42px}.nn-hero-points{grid-template-columns:1fr}.nn-final-cta{display:block;padding:30px}.nn-final-cta .btn{margin-top:18px;width:100%}.ops-header{margin:12px;border-radius:22px}.ops-page{padding:12px}.module-head{padding:18px}.nn-service-cards{margin-top:18px}.navbar .navbar-nav{padding:1rem 0}.ops-sidebar{display:none}.ops-main{margin-left:0!important}.ops-mobile-tabs{display:flex!important;overflow:auto;gap:8px;padding:10px 12px}.ops-mobile-tabs a{white-space:nowrap;background:#fff;border:1px solid var(--nn-line);border-radius:999px;padding:.6rem .9rem;color:#0f172a;font-weight:800}.ops-mobile-tabs a.active{background:#ef0038;color:#fff!important}}
@media (min-width:992px){.ops-mobile-tabs,.ops-bottom-nav{display:none!important}}


/* ============================================================
   Import-safe polish: cleaner production-like UI
   ============================================================ */
body { letter-spacing: .01em; }
.navbar-brand { gap: .65rem; }
.hero { min-height: 640px; display: flex; align-items: center; }
.hero-visual-card, .service-photo-card, .admin-shell .card, .mypage-shell .card {
  border: 1px solid rgba(17,24,39,.08);
  box-shadow: 0 22px 60px rgba(15,23,42,.08);
}
.hero-title { color: #111827; }
.hero-subtitle { color: #475569; }
.badge-soft-danger, .nn-badge-soft {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid #ffe4e6;
  border-radius: 999px;
  font-weight: 800;
}
.table { vertical-align: middle; }
.table thead th {
  background: #f8fafc;
  color: #475569;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-bottom: 1px solid #e5e7eb;
}
.pagination .page-link {
  border-radius: 12px;
  margin: 0 .12rem;
  color: #111827;
  border-color: #e5e7eb;
}
.pagination .active .page-link {
  background: var(--nn-primary);
  border-color: var(--nn-primary);
}
.alert { border-radius: 18px; }
.admin-sidebar, .nn-admin-sidebar {
  background: linear-gradient(180deg, #111827 0%, #0f172a 100%) !important;
}
.admin-sidebar .active, .nn-admin-sidebar .active,
.admin-sidebar .nav-link.active, .nn-admin-sidebar .nav-link.active {
  background: linear-gradient(135deg, var(--nn-primary), #fb7185) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(229,27,35,.24);
}
@media (max-width: 767.98px) {
  .hero { min-height: auto; padding: 56px 0; }
  .hero-title { font-size: clamp(2.2rem, 13vw, 3.6rem); }
  .section { padding: 54px 0; }
}

/* v181 minimal: keep the right-side operation/cancel area visible on contract detail scroll.
   The cancel panel is pinned to the bottom of the right column so it does not slide upward with the page. */
@media (min-width: 1200px){
  .contract-ops-nn-contract > .row > .col-xl-4{
    position: sticky;
    top: 92px;
    align-self: flex-start;
    max-height: calc(100vh - 108px);
    overflow-y: auto;
    padding-bottom: 8px;
    scrollbar-gutter: stable;
  }
  .contract-ops-nn-contract .contract-sticky-actions{
    position: static !important;
    top: auto !important;
  }
  .contract-ops-nn-contract .cancel-panel{
    position: sticky;
    bottom: 0;
    z-index: 5;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .10);
  }
}
@media (max-width: 1199.98px){
  .contract-ops-nn-contract > .row > .col-xl-4,
  .contract-ops-nn-contract .cancel-panel{
    position: static;
    max-height: none;
    overflow: visible;
    box-shadow: none;
  }
}

/* v20260515: contract operation panel - fixed/no inner scroll, frequently used actions first */
@media (min-width: 1200px){
  .contract-ops-nn-contract > .row > .contract-fixed-column,
  .contract-ops-nn-contract > .row > .col-xl-4{
    position: sticky !important;
    top: 92px !important;
    align-self: flex-start !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    scrollbar-gutter: auto !important;
  }
  .contract-ops-nn-contract .contract-sticky-actions{
    position: static !important;
    top: auto !important;
  }
  .contract-ops-nn-contract .cancel-panel{
    position: static !important;
    bottom: auto !important;
    z-index: auto !important;
  }
}
.contract-ops-nn-contract .contract-primary-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.contract-ops-nn-contract .shipping-fixed-box{
  border:1px solid #fee2e2;
  background:linear-gradient(180deg,#fff,#fff7f7);
  border-radius:18px;
  padding:14px;
}
.contract-ops-nn-contract .shipping-fixed-box .form-label{margin-bottom:4px;color:#475569}
.contract-ops-nn-contract .contract-action-grid .btn{min-height:44px;font-weight:800}
@media(max-width:1199.98px){
  .contract-ops-nn-contract > .row > .contract-fixed-column,
  .contract-ops-nn-contract > .row > .col-xl-4{
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* v38 billing/payment usability improvements */
.product-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}.product-policy-card{background:#fff;border:1px solid #e8edf5;border-radius:24px;padding:1rem;box-shadow:0 16px 40px rgba(15,23,42,.055)}.product-policy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid #eef2f7}.policy-section{padding:.9rem 0;border-bottom:1px solid #f0f3f8}.policy-section:last-child{border-bottom:0;padding-bottom:0}.policy-label{font-size:.82rem;font-weight:900;color:#475467;margin-bottom:.55rem}.policy-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .7rem}.policy-check-grid.methods{grid-template-columns:repeat(4,minmax(0,1fr))}.policy-check{display:flex;align-items:center;gap:.45rem;border:1px solid #edf1f7;background:#f8fafc;border-radius:14px;padding:.55rem .65rem;font-size:.88rem;font-weight:700;color:#344054;min-height:42px}.policy-check input{flex:0 0 auto}.payment-rule-card{background:#eefcff;border:1px solid #c8f2fb;border-radius:22px;padding:1rem 1.1rem;box-shadow:0 12px 28px rgba(15,23,42,.045)}.rule-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#d6f7ff;color:#0e7490;font-size:1.15rem}.payment-method-card{padding:1rem;border-radius:18px;background:#fff;border:1px solid #edf1f7;box-shadow:0 8px 22px rgba(15,23,42,.035)}.invoice-total-card{background:linear-gradient(135deg,#fff1f2,#fff);border:1px solid #fecdd3;border-radius:20px;padding:1rem}.invoice-total-card .amount{font-size:2rem;line-height:1.1;font-weight:1000;color:#d51224;letter-spacing:-.04em}.invoice-items-table td,.invoice-items-table th{white-space:normal!important}.table-scroll-hint:before{display:none!important}.admin-compact-table td,.admin-compact-table th{white-space:normal}.admin-page-head .text-muted,.page-head .text-muted{line-height:1.7}@media(max-width:991.98px){.policy-check-grid.methods{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.product-policy-grid{grid-template-columns:1fr}.product-policy-card{padding:.85rem;border-radius:18px}.policy-check-grid,.policy-check-grid.methods{grid-template-columns:1fr}.product-policy-head{display:block}.product-policy-head .badge{margin-top:.5rem}.invoice-total-card .amount{font-size:1.6rem}}

/* v211 Contract activation SIM/device input */
.contract-ops-nn-contract .activation-box{
  border:1px solid #bbf7d0;
  background:linear-gradient(180deg,#f0fdf4,#ffffff);
  border-radius:18px;
  padding:14px;
}
.contract-ops-nn-contract .activation-box-head{
  display:grid;
  gap:3px;
  margin-bottom:8px;
}
.contract-ops-nn-contract .activation-box-head strong{font-weight:1000;color:#14532d}
.contract-ops-nn-contract .activation-box-head small{font-weight:800;color:#64748b}
.contract-ops-nn-contract .activation-asset-form .form-control,
.contract-ops-nn-contract .activation-asset-form .form-select{min-height:42px;border-radius:13px;font-weight:750}
@media(max-width:767.98px){
  .contract-ops-nn-contract .activation-box{padding:12px;border-radius:16px}
}

/* v213 contract/application search + activation UI polish */
.admin-filter-card-v212 .form-label{color:#334155;letter-spacing:.01em}
.application-form-review-v212 .form-section-title-v212{margin-top:14px}
.contract-ops-nn-contract .activation-asset-form .d-grid .btn{font-weight:950;border-radius:16px;min-height:48px}
.contract-ops-nn-contract .activation-asset-form .btn-outline-dark{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
.contract-ops-nn-contract .activation-asset-form .btn-outline-dark:hover{background:#0f172a;color:#fff}
