/* Generate NFC v2.4.8 — readability, iPhone tutorial reliability, dashboard chart UX
   Loaded after every prior customer portal stylesheet so user customizations remain the baseline. */

/* --------------------------------------------------------------------------
   Typography system — customer portal
   Scale: 10 / 12 / 14 / 16 / 20 / 24 / 28
   -------------------------------------------------------------------------- */
.gnfc-portal-shell,
.gnfc-portal-login-wrap{
  font-size:14px!important;
}

.gnfc-app-nav a,
.gnfc-app-logout,
.gnfc-app-user-name,
.gnfc-project-search input,
.gnfc-project-search-submit,
.gnfc-btn,
.gnfc-v24-btn,
.gnfc-project-pagination a{
  font-size:12px!important;
}

.gnfc-app-profile strong,
.gnfc-product-body p,
.gnfc-template-body p,
.gnfc-help-item p,
.gnfc-tracking-product p,
.gnfc-tracking-details span,
.gnfc-tracking-details strong,
.gnfc-tracking-shipment span,
.gnfc-tracking-shipment strong,
.gnfc-dashboard-account-strip>div span{
  font-size:12px!important;
}

.gnfc-app-profile small,
.gnfc-app-topbar-label,
.gnfc-portal-eyebrow,
.gnfc-v24-kicker,
.gnfc-v24-card-head span,
.gnfc-product-meta span,
.gnfc-dashboard-account-strip>div small,
.gnfc-v24-period small,
.gnfc-v24-report-head small,
.gnfc-pagination-info{
  font-size:12px!important;
}

.gnfc-portal-section-head p,
.gnfc-v24-card-head p,
.gnfc-v24-chart-foot,
.gnfc-v24-progress-note,
.gnfc-v24-recent-list small,
.gnfc-v24-view-list small,
.gnfc-dashboard-shortcuts small,
.gnfc-dashboard-view-list small,
.gnfc-tracking-card-head>small,
.gnfc-tracking-overall span,
.gnfc-tracking-steps small,
.gnfc-tracking-payment-list small{
  font-size:12px!important;
}

.gnfc-product-body h3,
.gnfc-template-body h3,
.gnfc-help-item summary,
.gnfc-v24-recent-list strong,
.gnfc-v24-view-list strong,
.gnfc-dashboard-shortcuts strong,
.gnfc-dashboard-view-list strong,
.gnfc-tracking-status strong,
.gnfc-tracking-overall strong,
.gnfc-tracking-steps strong,
.gnfc-tracking-payment-list b{
  font-size:14px!important;
}

/* Section titles must read as titles, not helper text. */
.gnfc-v24-card-head h2,
.gnfc-tracking-card-head h3,
.gnfc-editor-card-head h2,
.gnfc-editor-card-head h3{
  font-family:Montserrat,Roboto,sans-serif!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
}

.gnfc-portal-section-head h1,
.gnfc-project-topbar-title{
  font-family:Montserrat,Roboto,sans-serif!important;
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:700!important;
}

.gnfc-app-topbar strong{
  font-family:Montserrat,Roboto,sans-serif!important;
  font-size:24px!important;
  font-weight:700!important;
}

.gnfc-v24-welcome h1{
  font-family:Montserrat,Roboto,sans-serif!important;
  font-size:28px!important;
  font-weight:700!important;
}
.gnfc-v24-welcome p{font-size:14px!important;line-height:1.65!important}

.gnfc-v24-kpi small{font-size:12px!important}
.gnfc-v24-kpi strong{font-size:24px!important;font-weight:700!important}
.gnfc-v24-kpi em{font-size:12px!important}
.gnfc-v24-period strong,
.gnfc-v24-report-head strong{font-size:20px!important;font-weight:700!important}

/* Editor readability. */
.gnfc-portal-shell.is-editor-mode .gnfc-editor-card-head p,
.gnfc-portal-shell.is-editor-mode .gnfc-editor-control-panel p,
.gnfc-portal-shell.is-editor-mode .gnfc-editor-control-panel small,
.gnfc-portal-shell.is-editor-mode .gnfc-desktop-only-field small,
.gnfc-portal-shell.is-editor-mode .description,
.gnfc-portal-shell.is-editor-mode .gnfc-help-text{
  font-size:12px!important;
  line-height:1.6!important;
}
.gnfc-portal-shell.is-editor-mode label,
.gnfc-portal-shell.is-editor-mode .gnfc-field label{
  font-size:14px!important;
  font-weight:700!important;
}
.gnfc-portal-shell.is-editor-mode input,
.gnfc-portal-shell.is-editor-mode textarea,
.gnfc-portal-shell.is-editor-mode select,
.gnfc-portal-shell.is-editor-mode button{
  font-size:14px!important;
}

/* --------------------------------------------------------------------------
   14-day View activity
   -------------------------------------------------------------------------- */
.gnfc-v24-analytics-card .gnfc-v24-card-head h2{
  font-size:16px!important;
  font-weight:700!important;
}
.gnfc-v24-bar-value,
.gnfc-v24-bar-col small{font-size:12px!important}

