.rs-outil{border:1px solid #d9e2ec;border-radius:10px;padding:1.6rem;margin:2rem 0;background:#fbfdff}
.rs-outil-titre{margin:0 0 .4rem;font-size:1.35rem;line-height:1.3}
.rs-outil-intro{margin:0 0 1.2rem;color:#4a5568;font-size:.97rem}
.rs-champ{display:flex;flex-direction:column;gap:.35rem}
.rs-champ label{font-weight:600;font-size:.95rem}
.rs-champ input{width:100%;box-sizing:border-box;padding:.75rem .9rem;font-size:1.25rem;letter-spacing:.06em;border:1px solid #b9c6d4;border-radius:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.rs-champ input:focus{outline:2px solid #2b6cb0;outline-offset:1px;border-color:#2b6cb0}
.rs-aide{font-size:.85rem;color:#5a6b7d}
.rs-resultat{margin-top:1.2rem}
.rs-resultat:empty{margin-top:0}
.rs-resultat p{margin:0 0 .5rem}
.rs-attente{color:#5a6b7d;font-size:.95rem}
.rs-ok,.rs-erreur{border-radius:8px;padding:1.1rem 1.2rem}
.rs-ok{background:#eefaf1;border:1px solid #b7e4c7}
.rs-erreur{background:#fdeeee;border:1px solid #f5c2c2}
.rs-cle-libelle{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:#4a5568;font-weight:600}
.rs-cle-valeur{font-size:2.6rem;font-weight:700;line-height:1.1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.rs-numero-complet{font-size:1rem}
.rs-numero-complet strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}
.rs-detail{font-size:.87rem;color:#5a6b7d;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.rs-decodage{display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem;margin:1rem 0 0;font-size:.93rem}
.rs-decodage dt{font-weight:600;color:#2d3748}
.rs-decodage dd{margin:0;color:#3c4858}
.rs-confidentialite{margin:1.1rem 0 0;font-size:.85rem;color:#5a6b7d;border-top:1px solid #e2e8f0;padding-top:.8rem}
@media (max-width:520px){
.rs-outil{padding:1.1rem}
.rs-cle-valeur{font-size:2.1rem}
.rs-decodage{grid-template-columns:1fr;gap:.15rem}
.rs-decodage dd{margin-bottom:.5rem}
}
.rs-grille{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.9rem}
.rs-grille .rs-champ input,.rs-grille .rs-champ select{width:100%;box-sizing:border-box;padding:.65rem .8rem;font-size:1.05rem;border:1px solid #b9c6d4;border-radius:7px;background:#fff}
.rs-grille .rs-champ:nth-child(4),.rs-grille .rs-champ:nth-child(5),.rs-grille .rs-champ:nth-child(6){grid-column:span 1}
.rs-alerte{background:#fff6e5;border:1px solid #f0d190;border-radius:7px;padding:.8rem .95rem;font-size:.92rem;margin-top:.9rem}
.rs-total{margin-top:1rem;padding-top:.9rem;border-top:1px dashed #cbd5e0}
.rs-total-valeur{font-size:1.25rem;font-weight:700}
@media (max-width:640px){.rs-grille{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.rs-grille{grid-template-columns:1fr}}
