/* ═══════════════════════════════════════════════════════════════════════════
   NIDAAN POLISH OVERLAY  —  Jun 2026
   Loaded AFTER nidaan_design.css and AFTER each page's own <style> block.
   Applies progressive enhancements to existing pages without breaking
   their layouts. Tokens come from nidaan_design.css.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Typography */
body { font-family: var(--nd-font-sans) !important; }
a    { transition: color var(--nd-motion-fast) var(--nd-ease); }

/* Inputs: focus glow + touch targets */
input, select, textarea {
  font-family: inherit;
  transition: border-color var(--nd-motion-fast) var(--nd-ease),
              box-shadow var(--nd-motion-fast) var(--nd-ease);
}
input:focus, select:focus, textarea:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(34, 211, 238, .18);
}
@media (max-width: 480px) {
  input, select, textarea, button { min-height: 44px; }
}

/* Buttons: subtle press feedback */
button, .btn-sm, .btn, .btn-cyan, .btn-ghost, .doc-upload-btn {
  transition: transform var(--nd-motion-fast) var(--nd-ease),
              background var(--nd-motion-base) var(--nd-ease),
              box-shadow var(--nd-motion-base) var(--nd-ease),
              filter var(--nd-motion-fast) var(--nd-ease) !important;
}
button:active, .btn-sm:active, .btn:active { transform: scale(.97); }

/* Cards / panels: fade-in entrance */
.stat, .card, .sub-banner, .stats > *,
.section-card, .ops-card, .stat-card,
.stat-grid > * {
  animation: ndFadeUp .35s var(--nd-ease-out) backwards;
}
.stat:nth-child(1), .stat-card:nth-child(1), .stat-grid > *:nth-child(1) { animation-delay: .04s; }
.stat:nth-child(2), .stat-card:nth-child(2), .stat-grid > *:nth-child(2) { animation-delay: .10s; }
.stat:nth-child(3), .stat-card:nth-child(3), .stat-grid > *:nth-child(3) { animation-delay: .16s; }
.stat:nth-child(4), .stat-card:nth-child(4), .stat-grid > *:nth-child(4) { animation-delay: .22s; }
.stat:nth-child(5), .stat-card:nth-child(5), .stat-grid > *:nth-child(5) { animation-delay: .28s; }

/* Stat cards: micro-lift on hover */
.stat, .stat-card {
  transition: transform var(--nd-motion-base) var(--nd-ease),
              border-color var(--nd-motion-base) var(--nd-ease);
}
.stat:hover, .stat-card:hover {
  transform: translateY(-2px);
  border-color: var(--nd-border-strong);
}

/* Modal: smooth entry */
.modal-bg { transition: opacity var(--nd-motion-base) var(--nd-ease); }
.modal-bg[style*="display:flex"],
.modal-bg[style*="display: flex"] {
  animation: ndFadeIn var(--nd-motion-base) var(--nd-ease-out);
}
.modal-bg[style*="display:flex"] > .modal,
.modal-bg[style*="display: flex"] > .modal {
  animation: ndModalIn var(--nd-motion-slow) var(--nd-ease-spring);
}

/* Nav: deeper backdrop blur for premium feel */
nav { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

/* Tables: row hover transition */
tr { transition: background-color var(--nd-motion-fast) var(--nd-ease); }

/* Letter-spacing for uppercase pills/labels */
.status-pill, .badge { letter-spacing: var(--nd-tracking-wide); }

/* Scrollbars a mouse can grab (owner 23 Oct: "too thin to grab"): 16 px with a 12 px thumb, a visible track, the
   thumb >= 3:1 on it and stronger on hover, both themes. Only for a mouse - a touch screen keeps the scrollbar it
   draws itself, so nothing sits on top of swiping. (The old 10 px bar had a 6 px thumb at 1.1:1 in dark.) */
@media (hover: hover) and (pointer: fine) {
  ::-webkit-scrollbar { width: 16px; height: 16px; }
  ::-webkit-scrollbar-track { background: var(--nd-scroll-track); }
  ::-webkit-scrollbar-thumb {
    background: var(--nd-scroll-thumb);
    border-radius: var(--nd-radius-pill);
    border: 2px solid var(--nd-scroll-track);
    min-width: 40px; min-height: 40px;
  }
  ::-webkit-scrollbar-thumb:hover { background: var(--nd-scroll-thumb-hover); }
  ::-webkit-scrollbar-corner { background: var(--nd-scroll-track); }
  /* Firefox has no ::-webkit-scrollbar: the same colours at its normal width (setting these in Chromium would
     switch the rules above off, so they are for Firefox only) */
  @supports not selector(::-webkit-scrollbar) {
    * { scrollbar-width: auto; scrollbar-color: var(--nd-scroll-thumb) var(--nd-scroll-track); }
  }
}