.gnfc-v24-chart-empty{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:28px;
  text-align:left;
  border-bottom:1px solid #eef1f5;
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);
}
.gnfc-v24-chart-empty-icon{
  width:48px;height:48px;flex:0 0 48px;
  display:grid;place-items:center;
  border-radius:14px;
  background:#f1efff;
  color:#6c5ce7;
  font-size:20px;
  font-weight:700;
}
.gnfc-v24-chart-empty strong{
  display:block;
  margin-bottom:5px;
  font-family:Montserrat,Roboto,sans-serif;
  font-size:16px;
  line-height:1.35;
  font-weight:700;
  color:#172033;
}
.gnfc-v24-chart-empty p{
  max-width:520px;
  margin:0!important;
  font-size:12px!important;
  line-height:1.65!important;
  color:#7a8495!important;
}

/* --------------------------------------------------------------------------
   Tutorial — real mobile/iPhone support
   -------------------------------------------------------------------------- */
.gnfc-tour-popover h3{
  font-family:Montserrat,Roboto,sans-serif!important;
  font-size:16px!important;
  font-weight:700!important;
}
.gnfc-tour-popover p{font-size:14px!important;line-height:1.6!important}
.gnfc-tour-progress,
.gnfc-tour-progress button{font-size:12px!important}
.gnfc-tour-actions button{font-size:12px!important}

@media (max-width:820px), (pointer:coarse){
  .gnfc-tour-overlay{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    z-index:2147483000!important;
    background:rgba(8,13,22,.62)!important;
    -webkit-backdrop-filter:blur(1px);
    backdrop-filter:blur(1px);
  }
  .gnfc-tour-highlight{
    position:fixed!important;
    z-index:2147483001!important;
  }
  .gnfc-tour-popover{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px))!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(58dvh,460px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    z-index:2147483002!important;
    padding:18px!important;
    border-radius:18px!important;
  }
  .gnfc-tour-popover h3{font-size:16px!important}
  .gnfc-tour-popover p{font-size:14px!important}
  .gnfc-tour-actions button{min-height:42px!important;font-size:12px!important}
}

/* --------------------------------------------------------------------------
   Mobile readability — do not shrink below the approved scale.
   -------------------------------------------------------------------------- */
@media (max-width:820px){
  .gnfc-portal-shell:not(.is-editor-mode){font-size:14px!important}
  .gnfc-mobile-nav a small{font-size:12px!important}
  .gnfc-app-topbar strong{font-size:20px!important}
  .gnfc-app-topbar-label{font-size:12px!important}
  .gnfc-portal-section-head h1,
  .gnfc-project-topbar-title{font-size:20px!important}
  .gnfc-portal-section-head p{font-size:14px!important}

  .gnfc-v24-welcome h1{font-size:24px!important}
  .gnfc-v24-welcome p{font-size:14px!important}
  .gnfc-v24-kpi small{font-size:12px!important}
  .gnfc-v24-kpi strong{font-size:20px!important}
  .gnfc-v24-kpi em{font-size:12px!important}

  .gnfc-v24-card-head span{font-size:12px!important}
  .gnfc-v24-card-head h2{font-size:16px!important;font-weight:700!important}
  .gnfc-v24-card-head p{font-size:12px!important}
  .gnfc-v24-card-head>a,
  .gnfc-v24-card-head>small{font-size:12px!important}

  .gnfc-product-body h3{font-size:16px!important}
  .gnfc-product-body p{font-size:14px!important}
  .gnfc-product-body small{font-size:12px!important}
  .gnfc-product-meta span{font-size:12px!important}
  .gnfc-product-actions .gnfc-btn{font-size:12px!important}

  .gnfc-template-body h3{font-size:16px!important}
  .gnfc-template-body p{font-size:12px!important}
  .gnfc-help-item summary{font-size:14px!important}
  .gnfc-help-item p{font-size:12px!important}

  .gnfc-v24-chart-empty{
    min-height:180px;
    padding:22px 18px;
    align-items:flex-start;
  }
  .gnfc-v24-chart-empty strong{font-size:16px!important}
  .gnfc-v24-chart-empty p{font-size:12px!important}

  .gnfc-tracking-product h2{font-size:16px!important}
  .gnfc-tracking-product p{font-size:12px!important}
  .gnfc-tracking-status small,
  .gnfc-tracking-status span{font-size:12px!important}
  .gnfc-tracking-status strong{font-size:14px!important}
  .gnfc-tracking-card-head h3{font-size:16px!important;font-weight:700!important}
  .gnfc-tracking-card-head span{font-size:12px!important}
  .gnfc-tracking-overall span{font-size:12px!important}
  .gnfc-tracking-steps strong{font-size:14px!important}
  .gnfc-tracking-steps small{font-size:12px!important}
  .gnfc-tracking-note p{font-size:12px!important}

  /* Mobile editor typography follows the same readable scale. */
  .gnfc-portal-shell.is-editor-mode .gnfc-editor-card-head h2,
  .gnfc-portal-shell.is-editor-mode .gnfc-editor-card-head h3{font-size:16px!important;font-weight:700!important}
  .gnfc-portal-shell.is-editor-mode label,
  .gnfc-portal-shell.is-editor-mode input,
  .gnfc-portal-shell.is-editor-mode textarea,
  .gnfc-portal-shell.is-editor-mode select{font-size:14px!important}
  .gnfc-portal-shell.is-editor-mode .gnfc-editor-card-head p,
  .gnfc-portal-shell.is-editor-mode .gnfc-editor-control-panel small{font-size:12px!important}
}
