:root {
    --couleur-fond: #f4f5f7;
    --couleur-texte: #1f2430;
    --couleur-accent: #2b6b4f;
    --couleur-accent-hover: #1f5038;
    --couleur-bordure: #d8dce1;
    --couleur-carte: #ffffff;
    --couleur-alerte: #b5502e;
    --couleur-alerte-fond: #fdf1ec;
    --couleur-succes-fond: #eaf5ef;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    background: var(--couleur-fond);
    color: var(--couleur-texte);
}

a { color: var(--couleur-accent); }

.rh-layout { display: flex; min-height: 100vh; }

.rh-nav {
    width: 230px;
    background: #1f2430;
    color: #e7e9ee;
    padding: 24px 16px;
    flex-shrink: 0;
}
.rh-nav h1 { font-size: 1.1rem; margin: 0 0 4px; }
.rh-nav .rh-tenant { font-size: 0.8rem; color: #a7adba; margin-bottom: 24px; }
.rh-nav a {
    display: block;
    color: #cfd3dc;
    text-decoration: none;
    padding: 8px 10px;
    border-radius: 6px;
    margin-bottom: 4px;
    font-size: 0.92rem;
}
.rh-nav a:hover, .rh-nav a.active { background: #33394a; color: #fff; }
.rh-nav form { margin-top: 20px; }
.rh-nav button.rh-lien-bouton {
    background: none; border: none; color: #cfd3dc; cursor: pointer;
    padding: 8px 10px; font-size: 0.92rem; width: 100%; text-align: left; border-radius: 6px;
}
.rh-nav button.rh-lien-bouton:hover { background: #33394a; color: #fff; }

.rh-contenu { flex: 1; padding: 32px 40px; max-width: 1100px; }

.rh-carte {
    background: var(--couleur-carte);
    border: 1px solid var(--couleur-bordure);
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 20px;
}

.rh-flash { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 0.92rem; }
.rh-flash-succes { background: var(--couleur-succes-fond); color: #1f5038; }
.rh-flash-erreur { background: var(--couleur-alerte-fond); color: var(--couleur-alerte); }

table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--couleur-bordure); }
th { color: #5b6270; font-weight: 600; }

label { display: block; font-size: 0.85rem; font-weight: 600; margin: 12px 0 4px; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], select {
    width: 100%; padding: 8px 10px; border: 1px solid var(--couleur-bordure); border-radius: 6px; font-size: 0.95rem;
}
button, .rh-bouton {
    background: var(--couleur-accent); color: #fff; border: none; border-radius: 6px;
    padding: 10px 18px; font-size: 0.95rem; cursor: pointer; text-decoration: none; display: inline-block;
}
button:hover, .rh-bouton:hover { background: var(--couleur-accent-hover); }
button.rh-secondaire { background: #e5e7eb; color: #1f2430; }
button.rh-secondaire:hover { background: #d7dae0; }
button.rh-danger { background: #b5502e; }
button.rh-danger:hover { background: #963f22; }

.rh-avertissement { background: var(--couleur-alerte-fond); color: var(--couleur-alerte); padding: 10px 14px; border-radius: 8px; font-size: 0.85rem; margin: 6px 0; }
.rh-scenarios { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin-bottom: 20px; }
.rh-scenario-carte h3 { margin-top: 0; }
.rh-scenario-carte .rh-cout { font-size: 1.4rem; font-weight: 700; color: var(--couleur-accent); }
.rh-muted { color: #6b7280; font-size: 0.85rem; }
.rh-login-page { display: flex; align-items: center; justify-content: center; min-height: 100vh; background: var(--couleur-fond); }
.rh-login-carte { width: 340px; }
