/* ============================================================
   GenoBank · Biosample Details — Clinical Blue re-skin
   Override layer (loaded LAST). Re-themes via --gc-* tokens.
   No markup/JS changes; all functionality preserved.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Public+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  /* surfaces & ink — calm clinical */
  --gc-white:#FFFFFF;
  --gc-ink:#13283A;
  --gc-body:#34454F;
  --gc-muted:#5B6B76;
  --gc-surface:#F2F6FA;
  --gc-border:#E2E9EF;
  /* accents — healthcare blue only (no green) */
  --gc-blue:#1763A6;
  --gc-orange:#1763A6;   /* section/accent icons → clinical blue */
  --gc-green:#1763A6;    /* map success → blue (green is not healthcare) */
  --gc-violet:#E8F1FA;   /* was dark; light tint if used as a surface */
  --gc-red:#B42318;
  /* type */
  --gc-serif:'Newsreader',Georgia,serif;
  --gc-sans:'Public Sans',system-ui,sans-serif;
  --gc-mono:'IBM Plex Mono',monospace;
}

/* page surface */
body{ background-color:var(--gc-surface) !important; color:var(--gc-body); }

/* cards: clean white, soft border, gentle elevation */
.custom-card{
  background:var(--gc-white) !important;
  border:1px solid var(--gc-border) !important;
  border-radius:14px !important;
  box-shadow:0 1px 2px rgba(19,40,58,.05),0 12px 30px -18px rgba(19,40,58,.20) !important;
}
.bg-transparent-clear,.bg-body{ background-color:var(--gc-white) !important; }
/* inner data cells read as distinct tiles */
.custom-card .card.bg-transparent{
  background:var(--gc-surface) !important;
  border:1px solid var(--gc-border) !important;
  border-radius:10px !important;
}

/* section headers — keep tidy, ink color, blue icon */
.card-header h1.h1.fs-5{ color:var(--gc-ink) !important; letter-spacing:-.01em; }
.card-header h1.h1.fs-5 i,.card-header i,.card-header .material-symbols-outlined{ color:var(--gc-blue) !important; }

/* page title gets the editorial serif */
.container-fluid > .row > .mt-2 > h2,
h2.text-center{ font-family:var(--gc-serif) !important; font-weight:500; color:var(--gc-ink); letter-spacing:-.01em; }

/* links */
a{ color:var(--gc-blue); }

/* serials / addresses / hashes stay mono + ink */
.hero-serial,.hero-address,.lab-field-mono{ font-family:var(--gc-mono) !important; color:var(--gc-ink) !important; }

/* ---- no green anywhere ---- */
.text-success{ color:var(--gc-blue) !important; }
.btn-success{ background-color:var(--gc-blue) !important; border-color:var(--gc-blue) !important; color:#fff !important; }
.custody-state-green{ background:#E8F1FA !important; border-color:#BCD6EF !important; color:#0E4A80 !important; }

/* ---- Story Protocol section: convert dark → clinical light (else white-on-white) ---- */
#story-record-section .card.bg-black,
#story-record-section .bg-black{
  background:var(--gc-white) !important;
  color:var(--gc-ink) !important;
  border:1px solid var(--gc-border) !important;
}
#story-record-section .text-white,
#story-record-section .text-secondary,
#story-record-section .card-title,
#story-record-section h1,
#story-record-section h5{ color:var(--gc-ink) !important; }
#story-record-section .border-white{ border-color:var(--gc-border) !important; }
#story-record-section .bg-transparent-story{
  background:#E8F1FA !important;
  border:1px solid #D3E0EE !important;
  color:var(--gc-ink) !important;
}
#story-record-section .card-title i{ color:var(--gc-blue) !important; }
#story-record-section .inverted-svg{ filter:none !important; }   /* Story wordmark dark on light */
#id-ip-asset-image img{ border:1px solid var(--gc-border) !important; }

/* same dark→light treatment for the IP-assets job list block */
#story-ipa-job-list .card.bg-black,
#story-ipa-job-list .bg-black{ background:var(--gc-white) !important; color:var(--gc-ink) !important; border:1px solid var(--gc-border) !important; }
#story-ipa-job-list .text-white,#story-ipa-job-list .card-title{ color:var(--gc-ink) !important; }
#story-ipa-job-list .border-white{ border-color:var(--gc-border) !important; }
#story-ipa-job-list .badge.bg-light{ background:#E8F1FA !important; }
#story-ipa-job-list .inverted-svg{ filter:none !important; }

/* tables: clean clinical */
.table{ color:var(--gc-body); }
.table thead th{ color:var(--gc-muted); font-weight:600; border-bottom:1px solid var(--gc-border); }
.table td{ border-color:var(--gc-border); }
