
.cmillien-app, .cmillien-single {
  --cm-border:#d7d7d7;
  --cm-soft:#f7f7f7;
  --cm-soft-2:#fbfbfb;
  --cm-text:#1f1f1f;
  --cm-muted:#666;
  --cm-strong:#111;
  font-family: inherit;
  color: var(--cm-text);
}
.cmillien-header { border:1px solid var(--cm-border); background:var(--cm-soft); padding:1rem; margin:1rem 0; border-radius:10px; }
.cmillien-kicker { text-transform:uppercase; letter-spacing:.04em; font-size:.85rem; color:var(--cm-muted); margin:0 0 .25rem; }
.cmillien-header h2 { margin:.2rem 0 .5rem; }
.cmillien-tabs { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0; border-bottom:1px solid var(--cm-border); padding-bottom:.5rem; }
.cmillien-tab, .cmillien-go, .cmillien-card button, .cmillien-close, .cmillien-filter-button, .cmillien-term-button, .cmillien-type-card button {
  padding:.5rem .75rem;
  border:1px solid var(--cm-border);
  border-radius:8px;
  background:#fff;
  color:var(--cm-text);
  cursor:pointer;
  font:inherit;
}
.cmillien-tab.is-active, .cmillien-filter-button.is-active { background:var(--cm-strong); color:#fff; border-color:var(--cm-strong); }
.cmillien-panel { display:none; }
.cmillien-panel.is-active { display:block; }
.cmillien-intro-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.75rem; margin:1rem 0; }
.cmillien-intro-grid article, .cmillien-overview, .cmillien-section-head, .cmillien-type-section-block, .cmillien-thesaurus-category {
  border:1px solid var(--cm-border);
  border-radius:10px;
  padding:1rem;
  background:#fff;
}
.cmillien-intro-grid h3, .cmillien-section-head h3 { margin-top:0; }
.cmillien-overview { background:var(--cm-soft-2); }
.cmillien-overview-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:.6rem; }
.cmillien-stat-card { border:1px solid var(--cm-border); border-radius:9px; padding:.75rem; background:#fff; }
.cmillien-stat-card strong { display:block; font-size:1.25rem; }
.cmillien-type-tools { display:grid; grid-template-columns:2fr 1fr; gap:.5rem; margin:1rem 0; }
.cmillien-type-tools input, .cmillien-type-tools select, .cmillien-thesaurus-search, .cmillien-controls input, .cmillien-controls select {
  width:100%; padding:.55rem; border:1px solid var(--cm-border); border-radius:8px; background:#fff; color:var(--cm-text); box-sizing:border-box;
}
.cmillien-type-section-block { margin:1rem 0; }
.cmillien-type-section-title { display:flex; justify-content:space-between; gap:.75rem; align-items:baseline; margin:0 0 .25rem; }
.cmillien-type-section-title h4 { margin:0; font-size:1.15rem; }
.cmillien-type-section-title span { color:var(--cm-muted); font-size:.95rem; }
.cmillien-type-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.75rem; margin-top:.8rem; }
.cmillien-type-card { border:1px solid var(--cm-border); border-radius:10px; padding:.85rem; background:var(--cm-soft-2); }
.cmillien-type-card h5 { margin:0 0 .35rem; font-size:1.03rem; }
.cmillien-type-code { font-weight:700; margin-right:.4rem; }
.cmillien-type-intro { margin:.45rem 0; color:var(--cm-text); }
.cmillien-type-samples, .cmillien-type-terms { color:var(--cm-muted); font-size:.92rem; margin:.35rem 0; }
.cmillien-thesaurus-search { margin:1rem 0; }
.cmillien-thesaurus-category { margin:1rem 0; }
.cmillien-thesaurus-category h4 { margin:0 0 .25rem; }

