/* Direction: clinical purple — crisp white cards on a soft lavender canvas, Manrope headings */
/* Completed by the platform from the short form: both modes, every
   palette token, each text-on-ground pair at its floor. To restyle, write the
   short form again (the decisions in one :root) and it is completed again. */

:root {
  --canvas: #f7f4fc;
  --surface: #ffffff;
  --surface-2: #ebe8f1;
  --border: #d7d3dd;
  --border-strong: #b1aeb9;
  --ink: #241b3a;
  --muted: #656173;
  --accent: #6d3fc4;
  --accent-hover: #5d36a7;
  --accent-ink: #ffffff;
  --accent-text: #5a2fa8;
  --accent-strong: #6d3fc4;
  --accent-soft: #e4dbf4;
  --accent-border: #b9a3e3;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #dce6e5;
  --success-strong: #116d34;
  --warning: #b45309;
  --warning-ink: #ffffff;
  --warning-soft: #efe1df;
  --warning-strong: #a64c08;
  --danger: #b91c1c;
  --danger-ink: #ffffff;
  --danger-soft: #f0dae1;
  --danger-strong: #b91c1c;
  --chart-1: #6d3fc4;
  --chart-2: #ce3a84;
  --chart-3: #763b08;
  --chart-4: #767e19;
  --chart-5: #055b4a;
  --chart-6: #0b84b5;

  --font-display: "Manrope", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --radius-card: 16px;
  --radius-btn: 10px;
  --radius-input: 10px;
  --display-weight: 700;
  --x-deep: #2a1650;
  --x-on-photo: #ffffff;
  --font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-sans: "Inter", system-ui, sans-serif;
  --display-tracking: -0.02em;
  --eyebrow-tracking: 0.08em;
}

html[data-theme="dark"] {
  --canvas: #0d0817;
  --surface: #25212e;
  --surface-2: #191423;
  --border: #2f2b37;
  --border-strong: #56525d;
  --ink: #f7f4fc;
  --muted: #9996a0;
  --accent: #6d3fc4;
  --accent-hover: #835ccd;
  --accent-ink: #ffffff;
  --accent-text: #9f80d8;
  --accent-strong: #9775d5;
  --accent-soft: #22143d;
  --accent-border: #382165;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #0f221f;
  --success-strong: #499c68;
  --warning: #b45309;
  --warning-ink: #ffffff;
  --warning-soft: #321914;
  --warning-strong: #c57a40;
  --danger: #b91c1c;
  --danger-ink: #ffffff;
  --danger-soft: #330c18;
  --danger-strong: #d16969;
  --chart-1: #7e53d8;
  --chart-2: #e34f97;
  --chart-3: #be651b;
  --chart-4: #889109;
  --chart-5: #1a957b;
  --chart-6: #1997cd;
}

/* Sidebar drawer: off-canvas under 1024px, pinned above it. The .navopen checkbox is the switch. */
.sidebar { transform: translateX(-100%); transition: transform 0.2s ease; }
.navopen:checked ~ .sidebar { transform: none; box-shadow: var(--shadow-raised, 0 20px 40px -12px color-mix(in srgb, black 30%, transparent)); }
.navopen:checked ~ .nav-scrim { display: block; }
.navopen:focus-visible ~ .topbar { outline: none; }
@media (min-width: 1024px) {
  .sidebar { transform: none; }
  .nav-scrim { display: none !important; }
}
html.reduced-motion .sidebar { transition: none; }

/* Loading states */
.btn-busy { display: none; width: 1em; height: 1em; margin-left: 0.5rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 9999px; animation: clinic-spin 0.7s linear infinite; }
form.htmx-request .btn-busy { display: inline-block; }
form.htmx-request button[type="submit"] { pointer-events: none; opacity: 0.8; }
#list.htmx-request, #dd.htmx-request { opacity: 0.55; transition: opacity 0.15s; }
@keyframes clinic-spin { to { transform: rotate(360deg); } }
html.reduced-motion .btn-busy { animation-duration: 2s; }

/* Table sort buttons and doctor photos */
th button[data-sort] { cursor: pointer; }

/* Print: reports go out as clean paper */
@media print {
  .sidebar, .topbar, .nav-scrim, .pager, dialog, [data-modal], .row-actions { display: none !important; }
  body { background: none; }
  main { padding: 0 !important; max-width: none !important; }
  .card { box-shadow: none; border: 1px solid var(--border); break-inside: avoid; }
  .table-wrap { overflow: visible; }
  canvas { max-width: 100% !important; }
}
