/* Shared Zynpse theme — mirrors the home page's paper, ink, and editorial type. */
:root {
  --paper: #F5F6F3; --paper-line: #E2E4DE; --ink: #1B211D; --ink-soft: #5B6560;
  --olive: #5F6E33; --indigo: #4A4B7A; --teal: #1F6B54;
  --bg: var(--paper); --surface: var(--paper); --surface2: #EFF0EC; --card: #FFFFFF;
  --text: var(--ink); --muted: var(--ink-soft); --border: var(--paper-line); --line: var(--paper-line);
  --accent: var(--olive); --accent-2: #4D5A29; --accent-ink: var(--olive); --accent-soft: #E9EDE0;
  --accent-dim: rgba(95, 110, 51, .09); --shadow: none;
}
body { background: var(--paper); color: var(--ink); font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

/* App headers use the same quiet, rule-separated treatment as the home page. */
.topbar, header.topbar { background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--paper-line); box-shadow: none; padding: 18px 28px; }
.topbar .back-link, .back-link { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink-soft); font-family: 'Fraunces', Georgia, serif; font-size: 19px; font-weight: 500; letter-spacing: .01em; }
.topbar .back-link:hover, .back-link:hover { background: transparent; color: var(--ink); transform: none; }
.topbar .logo { background: var(--accent-soft); color: var(--olive); border-radius: 50%; }
.topbar h1 { font-family: 'Fraunces', Georgia, serif; font-size: 21px; font-weight: 500; letter-spacing: 0; }
.topbar .subtitle, .subtitle { color: var(--ink-soft); opacity: 1; }
.top-links a { color: var(--ink-soft); font-size: 13.5px; letter-spacing: 0; }
.top-links a:hover, .top-links a.active { color: var(--ink); }.top-links a.active { border-bottom-color: var(--ink); }

