/* leadbroker panel: daisyUI theme built from the ccm-tracking tokens
   (collector/static/index.html) plus the few layout utilities the templates
   use. daisyUI 4 expects colours as OKLCH "L C H" triplets. No inline styles:
   the CSP forbids them. */

[data-theme="leadbroker"] {
  color-scheme: light;
  --p: 20.8% 0.042 265.8;      /* #0f172a accent */
  --pc: 98.4% 0.003 247.9;
  --s: 50% 0.119 242.7;        /* #0369a1 link */
  --sc: 100% 0 0;
  --a: 55.6% 0.14 152;         /* #128c4a whatsapp */
  --ac: 100% 0 0;
  --n: 55.4% 0.046 257.4;      /* #64748b muted */
  --nc: 100% 0 0;
  --b1: 100% 0 0;              /* #ffffff surface */
  --b2: 97.2% 0.004 247.9;     /* #f4f6f9 bg */
  --b3: 92.9% 0.013 255.5;     /* #e2e8f0 border */
  --bc: 20.8% 0.042 265.8;     /* #0f172a text */
  --in: 58.8% 0.158 242;       /* #0284c7 */
  --inc: 100% 0 0;
  --su: 62.7% 0.17 149.2;      /* #16a34a */
  --suc: 100% 0 0;
  --wa: 64.6% 0.222 41.1;      /* #ea580c */
  --wac: 100% 0 0;
  --er: 57.7% 0.215 27.3;      /* #dc2626 */
  --erc: 100% 0 0;
  --rounded-box: 0.75rem;
  --rounded-btn: 0.5rem;
  --rounded-badge: 1.9rem;
  --animation-btn: 0.2s;
  --animation-input: 0.2s;
  --btn-focus-scale: 0.97;
  --border-btn: 1px;
  --tab-border: 1px;
  --tab-radius: 0.5rem;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px; line-height: 1.45;
  background: oklch(var(--b2)); color: oklch(var(--bc));
}
h1 { font-size: 1.3rem; margin: 0.25rem 0 1rem; font-weight: 700; }
h2 { font-size: 1.05rem; margin: 0 0 0.75rem; font-weight: 600; }
a.link-plain { color: oklch(var(--s)); text-decoration: none; }
a.link-plain:hover { text-decoration: underline; }

/* Layout */
.lb-main { padding: 1rem; max-width: 72rem; width: 100%; }
.lb-topbar { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem;
  background: oklch(var(--b1)); border-bottom: 1px solid oklch(var(--b3)); }
.lb-topbar .lb-brand { font-weight: 700; }
.lb-sidebar { min-height: 100%; width: 16rem; background: oklch(var(--b1));
  border-right: 1px solid oklch(var(--b3)); padding: 1rem 0.5rem; }
.lb-sidebar .lb-brand { padding: 0 1rem 1rem; font-weight: 700; font-size: 1.05rem; }
.lb-user { padding: 0.75rem 1rem; font-size: 0.85rem; color: oklch(var(--n)); }
.lb-center { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.lb-card { background: oklch(var(--b1)); border: 1px solid oklch(var(--b3));
  border-radius: var(--rounded-box); padding: 1rem; margin-bottom: 1rem; }
.lb-narrow { width: 100%; max-width: 24rem; }
.lb-stack > * + * { margin-top: 0.75rem; }
.lb-row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.lb-between { justify-content: space-between; }
.lb-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.lb-stat small { display: block; color: oklch(var(--n)); font-size: 0.8rem; }
.lb-stat b { font-size: 1.4rem; }
.lb-muted { color: oklch(var(--n)); font-size: 0.85rem; }
.lb-right { text-align: right; }
.lb-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85rem; }
.lb-full { width: 100%; }
.lb-table-wrap { overflow-x: auto; }
.lb-inline { display: inline; }
.lb-hidden-mobile { display: none; }
.lb-amount-in { color: oklch(var(--su)); }
.lb-amount-out { color: oklch(var(--er)); }
.lb-field { display: flex; flex-direction: column; gap: 0.25rem; }
.lb-field span { font-size: 0.85rem; font-weight: 600; }
.lb-field small { color: oklch(var(--n)); font-size: 0.8rem; }

/* daisyUI 4 "lg:drawer-open", which the components-only build omits. */
@media (min-width: 1024px) {
  .lb-drawer-lg > .drawer-toggle { display: none; }
  .lb-drawer-lg > .drawer-toggle ~ .drawer-side {
    pointer-events: auto; visibility: visible; position: sticky; display: block;
    width: auto; overscroll-behavior: auto; overflow-y: auto;
  }
  .lb-drawer-lg > .drawer-toggle ~ .drawer-side > *:not(.drawer-overlay) { transform: translateX(0%); }
  .lb-drawer-lg > .drawer-toggle ~ .drawer-side > .drawer-overlay { cursor: default; background-color: transparent; }
  .lb-drawer-lg .lb-topbar .lb-menu-button { display: none; }
  .lb-hidden-mobile { display: table-cell; }
  .lb-main { padding: 1.5rem; }
}
.text-error { color: oklch(var(--er)); font-size: 0.8rem; }
.lb-toast { position: fixed; top: 0.75rem; left: 50%; transform: translateX(-50%); z-index: 50; width: auto; max-width: calc(100% - 2rem); }

/* Lead conversation (technician and admin) */
.lb-msg { border-left: 3px solid oklch(var(--b3)); padding: 0.25rem 0.75rem; margin: 0.5rem 0; }
.lb-msg p { margin: 0.25rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.lb-msg-in { border-left-color: oklch(var(--a)); }
.lb-msg-out { border-left-color: oklch(var(--n)); }
.lb-photo { max-width: min(100%, 20rem); max-height: 20rem; border-radius: 0.5rem; margin-top: 0.25rem; }
