﻿:root {
    --app-default-font-family: "Montserrat", Arial, sans-serif;
    --app-default-font-weight: 400;

    /* Palette des absences partagée avec FicheTemps. */
    --ft-absence-holiday-bg: rgba(255, 228, 228, 1);
    --ft-absence-holiday-fg: rgba(155, 28, 28, 1);
    --ft-absence-holiday-border: rgba(229, 115, 115, 1);
    --ft-absence-conge-bg: rgba(227, 242, 253, 1);
    --ft-absence-conge-fg: rgba(13, 71, 161, 1);
    --ft-absence-conge-border: rgba(66, 165, 245, 1);
    --ft-absence-conge-strong-bg: rgba(19, 131, 242, 1);
    --ft-absence-conge-strong-fg: rgba(255, 255, 255, 1);
    --ft-absence-rtt-bg: rgba(237, 231, 246, 1);
    --ft-absence-rtt-fg: rgba(94, 53, 177, 1);
    --ft-absence-rtt-border: rgba(126, 87, 194, 1);
    --ft-absence-nontravaille-bg: rgba(238, 238, 238, 1);
    --ft-absence-nontravaille-fg: rgba(97, 97, 97, 1);
    --ft-absence-nontravaille-border: rgba(158, 158, 158, 1);
    --ft-absence-recuperation-bg: rgba(97, 97, 97, 1);
    --ft-absence-recuperation-fg: rgba(255, 255, 255, 1);
    --ft-absence-recuperation-border: rgba(66, 66, 66, 1);
    --ft-absence-maladie-bg: rgba(128, 40, 16, 1);
    --ft-absence-maladie-fg: rgba(255, 255, 255, 1);
    --ft-absence-maladie-border: rgba(128, 40, 16, 1);
    --ft-absence-default-bg: rgba(245, 245, 245, 1);
    --ft-absence-default-fg: rgba(66, 66, 66, 1);
    --ft-absence-default-border: rgba(189, 189, 189, 1);
}

html,
body {
    font-family: var(--app-default-font-family) !important;
    font-weight: var(--app-default-font-weight);
}

*,
*::before,
*::after {
    font-family: inherit;
}

button,
input,
select,
textarea {
    font-family: var(--app-default-font-family) !important;
}

html {
    font-size: clamp(13px, 0.75vw + 10px, 16px);
    max-width: 100%;
    overflow-x: clip;
}

