
/* NF Platform Core 3.1.7 — Universal Simple My NF hardening */
:root {
  --nf-touch: 44px;
  --nf-readable: 72ch;
  --nf-gap: clamp(12px, 2vw, 20px);
}
.nf-simple-experience-hardened,
.nf-simple-experience-hardened * { box-sizing:border-box; }
.nf-simple-experience-hardened { overflow-wrap:anywhere; }
.nf-simple-experience-hardened img,
.nf-simple-experience-hardened svg,
.nf-simple-experience-hardened video { max-width:100%; height:auto; }
.nf-simple-experience-hardened button,
.nf-simple-experience-hardened input[type="button"],
.nf-simple-experience-hardened input[type="submit"],
.nf-simple-experience-hardened .button,
.nf-simple-experience-hardened a.nf-action {
  min-height:var(--nf-touch);
  min-width:var(--nf-touch);
}
.nf-simple-experience-hardened :focus-visible {
  outline:3px solid currentColor;
  outline-offset:3px;
}
.nf-simple-experience-hardened .nf-dashboard-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:var(--nf-gap);
}
.nf-simple-experience-hardened .nf-dashboard-card {
  min-width:0;
  padding:clamp(16px,2.4vw,24px);
}
.nf-simple-experience-hardened .nf-primary-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.nf-simple-experience-hardened .nf-readable,
.nf-simple-experience-hardened .nf-card-copy { max-width:var(--nf-readable); }
.nf-simple-experience-hardened .nf-table-wrap {
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.nf-simple-experience-hardened table { max-width:100%; }
.nf-simple-experience-hardened label { display:block; }
.nf-simple-experience-hardened input,
.nf-simple-experience-hardened select,
.nf-simple-experience-hardened textarea { max-width:100%; font:inherit; }
.nf-simple-experience-hardened [hidden] { display:none !important; }

/* RTL: logical properties avoid mirrored-layout bugs. */
[dir="rtl"] .nf-simple-experience-hardened,
.nf-simple-experience-rtl { text-align:start; direction:rtl; }
[dir="rtl"] .nf-simple-experience-hardened .nf-primary-actions,
.nf-simple-experience-rtl .nf-primary-actions { flex-direction:row; }
[dir="rtl"] .nf-simple-experience-hardened .nf-icon-chevron,
.nf-simple-experience-rtl .nf-icon-chevron { transform:scaleX(-1); }

/* Mobile: one clear column, large controls, no cramped dashboard. */
@media (max-width: 767px) {
  .nf-simple-experience-hardened .nf-dashboard-grid { grid-template-columns:1fr; }
  .nf-simple-experience-hardened .nf-primary-actions > * { flex:1 1 100%; width:100%; }
  .nf-simple-experience-hardened .nf-dashboard-card { border-radius:14px; }
  .nf-simple-experience-hardened h1 { font-size:clamp(1.55rem,7vw,2rem); line-height:1.15; }
  .nf-simple-experience-hardened h2 { font-size:clamp(1.2rem,5.5vw,1.55rem); line-height:1.2; }
}

/* Larger screens retain the same hierarchy, only with more breathing room. */
@media (min-width: 1200px) {
  .nf-simple-experience-hardened .nf-simple-shell { max-width:1440px; margin-inline:auto; }
}

/* Motion/accessibility. */
@media (prefers-reduced-motion: reduce) {
  .nf-simple-experience-hardened *,
  .nf-simple-experience-hardened *::before,
  .nf-simple-experience-hardened *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
@media (prefers-contrast: more) {
  .nf-simple-experience-hardened .nf-dashboard-card { border-width:2px; }
}

/* Print remains readable for executive/client records. */
@media print {
  .nf-simple-experience-hardened .nf-primary-actions,
  .nf-simple-experience-hardened .nf-no-print { display:none !important; }
  .nf-simple-experience-hardened .nf-dashboard-card { break-inside:avoid; box-shadow:none !important; }
}