.cmillien-accordion-level-1, .cmillien-accordion-level-2 {
  border:1px solid var(--cm-border);
  border-radius:10px;
  background:#fff;
}
.cmillien-accordion-level-1 { margin:1rem 0; padding:0; overflow:hidden; }
.cmillien-accordion-level-2 { margin:.55rem 0; background:var(--cm-soft-2); }
.cmillien-accordion-level-1 > summary, .cmillien-accordion-level-2 > summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  padding:.75rem .9rem;
  cursor:pointer;
  list-style:none;
}
.cmillien-accordion-level-1 > summary::-webkit-details-marker, .cmillien-accordion-level-2 > summary::-webkit-details-marker { display:none; }
.cmillien-accordion-level-1 > summary::before, .cmillien-accordion-level-2 > summary::before {
  content:'+';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35rem;
  height:1.35rem;
  border:1px solid var(--cm-border);
  border-radius:999px;
  margin-right:.4rem;
  flex:0 0 auto;
}
.cmillien-accordion-level-1[open] > summary::before, .cmillien-accordion-level-2[open] > summary::before { content:'−'; }
.cmillien-summary-title { font-weight:700; flex:1 1 auto; }
.cmillien-summary-count { color:var(--cm-muted); font-size:.92rem; white-space:nowrap; }
.cmillien-thesaurus-category-body { padding:0 .9rem .9rem; }
.cmillien-term-accordion-list { margin-top:.75rem; }
.cmillien-thesaurus-term-body { padding:0 .9rem .9rem 2.65rem; }
.cmillien-term-types, .cmillien-term-examples { color:var(--cm-muted); font-size:.92rem; }
.cmillien-term-examples ul { margin:.35rem 0 .65rem 1.2rem; padding:0; }
.cmillien-term-examples li { margin:.15rem 0; }
.cmillien-term-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.55rem; margin-top:.75rem; }
.cmillien-term-button { text-align:left; background:var(--cm-soft-2); }
.cmillien-term-button strong { display:block; }
.cmillien-term-button span { display:block; color:var(--cm-muted); font-size:.9rem; margin-top:.2rem; }
.cmillien-controls { display:grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap:.5rem; margin:1rem 0; }
.cmillien-search { grid-column: span 2; }
.cmillien-active-filter { border:1px solid var(--cm-border); background:var(--cm-soft); border-radius:8px; padding:.65rem; margin:.75rem 0; }
.cmillien-active-filter button { margin-left:.5rem; }
.cmillien-stats { margin:.75rem 0; color:var(--cm-muted); font-size:.95rem; }
.cmillien-results { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.75rem; }
.cmillien-card { border:1px solid var(--cm-border); border-radius:10px; padding:.85rem; background:#fff; }
.cmillien-card h3 { margin:0 0 .4rem; font-size:1.05rem; }
.cmillien-card p { margin:.25rem 0; }
.cmillien-card .cmillien-excerpt { color:var(--cm-muted); margin-top:.5rem; }
.cmillien-detail { border:1px solid var(--cm-border); border-radius:10px; padding:1rem; margin:1rem 0; background:#fff; }
.cmillien-detail h2 { margin-top:0; }
.cmillien-meta { padding-left:1.2rem; }
.cmillien-text p { margin:.7rem 0; line-height:1.55; }
.cmillien-text p.dialogue { margin-left:1.25rem; }
.cmillien-notes { margin-top:1rem; padding:.75rem; border:1px solid var(--cm-border); border-radius:8px; background:var(--cm-soft); }
.cmillien-credit { margin-top:1rem; font-size:.9rem; color:var(--cm-muted); border-top:1px solid var(--cm-border); padding-top:.75rem; }
.cmillien-empty { color:var(--cm-muted); border:1px dashed var(--cm-border); border-radius:8px; padding:.75rem; }
@media (max-width: 1000px) {
  .cmillien-intro-grid, .cmillien-overview-grid, .cmillien-type-grid, .cmillien-term-grid { grid-template-columns:1fr; }
  .cmillien-type-tools, .cmillien-controls { grid-template-columns:1fr; }
  .cmillien-search { grid-column:auto; }
  .cmillien-results { grid-template-columns:1fr; }
}

/* Version 1.2.0 : accordéons AT et chemins d’accès par conteur·euse, lieu et famille */
.cmillien-index-search {
  width:100%;
  padding:.55rem;
  border:1px solid var(--cm-border);
  border-radius:8px;
  background:#fff;
  color:var(--cm-text);
  box-sizing:border-box;
  margin:1rem 0;
}
.cmillien-type-section-body,
.cmillien-index-group-body {
  padding:0 .9rem .9rem;
}
.cmillien-type-accordion-list,
.cmillien-index-group-body {
  margin-top:.75rem;
}
.cmillien-type-entry-body,
.cmillien-index-entry-body {
  padding:0 .9rem .9rem 2.65rem;
}
.cmillien-type-entry-body button,
.cmillien-index-entry-body button,
.cmillien-small-term {
  padding:.45rem .7rem;
  border:1px solid var(--cm-border);
  border-radius:8px;
  background:#fff;
  color:var(--cm-text);
  cursor:pointer;
  font:inherit;
}
.cmillien-chip-row {
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:.55rem 0 .75rem;
}
.cmillien-small-term {
  font-size:.88rem;
  background:var(--cm-soft-2);
}
.cmillien-type-entry .cmillien-type-code {
  display:inline-block;
  min-width:4.4rem;
}
.cmillien-index-entry-body p,
.cmillien-type-entry-body p {
  margin:.35rem 0;
}
.cmillien-index-group,
.cmillien-index-entry,
.cmillien-type-entry {
  overflow:hidden;
}
.cmillien-index-entry-body .cmillien-term-examples {
  margin:.55rem 0 .75rem;
}
.cmillien-index-entry-body .cmillien-term-examples ul {
  margin:.35rem 0 .65rem 1.2rem;
  padding:0;
}
.cmillien-index-entry-body .cmillien-term-examples li {
  margin:.15rem 0;
}
@media (max-width: 700px) {
  .cmillien-summary-count { white-space:normal; text-align:right; }
  .cmillien-type-entry .cmillien-type-code { min-width:auto; margin-right:.35rem; }
}


/* Notice Achille Millien intégrée */
.amillien-page {
    max-width: 1050px;
    margin: 0 auto;
    padding: 1.5rem;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.65;
    color: #202020;
    background: #ffffff;
  }

  .amillien-page h2,
  .amillien-page h3,
  .amillien-page h4 {
    color: #1f2933;
    line-height: 1.25;
  }

  .amillien-page h2 {
    margin-top: 0;
    font-size: 2rem;
    border-bottom: 3px solid #b79a5b;
    padding-bottom: 0.45rem;
  }

  .amillien-page h3 {
    margin-top: 1.5rem;
    font-size: 1.35rem;
  }

  .amillien-page h4 {
    margin-top: 1.2rem;
    font-size: 1.05rem;
  }

  .amillien-sous-titre {
    font-size: 1.08rem;
    color: #5a5a5a;
    margin-top: -0.35rem;
    margin-bottom: 1.2rem;
  }

  .amillien-chapeau {
    background: #f7f3ea;
    border-left: 5px solid #b79a5b;
    padding: 1rem 1.2rem;
    margin: 1.2rem 0;
  }

  .amillien-reperes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 0.8rem;
    margin: 1.2rem 0 1.4rem 0;
  }

  .amillien-repere {
    border: 1px solid #ddd4c2;
    border-radius: 10px;
    padding: 0.9rem;
    background: #fbfaf6;
  }

  .amillien-repere strong {
    display: block;
    color: #3d3324;
    margin-bottom: 0.25rem;
  }

  .amillien-page details {
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    margin: 0.8rem 0;
    background: #ffffff;
    overflow: hidden;
  }

  .amillien-page summary {
    cursor: pointer;
    padding: 0.95rem 1rem;
    font-weight: 700;
    background: #f2f2f2;
    color: #222222;
  }

  .amillien-page details[open] summary {
    background: #e8dfcf;
  }

  .amillien-contenu {
    padding: 1rem 1.2rem;
  }

  .amillien-page ul {
    padding-left: 1.3rem;
  }

  .amillien-page li {
    margin-bottom: 0.45rem;
  }

  .amillien-note {
    background: #fff8ef;
    border-left: 4px solid #c47f2c;
    padding: 0.9rem 1rem;
    margin: 1rem 0;
  }

  .amillien-source {
    background: #f5f5f5;
    border-left: 4px solid #777777;
    padding: 1rem;
    margin-top: 1.4rem;
    font-size: 0.95rem;
  }

  .amillien-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    font-size: 0.96rem;
  }

  .amillien-table th,
  .amillien-table td {
    border: 1px solid #d8d8d8;
    padding: 0.65rem;
    vertical-align: top;
  }

  .amillien-table th {
    background: #f2f2f2;
    text-align: left;
  }

  .amillien-badge {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: #e8dfcf;
    color: #302817;
    font-size: 0.9rem;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .amillien-liens a {
    color: #234f7a;
    text-decoration: underline;
  }
