:root { --fond:#f6f7f9; --texte:#1d2430; --accent:#1c5fa8; --bord:#d9dde3; --ok:#1d7a3f; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--texte); background:var(--fond); }
header { display:flex; align-items:center; gap:1.2rem; padding:.6rem 1.2rem; background:#fff; border-bottom:1px solid var(--bord); flex-wrap:wrap; }
nav { margin-left:auto; }
header .marque { font-weight:700; color:var(--accent); text-decoration:none; font-size:1.1rem; }
nav { display:flex; gap:1rem; align-items:center; }
nav a, button.lien { color:var(--accent); background:none; border:0; padding:0; font:inherit; cursor:pointer; text-decoration:none; }
nav a:hover, button.lien:hover { text-decoration:underline; }
form.inline { display:inline; }
main { max-width:1100px; margin:1.2rem auto; padding:0 1rem; }
footer { text-align:center; color:#6b7280; font-size:.85rem; padding:1.5rem; line-height:1.6; }
footer a { color:var(--accent); }
form.recherche { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; padding:.8rem; background:#fff; border:1px solid var(--bord); border-radius:8px; }
form.recherche .ligne { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
form.recherche .options { display:flex; gap:1.5rem; flex-wrap:wrap; }
a.bouton.secondaire { border-color:var(--bord); color:#4b5563; }
a.bouton.secondaire:hover { background:#eef1f5; color:var(--texte); }
.retour { margin:0 0 .8rem; }
form.recherche input[type=search] { flex:1 1 380px; padding:.6rem .8rem; font-size:1.05rem; border:1px solid var(--bord); border-radius:6px; }
form.recherche select, form.recherche button, form.annotation button { padding:.6rem .9rem; font-size:1rem; border:1px solid var(--bord); border-radius:6px; background:#fff; }
form.recherche button, form.annotation button { background:var(--accent); color:#fff; border-color:var(--accent); cursor:pointer; }
.message { padding:.6rem .9rem; background:#fff7e6; border:1px solid #f3d9a4; border-radius:6px; }
.message.ok { background:#e8f6ec; border-color:#b7e0c3; color:var(--ok); }
.compte { color:#6b7280; margin:.8rem 0 .3rem; }
table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--bord); border-radius:6px; }
th, td { text-align:left; padding:.45rem .6rem; border-bottom:1px solid var(--bord); vertical-align:top; }
th { background:#eef1f5; font-weight:600; white-space:nowrap; }
td.num { text-align:right; }
td.code a { font-family:ui-monospace,Menlo,Consolas,monospace; font-weight:600; color:var(--accent); text-decoration:none; }
td.mots { color:#6b7280; font-size:.9rem; min-width:10rem; }
table.resultats th:first-child, table.resultats td:first-child { width:6rem; }
table.resultats td.code { white-space:nowrap; }
a.badge { text-decoration:none; } a.badge:hover { outline:2px solid #fbbf24; }
a.sobre { color:inherit; text-decoration:none; } a.sobre:hover { text-decoration:underline; }
.badge { display:inline-block; padding:.1rem .45rem; border-radius:4px; font-size:.75rem; font-weight:700; color:#fff; background:#6b7280; }
.badge-CIM10 { background:#1c5fa8; } .badge-CIM11 { background:#0e4f8f; } .badge-CCAM { background:#0f7b6c; } .badge-CSAR { background:#7c3aed; } .badge-CSARR { background:#a855f7; }
.badge-GHM { background:#b45309; } .badge-UCD { background:#be123c; } .badge-DMI { background:#334155; } .badge-GME { background:#0369a1; }
.pastille { color:var(--accent); margin-left:.3rem; }
section.accueil { margin-top:2rem; }
section.accueil h2 { font-size:1.05rem; margin:1.4rem 0 .5rem; }
article.fiche { background:#fff; border:1px solid var(--bord); border-radius:8px; padding:1.2rem 1.5rem; }
article.fiche h1 { margin:0; font-size:1.5rem; }
article.fiche .code { font-family:ui-monospace,Menlo,Consolas,monospace; }
.sous { color:#6b7280; margin:.2rem 0 .8rem; }
.libelle { font-size:1.15rem; margin:.3rem 0; }
.court { color:#6b7280; margin:.2rem 0 .8rem; }
dl.attributs { display:grid; grid-template-columns:max-content 1fr; gap:.2rem 1rem; margin:1rem 0; padding:.8rem; background:var(--fond); border-radius:6px; }
dl.attributs dt { font-weight:600; color:#4b5563; } dl.attributs dd { margin:0; }
form.annotation { display:flex; flex-direction:column; gap:.4rem; margin-top:1rem; }
form.annotation label { font-weight:600; margin-top:.5rem; }
form.annotation input, form.annotation textarea { padding:.5rem .7rem; font:inherit; border:1px solid var(--bord); border-radius:6px; }
form.annotation button { align-self:flex-start; margin-top:.5rem; }
.maj { color:#6b7280; font-size:.85rem; }
table.historique td { font-size:.9rem; }
.barre { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; margin:.8rem 0 .3rem; }
.barre .compte { margin:0; }
.exports { margin:0; color:#4b5563; font-size:.9rem; }
a.bouton { display:inline-block; padding:.3rem .7rem; margin-left:.3rem; border:1px solid var(--accent); border-radius:6px; color:var(--accent); text-decoration:none; font-weight:600; background:#fff; }
a.bouton:hover { background:var(--accent); color:#fff; }
nav.pagination { display:flex; justify-content:center; gap:1.5rem; margin:1rem 0; }
nav.pagination a { color:var(--accent); font-weight:600; text-decoration:none; }
label.mode { display:flex; align-items:center; gap:.4rem; font-size:.9rem; color:#4b5563; }
details.aide-fts { margin:.6rem 0; padding:.5rem .9rem; background:#fff; border:1px solid var(--bord); border-radius:6px; font-size:.9rem; }
details.aide-fts summary { cursor:pointer; font-weight:600; }
details.aide-fts code { background:var(--fond); padding:0 .3rem; border-radius:3px; }
nav.onglets { display:flex; flex-wrap:wrap; gap:.4rem; margin:.8rem 0 .2rem; }
nav.onglets .onglet { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .6rem; border:1px solid var(--bord); border-radius:999px; background:#fff; color:var(--texte); text-decoration:none; font-size:.85rem; }
nav.onglets .onglet.actif { border-color:var(--accent); background:#e8f0fa; }
nav.onglets .nb { color:#6b7280; }
.etat { display:inline-block; margin-left:.4rem; padding:0 .4rem; border-radius:4px; background:#fee2e2; color:#991b1b; font-size:.75rem; font-weight:600; }
.discret { color:#6b7280; font-size:.9rem; }
.admin-lien { font-weight:600; }
article.etroit { max-width:420px; margin:2rem auto; }
form.visibilite { margin-top:1rem; }
button.secondaire { padding:.4rem .8rem; border:1px solid var(--bord); border-radius:6px; background:#fff; color:#991b1b; cursor:pointer; font:inherit; }
h2 { font-size:1.1rem; margin:1.6rem 0 .5rem; }
.entete-fiche { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.entete-fiche form.visibilite { margin:0; }
tr.annulee td { color:#6b7280; }
button.plus { width:1.5rem; height:1.5rem; margin-right:.35rem; padding:0; border:1px solid var(--accent); border-radius:50%; background:#fff; color:var(--accent); font-weight:700; cursor:pointer; line-height:1; }
button.plus:hover { background:var(--accent); color:#fff; }
.cueilli { display:inline-block; width:1.5rem; margin-right:.35rem; color:var(--ok); font-weight:700; text-align:center; }
.cueillette { margin:.4rem 0; color:#4b5563; }
.etat.ok { background:#e8f6ec; color:var(--ok); }
tr.courant td { background:#f3f8fd; }
form.note-catalogue { display:flex; gap:.3rem; }
form.note-catalogue input { flex:1; padding:.25rem .5rem; border:1px solid var(--bord); border-radius:4px; font:inherit; font-size:.9rem; }
.catalogue-lien { font-weight:600; }
.qr-encart { display:flex; gap:1rem; align-items:center; margin:.8rem 0 1rem; padding:.6rem .8rem; background:var(--fond); border-radius:8px; }
.qr-encart img { flex:0 0 auto; background:#fff; border-radius:4px; }
.qr-encart .url { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.8rem; word-break:break-all; }
table.aide-recherche td:first-child { white-space:nowrap; width:34%; }
table.aide-recherche code { background:var(--fond); padding:0 .3rem; border-radius:3px; }
button.bouton { font:inherit; cursor:pointer; }
button.plus-tout { padding:.3rem .7rem; margin-left:.3rem; border:1px solid var(--ok); border-radius:6px; color:var(--ok); background:#fff; font-weight:600; }
button.plus-tout:hover { background:var(--ok); color:#fff; }
.notes-lecture { margin-top:1rem; padding:.8rem; background:#fffbea; border:1px solid #f3d9a4; border-radius:6px; }
.notes-lecture p { margin:.2rem 0; } .notes-lecture .commentaire { white-space:pre-line; }