body {
    font-size: 1rem;
    min-height: 100vh;
    margin: 0;
    max-width: 100%;
    overflow-x: clip;
    background-color: transparent;
    background-image: url('../images/fond-page.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.mud-layout,
.mud-main-content,
.mud-container,
main {
    min-width: 0;
    max-width: 100%;
}

.mud-layout,
.mud-main-content,
.page-content {
    background-color: transparent !important;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

@media (max-width: 700px) {
    .mud-grid,
    .mud-paper,
    .mud-card,
    .mud-card-content,
    form {
        min-width: 0;
        max-width: 100%;
    }
}

/* Couleurs d'absence globales : ce fichier est chargé après les styles isolés.
   Ces règles garantissent donc la même palette dans les tableaux et agendas. */
.type-badge,
.absence-type-chip {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.15;
    white-space: nowrap;
}

.type-badge.type-conge,
.absence-type-chip.type-conge {
    background: var(--ft-absence-conge-strong-bg, #1383f2) !important;
    color: var(--ft-absence-conge-strong-fg, #fff) !important;
    border: 1px solid var(--ft-absence-conge-border, #42a5f5) !important;
}

.type-badge.type-rtt,
.absence-type-chip.type-rtt {
    background: var(--ft-absence-rtt-bg, #ede7f6) !important;
    color: var(--ft-absence-rtt-fg, #5e35b1) !important;
    border: 1px solid var(--ft-absence-rtt-border, #7e57c2) !important;
}

.type-badge.type-maladie,
.absence-type-chip.type-maladie {
    background: var(--ft-absence-maladie-bg, #802810) !important;
    color: var(--ft-absence-maladie-fg, #fff) !important;
    border: 1px solid var(--ft-absence-maladie-border, #802810) !important;
}

.type-badge.type-recup,
.absence-type-chip.type-recup {
    background: var(--ft-absence-recuperation-bg, #616161) !important;
    color: var(--ft-absence-recuperation-fg, #fff) !important;
    border: 1px solid var(--ft-absence-recuperation-border, #424242) !important;
}

.type-badge.type-jnt,
.absence-type-chip.type-jnt {
    background: var(--ft-absence-nontravaille-bg, #eee) !important;
    color: var(--ft-absence-nontravaille-fg, #616161) !important;
    border: 1px solid var(--ft-absence-nontravaille-border, #9e9e9e) !important;
}

.type-badge.type-autre,
.type-badge.type-default,
.absence-type-chip.type-autre,
.absence-type-chip.type-default {
    background: var(--ft-absence-default-bg, #f5f5f5) !important;
    color: var(--ft-absence-default-fg, #424242) !important;
    border: 1px solid var(--ft-absence-default-border, #bdbdbd) !important;
}

.month-event.type-conge {
    background: var(--ft-absence-conge-strong-bg, #1383f2) !important;
    border-color: var(--ft-absence-conge-border, #42a5f5) !important;
}

.month-event.type-rtt {
    background: var(--ft-absence-rtt-bg, #ede7f6) !important;
    border-color: var(--ft-absence-rtt-border, #7e57c2) !important;
}

.month-event.type-maladie {
    background: var(--ft-absence-maladie-bg, #802810) !important;
    border-color: var(--ft-absence-maladie-border, #802810) !important;
}

.month-event.type-recup {
    background: var(--ft-absence-recuperation-bg, #616161) !important;
    border-color: var(--ft-absence-recuperation-border, #424242) !important;
}

.month-event.type-jnt {
    background: var(--ft-absence-nontravaille-bg, #eee) !important;
    border-color: var(--ft-absence-nontravaille-border, #9e9e9e) !important;
}

.month-event.type-autre,
.month-event.type-default {
    background: var(--ft-absence-default-bg, #f5f5f5) !important;
    border-color: var(--ft-absence-default-border, #bdbdbd) !important;
}

.month-event.type-conge .event-type,
.month-event.type-maladie .event-type,
.month-event.type-recup .event-type,
.month-event.type-conge .event-period,
.month-event.type-conge .event-days,
.month-event.type-maladie .event-period,
.month-event.type-maladie .event-days,
.month-event.type-recup .event-period,
.month-event.type-recup .event-days {
    color: #fff !important;
}

.month-event.type-rtt .event-type {
    background: var(--ft-absence-rtt-bg, #ede7f6) !important;
    color: var(--ft-absence-rtt-fg, #5e35b1) !important;
    border: 1px solid var(--ft-absence-rtt-border, #7e57c2) !important;
}

/* Nouvelle demande : appliquer la palette même si un ancien style isolé
   est encore présent dans le cache du navigateur. */
.absence-types .absence-type.type-conge {
    background: var(--ft-absence-conge-bg, #e3f2fd) !important;
    border-color: var(--ft-absence-conge-border, #42a5f5) !important;
    color: var(--ft-absence-conge-fg, #0d47a1) !important;
}

.absence-types .absence-type.type-rtt {
    background: var(--ft-absence-rtt-bg, #ede7f6) !important;
    border-color: var(--ft-absence-rtt-border, #7e57c2) !important;
    color: var(--ft-absence-rtt-fg, #5e35b1) !important;
}

.absence-types .absence-type.type-maladie {
    background: var(--ft-absence-maladie-bg, #802810) !important;
    border-color: var(--ft-absence-maladie-border, #802810) !important;
    color: var(--ft-absence-maladie-fg, #fff) !important;
}

.absence-types .absence-type.type-recup {
    background: var(--ft-absence-recuperation-bg, #616161) !important;
    border-color: var(--ft-absence-recuperation-border, #424242) !important;
    color: var(--ft-absence-recuperation-fg, #fff) !important;
}

.absence-types .absence-type.type-jnt {
    background: var(--ft-absence-nontravaille-bg, #eee) !important;
    border-color: var(--ft-absence-nontravaille-border, #9e9e9e) !important;
    color: var(--ft-absence-nontravaille-fg, #616161) !important;
}

.absence-types .absence-type.type-autre {
    background: var(--ft-absence-default-bg, #f5f5f5) !important;
    border-color: var(--ft-absence-default-border, #bdbdbd) !important;
    color: var(--ft-absence-default-fg, #424242) !important;
}

.absence-types .absence-type[class*="type-"] strong,
.absence-types .absence-type[class*="type-"] small {
    color: inherit !important;
}
