/* Scoped extension of the existing CRM Toolkit palette, type and spacing. */
.cds-root {
  color:var(--ink,#202e2b);
  font-size:var(--text-base,1rem);
  overflow-wrap:anywhere;
  --cds-gap:var(--s4,16px);
}
.cds-root *, .cds-root *::before, .cds-root *::after { box-sizing:border-box; }
.cds-root h2 { font-size:var(--text-lg,1.25rem); line-height:1.3; margin:0; }
.cds-root h3, .cds-root h4 { font-size:var(--text-base,1rem); line-height:1.4; margin:0; }
.cds-root p { margin:0 0 var(--s3,12px); }
.cds-root h3 + p, .cds-root h2 + p { margin-top:var(--s3,12px); }
.cds-root ul, .cds-root ol { padding-left:var(--s6,24px); margin:var(--s3,12px) 0; }
.cds-root li + li { margin-top:var(--s3,12px); }
.cds-root .cds-muted, .cds-root .cds-provenance { color:var(--muted,#596761); font-size:var(--text-sm,.875rem); }
.cds-heading, .cds-row { display:flex; align-items:center; gap:var(--s3,12px); flex-wrap:wrap; }
.cds-heading { justify-content:space-between; margin-bottom:var(--s5,20px); }
.cds-eyebrow { display:block; color:var(--muted,#596761); font-size:var(--text-xs,.75rem); font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:var(--s2,8px); }
.cds-summary { display:grid; gap:var(--cds-gap); }
.cds-card { border:1px solid var(--line,#d9ded7); border-radius:12px; background:var(--surface,#fff); padding:var(--s6,24px); min-width:0; }
.cds-brief { border-top:4px solid var(--primary,#143c3a); }
.cds-cautions { border-left:3px solid var(--warn,#795018); }
.cds-root .cds-tag { display:inline-block; color:var(--muted,#596761); font-size:var(--text-xs,.75rem); font-weight:700; }
.cds-shortlist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--cds-gap); margin-top:var(--s5,20px); }
.cds-candidate { border:1px solid var(--line,#d9ded7); border-radius:8px; padding:var(--s5,20px); background:var(--surface2,#eeeee8); min-width:0; }
.cds-candidate > header { justify-content:space-between; }
.cds-score { display:grid; grid-template-columns:auto minmax(60px,1fr); gap:var(--cds-gap); align-items:center; margin:var(--s4,16px) 0; font-variant-numeric:tabular-nums; }
.cds-score strong { font-size:var(--text-lg,1.25rem); }
.cds-bar { background:var(--line,#d9ded7); height:8px; overflow:hidden; border-radius:8px; }
.cds-bar i { display:block; height:100%; background:var(--primary,#143c3a); }
.cds-evidence-counts { display:flex; flex-wrap:wrap; gap:var(--s2,8px) var(--s3,12px); padding:var(--s3,12px) 0; font-size:var(--text-sm,.875rem); border-top:1px solid var(--line,#d9ded7); }
.cds-root details { border-top:1px solid var(--line,#d9ded7); margin-top:var(--s3,12px); padding-top:var(--s3,12px); }
.cds-root summary { cursor:pointer; font-weight:600; min-height:44px; padding:var(--s2,8px) 0; }
.cds-root summary span { display:block; margin-top:var(--s1,4px); font-size:var(--text-sm,.875rem); font-weight:400; color:var(--muted,#596761); }
.cds-root details > p { margin-top:var(--s3,12px); }
.cds-quote { border-top:1px solid var(--line,#d9ded7); padding:var(--s3,12px) 0; }
.cds-quote:first-child { border:0; }
.cds-root blockquote { margin:var(--s2,8px) 0; padding-left:var(--s3,12px); border-left:3px solid var(--line,#d9ded7); white-space:pre-wrap; }
.cds-root .cds-link { border:0; padding:0; background:none; color:var(--primary,#143c3a); text-align:left; text-decoration:underline; text-underline-offset:3px; font:inherit; font-weight:600; cursor:pointer; min-height:44px; max-width:100%; overflow-wrap:anywhere; }
.cds-root .cds-button { border:1px solid var(--line,#d9ded7); border-radius:6px; color:var(--ink,#202e2b); background:var(--surface,#fff); padding:var(--s2,8px) var(--s3,12px); min-height:44px; font:inherit; font-size:var(--text-sm,.875rem); cursor:pointer; white-space:normal; text-align:left; }
.cds-root .cds-button:hover:not(:disabled) { background:var(--surface2,#eeeee8); }
.cds-root .cds-primary { background:var(--primary,#143c3a); color:var(--primary-ink,#fff); border-color:var(--primary,#143c3a); font-weight:700; }
.cds-root .cds-primary:hover:not(:disabled) { background:var(--primary,#143c3a); }
.cds-root :is(button,input,select,textarea,summary):focus-visible { outline:3px solid var(--accent,#be1451); outline-offset:3px; }
.cds-root button:disabled { cursor:not-allowed; opacity:.6; }
.cds-error, .cds-warning, .cds-message { padding:var(--cds-gap); margin:0 0 var(--cds-gap); border:1px solid currentColor; border-radius:6px; }
.cds-error { color:var(--danger,#a82c3f); background:var(--surface,#fff); }
.cds-warning { color:var(--warn,#795018); background:var(--warn-bg,#fbf0dc); }
.cds-message { color:var(--positive,#18634b); background:var(--positive-bg,#e5f2e9); }
.cds-integrations { list-style:none; padding-left:0!important; }
.cds-integrations li { display:flex; flex-wrap:wrap; gap:var(--s2,8px); align-items:center; justify-content:space-between; border-bottom:1px solid var(--line,#d9ded7); padding-bottom:var(--s2,8px); }
.cds-integrations span { font-size:var(--text-sm,.875rem); }
.cds-editor, .cds-detail { margin-top:var(--s5,20px); }
.cds-editor fieldset { border:0; margin:0; padding:0; min-width:0; }
.cds-editor label { display:block; font-size:var(--text-sm,.875rem); font-weight:600; margin-top:var(--s3,12px); }
.cds-editor :is(input,select,textarea) { display:block; width:100%; min-width:0; min-height:44px; border:1px solid var(--line,#d9ded7); border-radius:6px; background:var(--surface,#fff); color:var(--ink,#202e2b); font:inherit; padding:var(--s3,12px); margin:var(--s2,8px) 0 var(--s3,12px); }
.cds-editor textarea { resize:vertical; }
.cds-editor .cds-row { margin-top:var(--s4,16px); }
.cds-requirement { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.7fr) auto; align-items:center; gap:var(--s3,12px); }
.cds-requirement > button { margin-top:var(--s5,20px); }
.cds-fit { margin:var(--s3,12px) 0; padding-top:var(--s3,12px); border-top:1px solid var(--line,#d9ded7); }
@media(max-width:800px) {
  .cds-shortlist { grid-template-columns:1fr; }
  .cds-card { padding:var(--s4,16px); }
  .cds-requirement { grid-template-columns:minmax(0,1fr) minmax(120px,.8fr); gap:var(--s2,8px); border-bottom:1px solid var(--line,#d9ded7); padding-bottom:var(--s3,12px); }
  .cds-requirement > button { margin:0; grid-column:1/-1; justify-self:start; }
}
@media print {
  .cds-root { color:#111!important; font-size:10pt; --ink:#111; --muted:#333; --surface:#fff; --surface2:#fff; --line:#aaa; --primary:#111; --primary-ink:#fff; --warn:#333; --warn-bg:#fff; }
  .cds-root .cds-screen-only, .cds-editor, .cds-root .cds-detail, .cds-root .cds-button { display:none!important; }
  .cds-heading { margin-bottom:12pt; }
  .cds-card { box-shadow:none; padding:12pt; border-radius:0; margin-bottom:10pt; }
  .cds-shortlist { display:block; }
  .cds-candidate { margin:10pt 0; }
  .cds-root details > :not(summary) { display:block!important; }
  .cds-root details::details-content { display:block!important; content-visibility:visible; }
  .cds-root summary { min-height:0; list-style:none; }
  .cds-root .cds-link { color:#111!important; min-height:0; text-decoration:none; }
  .cds-root .cds-quote, .cds-root li { break-inside:avoid; }
  .cds-root h2, .cds-root h3, .cds-root h4 { break-after:avoid; }
  .cds-bar { border:1px solid #777; }
  .cds-root blockquote { white-space:pre-wrap; }
}
