/* Purity Consult — shared design tokens.
   Layout: calm two-column console (new consult + consult lists), full-bleed video room. */
:root {
  --ivory: #FAF6EE;
  --paper: #FFFDF8;
  --line: #E8E0D2;
  --ink: #2B2A26;
  --muted: #77736A;
  --sage: #4F6B58;
  --sage-deep: #3C5444;
  --sage-soft: #E6EDE6;
  --terra: #C2714F;
  --terra-soft: #F6E4DA;
  --ok: #3F7D53;
  --warn: #B7791F;
  --danger: #B4483A;
  --shadow: 0 1px 2px rgba(43, 42, 38, .04), 0 8px 24px rgba(43, 42, 38, .06);
  --radius: 14px;
  --display: "Newsreader", Georgia, "Times New Roman", serif;
  --body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0; background: var(--ivory); color: var(--ink);
  font: 15px/1.5 var(--body); -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; color: inherit; }
[hidden] { display: none !important; }
a { color: var(--sage); }
:focus-visible { outline: 2px solid var(--terra); outline-offset: 2px; }

.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.brand-mark {
  width: 32px; height: 32px; border-radius: 10px; background: var(--sage);
  display: grid; place-items: center; color: var(--paper); font: 600 18px/1 var(--display);
}
.brand-name { font: 500 19px/1 var(--display); letter-spacing: .01em; }
.brand-name em { font-style: normal; color: var(--terra); }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; border-radius: 999px; padding: 10px 18px;
  font-weight: 600; cursor: pointer; text-decoration: none; transition: background .15s, transform .05s;
}
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--sage); color: var(--paper); }
.btn-primary:hover { background: var(--sage-deep); }
.btn-accent { background: var(--terra); color: #fff; }
.btn-accent:hover { filter: brightness(.95); }
.btn-ghost { background: transparent; border-color: var(--line); color: var(--ink); }
.btn-ghost:hover { background: var(--paper); }
.btn-small { padding: 6px 12px; font-size: 13px; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }

.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.label { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; }
.input {
  width: 100%; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--ivory); outline: none;
}
.input:focus { border-color: var(--sage); background: #fff; }
.pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.pill-live { background: var(--terra-soft); color: var(--terra); }
.pill-done { background: var(--sage-soft); color: var(--sage-deep); }
.dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.toast {
  position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%);
  background: var(--ink); color: var(--paper); padding: 10px 18px; border-radius: 999px; font-size: 14px;
  box-shadow: var(--shadow); z-index: 50;
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
