/* V52 — personal missions and the business schedule use distinct entry points. */
.v52-planning-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:6px;border:1px solid #c0cfd8;border-radius:12px;background:#e5edf2;width:fit-content}
.v52-planning-tabs button{font:inherit;font-weight:750;border:0;border-radius:9px;background:transparent;color:#355064;padding:11px 16px;cursor:pointer}
.v52-planning-tabs button[aria-pressed=true]{color:#176958;background:white;box-shadow:0 2px 6px #18374425}
body[data-portal] #v35-team .v52-planning-tabs .button{background:transparent!important;color:#355064!important;border-color:transparent!important;box-shadow:none!important;text-shadow:none;border-radius:9px!important}
body[data-portal] #v35-team .v52-planning-tabs .button[aria-pressed=true]{background:#fff!important;color:#176958!important;border-color:#b9d4ca!important;box-shadow:0 2px 6px #18374425!important}
body[data-portal] #v52-calendar [data-action=v52-calendar-new-absence]{--action-color:#794c98}
body[data-portal] #v52-calendar [data-action=v52-calendar-new-mission],body[data-portal] #v52-calendar [data-action=v52-calendar-today]{--action-color:#23735b}
body[data-portal] #v52-calendar [data-action=v52-calendar-month][data-offset="-1"]{--action-color:#285f95}
body[data-portal] #v52-calendar [data-action=v52-calendar-month][data-offset="1"]{--action-color:#8a603f}
body[data-portal] #v35-team [data-action=new-training-slot]{--action-color:#794c98}
.v52-calendar-heading{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:20px}
.v52-calendar-heading h2{margin:0 0 8px}.v52-calendar-heading p{margin:0;color:#526b79;line-height:1.6;max-width:760px}
.v52-calendar-heading>.v35-actions{flex-shrink:0}.v52-calendar-heading .v52-absence-add{background:linear-gradient(#9871bb,#663c8a);color:white}
.v52-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.v52-calendar-period{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.v52-calendar-period h3{margin:0;min-width:170px;text-transform:capitalize;text-align:center;font-size:22px}
.v52-calendar-toolbar .field{margin:0;min-width:220px}.v52-calendar-toolbar label{margin:0 0 5px;font-size:13px}.v52-calendar-toolbar select{min-height:44px}
.v52-calendar-scroll{max-width:100%;overflow:auto;border:1px solid #b8cad6;border-radius:12px;overscroll-behavior-x:contain;scrollbar-color:#718e9e #e2ebef}
.v52-calendar-grid{min-width:850px;background:#f8fafb}.v52-calendar-weekdays,.v52-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.v52-calendar-weekdays span{padding:12px 5px;text-align:center;background:#dce7ef;font-weight:750;border-right:1px solid #b8cad6}
.v52-calendar-day{min-width:0;min-height:135px;padding:0 7px 7px;border-top:1px solid #bfd0da;border-right:1px solid #bfd0da;background:#fbfcfd}
.v52-calendar-day.outside{background:#e9eff3}.v52-calendar-day>header{display:flex;gap:6px;align-items:center;padding:10px 3px;color:#496273}.v52-calendar-day>header small{font-size:10px}
.v52-calendar-day.today>header{color:#186346;background:#e2f4e8;box-shadow:inset 0 0 0 2px #488b68;margin:0 -7px 5px;padding:10px}
.v52-calendar-event{margin-bottom:7px;border:1px solid hsl(var(--event-hue) 42% 50%);border-left:4px solid hsl(var(--event-hue) 48% 38%);border-radius:8px;background:hsl(var(--event-hue) 45% 94%);overflow:hidden}
.v52-calendar-event button{display:block;width:100%;border:0;background:transparent;font:inherit;font-size:12px;line-height:1.4;text-align:left;padding:8px;color:hsl(var(--event-hue) 44% 22%);cursor:pointer}
.v52-calendar-event strong,.v52-calendar-event span,.v52-calendar-event small{display:block;overflow-wrap:anywhere}.v52-calendar-event strong{margin:4px 0;font-size:13px}.v52-calendar-event small{font-size:10px}.v52-calendar-kind{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.v52-calendar-event .v52-calendar-options{padding:5px 8px;border-top:1px solid hsl(var(--event-hue) 30% 80%);font-size:10px;font-weight:700;background:#ffffff70}
.v52-calendar-event button:hover,.v52-calendar-absence:hover{filter:brightness(.97)}.v52-calendar-event button:focus-visible,.v52-calendar-absence:focus-visible{outline:3px solid #176db1;outline-offset:-3px}
.v52-calendar-absence{width:100%;display:block;text-align:left;border:1px dashed #aa94b8;background:#f3eaf8;border-radius:7px;padding:7px;color:#67477b;font:inherit;font-size:11px;line-height:1.4;margin-bottom:6px;cursor:pointer}.v52-calendar-absence span,.v52-calendar-absence strong,.v52-calendar-absence small{display:block;overflow-wrap:anywhere}
.v52-calendar-empty{padding:14px;border:1px dashed #b9cbd6;border-radius:9px;margin:16px 0 0;color:#526b79}.v52-calendar-legend{margin:14px 0 0;line-height:1.6}
#v35-team #v27-training [data-action=new-training-slot]{background:linear-gradient(#9771bb,#613786);color:white}
@media(max-width:1100px){.v52-calendar-heading{align-items:flex-start;flex-direction:column}.v52-calendar-heading>.v35-actions{flex-wrap:wrap}.v52-calendar-panel{padding:18px!important}}
@media(max-width:600px){.v52-planning-tabs{width:100%;box-sizing:border-box}.v52-planning-tabs button{flex:1;padding:10px;font-size:12px}.v52-calendar-panel{padding:12px!important}.v52-calendar-period{gap:7px}.v52-calendar-period h3{min-width:140px;font-size:19px}.v52-calendar-period [data-action=v52-calendar-today]{flex:1}.v52-calendar-toolbar .field{width:100%}.v52-calendar-heading>.v35-actions .button{min-height:40px}.v52-calendar-grid{min-width:850px}}
@media(max-width:600px){
  .v52-calendar-period{width:100%}
  .v52-calendar-period [data-action=v52-calendar-today]{flex:1 0 100%;white-space:nowrap}
  .v52-calendar-period h3{flex:1}
  .v52-calendar-toolbar::after{content:"Faites glisser le calendrier pour voir tous les jours.";display:block;flex-basis:100%;font-size:12px;color:#526b79;line-height:1.5}
  body[data-portal] #v35-team .v52-planning-tabs .button{font-size:13px!important;padding:10px!important}
}

/* V53: printing has a separate, warm action color. */
body[data-portal] #v52-calendar .v53-calendar-print{--action-color:#8a5727;--button-color:#8a5727;background-color:#8a5727!important;background-image:linear-gradient(#ffffff20,#ffffff05 40%,#00000020)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#ba9577!important}

/* V55: each appointment exposes the client, responsible person and report. */
.v52-calendar-event .v55-calendar-client{margin-top:5px;font-weight:650}
.v52-calendar-event .v55-calendar-person{display:flex;flex-direction:row-reverse;align-items:center;gap:7px;margin-top:7px;padding-top:6px;border-top:1px solid #889e9a40}
.v52-calendar-event .v55-calendar-person>span{flex:1;min-width:0}
.v52-calendar-event .v55-calendar-person>img{flex:0 0 32px;width:32px;height:32px;object-fit:cover;object-position:center;border-radius:50%;border:1px solid #849f9d;background:#fff}
.v52-calendar-event .v55-calendar-person small{color:#48606b;font-size:9px;font-weight:650}
.v52-calendar-event .v55-calendar-contacts{display:flex;flex-wrap:wrap;gap:1px;border-top:1px solid #aec5d0;background:#aec5d0}
.v52-calendar-event .v55-calendar-contacts>button{flex:1 1 75px;width:auto;padding:6px;font-size:10px;font-weight:750}
.v52-calendar-event .v55-calendar-contacts>.v54-calendar-contact{background:#e5eef9;color:#204f7b}
.v52-calendar-event .v55-calendar-contacts>.v55-calendar-trainer{background:#e4f2f0;color:#146a6a}
.v52-calendar-event .v54-calendar-report{padding:6px 8px;background:#e9e9f4;color:#494674;border-top:1px solid #bdc0d5;font-weight:750;font-size:10px}
.v52-calendar-event+.v52-calendar-event{margin-top:10px}
.v55-booking-people{display:block;margin:7px 0 5px;padding-top:6px;border-top:1px solid #748e9840;font-size:11px;line-height:1.4}.v55-booking-people>span{display:block;min-height:30px;overflow-wrap:anywhere}.v55-booking-people small{display:block;font-weight:650;font-size:9px}.v55-booking-people img{float:right;width:30px;height:30px;margin-left:8px;border-radius:50%;object-fit:cover;border:1px solid #8ca9af;background:white}.v55-booking-actions{margin-top:8px}.v31-booking-session:has(.v55-booking-actions){flex-wrap:wrap}.v31-booking-session>.v55-booking-people{flex:1 1 100%;margin:0}.v31-booking-session>.v55-booking-actions{flex:1 1 100%;margin-top:0}
