.cm-library-widget{
  --qm-bg:#f8fafc;
  --qm-card:#ffffff;
  --qm-ink:#1f2937;
  --qm-ink-2:#334155;
  --qm-muted:#64748b;
  --qm-soft:#f1f5f9;
  --qm-line:rgba(100,116,139,.18);
  --qm-accent:#16a34a;
  --qm-accent-2:#15803d;
  --qm-accent-soft:#ecfdf5;
  --qm-shadow:0 18px 48px rgba(15,23,42,.08);
  --qm-shadow-hover:0 28px 70px rgba(15,23,42,.14);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--qm-ink);
  max-width:1240px;
  width:100%;
  margin:0 auto;
}
.cm-library-widget *{box-sizing:border-box}
.cm-library-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:38px 40px 40px;
  border-radius:34px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 48%,#ecfdf5 100%);
  border:1px solid var(--qm-line);
  box-shadow:var(--qm-shadow);
  margin-bottom:22px;
}
.cm-library-hero:before{content:"";position:absolute;right:-100px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(22,163,74,.16),transparent 66%);z-index:-1}
.cm-library-hero:after{content:"";position:absolute;left:-130px;bottom:-170px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(100,116,139,.08),transparent 68%);z-index:-1}
.cm-library-hero-bg{display:none}
.cm-library-eyebrow{display:none!important}
.cm-library-hero h2{position:relative;z-index:1;max-width:760px;margin:0;color:var(--qm-ink);font-size:clamp(32px,4.4vw,54px);line-height:1.03;font-weight:900;letter-spacing:-.055em}
.cm-library-hero p{position:relative;z-index:1;max-width:720px;margin:16px 0 0;color:var(--qm-muted);font-size:18px;line-height:1.65;font-weight:500}
.cm-library-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 22px}
.cm-library-section{appearance:none;border:1px solid var(--qm-line);cursor:pointer;text-align:left;display:flex;align-items:center;gap:16px;min-height:108px;padding:22px;border-radius:28px;background:#fff;color:var(--qm-ink);box-shadow:0 14px 40px rgba(15,23,42,.06);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;position:relative;overflow:hidden}
.cm-library-section:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:transparent;transition:background .22s ease}
.cm-library-section:hover{transform:translateY(-5px);box-shadow:var(--qm-shadow-hover);border-color:rgba(22,163,74,.28)}
.cm-library-section.is-active{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);border-color:rgba(22,163,74,.48);box-shadow:0 24px 62px rgba(22,163,74,.14)}
.cm-library-section.is-active:before{background:var(--qm-accent)}
.cm-library-section-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:20px;background:var(--qm-soft);color:var(--qm-ink-2);box-shadow:inset 0 0 0 1px rgba(100,116,139,.12)}
.cm-library-section-icon svg{width:28px;height:28px;display:block}
.cm-library-section.is-active .cm-library-section-icon{background:#dcfce7;color:var(--qm-accent-2)}
.cm-library-section-text{display:flex;flex-direction:column;gap:5px;min-width:0}.cm-library-section-text strong{font-size:20px;line-height:1.15;font-weight:900;letter-spacing:-.025em}.cm-library-section-text em{font-style:normal;color:var(--qm-muted);font-size:14px;font-weight:700}
.cm-library-toolbar{margin:0 0 24px;padding:14px;border-radius:24px;background:#fff;border:1px solid var(--qm-line);box-shadow:0 12px 36px rgba(15,23,42,.05)}
.cm-library-filter{display:flex;flex-wrap:wrap;gap:10px}.cm-library-chip{appearance:none;border:1px solid rgba(100,116,139,.2);background:#fff;color:#475569;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:800;cursor:pointer;transition:all .18s ease;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.cm-library-chip:hover{transform:translateY(-1px);color:var(--qm-accent-2);border-color:rgba(22,163,74,.35)}.cm-library-chip.is-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--qm-accent),var(--qm-accent-2));box-shadow:0 12px 26px rgba(22,163,74,.22)}
.cm-library-state{min-height:130px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--qm-muted);font-weight:800;background:#fff;border:1px dashed var(--qm-line);border-radius:28px;margin:18px 0}.cm-lib-spinner{width:24px;height:24px;border-radius:50%;border:3px solid #e2e8f0;border-top-color:var(--qm-accent);animation:cmLibSpin .8s linear infinite}.cm-lib-empty-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:16px;background:var(--qm-soft);color:#475569;font-weight:900}
.cm-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.cm-lib-card{position:relative;margin:0;min-width:0;border-radius:28px;background:#fff;overflow:hidden;border:1px solid var(--qm-line);box-shadow:0 16px 44px rgba(15,23,42,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;animation:cmLibRise .42s cubic-bezier(.2,.8,.2,1) both}.cm-lib-card:hover{transform:translateY(-7px);box-shadow:0 30px 76px rgba(15,23,42,.15);border-color:rgba(22,163,74,.28)}.cm-lib-card a{display:block;height:100%;color:inherit;text-decoration:none}.cm-lib-card-media{position:relative;overflow:hidden;height:210px;background:#e2e8f0}.cm-lib-card-image{height:100%;background-size:cover;background-position:center;transition:transform .5s ease}.cm-lib-card:hover .cm-lib-card-image{transform:scale(1.045)}.cm-lib-card-image-empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.cm-lib-card-image-empty span{width:76px;height:76px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--qm-ink-2);box-shadow:0 14px 34px rgba(15,23,42,.12)}.cm-lib-card-image-empty svg{width:36px;height:36px}.cm-lib-card-shine{position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(15,23,42,.18));pointer-events:none}.cm-lib-card-body{padding:22px 22px 24px}.cm-lib-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.cm-lib-card-type,.cm-lib-card-topic{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap}.cm-lib-card-type{background:#f0fdf4;color:#166534}.cm-lib-card-type i{display:inline-flex;color:#166534}.cm-lib-card-type svg{width:15px;height:15px}.cm-lib-card-topic{background:#f1f5f9;color:#475569;overflow:hidden;text-overflow:ellipsis}.cm-lib-card h3{margin:0 0 10px;font-size:22px;line-height:1.16;letter-spacing:-.035em;font-weight:900;color:var(--qm-ink)}.cm-lib-card p{margin:0;min-height:48px;color:#64748b;font-size:15px;line-height:1.55}.cm-lib-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.cm-lib-card-link{display:inline-flex;align-items:center;gap:8px;color:var(--qm-accent-2);font-weight:900;font-size:14px}.cm-lib-card-link b{transition:transform .18s ease}.cm-lib-card:hover .cm-lib-card-link b{transform:translateX(4px)}
.cm-library-more-wrap{display:flex;justify-content:center;margin-top:32px}.cm-library-more{appearance:none;border:0;cursor:pointer;padding:15px 25px;border-radius:999px;background:var(--qm-ink);color:#fff;font-size:15px;font-weight:900;box-shadow:0 16px 36px rgba(15,23,42,.22);transition:transform .18s ease,opacity .18s ease}.cm-library-more:hover{transform:translateY(-2px)}.cm-library-more:disabled{opacity:.55;cursor:not-allowed;transform:none}
.cm-material-single{max-width:1040px;margin:32px auto;padding:0 20px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.cm-material-cover{height:420px;border-radius:32px;background-size:cover;background-position:center;box-shadow:0 24px 70px rgba(15,23,42,.14);margin-bottom:-80px}.cm-material-panel{position:relative;margin:0 auto;background:#fff;border:1px solid var(--qm-line);border-radius:32px;box-shadow:0 22px 62px rgba(15,23,42,.10);padding:34px;max-width:900px}.cm-material-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.cm-material-meta span{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f0fdf4;color:#166534;font-weight:900;font-size:13px}.cm-material-title{margin:0 0 20px;font-size:clamp(34px,4vw,54px);line-height:1.04;font-weight:900;letter-spacing:-.05em;color:var(--qm-ink)}.cm-material-content{font-size:18px;line-height:1.75;color:#334155}.cm-material-content p:first-child{margin-top:0}
@keyframes cmLibSpin{to{transform:rotate(360deg)}}@keyframes cmLibRise{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1024px){.cm-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-library-sections{gap:12px}.cm-library-section{padding:18px;min-height:94px}.cm-library-section-text strong{font-size:18px}}
@media(max-width:760px){.cm-library-hero{padding:30px 24px;border-radius:28px}.cm-library-hero p{font-size:16px}.cm-library-sections{grid-template-columns:1fr}.cm-library-section{min-height:82px}.cm-library-grid{grid-template-columns:1fr}.cm-lib-card-media{height:190px}.cm-library-toolbar{padding:12px}.cm-library-chip{font-size:13px;padding:10px 14px}.cm-material-cover{height:260px;margin-bottom:-44px}.cm-material-panel{padding:24px;border-radius:28px}.cm-material-content{font-size:16px}}


/* v9.1 design fixes: no red hover, readable section buttons, calmer green palette */
.cm-library-widget button,
.cm-library-widget button:hover,
.cm-library-widget button:focus {
  text-decoration: none !important;
}
.cm-library-section,
.cm-library-section strong,
.cm-library-section em {
  color: var(--qm-ink) !important;
}
.cm-library-section:hover {
  background: #f0fdf4 !important;
  color: var(--qm-ink) !important;
  border-color: rgba(22,163,74,.34) !important;
}
.cm-library-section:hover strong {
  color: var(--qm-ink) !important;
}
.cm-library-section:hover em {
  color: var(--qm-muted) !important;
}
.cm-library-section:hover .cm-library-section-icon {
  background: #dcfce7 !important;
  color: var(--qm-accent-2) !important;
}
.cm-library-section.is-active,
.cm-library-section.is-active:hover {
  background: linear-gradient(135deg,#ffffff 0%,#f0fdf4 100%) !important;
  color: var(--qm-ink) !important;
}
.cm-library-more,
.cm-library-more:hover,
.cm-library-more:focus {
  background: var(--qm-ink) !important;
  color: #ffffff !important;
  border: 0 !important;
}
.cm-library-more:hover {
  box-shadow: 0 18px 42px rgba(15,23,42,.24) !important;
}
.cm-library-chip:hover {
  background: #f0fdf4 !important;
  color: var(--qm-accent-2) !important;
}
.cm-library-chip.is-active,
.cm-library-chip.is-active:hover {
  background: linear-gradient(135deg,var(--qm-accent),var(--qm-accent-2)) !important;
  color: #ffffff !important;
}

/* v9.2 polish */
.cm-library-section:focus-visible,
.cm-library-chip:focus-visible,
.cm-library-more:focus-visible {
  outline: 3px solid rgba(22,163,74,.28) !important;
  outline-offset: 3px;
}
.cm-library-section:hover:before,
.cm-library-section.is-active:before {
  background: var(--qm-accent) !important;
}
.cm-lib-card-type i svg,
.cm-library-section-icon svg,
.cm-lib-card-image-empty svg {
  stroke: currentColor;
}
.cm-lib-card a:hover,
.cm-lib-card a:focus {
  color: inherit !important;
}
.cm-lib-card:hover h3 {
  color: var(--qm-ink) !important;
}
.cm-lib-card:hover .cm-lib-card-type {
  background: #dcfce7;
  color: #166534;
}
.cm-lib-card:hover .cm-lib-card-topic {
  background: #eef2f7;
  color: #334155;
}
.cm-lib-card-link {
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
}
.cm-lib-card:hover .cm-lib-card-link {
  border-color: rgba(21,128,61,.35);
}

/* v12.0 QMedic design system */
:root {
  --qmc-bg: #f7f9fc;
  --qmc-card: #ffffff;
  --qmc-ink: #111827;
  --qmc-ink-2: #334155;
  --qmc-muted: #64748b;
  --qmc-line: rgba(100,116,139,.16);
  --qmc-green: #16a34a;
  --qmc-green-dark: #15803d;
  --qmc-green-soft: #ecfdf5;
  --qmc-shadow: 0 18px 55px rgba(15,23,42,.08);
  --qmc-shadow-hover: 0 26px 70px rgba(15,23,42,.12);
}
.cm-library-widget {
  --qm-bg: var(--qmc-bg);
  --qm-card: var(--qmc-card);
  --qm-ink: var(--qmc-ink);
  --qm-ink-2: var(--qmc-ink-2);
  --qm-muted: var(--qmc-muted);
  --qm-line: var(--qmc-line);
  --qm-accent: var(--qmc-green);
  --qm-accent-2: var(--qmc-green-dark);
  --qm-accent-soft: var(--qmc-green-soft);
  --qm-shadow: var(--qmc-shadow);
  --qm-shadow-hover: var(--qmc-shadow-hover);
}
.cm-library-hero {
  padding: 30px 34px 32px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg,#ffffff 0%,#f8fafc 56%,#f0fdf4 100%) !important;
  box-shadow: var(--qmc-shadow) !important;
}
.cm-library-hero h2 {
  font-size: clamp(30px,3.5vw,46px) !important;
  letter-spacing: -.045em !important;
}
.cm-library-hero p {font-size: 17px !important; line-height: 1.6 !important;}
.cm-library-section {border-radius: 24px !important; min-height: 96px !important; box-shadow: 0 12px 34px rgba(15,23,42,.055) !important;}
.cm-library-section:hover {box-shadow: var(--qmc-shadow-hover) !important;}
.cm-lib-card {border-radius: 24px !important; box-shadow: 0 14px 42px rgba(15,23,42,.07) !important;}
.cm-lib-card:hover {box-shadow: var(--qmc-shadow-hover) !important; transform: translateY(-5px) !important;}
.cm-lib-card-media {height: 198px !important;}
.cm-lib-card h3 {font-size: 21px !important;}
.cm-lib-card-link {color: var(--qmc-green-dark) !important;}

.cm-result-widget-shell {
  max-width: 980px !important;
  margin: 0 auto 24px !important;
}
.cm-compact-result-card {
  border-radius: 24px !important;
  box-shadow: 0 14px 45px rgba(15,23,42,.08) !important;
  border: 1px solid rgba(22,163,74,.20) !important;
  background: linear-gradient(135deg,#ffffff 0%,#f8fafc 52%,#f0fdf4 100%) !important;
}
.cm-compact-title {color: var(--qmc-ink) !important;}
.cm-compact-icon {background: #dcfce7 !important; color: var(--qmc-green-dark) !important;}

body.cm-material-page {
  margin: 0;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  color: var(--qmc-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.cm-material-page * {box-sizing: border-box;}
.cm-material-shell {
  width: min(880px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 80px;
}
.cm-material-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
  color: var(--qmc-green-dark);
  text-decoration: none;
  font-weight: 850;
  font-size: 15px;
  transition: transform .18s ease, color .18s ease;
}
.cm-material-back:hover {transform: translateX(-3px); color: #166534;}
.cm-material-body-card {
  position: relative;
  width: 100%;
  padding: 42px;
  border-radius: 34px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(100,116,139,.14);
  box-shadow: 0 26px 78px rgba(15,23,42,.09);
}
.cm-material-body-card--no-hero {margin-top: 0;}
.cm-material-badges {display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px;}
.cm-material-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}
.cm-material-type-badge {background: #dcfce7; color: #166534;}
.cm-material-badge i {display: inline-flex; width: 15px; height: 15px;}
.cm-material-badge svg {width: 15px; height: 15px;}
.cm-material-page-title {
  margin: 0;
  color: var(--qmc-ink);
  font-size: clamp(30px,4vw,46px);
  line-height: 1.12;
  letter-spacing: -.05em;
  font-weight: 950;
  max-width: 760px;
}
.cm-material-lead {
  margin: 16px 0 0;
  color: var(--qmc-muted);
  font-size: clamp(17px,2vw,20px);
  line-height: 1.65;
  max-width: 720px;
}
.cm-material-content-prose {
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid rgba(100,116,139,.14);
  color: var(--qmc-ink-2);
  font-size: 18px;
  line-height: 1.85;
  max-width: 760px;
}
.cm-material-content-prose > *:first-child {margin-top: 0;}
.cm-material-content-prose p {margin: 0 0 1.25em;}
.cm-material-content-prose h2,
.cm-material-content-prose h3 {color: var(--qmc-ink); line-height: 1.2; letter-spacing: -.03em; margin: 1.6em 0 .7em;}
.cm-material-content-prose img,
.cm-material-content-prose iframe,
.cm-material-content-prose video {
  max-width: 100%;
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.cm-material-content-prose iframe {width: 100%; aspect-ratio: 16 / 9; height: auto; display: block; background: #0f172a;}
.cm-material-related {margin: 38px 0 0;}
.cm-material-related-head {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 18px;}
.cm-material-related-head h2 {margin: 0; font-size: 24px; letter-spacing: -.035em; color: var(--qmc-ink);}
.cm-material-related-head a {color: var(--qmc-green-dark); text-decoration: none; font-weight: 850;}
.cm-material-related-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;}
.cm-material-related-card a {display: block; height: 100%; text-decoration: none; color: inherit; background: #fff; border: 1px solid rgba(100,116,139,.14); border-radius: 24px; overflow: hidden; box-shadow: 0 14px 42px rgba(15,23,42,.06); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.cm-material-related-card a:hover {transform: translateY(-5px); border-color: rgba(22,163,74,.24); box-shadow: 0 24px 60px rgba(15,23,42,.11);}
.cm-material-related-image {display: flex; height: 122px; background-size: cover; background-position: center; background-color: #e2e8f0; align-items: center; justify-content: center; color: #334155;}
.cm-material-related-empty svg {width: 36px; height: 36px;}
.cm-material-related-body {display: block; padding: 15px;}
.cm-material-related-body em {display: block; margin: 0 0 6px; font-style: normal; color: #166534; font-size: 12px; font-weight: 900;}
.cm-material-related-body strong {display: block; color: var(--qmc-ink); font-size: 15px; line-height: 1.28; letter-spacing: -.02em;}
@media (max-width: 760px) {
  .cm-material-shell {width: min(100% - 20px, 920px); padding: 22px 0 56px;}
  .cm-material-body-card {padding: 24px; border-radius: 26px;}
  .cm-material-content-prose {font-size: 16px; line-height: 1.75;}
  .cm-material-related-head {align-items: flex-start; flex-direction: column;}
  .cm-material-related-grid {grid-template-columns: 1fr;}
}
}
