/* Même maison, compositions métier distinctes. Aucun moteur ni papier réécrit. */
@media screen {
  body.cm-active .rhp-screen{--rhp-border:color-mix(in srgb,var(--cm-muted) 24%,transparent);--rhp-panel:color-mix(in srgb,var(--cm-cyan) 4%,var(--verre));--rhp-glow:color-mix(in srgb,var(--cm-cyan) 13%,transparent);max-width:1380px;color:var(--cm-text);padding-bottom:110px}
  .rhp-screen,.rhp-screen *{box-sizing:border-box}
  .rhp-screen [hidden]{display:none!important}
  .rhp-screen :is(a,button,input,select,textarea,[contenteditable]):focus-visible{outline:2px solid var(--cm-cyan);outline-offset:4px}
  .rhp-screen :is(a,button,input,select,textarea){max-width:100%}
  .rhp-screen > .tete-action,.rhp-screen > .tete{margin:28px 0 26px;align-items:flex-end;gap:20px}
  .rhp-screen > :is(.tete-action,.tete) h1{font-size:clamp(28px,3.2vw,43px);line-height:1.08;letter-spacing:-.04em;max-width:900px}
  .rhp-screen > :is(.tete-action,.tete) .sous{font-size:14px;line-height:1.6;max-width:76ch;margin-top:12px}
  .rhp-screen :is(.gestes,.pa-nav,.filtres){flex-wrap:wrap;gap:9px}
  .rhp-screen .plein{background:var(--cm-cyan);color:var(--toile);box-shadow:0 0 22px var(--rhp-glow)}
  .rhp-screen .creux{border-color:var(--rhp-border);color:var(--cm-text);background:transparent}
  .rhp-screen :is(.note,.etiq,.muet){color:var(--cm-muted)}
  .rhp-screen .mk-section{margin:0;min-width:0}
  .rhp-screen .mk-section > h2{font-size:16px;line-height:1.45;letter-spacing:-.015em;margin:0 0 13px;color:var(--cm-text)}
  .rhp-screen .rhp-body{min-width:0;display:grid;gap:24px;align-items:start}
  .rhp-screen .rhp-body > *{min-width:0}
  .rhp-screen :is(.mod-pages,.fe-brancher,.be-carte,.paie-mois,.fe-etat,.bloc.verre,.pa-bulletin-etat){background:var(--rhp-panel);border:1px solid var(--rhp-border);box-shadow:none;border-radius:16px}
  .rhp-screen .mod-page{padding:16px 18px;border-color:var(--rhp-border);gap:18px;min-width:0;align-items:center}
  .rhp-screen .mp-txt{min-width:0;overflow-wrap:anywhere}
  .rhp-screen .mp-txt b{font-size:15px;line-height:1.45}
  .rhp-screen .mp-txt small{font-size:12px;line-height:1.65;color:var(--cm-muted)}
  .rhp-screen :is(input,textarea,select){background:var(--toile);color:var(--cm-text);border-color:var(--rhp-border);border-radius:9px}
  .rhp-screen :is(input,select){min-height:40px}
  .rhp-screen label{line-height:1.5;color:var(--cm-muted)}
  .rhp-screen .rhp-detail{grid-column:1/-1}

  /* Paie : poste mensuel, dossier de travail, puis documents source. */
  .rhp-screen .rhp-payroll-desk{grid-template-columns:minmax(0,1fr) 310px;gap:28px}
  .rhp-payroll-month{display:grid;gap:26px;min-width:0}
  .rhp-payroll-notes{grid-column:1/-1;display:grid;gap:12px;border-top:1px solid var(--rhp-border);padding-top:18px}
  .rhp-payroll-tools{border-left:1px solid var(--rhp-border);padding-left:24px}
  .rhp-payroll-tools .pa-grille{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--rhp-border);border-radius:14px;overflow:hidden}
  .rhp-payroll-tools .pa-carte{border:0;border-bottom:1px solid var(--rhp-border);border-radius:0;box-shadow:none;background:var(--rhp-panel);padding:15px 17px;min-height:0}
  .rhp-payroll-tools .pa-carte:last-child{border-bottom:0}
  .rhp-payroll-tools .pa-carte :is(h2,h3){font-size:14px;margin-bottom:5px}
  .rhp-payroll-tools .pa-carte .note{font-size:12px}
  .rhp-payroll-tools .pa-carte-nom{font-size:14px;line-height:1.45}
  .rhp-screen .pa-lignes{background:var(--rhp-panel)}
  .rhp-screen .pa-decision{padding:18px 20px;border:1px solid color-mix(in srgb,var(--cm-amber) 36%,transparent);border-left:3px solid var(--cm-amber);border-radius:12px;background:color-mix(in srgb,var(--cm-amber) 5%,var(--toile));gap:18px}
  .rhp-screen .pa-decision b{font-size:15px;line-height:1.55}
  .rhp-screen .pa-total{background:color-mix(in srgb,var(--cm-cyan) 7%,var(--toile));padding:18px;border-top:1px solid var(--rhp-border)}
  .rhp-screen .rhp-payroll-workbench{grid-template-columns:240px minmax(0,1fr);gap:22px}
  .rhp-payroll-workbench > .pa-nav{grid-column:1/-1;margin:0;display:flex}
  .rhp-payroll-people{position:sticky;top:22px;max-height:75vh;overflow:auto;padding-right:8px;min-width:0}
  .rhp-payroll-people .pa-personnes{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0}
  .rhp-payroll-people .pa-pers{display:flex;flex-direction:column;align-items:flex-start;gap:10px;white-space:normal;border:1px solid var(--rhp-border);background:var(--rhp-panel);border-radius:12px;padding:15px}
  .rhp-payroll-people .pa-pers.on{border-color:var(--cm-cyan);box-shadow:inset 3px 0 0 var(--cm-cyan)}
  .rhp-payroll-current{display:grid;gap:24px;min-width:0}
  .rhp-payroll-current .pa-etapes{margin:0;border-bottom:1px solid var(--rhp-border);padding:0 0 18px;justify-content:space-between;flex-wrap:wrap;gap:12px}
  .rhp-screen .pa-etape.ici{color:var(--cm-cyan)}
  .rhp-screen .pa-etape.ici i{background:var(--cm-cyan);color:var(--toile)}
  .rhp-screen .rhp-calculation{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);padding:0;overflow:hidden;align-items:start}
  .rhp-calculation-inputs{padding:22px;min-width:0}
  .rhp-calculation-inputs .paie-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
  .rhp-calculation-inputs .paie-form label{min-width:0}
  .rhp-calculation-inputs .paie-form input{width:100%}
  .rhp-calculation-results{align-self:stretch;padding:22px;background:color-mix(in srgb,var(--cm-cyan) 6%,var(--toile));border-left:1px solid var(--rhp-border);min-width:0}
  .rhp-calculation-results .paie-totaux{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;border:0}
  .rhp-calculation-results .paie-totaux > div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;flex-wrap:wrap}
  .rhp-calculation-results .paie-totaux b{font-size:20px}
  .rhp-calculation-results .gros-net{color:var(--cm-cyan);font-size:26px!important}
  .rhp-payroll-record{max-width:1160px}
  .rhp-screen .rhp-shooting-grid{overflow-x:auto}
  .rhp-screen .rhp-shooting-grid form{min-width:840px}
  .rhp-screen .rhp-payroll-lines > .pa-lignes{overflow-x:auto}
  .rhp-screen .rhp-payroll-paper{max-width:1060px;margin:auto}
  .rhp-screen .rhp-payroll-paper > .pa-bulletin{box-shadow:0 14px 45px color-mix(in srgb,var(--toile) 75%,transparent)}
  .rhp-screen .rhp-payroll-record :is(.fe-etat,.pa-bulletin-etat){gap:22px;padding:22px}
  .rhp-screen .rhp-no-rail{grid-template-columns:minmax(0,1fr)}

  /* Équipe : annuaire dense et panneau d'invitation, accès séparés. */
  .rhp-screen .rhp-directory-desk{grid-template-columns:minmax(0,1fr) minmax(280px,.46fr);column-gap:28px}
  .rhp-directory-desk > *{grid-column:1/-1}
  .rhp-directory-desk .rhp-directory-members{grid-column:1;grid-row:1}
  .rhp-directory-desk .rhp-directory-entry{grid-column:2;grid-row:1;margin:0;padding:22px}
  .rhp-directory-desk:not(:has(.rhp-directory-entry)) .rhp-directory-members{grid-column:1/-1}
  .rhp-directory-members .mod-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:none;border:0;overflow:visible}
  .rhp-directory-members .mod-page{display:grid;gap:16px;border:1px solid var(--rhp-border);border-radius:14px;background:var(--rhp-panel);align-content:start}
  .rhp-directory-members .mod-page .pa-chiffres{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;align-items:center;border-top:1px solid var(--rhp-border);padding-top:14px}
  .rhp-directory-members .mod-page .pa-chiffres :is(select,button){font-size:12px}
  .rhp-directory-entry .paie-form{display:grid;grid-template-columns:1fr;gap:14px}
  .rhp-directory-access{border-top:1px solid var(--rhp-border);padding-top:24px}
  .rhp-access-scroll{overflow-x:auto;border:1px solid var(--rhp-border);border-radius:14px;background:var(--rhp-panel)}
  .rhp-access-scroll .eq-matrice{min-width:620px;margin:0;border:0;border-radius:0}
  .rhp-screen .eq-l{border-color:var(--rhp-border);padding:13px 18px}
  .rhp-screen .eq-l input{accent-color:var(--cm-cyan)}

  /* Absences : périodes enregistrées et demandes, sans cases disponibles inventées. */
  .rhp-screen .rhp-absence-board{grid-template-columns:minmax(0,1fr) 340px;gap:24px}
  .rhp-absence-board > *{grid-column:1/-1}
  .rhp-absence-board .rhp-absence-decisions{grid-column:1;grid-row:1}
  .rhp-absence-board .rhp-absence-periods{grid-column:1;grid-row:2}
  .rhp-absence-board .rhp-absence-request{grid-column:2;grid-row:1 / span 2;padding:22px;border:1px solid var(--rhp-border);border-top:2px solid var(--cm-cyan);border-radius:16px;background:var(--rhp-panel)}
  .rhp-absence-request .paie-form{display:grid;grid-template-columns:1fr;gap:14px;margin:0}
  .rhp-absence-request input,.rhp-absence-request select,.rhp-absence-request textarea{width:100%}
  .rhp-absence-periods .mod-pages{display:grid;gap:10px;border:0;background:none;overflow:visible}
  .rhp-absence-periods .mod-page{border:1px solid var(--rhp-border);border-left:3px solid var(--cm-cyan);border-radius:10px;background:var(--rhp-panel);padding:15px 18px}
  .rhp-absence-decisions .mod-pages{border-color:color-mix(in srgb,var(--cm-amber) 34%,transparent)}
  .rhp-absence-history{padding-top:22px;border-top:1px solid var(--rhp-border)}
  .rhp-absence-settings{padding-top:18px}

  /* Bien-être : saisie privée calme, contexte secondaire, journal à part. */
  .rhp-screen .rhp-personal-desk{max-width:1120px;margin:0 auto;gap:26px}
  .rhp-personal-desk > .filtres{border-bottom:1px solid var(--rhp-border);padding-bottom:15px;margin:0}
  .rhp-screen .rhp-personal-today{grid-template-columns:1fr;gap:24px}
  .rhp-personal-today > div:not(.rhp-personal-check){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important}
  .rhp-personal-today > div:not(.rhp-personal-check) > .note{grid-column:1/-1}
  .rhp-screen .rhp-personal-check{padding:26px;border-top:2px solid var(--cm-cyan);background:linear-gradient(120deg,color-mix(in srgb,var(--cm-cyan) 5%,var(--verre)),var(--verre))}
  .rhp-personal-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
  .rhp-personal-measures > *{margin:0!important;padding:18px!important;border:1px solid var(--rhp-border);border-radius:12px;background:var(--toile);min-width:0}
  .rhp-personal-check .be-texte{margin-top:16px}
  .rhp-personal-check textarea{min-height:84px;resize:vertical}
  .rhp-personal-check .gestes{justify-content:flex-end;margin-top:20px}
  .rhp-screen .be-echelle button{border-color:var(--rhp-border);color:var(--cm-text);background:var(--verre)}
  .rhp-screen .be-echelle button.on{background:var(--cm-cyan);color:var(--toile);border-color:var(--cm-cyan)}
  .rhp-personal-desk .be-pratiques{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .rhp-personal-desk .be-guide{border:1px solid var(--cm-cyan);padding:24px;border-radius:16px;background:var(--rhp-panel)}
  .rhp-personal-rules{max-width:760px;justify-self:center;width:100%}
  .rhp-personal-journal .mod-page{align-items:flex-start}

  /* Agenda : portes latérales et plan temporel. Positions moteur intactes. */
  .rhp-screen .rhp-agenda-studio{grid-template-columns:190px minmax(0,1fr);gap:28px}
  .rhp-screen .rhp-agenda-studio.rhp-no-rail{grid-template-columns:minmax(0,1fr)}
  .rhp-screen .rhp-agenda-doors{display:flex;flex-direction:column;gap:4px;position:sticky;top:22px;margin:0;padding:8px;border:1px solid var(--rhp-border);border-radius:14px;background:var(--rhp-panel);min-width:0}
  .rhp-agenda-doors .porte-a{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;border-radius:9px;padding:11px 10px;border:0;text-align:left;min-width:0}
  .rhp-agenda-doors .porte-a{background:transparent;height:auto;min-height:40px}
  .rhp-agenda-doors .porte-a:hover{background:color-mix(in srgb,var(--cm-cyan) 8%,var(--toile));color:var(--cm-text)}
  .rhp-agenda-doors .porte-a.on{background:color-mix(in srgb,var(--cm-cyan) 12%,var(--toile));color:var(--cm-cyan)}
  .rhp-agenda-work{display:grid;gap:22px;min-width:0}
  .rhp-agenda-work > *{min-width:0;margin-top:0}
  .rhp-screen .timeline{max-width:none;margin:0;padding:22px 24px;background:var(--rhp-panel);border:1px solid var(--rhp-border);border-radius:16px}
  .rhp-screen .timeline .evt{border-color:var(--rhp-border);border-radius:12px;background:var(--toile);padding:18px;margin-bottom:12px}
  .rhp-screen .timeline .evt.propose{border-style:dashed;border-color:color-mix(in srgb,var(--cm-amber) 50%,transparent)}
  .rhp-screen .timeline .tl-now{color:var(--cm-cyan)}
  .rhp-time-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--rhp-border);border-radius:14px;background:var(--rhp-panel)}
  .rhp-time-scroll .semaine{min-width:780px;border:0;border-radius:0;margin:0}
  .rhp-screen .rhp-time-scroll .sem-tete{background:var(--verre);border-color:var(--rhp-border)}
  .rhp-screen .rhp-time-scroll :is(.sem-col,.cell){border-color:var(--rhp-border)}
  .rhp-screen .rhp-time-scroll .sem-col{background:var(--toile)}
  .rhp-screen .rhp-time-scroll .bloc-sem{box-shadow:none}
  .rhp-screen .rhp-time-scroll .sem-heures{color:var(--cm-muted)}
  .rhp-agenda-work .nouveau-client{max-width:850px;padding:26px;border:1px solid var(--rhp-border);border-top:2px solid var(--cm-cyan);border-radius:16px;background:var(--rhp-panel)}
  .rhp-agenda-work .nouveau-client h1{font-size:clamp(25px,3vw,36px);line-height:1.18;letter-spacing:-.035em}
  .rhp-agenda-work .matin{max-width:900px;margin:0}
  .rhp-agenda-work .equipe{overflow-x:auto;gap:16px;align-items:start}
  .rhp-agenda-work .eq-col{min-width:240px;border:1px solid var(--rhp-border);background:var(--rhp-panel);border-radius:14px;padding:18px}
  .rhp-agenda-work .public{grid-template-columns:minmax(180px,.85fr) minmax(280px,1.2fr) minmax(190px,1fr);gap:20px}
  .rhp-agenda-work .creneaux{overflow-x:auto;padding:22px;border:1px solid var(--rhp-border);border-radius:14px;background:var(--rhp-panel)}
  .rhp-agenda-work .cr-grille{min-width:650px}
  .rhp-agenda-work .grille-banques{grid-template-columns:repeat(2,minmax(0,1fr))}
  @media (max-width:1100px){
    .rhp-screen .rhp-payroll-desk{grid-template-columns:minmax(0,1fr) 260px}
    .rhp-screen .rhp-payroll-workbench{grid-template-columns:190px minmax(0,1fr)}
    .rhp-screen .rhp-calculation{grid-template-columns:1fr}
    .rhp-calculation-results{border-left:0;border-top:1px solid var(--rhp-border)}
    .rhp-directory-members .mod-pages{grid-template-columns:1fr}
    .rhp-screen .rhp-agenda-studio{grid-template-columns:150px minmax(0,1fr);gap:20px}
    .rhp-agenda-work .public{grid-template-columns:1fr 1fr}
    .rhp-agenda-work .public > :last-child{grid-column:1/-1}
  }
  @media (max-width:760px){
    .rhp-screen > .tete-action{align-items:flex-start;flex-direction:column}
    .rhp-screen .rhp-body{gap:20px}
    .rhp-screen :is(.rhp-payroll-desk,.rhp-payroll-workbench,.rhp-directory-desk,.rhp-absence-board,.rhp-agenda-studio){grid-template-columns:1fr}
    .rhp-screen :is(.rhp-directory-entry,.rhp-directory-members,.rhp-absence-request,.rhp-absence-decisions,.rhp-absence-periods){grid-column:auto;grid-row:auto}
    .rhp-payroll-tools{padding:20px 0 0;border-left:0;border-top:1px solid var(--rhp-border)}
    .rhp-payroll-tools .pa-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rhp-payroll-people{position:static;max-height:240px;padding-right:0}
    .rhp-payroll-people .pa-personnes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .rhp-directory-members .mod-pages{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rhp-screen .rhp-agenda-doors{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
    .rhp-agenda-doors .porte-a{font-size:12px;padding:10px 8px}
    .rhp-personal-desk .be-pratiques{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rhp-screen .timeline{padding:16px}
    .rhp-screen .pa-decision{flex-wrap:wrap}
    .rhp-personal-today > div:not(.rhp-personal-check){grid-template-columns:1fr}
  }
  @media (max-width:480px){
    .rhp-screen :is(.rhp-personal-measures,.rhp-directory-members .mod-pages,.rhp-personal-desk .be-pratiques,.rhp-agenda-work .public,.rhp-agenda-work .grille-banques){grid-template-columns:1fr}
    .rhp-screen .mod-page{flex-wrap:wrap;padding:14px}
    .rhp-screen .pa-chiffres{flex-wrap:wrap;gap:12px}
    .rhp-screen .rhp-personal-check{padding:18px}
    .rhp-screen .rhp-agenda-doors{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rhp-calculation-inputs .paie-form{grid-template-columns:1fr}
  }
}
@media (prefers-reduced-motion:reduce){.rhp-screen,.rhp-screen *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
  .rhp-screen .rhp-body,.rhp-payroll-month,.rhp-payroll-current,.rhp-calculation,.rhp-calculation-inputs,.rhp-calculation-results,.rhp-agenda-work{display:block!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
  .rhp-screen [hidden]{display:none!important}
  .rhp-payroll-people,.rhp-payroll-tools,.rhp-agenda-doors{display:none!important}
  .rhp-time-scroll,.rhp-access-scroll{overflow:visible!important}
}
