/* ============================================================
   NCC Shared Theme — canonical design tokens + components
   v1.0 · 2026-10-15 · served from intranet.customcompounding.com.au
   Every *.ncctech.au tool imports this instead of shipping a
   private copy. Business overrides: [data-ncc-business="ncg|nz"]
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --ncc-teal:    #0094a1;
  --ncc-teal-deep:#073b4c;
  --ncc-navy:    #073b4c;
  --ncc-green:   #2dac6d;
  --ncc-blue:    #118ab2;
  --ncc-gold:    #e19d2a;
  --ncc-light:   #e9f1f7;
  --ncc-offwhite:#f4f8fb;
  --ncc-text:    #0e2730;
  --ncc-muted:   #6c757d;
  --ncc-border:  #e0e5ea;
  --ncc-white:   #ffffff;
  --ncc-radius:  14px;
  --ncc-shadow:  0 4px 24px rgba(7,59,76,0.08);
  --ncc-font:    'Raleway','Segoe UI',Arial,sans-serif;
}

/* ---- Business-unit token overrides (future NCG / NZ) ---- */
[data-ncc-business="ncg"] { --ncc-teal:#e19d2a; --ncc-teal-deep:#3d2b12; }
[data-ncc-business="nz"]  { --ncc-teal:#118ab2; --ncc-teal-deep:#062b3a; }

/* ---- Universal NCC tool header (injected by ncc-header.js) ---- */
.ncc-bar {
  position: sticky; top: 0; z-index: 900;
  display: flex; align-items: center; gap: .75rem;
  background: var(--ncc-teal-deep);
  color: #fff;
  padding: .5rem .9rem;
  font-family: var(--ncc-font);
  box-shadow: 0 2px 10px rgba(7,59,76,.25);
}
.ncc-bar img { height: 30px; width: auto; display: block; }
.ncc-bar .ncc-bar-tool {
  font-weight: 800; font-size: .95rem; letter-spacing: .02em;
  color: #fff; text-decoration: none;
  border-left: 1px solid rgba(255,255,255,.25); padding-left: .75rem;
  flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ncc-bar .ncc-bar-links { display: flex; gap: .4rem; flex-wrap: wrap; }
.ncc-bar a.ncc-bar-link {
  color: #fff; text-decoration: none; font-size: .78rem; font-weight: 700;
  padding: .32rem .7rem; border-radius: 999px;
  background: rgba(255,255,255,.14);
  transition: background .15s;
  white-space: nowrap;
}
.ncc-bar a.ncc-bar-link:hover { background: var(--ncc-teal); }
.ncc-bar a.ncc-bar-link.ncc-primary { background: var(--ncc-teal); }
.ncc-bar a.ncc-bar-link.ncc-primary:hover { background: var(--ncc-green); }
@media (max-width: 640px) {
  .ncc-bar { flex-wrap: wrap; }
  .ncc-bar .ncc-bar-tool { flex-basis: 100%; border-left: none; padding-left: 0; }
}

/* ---- Shared component classes (opt-in for tools) ---- */
.ncc-btn {
  display: inline-block; padding: .55rem 1.1rem; border-radius: 999px;
  background: var(--ncc-teal); color: #fff; font-family: var(--ncc-font);
  font-weight: 700; text-decoration: none; border: none; cursor: pointer;
}
.ncc-btn:hover { background: var(--ncc-green); }
.ncc-card {
  background: var(--ncc-white); border-radius: var(--ncc-radius);
  box-shadow: var(--ncc-shadow); padding: 1.5rem;
}