/*
 * MURDOCK theme for DocuSeal 3.2.6 (daisyUI 3 colour variables, HSL).
 * Light "Chambers": parchment, ink, oxblood, brass.  Dark "Midnight": ink, parchment, oxblood, brass.
 * Loaded by the murdock-web proxy (nginx/murdock.conf). DocuSeal itself is not modified.
 * DocuSeal logos are replaced by the MURDOCK emblem (murdock.js). DocuSeal's "Powered by DocuSeal" credit is kept:
 * its licence (LICENSE_ADDITIONAL_TERMS, AGPL section 7(b)) requires that attribution in the user interface.
 * Signer pages (/s, /d, /p and the signing form) always use light, so documents and signatures look like paper.
 */

html[data-murdock] {
  --rounded-box: .8rem;
  --rounded-btn: .55rem;
  --rounded-badge: 1.2rem;
  --tab-radius: .4rem;
  --murdock-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
}

html[data-murdock="light"] {
  color-scheme: light;
  --p: 41 42% 87%;   --pf: 40 36% 78%;  --pc: 18 14% 15%;
  --s: 353 35% 55%;  --sf: 352 33% 46%; --sc: 0 0% 100%;
  --a: 36 39% 47%;   --af: 36 41% 39%;  --ac: 0 0% 100%;
  --n: 349 66% 25%;  --nf: 349 68% 20%; --nc: 38 58% 96%;
  --b1: 40 46% 95%;  --b2: 38 37% 90%;  --b3: 38 33% 84%;  --bc: 17 12% 12%;
  --in: 204 41% 40%; --inc: 0 0% 100%;
  --su: 139 32% 36%; --suc: 0 0% 100%;
  --wa: 37 59% 45%;  --wac: 38 54% 7%;
  --er: 350 62% 39%; --erc: 0 0% 100%;
}

html[data-murdock="dark"] {
  color-scheme: dark;
  --p: 28 20% 19%;   --pf: 29 18% 25%;  --pc: 38 44% 89%;
  --s: 351 40% 51%;  --sf: 351 45% 58%; --sc: 0 0% 100%;
  --a: 37 47% 60%;   --af: 37 51% 67%;  --ac: 30 21% 7%;
  --n: 349 65% 34%;  --nf: 348 62% 40%; --nc: 38 58% 96%;
  --b1: 38 21% 7%;   --b2: 30 19% 11%;  --b3: 30 18% 15%;  --bc: 39 38% 88%;
  --in: 204 46% 60%; --inc: 206 47% 10%;
  --su: 136 29% 55%; --suc: 137 37% 7%;
  --wa: 38 65% 57%;  --wac: 38 54% 7%;
  --er: 351 69% 61%; --erc: 351 68% 6%;
}

/* Oxblood-to-brass line across the top of every page */
html[data-murdock] body::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, hsl(var(--n)) 0%, hsl(var(--n)) 55%, hsl(var(--a)) 100%);
}

/* Serif headings, like a letterhead */
html[data-murdock] h1,
html[data-murdock] h2,
html[data-murdock] h3,
html[data-murdock] .text-3xl,
html[data-murdock] .text-4xl {
  font-family: var(--murdock-serif);
  letter-spacing: .01em;
}

/* DocuSeal logos: hidden at once (no flash); murdock.js puts the MURDOCK emblem in their place */
html[data-murdock] svg[viewBox="0 0 180 180"][style*="e97a42"],
html[data-murdock] svg[viewBox="0 0 180 180"]:has(> path[d^="M 178.224 72.09"]) {
  display: none !important;
}
.murdock-emblem-wrap { display: inline-flex; align-items: center; flex-shrink: 0; }
.murdock-emblem { display: block; }
img.murdock-emblem { border-radius: 999px; }
#murdock-seal-hero {
  display: block;
  width: 168px;
  height: 168px;
  margin: 2.5rem auto 0;
  filter: drop-shadow(0 6px 14px rgb(0 0 0 / .25));
}
#murdock-seal-hero + h1 { margin-top: 1.25rem; }
html[data-murdock] .murdock-wordmark {
  font-family: var(--murdock-serif);
  letter-spacing: .16em;
  font-weight: 700;
}
html[data-murdock-page="signer"] .murdock-wordmark { letter-spacing: .02em; }

/* DocuSeal credit on staff pages (required by DocuSeal's licence, since the navbar no longer names it) */
#murdock-attribution {
  max-width: 72rem;
  margin: 2.5rem auto 1.5rem;
  padding: 0 1rem;
  text-align: center;
  font-size: .75rem;
  color: hsl(var(--bc) / .55);
}
#murdock-attribution a { text-decoration: underline; color: inherit; }

/* User initials badge: oxblood disc with parchment initials, readable in both modes */
html[data-murdock] .bg-base-content.text-purple-300 { background-color: hsl(var(--n)); color: hsl(var(--nc)); }
html[data-murdock] .text-purple-300 { color: hsl(var(--a)); }

/* Dark mode: DocuSeal hard-codes white form controls; make them follow the theme.
   Document pages and the signature pad deliberately stay white (paper). */
html[data-murdock="dark"] .input.bg-white,
html[data-murdock="dark"] .textarea.bg-white,
html[data-murdock="dark"] .select.bg-white,
html[data-murdock="dark"] .base-input,
html[data-murdock="dark"] .base-textarea,
html[data-murdock="dark"] .base-select,
html[data-murdock="dark"] .base-checkbox,
html[data-murdock="dark"] .base-radio,
html[data-murdock="dark"] .checkbox.bg-white,
html[data-murdock="dark"] .radio.bg-white,
html[data-murdock="dark"] .white-button,
html[data-murdock="dark"] .btn.bg-white,
html[data-murdock="dark"] .menu.bg-white,
html[data-murdock="dark"] .dropdown-content.bg-white,
html[data-murdock="dark"] .modal-box.bg-white,
html[data-murdock="dark"] .autocomplete {
  background-color: hsl(var(--b2));
  color: hsl(var(--bc));
}
html[data-murdock="dark"] .autocomplete .group { background: hsl(var(--b3)); }
html[data-murdock] .draw-canvas { background-color: #fff !important; }

/* Theme toggle */
#murdock-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--bc) / .2);
  background: hsl(var(--b2));
  color: hsl(var(--bc));
  cursor: pointer;
  transition: background-color .15s, border-color .15s;
}
#murdock-theme-toggle:hover { border-color: hsl(var(--a)); color: hsl(var(--a)); }
#murdock-theme-toggle:focus-visible { outline: 2px solid hsl(var(--a)); outline-offset: 2px; }
#murdock-theme-toggle svg { width: 1.1rem; height: 1.1rem; }
#murdock-theme-toggle.murdock-float {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 40;
  box-shadow: 0 2px 10px rgb(0 0 0 / .18);
}

/* Printing always uses the light colours */
@media print {
  html[data-murdock] {
    color-scheme: light;
    --b1: 40 46% 95%; --b2: 38 37% 90%; --b3: 38 33% 84%; --bc: 17 12% 12%;
    --n: 349 66% 25%; --nc: 38 58% 96%; --p: 41 42% 87%; --pc: 18 14% 15%;
  }
  #murdock-theme-toggle { display: none !important; }
}
