/* Clinic operations software market map. Diagrammatic. [data-theme] forces mode. */
:root{
  color-scheme:light dark;
  --bg:light-dark(#FFFFFF,#08080C);
  --card:light-dark(#FFFFFF,#111117);
  --ink:light-dark(#171523,#E9E7F2);
  --muted:light-dark(#6B6880,#95919F);
  --line:light-dark(#E7E5F0,#22202B);
  --accent:light-dark(#4338CA,#A5B4FC);
  --p1:light-dark(#EEF2FF,rgba(99,102,241,.10));  --p1t:light-dark(#3730A3,#A5B4FC);
  --p2:light-dark(#ECFEFF,rgba(6,182,212,.10));   --p2t:light-dark(#155E75,#67E8F9);
  --p3:light-dark(#FEF9EC,rgba(217,119,6,.10));   --p3t:light-dark(#92400E,#FCD34D);
  --p4:light-dark(#FDF2F8,rgba(219,39,119,.10));  --p4t:light-dark(#9D174D,#F9A8D4);
  --sans:system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}
:root[data-theme="light"]{color-scheme:only light}
:root[data-theme="dark"]{color-scheme:only dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty}
.wrap{max-width:1080px;margin:0 auto;padding:44px 24px 64px}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
h1{font-size:26px;font-weight:660;letter-spacing:-.026em;margin:0 0 12px;line-height:1.2}
.thesis{font-size:18px;line-height:1.5;color:var(--muted);margin:0 0 32px;max-width:64ch}
.map{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.seg{border-radius:14px;padding:22px 24px}
.seg.s1{background:var(--p1)} .seg.s2{background:var(--p2)}
.seg.s3{background:var(--p3)} .seg.s4{background:var(--p4)}
.seghead{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.seg h2{font-size:16px;font-weight:660;letter-spacing:-.014em;margin:0}
.seg.s1 h2{color:var(--p1t)} .seg.s2 h2{color:var(--p2t)}
.seg.s3 h2{color:var(--p3t)} .seg.s4 h2{color:var(--p4t)}
.seg .cnt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.seg.s1 .cnt{color:var(--p1t)} .seg.s2 .cnt{color:var(--p2t)}
.seg.s3 .cnt{color:var(--p3t)} .seg.s4 .cnt{color:var(--p4t)}
.players{display:grid;gap:9px}
.pl{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.pl b{display:block;font-size:14px;font-weight:650;letter-spacing:-.008em;margin-bottom:2px}
.pl span{font-size:12.5px;color:var(--muted);line-height:1.45;display:block}
.pl.us{background:var(--accent);border-color:var(--accent)}
.pl.us b,.pl.us span{color:light-dark(#FFFFFF,#0B0A14)}
.pl.us span{opacity:.85}
.pl.us .tag{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;background:light-dark(rgba(255,255,255,.22),rgba(11,10,20,.16));padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:1.5px}
.why{margin:32px 0 0;padding:22px 24px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px}
.why h2{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.why p{margin:0;font-size:15.5px;line-height:1.6;max-width:72ch}
h3.sec{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:36px 0 14px}
.trends{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tr{border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:var(--card)}
.tr .n{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tr .n b{font-family:var(--mono);font-size:12px;color:var(--accent)}
.tr .n i{font-style:normal;font-size:16px;color:var(--accent);line-height:1}
.tr h4{font-size:16px;font-weight:650;letter-spacing:-.012em;margin:0 0 8px;line-height:1.3}
.tr p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}
.foot{margin-top:28px;font-size:12px;color:var(--muted)}
@media (max-width:820px){.map,.trends{grid-template-columns:1fr}}
@media (max-width:560px){.wrap{padding:28px 16px 44px}h1{font-size:22px}.thesis{font-size:16px}}
@media print{
  @page{size:landscape;margin:12mm}
  :root{color-scheme:only light}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:9pt}
  .wrap{padding:0;max-width:none}
  .seg,.tr,.why{break-inside:avoid}
  .map{gap:8px}
}
