/* Compléments communs aux deux apps réelles (la charte vient de base.css, app-rh.css, app-planning.css). */
.rh-real, .pl-real { background: #12302a; }
body.pl .pl-real { background: #2a1733; }
.rh-inline, .pl-inline { display: inline; margin: 0; }
.rh-navbtn, .pl-navbtn { color: inherit; font: inherit; padding: 0; text-decoration: underline; background: none; border: 0; cursor: pointer; }
.rh-login, .pl-login { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: flex-end; margin: 1rem 0; }
.rh-login .field, .pl-login .field { margin: 0; min-width: 10rem; }
.rh-xml summary { cursor: pointer; display: inline-flex; gap: 0.4rem; align-items: center; font-weight: 600; margin-top: 0.75rem; }
.rh-pre, .pl-pre { max-height: 32rem; overflow: auto; white-space: pre; font-size: 0.8rem; background: #0f1b3d; color: #e8edf7; padding: 0.75rem 1rem; border-radius: 8px; }
.rh-attrs { margin: 0; padding-left: 1.1rem; }
.pl-inline-form { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.pl-inline-form .input { width: 11rem; padding: 0.25rem 0.5rem; }
.pl-claims td code, .pl-claims th code { overflow-wrap: anywhere; }
.pl-response-warn { border-left: 6px solid var(--warn); }
.pl-response-ko { border-left: 6px solid var(--ko); }
.pl-response-ok { border-left: 6px solid var(--ok); }
@media (max-width: 640px) { .rh-dl { grid-template-columns: 1fr; } }
.pl-response-warn .pl-pre, .pl-response-ko .pl-pre { white-space: pre-wrap; word-break: break-all; }
.rh-navbtn, .pl-navbtn { text-decoration: none; }
.rh-navbtn:hover, .pl-navbtn:hover { text-decoration: underline; }