/* Buttons, fields, and panels retain their functionality but share one material palette. */
.btn, button, input, select, textarea { font-family: inherit; }.btn-primary { background: var(--olive); }.btn-primary:hover { background: #4D5A29; }
.btn-secondary { background: var(--paper); color: var(--ink); border-color: var(--paper-line); }.btn-secondary:hover { color: var(--olive); border-color: var(--olive); }.btn-danger { background: #F7EEEE; }

/* Labs */
.site-nav { padding: 22px 28px; background: var(--paper); border-bottom-color: var(--paper-line); }.nav-logo { font-family: 'Fraunces', Georgia, serif; font-size: 20px; font-weight: 500; }.nav-logo span { color: var(--ink-soft); }.nav-links { gap: 28px; }.nav-link { color: var(--ink-soft); font-family: 'Inter', sans-serif; font-size: 14px; letter-spacing: 0; }.nav-link:hover, .nav-link.active { color: var(--ink); }.nav-link.active { border-bottom-color: var(--ink); }.page { padding: 72px 28px; }.wrapper { max-width: 720px; }.page-header h1 { font-family: 'Fraunces', Georgia, serif; font-size: clamp(34px, 5vw, 46px); font-weight: 500; }.page-header p, .page-footer { font-family: 'Inter', sans-serif; color: var(--ink-soft); }.card { border-color: var(--paper-line); border-radius: 0; box-shadow: none; }.card-label { color: var(--ink-soft); border-bottom-color: var(--paper-line); font-family: 'Inter', sans-serif; letter-spacing: .06em; }textarea { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }.actions .btn, #modalActions .btn { font-family: 'Inter', sans-serif; border-radius: 0; }#modalOverlay { background: rgba(27, 33, 29, .42); }#modalBox { border-radius: 0; border-color: var(--paper-line); }.line-group { background: var(--accent-soft); border-left-color: var(--olive); }.copied-toast { background: var(--ink); color: var(--paper); font-family: 'Inter', sans-serif; }

/* Clipboard */
.toolbar, .tabs-wrap, .files-section { background: var(--paper); border-color: var(--paper-line); }.status-pill, .files-action-btn, .file-card { background: var(--paper); border-color: var(--paper-line); }.tab.active { color: var(--ink); border-bottom-color: var(--olive); background: var(--accent-dim); }.tab-add:hover, .files-action-btn:hover, .files-drop:hover, .files-drop.dragover { color: var(--olive); border-color: var(--olive); }textarea.editor { background: #FFFFFF; border-color: var(--paper-line); border-radius: 0; }textarea.editor:focus { border-color: var(--olive); box-shadow: 0 0 0 3px rgba(95,110,51,.13); }.slot-name-input:focus { border-bottom-color: var(--olive); }.btn-primary { box-shadow: none; }.btn-primary:hover { box-shadow: none; }#qrModal, #confirmModal { background: rgba(27, 33, 29, .42); }.qr-box, .confirm-box { border-radius: 0; border-color: var(--paper-line); box-shadow: none; }

/* Sanford */
.container { max-width: 920px; }.card { border: 1px solid var(--paper-line); box-shadow: none; }.card h2, .dose-drug-name { font-family: 'Fraunces', Georgia, serif; font-weight: 500; }.step-pill { background: var(--olive); }.tabs { background: var(--surface2); border-radius: 0; }.tab.active { color: var(--olive); box-shadow: none; }.field input, .field select, .drug-results { border-color: var(--paper-line); border-radius: 0; }.field input:focus, .field select:focus { border-color: var(--olive); box-shadow: 0 0 0 3px rgba(95,110,51,.13); }.result-bar, .dose-primary { background: var(--accent-soft); border-radius: 0; }.result-value, .dose-drug-route, .dose-primary-label { color: var(--olive); }.dose-card { border-top-color: var(--teal); }.drug-item:hover, .drug-item.selected { background: var(--accent-soft); }.indication-chip.active { background: var(--olive); border-color: var(--olive); }
@media (max-width: 720px) { .topbar, header.topbar { padding: 16px 20px; }.site-nav { padding: 16px 20px; }.page { padding: 48px 20px; } }

/* NCD Assistant */
.ncd-page { background: var(--paper) !important; color: var(--ink) !important; }.ncd-header { background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--paper-line); }.ncd-header-inner { max-width: 1280px; margin: 0 auto; padding: 18px 28px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }.ncd-title-group { display: flex; align-items: center; gap: 18px; }.ncd-brand { color: var(--ink); font: 500 20px 'Fraunces', Georgia, serif; text-decoration: none; }.ncd-title-group h1 { margin: 0; color: var(--ink); font: 500 22px/1.15 'Fraunces', Georgia, serif; }.ncd-title-group p { margin: 3px 0 0; color: var(--ink-soft); font-size: 12px; }.ncd-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px; }.ncd-nav a { color: var(--ink-soft); font-size: 13.5px; text-decoration: none; border-bottom: 1px solid transparent; padding-bottom: 2px; }.ncd-nav a:hover, .ncd-nav a.active { color: var(--ink); border-bottom-color: var(--ink); }.ncd-main { padding-top: 32px; padding-bottom: 56px; }.ncd-page .card { background: #fff; border: 1px solid var(--paper-line); border-radius: 0; box-shadow: none; }.ncd-page .sec-title { border-bottom-color: var(--olive); color: var(--ink); font-family: 'Fraunces', Georgia, serif; font-size: 18px; font-weight: 500; }.ncd-page .rec-card { border-left-color: var(--olive); background: var(--accent-soft); border-radius: 0; }.ncd-page .lab-row th, .ncd-page .chk-grid label:hover { background: var(--surface2); }.ncd-page input, .ncd-page select, .ncd-page textarea { border-color: var(--paper-line); border-radius: 0; }.ncd-page input:focus, .ncd-page select:focus, .ncd-page textarea:focus { border-color: var(--olive); box-shadow: 0 0 0 3px rgba(95,110,51,.13); outline: none; }.ncd-page .bg-blue-700, .ncd-page .bg-cyan-600, .ncd-page .bg-indigo-700 { background-color: var(--olive); }.ncd-page .bg-blue-700:hover, .ncd-page .bg-cyan-600:hover, .ncd-page .bg-indigo-700:hover { background-color: #4D5A29; }.ncd-page .text-cyan-900, .ncd-page .text-emerald-900, .ncd-page .text-blue-700 { color: var(--ink); }
@media (max-width: 960px) { .ncd-header-inner { align-items: flex-start; flex-direction: column; gap: 14px; }.ncd-nav { justify-content: flex-start; } }
