:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #16324f;
    background: #f2f7f5;
}

* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 15% 15%, rgb(0 146 70 / 14%), transparent 30rem),
        linear-gradient(135deg, #f7fbfa, #e8f3f7);
}

.devac-home {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

.devac-card {
    width: min(100%, 46rem);
    padding: clamp(2rem, 6vw, 4.5rem);
    border: 1px solid rgb(14 103 67 / 15%);
    border-radius: 2rem;
    background: rgb(255 255 255 / 88%);
    box-shadow: 0 1.5rem 4rem rgb(24 63 86 / 12%);
    backdrop-filter: blur(1rem);
}

.devac-kicker {
    margin: 0 0 1rem;
    color: #087443;
    font-weight: 700;
}

h1 {
    margin: 0;
    font-size: clamp(3rem, 12vw, 7rem);
    letter-spacing: -0.07em;
}

.devac-status {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-top: 2rem;
    padding: .7rem 1rem;
    border-radius: 999px;
    color: #075d39;
    background: #e5f7ed;
    font-weight: 700;
}

.devac-status span {
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background: #009246;
    box-shadow: 0 0 0 .3rem rgb(0 146 70 / 14%);
}

button {
    min-height: 3rem;
    padding: .75rem 1.2rem;
    border: 0;
    border-radius: .8rem;
    color: #fff;
    background: #087443;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

button:hover {
    background: #065d36;
}

button:focus-visible,
input:focus-visible {
    outline: .2rem solid #1b83b3;
    outline-offset: .15rem;
}

.logout-form {
    margin-top: 2rem;
}

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

.login-card {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) minmax(22rem, 1fr);
    width: min(100%, 64rem);
    min-height: 38rem;
    overflow: hidden;
    border: 1px solid rgb(14 103 67 / 15%);
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgb(24 63 86 / 15%);
}

.login-visual {
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: clamp(2rem, 5vw, 4rem);
    color: #fff;
    background:
        linear-gradient(160deg, rgb(0 83 129 / 25%), rgb(0 92 53 / 92%)),
        radial-gradient(circle at 60% 25%, #22b8cf, transparent 32rem),
        #0b4265;
}

.login-brand {
    font-size: clamp(2.5rem, 7vw, 5rem);
    font-weight: 900;
    letter-spacing: -.07em;
}

.login-brand span {
    color: #d8f3dc;
}

.login-form-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 5vw, 4rem);
}

.login-form-panel h1 {
    margin-bottom: 2rem;
    font-size: clamp(2.5rem, 6vw, 4rem);
}

.login-form-panel form {
    display: grid;
    gap: .8rem;
}

.login-form-panel label {
    margin-top: .7rem;
    font-weight: 700;
}

.login-form-panel input {
    width: 100%;
    min-height: 3.2rem;
    padding: .75rem 1rem;
    border: 1px solid #b8c8d1;
    border-radius: .8rem;
    font: inherit;
}

.login-form-panel button {
    margin-top: 1rem;
}

.login-help {
    margin-top: 1.5rem;
    color: #557085;
    font-size: .95rem;
}

.alert {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-left: .3rem solid #b42318;
    border-radius: .4rem;
    color: #7a271a;
    background: #fef3f2;
}

@media (max-width: 760px) {
    .login-card {
        grid-template-columns: 1fr;
    }

    .login-visual {
        min-height: 13rem;
    }
}

/* Interface validée DEVAC III */

body {
    color: #122b45;
    background: #f4f7f9;
}

a {
    color: inherit;
}

.language-switcher {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .7rem;
    font-weight: 650;
}

.language-switcher span {
    width: 1px;
    height: 1.15rem;
    background: #8e9ba6;
}

.language-switcher a {
    padding: .35rem .1rem;
    color: #42586b;
    text-decoration: none;
    border-bottom: 2px solid transparent;
}

.language-switcher a:hover,
.language-switcher a[aria-current="page"] {
    color: #087443;
    border-bottom-color: #087443;
}

.login-page {
    padding: 0;
    background: #fff;
}

.login-card {
    grid-template-columns: minmax(24rem, 1.05fr) minmax(31rem, .95fr);
    width: 100%;
    min-height: 100vh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.login-visual {
    position: relative;
    min-height: 100vh;
    padding: 0;
    overflow: hidden;
    background: #0b4265;
}

.login-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.login-visual-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgb(3 27 55 / 8%), rgb(3 27 55 / 28%)),
        linear-gradient(90deg, transparent 72%, rgb(4 35 63 / 14%));
}

.login-visual-tagline {
    position: absolute;
    inset-inline: clamp(1.5rem, 5vw, 4rem);
    bottom: 2rem;
    z-index: 1;
    margin: 0;
    color: rgb(255 255 255 / 88%);
    font-size: .95rem;
    letter-spacing: .02em;
    text-shadow: 0 1px 1rem rgb(0 0 0 / 40%);
}

.login-form-panel {
    position: relative;
    justify-content: center;
    padding: 4.5rem clamp(2rem, 6vw, 7rem) 1.5rem;
    background: #fff;
}

.login-form-panel > .language-switcher {
    position: absolute;
    inset-block-start: 2rem;
    inset-inline-end: clamp(2rem, 6vw, 7rem);
}

.login-logo {
    display: block;
    width: min(100%, 29rem);
    height: auto;
    margin: 0 auto clamp(1rem, 2.5vh, 1.5rem);
    filter: drop-shadow(0 .2rem .4rem rgb(11 57 45 / 8%));
}

.login-heading {
    margin-bottom: 1.1rem;
    text-align: center;
}

.login-heading .devac-kicker {
    margin-bottom: .45rem;
    font-size: .82rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.login-heading h1 {
    margin: 0;
    color: #102f50;
    font-size: clamp(2rem, 3vw, 3rem);
    letter-spacing: -.035em;
}

.login-heading > p:last-child {
    margin: .55rem 0 0;
    color: #708091;
    font-size: 1.05rem;
}

.login-form-panel form {
    gap: .65rem;
}

.login-form-panel label {
    margin-top: .65rem;
    color: #19324d;
}

.field-with-icon {
    position: relative;
}

.field-with-icon svg {
    position: absolute;
    top: 50%;
    inset-inline-start: 1rem;
    z-index: 1;
    width: 1.25rem;
    height: 1.25rem;
    color: #687989;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
    transform: translateY(-50%);
    pointer-events: none;
}

.login-form-panel .field-with-icon input {
    min-height: 3.35rem;
    padding-inline-start: 3.15rem;
    border-color: #cad3da;
    border-radius: .6rem;
    color: #19324d;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.login-form-panel .field-with-icon input:hover {
    border-color: #779887;
}

.login-form-panel .field-with-icon input:focus {
    border-color: #087443;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgb(8 116 67 / 12%);
}

.login-form-panel button {
    min-height: 3.35rem;
    margin-top: 1rem;
    border-radius: .6rem;
    background: #087443;
    box-shadow: 0 .6rem 1.2rem rgb(8 116 67 / 16%);
}

.login-help {
    max-width: 34rem;
    margin: 1.4rem auto 0;
    text-align: center;
}

.app-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at 4% 4%, rgb(0 146 70 / 8%), transparent 22rem),
        #f4f7f9;
}

.app-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 5rem;
    padding: .7rem clamp(1rem, 4vw, 4rem);
    border-bottom: 1px solid #dce4e9;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 .25rem 1rem rgb(26 55 77 / 5%);
    backdrop-filter: blur(.8rem);
}

.app-brand {
    display: inline-flex;
    align-items: center;
}

.app-brand img {
    display: block;
    width: clamp(11rem, 18vw, 16rem);
    height: auto;
}

.app-header-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.language-switcher--header a {
    min-width: 2rem;
    text-align: center;
}

.user-chip {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    padding: .35rem .75rem .35rem .35rem;
    border: 1px solid #dce6e1;
    border-radius: 999px;
    background: #f8fbf9;
}

[dir="rtl"] .user-chip {
    padding: .35rem .35rem .35rem .75rem;
}

.user-avatar {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #087443;
    font-weight: 800;
}

.user-identity {
    max-width: 15rem;
    overflow: hidden;
    color: #3c5263;
    font-size: .88rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.logout-form {
    margin: 0;
}

.button-secondary {
    min-height: 2.7rem;
    padding: .55rem .9rem;
    border: 1px solid #c8d7cf;
    color: #075d39;
    background: #fff;
    box-shadow: none;
}

.button-secondary:hover {
    color: #fff;
    background: #075d39;
}

.dashboard {
    width: min(100% - 2rem, 90rem);
    margin: 0 auto;
    padding: clamp(1.25rem, 3vw, 2.5rem) 0 4rem;
}

.dashboard-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr);
    min-height: 19rem;
    overflow: hidden;
    border-radius: 1.6rem;
    color: #fff;
    background:
        radial-gradient(circle at 25% 20%, rgb(36 184 207 / 26%), transparent 20rem),
        linear-gradient(135deg, #082f52, #075d39);
    box-shadow: 0 1rem 2.5rem rgb(14 52 76 / 16%);
}

.dashboard-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 5vw, 4.5rem);
}

.dashboard-hero .devac-kicker {
    color: #8de0c0;
}

.dashboard-hero h1 {
    color: #fff;
    font-size: clamp(2.6rem, 6vw, 5.2rem);
    letter-spacing: -.055em;
}

.dashboard-subtitle {
    margin: .75rem 0 0;
    color: rgb(255 255 255 / 78%);
    font-size: clamp(1rem, 2vw, 1.3rem);
}

.dashboard-hero .devac-status {
    align-self: flex-start;
    margin-top: 1.75rem;
    color: #d9ffec;
    background: rgb(255 255 255 / 13%);
    border: 1px solid rgb(255 255 255 / 16%);
}

.dashboard-hero-image {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    width: 44%;
    height: 100%;
    object-fit: cover;
    opacity: .88;
    mask-image: linear-gradient(to right, transparent, #000 38%);
}

[dir="rtl"] .dashboard-hero-image {
    mask-image: linear-gradient(to left, transparent, #000 38%);
}

.module-section {
    padding-top: 2.5rem;
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.section-heading .devac-kicker {
    margin-bottom: .35rem;
    font-size: .8rem;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.section-heading h2 {
    margin: 0;
    color: #122f48;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.module-card {
    position: relative;
    min-height: 15rem;
    padding: 1.4rem;
    overflow: hidden;
    border: 1px solid #dce5e9;
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 .35rem 1.3rem rgb(28 59 77 / 6%);
}

.module-card--active {
    border-color: rgb(8 116 67 / 32%);
    background: linear-gradient(145deg, #fff, #f2fbf6);
}

.module-card--pending {
    color: #536879;
}

.module-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    margin-bottom: 1.3rem;
    border-radius: .8rem;
    color: #087443;
    background: #e5f7ed;
    font-size: 1.5rem;
    font-weight: 800;
}

.module-icon span::before {
    content: "▦";
}

.module-icon--records span::before {
    content: "▤";
}

.module-icon--vaccine span::before {
    content: "✚";
}

.module-icon--missions span::before {
    content: "◎";
}

.module-icon--statistics span::before {
    content: "▥";
}

.module-icon--settings span::before {
    content: "⚙";
}

.module-icon--admin span::before,
.module-icon--settings span::before {
    content: "⚙";
}

.module-icon--records span::before {
    content: "📁";
}

.module-icon--syringe span::before {
    content: "💉";
}

.module-icon--birth span::before {
    content: "👶";
}

.module-icon--mobile span::before {
    content: "▣";
}

.module-icon--school span::before {
    content: "▤";
}

.module-icon--route span::before,
.module-icon--missions span::before {
    content: "⌖";
}

.module-icon--chart span::before,
.module-icon--statistics span::before {
    content: "▥";
}

.module-icon--merge span::before {
    content: "⇄";
}

.module-state {
    position: absolute;
    inset-block-start: 1.25rem;
    inset-inline-end: 1.25rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    color: #627584;
    background: #edf2f4;
    font-size: .72rem;
    font-weight: 750;
}

.module-card--active .module-state {
    color: #087443;
    background: #dff5e9;
}

.module-card h3 {
    margin: 0 0 .55rem;
    color: #15334c;
    font-size: 1.15rem;
}

.module-card p {
    margin: 0;
    color: #617585;
    line-height: 1.55;
}

.foundation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.information-card {
    display: flex;
    gap: 1rem;
    padding: 1.4rem;
    border: 1px solid #cfe7d9;
    border-radius: 1.1rem;
    background: #effaf4;
}

.information-card--security {
    border-color: #cedee9;
    background: #edf6fb;
}

.information-icon {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #087443;
    font-weight: 900;
}

.information-card--security .information-icon {
    background: #176d9b;
}

.information-card h2 {
    margin: 0 0 .4rem;
    color: #15334c;
    font-size: 1.05rem;
}

.information-card p {
    margin: 0;
    color: #5a7181;
    line-height: 1.5;
}

[dir="rtl"] body {
    font-family: Tahoma, Arial, sans-serif;
}

[dir="rtl"] .login-heading h1,
[dir="rtl"] .dashboard-hero h1 {
    letter-spacing: 0;
}

[dir="rtl"] .field-with-icon input {
    text-align: left;
}

@media (max-width: 980px) {
    .login-card {
        grid-template-columns: minmax(18rem, .8fr) minmax(27rem, 1.2fr);
    }

    .login-form-panel {
        padding-inline: clamp(2rem, 6vw, 4rem);
    }

    .module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .user-identity {
        display: none;
    }
}

@media (max-width: 760px) {
    .login-card {
        grid-template-columns: 1fr;
    }

    .login-visual {
        min-height: 15rem;
        max-height: 34vh;
    }

    .login-form-panel {
        min-height: 66vh;
        padding: 5.5rem 1.5rem 2.5rem;
    }

    .login-form-panel > .language-switcher {
        inset-block-start: 1.25rem;
        inset-inline-end: 1.5rem;
    }

    .login-logo {
        width: min(100%, 22rem);
        margin-bottom: 1.4rem;
    }

    .app-header {
        align-items: flex-start;
        gap: .75rem;
    }

    .app-header-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: .5rem;
    }

    .user-chip {
        display: none;
    }

    .dashboard-hero {
        grid-template-columns: 1fr;
        min-height: 21rem;
    }

    .dashboard-hero-image {
        width: 100%;
        opacity: .26;
        mask-image: linear-gradient(to bottom, transparent, #000);
    }

    [dir="rtl"] .dashboard-hero-image {
        mask-image: linear-gradient(to bottom, transparent, #000);
    }

    .module-grid,
    .foundation-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .login-visual {
        min-height: 12rem;
    }

    .app-brand img {
        width: 9rem;
    }

    .button-secondary {
        width: 2.8rem;
        overflow: hidden;
        color: transparent;
        white-space: nowrap;
    }

    .button-secondary::before {
        content: "↪";
        color: #075d39;
        font-size: 1.2rem;
    }

    .button-secondary:hover::before {
        color: #fff;
    }

    .dashboard {
        width: min(100% - 1rem, 90rem);
    }

    .dashboard-hero {
        border-radius: 1.15rem;
    }

    .dashboard-hero-content {
        padding: 1.6rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Administration des référentiels */

.module-card--link {
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.module-card--link:hover {
    border-color: #087443;
    box-shadow: 0 .8rem 2rem rgb(8 116 67 / 13%);
    transform: translateY(-.18rem);
}

.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.admin-page {
    --content-block-gap: clamp(1rem, 2vw, 1.4rem);

    width: min(100% - 2rem, 90rem);
    margin: 0 auto;
    padding: 1.4rem 0 4rem;
}

/*
 * Rythme vertical commun aux fiches métier.
 * Les écrans peuvent enchaîner des grilles, panneaux ou formulaires sans
 * devoir ajouter des marges spécifiques dans chaque gabarit.
 */
.management-grid {
    display: grid;
    gap: var(--content-block-gap);
}

.admin-page > section + section,
.admin-page > .management-grid + section,
.admin-page > section + .management-grid,
.admin-page > form.catalog-panel + section,
.admin-page > section + form.catalog-panel,
.admin-page > .management-grid + form.catalog-panel,
.admin-page > form.catalog-panel + .management-grid {
    margin-block-start: var(--content-block-gap);
}

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: 1.5rem;
    color: #687b89;
    font-size: .9rem;
}

.breadcrumbs a {
    color: #087443;
    text-decoration: none;
}

.breadcrumbs a:hover {
    text-decoration: underline;
}

.admin-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    padding: clamp(1.5rem, 4vw, 2.7rem);
    border: 1px solid #dbe7e1;
    border-radius: 1.35rem;
    background:
        radial-gradient(circle at 90% 10%, rgb(0 146 70 / 11%), transparent 20rem),
        #fff;
    box-shadow: 0 .4rem 1.5rem rgb(28 59 77 / 6%);
}

.admin-page-heading h1 {
    color: #12314a;
    font-size: clamp(2rem, 4vw, 3.2rem);
    letter-spacing: -.045em;
}

.admin-page-heading p:last-child {
    max-width: 52rem;
    margin: .65rem 0 0;
    color: #607687;
    line-height: 1.55;
}

.admin-page-heading--catalog {
    align-items: center;
}

.admin-primary-action,
.activation-login-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: .7rem 1rem;
    border-radius: .75rem;
    color: #fff;
    background: #087443;
    font-weight: 750;
    text-decoration: none;
}

.admin-primary-action:hover,
.activation-login-link:hover {
    background: #065c36;
}

.reference-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.reference-card {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    min-height: 8rem;
    padding: 1.25rem;
    border: 1px solid #dbe5e9;
    border-radius: 1.1rem;
    color: #17344c;
    background: #fff;
    box-shadow: 0 .35rem 1.3rem rgb(28 59 77 / 5%);
    text-decoration: none;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.reference-card:hover {
    border-color: #087443;
    box-shadow: 0 .7rem 1.7rem rgb(8 116 67 / 11%);
    transform: translateY(-.15rem);
}

.reference-card-icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border-radius: .8rem;
    color: #087443;
    background: #e5f7ed;
    font-weight: 850;
}

.reference-card strong,
.reference-card small {
    display: block;
}

.reference-card small {
    margin-top: .35rem;
    color: #6c7f8d;
    line-height: 1.4;
}

.reference-count {
    display: grid;
    min-width: 2.3rem;
    height: 2.3rem;
    padding: 0 .5rem;
    place-items: center;
    border-radius: 999px;
    color: #fff;
    background: #087443;
    font-weight: 800;
}

.admin-guidance {
    margin-top: 1rem;
    padding: 1.1rem 1.25rem;
    border: 1px solid #cddfea;
    border-radius: 1rem;
    background: #edf6fb;
}

.admin-guidance strong {
    color: #145f88;
}

.admin-guidance p {
    margin: .3rem 0 0;
    color: #567383;
}

.catalog-layout {
    display: grid;
    grid-template-columns: minmax(19rem, .72fr) minmax(30rem, 1.28fr);
    align-items: start;
    gap: 1rem;
}

.catalog-panel {
    padding: clamp(1.2rem, 3vw, 1.8rem);
    border: 1px solid #dbe5e9;
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 .35rem 1.3rem rgb(28 59 77 / 5%);
}

.catalog-panel h2 {
    margin: 0 0 1.15rem;
    color: #15334c;
    font-size: 1.35rem;
}

.reference-form {
    display: grid;
    gap: .6rem;
}

.catalog-grid--split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.secret-once {
    display: block;
    margin-top: .6rem;
    padding: .85rem 1rem;
    border: 1px dashed rgba(7, 93, 57, .45);
    border-radius: .75rem;
    overflow-x: auto;
    background: rgba(255, 255, 255, .7);
    color: #0d2b1f;
}

.external-partner-note {
    min-height: 11rem;
}

.reference-form label {
    margin-top: .45rem;
    color: #273f54;
    font-size: .92rem;
    font-weight: 720;
}

.reference-form input:not([type="checkbox"]),
.reference-form select,
.reference-form textarea {
    width: 100%;
    min-height: 3rem;
    padding: .65rem .8rem;
    border: 1px solid #bdcad2;
    border-radius: .65rem;
    color: #19324d;
    background: #fff;
    font: inherit;
}

.reference-form textarea {
    min-height: 5.8rem;
    line-height: 1.45;
    resize: vertical;
}

.reference-form input:focus,
.reference-form select:focus,
.reference-form textarea:focus {
    border-color: #087443;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgb(8 116 67 / 11%);
}

.certificate-actions-form {
    grid-template-columns: minmax(16rem, 1fr) minmax(20rem, 1fr);
    align-items: end;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgb(8 116 67 / 12%);
    border-radius: 1rem;
    background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(244 250 247 / 92%));
}

.certificate-language-field {
    display: grid;
    gap: .45rem;
}

.certificate-actions-form .form-help {
    grid-column: 1 / -1;
    margin: 0;
}

.certificate-action-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.certificate-action-buttons button {
    min-height: 4rem;
    border-radius: .9rem;
}

.record-qr-history {
    margin-top: 1.1rem;
}

.record-qr-history > summary {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .8rem;
    border: 1px solid rgb(8 116 67 / 14%);
    border-radius: 999px;
    color: #075d39;
    background: linear-gradient(145deg, #f5fbf7, #ffffff);
    cursor: pointer;
    font-weight: 850;
}

.record-qr-history[open] > summary {
    margin-bottom: .8rem;
}

.record-qr-history__table {
    border: 1px solid #dce7df;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1rem 2rem rgb(7 45 70 / 5%);
}

.record-qr-history__table .reference-table {
    min-width: 44rem;
}

.record-qr-history__table .reference-table th {
    background: #f3faf6;
}

.record-qr-history__table .reference-table th:first-child {
    border-top-left-radius: 1rem;
}

.record-qr-history__table .reference-table th:last-child {
    border-top-right-radius: 1rem;
}

.record-qr-history__table .reference-table tbody tr:last-child td {
    border-bottom: 0;
}

.record-qr-history__table code {
    white-space: nowrap;
}

.select-filter-input {
    margin-bottom: .35rem;
    background-image: linear-gradient(90deg, rgba(8, 116, 67, .08), transparent);
}

.select-filter-input + select {
    margin-top: 0;
}

.checkbox-field {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 3rem;
    padding: .7rem .8rem;
    border: 1px solid #d6e1dc;
    border-radius: .65rem;
    background: #f7fbf9;
    cursor: pointer;
}

.checkbox-field input {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: #087443;
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: .9rem;
}

.form-actions > * {
    flex: 1 1 10rem;
}

.flash {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-radius: .75rem;
    font-weight: 650;
}

.flash--success {
    border: 1px solid #a9dcc0;
    color: #075d39;
    background: #e8f8ef;
}

.flash--error {
    border: 1px solid #f0b5ad;
    color: #8b241a;
    background: #fef0ee;
}

.flash--warning {
    color: #7a4b00;
    background: #fff6dc;
    border-color: #f0cf77;
}

.population-form {
    max-width: 1040px;
}

.population-form h2:not(:first-of-type) {
    margin-top: 2rem;
}

.population-radio-group {
    display: flex;
    gap: 1.25rem;
    margin: 1.25rem 0 0;
    padding: 1rem;
    border: 1px solid #d8e4e1;
    border-radius: 0.75rem;
}

.population-radio-group label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
}

.population-scope-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 0.75rem;
    background: #f3f8f6;
}

.population-detail-grid {
    align-items: start;
}

.population-detail-grid .management-card {
    height: 100%;
}

.record-name {
    display: block;
    text-align: left;
}

.record-name--arabic {
    direction: rtl;
}

[dir="rtl"] .record-name--arabic,
[dir="rtl"] .record-name--latin {
    text-align: right;
}

.record-name a {
    color: inherit;
}

.population-identifier-searches {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.population-identifier-searches--single {
    grid-template-columns: 1fr;
}

.population-identifier-search {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
}

.population-identifier-search + .population-identifier-search {
    padding-inline-start: 1.5rem;
    border-inline-start: 1px solid #dce7eb;
}

.population-identifier-search h2,
.population-identifier-search p {
    margin-top: 0;
}

.population-identifier-search form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: end;
}

.population-identifier-search form label {
    grid-column: 1 / -1;
}

.population-identifier-search input,
.population-sensitive-actions textarea {
    width: 100%;
    min-height: 3rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid #c8d8d3;
    border-radius: 0.7rem;
    font: inherit;
}

.admin-heading-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.heading-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    align-items: center;
    justify-content: flex-end;
}

.admin-page-heading .heading-actions .admin-primary-action {
    min-height: 3rem;
    padding: .75rem 1.15rem;
    border: 1px solid rgb(255 255 255 / 34%);
    border-radius: .85rem;
    color: #fff;
    background: linear-gradient(135deg, #087443, #0a8f53);
    box-shadow: 0 .85rem 1.6rem rgb(0 36 18 / 24%);
}

.admin-page-heading .heading-actions .admin-primary-action:hover {
    border-color: rgb(255 255 255 / 55%);
    color: #fff;
    background: linear-gradient(135deg, #0a8f53, #087443);
    transform: translateY(-1px);
}

.civil-upload-form {
    margin-top: 1rem;
}

.civil-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.civil-summary-grid .information-card {
    min-height: auto;
}

.civil-summary-grid strong {
    font-size: 1.8rem;
}

.civil-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.civil-review-grid article {
    min-width: 0;
}

.civil-review-grid h2 {
    margin-top: 0;
}

.detail-list {
    display: grid;
    gap: .65rem;
    margin: 0;
}

.detail-list > div {
    display: grid;
    grid-template-columns: minmax(10rem, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid var(--border-color, #dce7eb);
}

.detail-list dt {
    color: var(--text-muted, #607080);
}

.detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.checkbox-line {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
}

.civil-confirm-panel {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.civil-confirm-panel .flash {
    flex: 1;
    margin: 0;
}

.paper-mother-details {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #dce7eb;
    border-radius: .85rem;
    background: #f7fafb;
}

.paper-mother-details summary {
    cursor: pointer;
    color: #19324d;
    font-weight: 750;
}

.paper-mother-details[open] summary {
    margin-bottom: 1rem;
}

.civil-paper-finalize {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #dce7eb;
}

.civil-paper-finalize p {
    margin: 0;
}

@media (max-width: 760px) {
    .civil-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .civil-review-grid {
        grid-template-columns: 1fr;
    }

    .civil-paper-finalize {
        align-items: stretch;
        flex-direction: column;
    }
}

.population-sensitive-actions {
    margin-top: 1.5rem;
}

.population-sensitive-actions > header {
    margin-bottom: 1rem;
}

.population-sensitive-actions textarea {
    min-height: 7rem;
    resize: vertical;
}

.population-verification {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.population-verification input {
    margin-top: 0.2rem;
}

@media (max-width: 760px) {
    .population-identifier-searches {
        grid-template-columns: 1fr;
    }

    .population-identifier-search + .population-identifier-search {
        padding-block-start: 1.25rem;
        padding-inline-start: 0;
        border-block-start: 1px solid #dce7eb;
        border-inline-start: 0;
    }
}

[data-theme="dark"] .population-radio-group {
    border-color: #395067;
}

[data-theme="dark"] .population-scope-summary {
    background: #182b3e;
}

[data-theme="dark"] .paper-mother-details {
    border-color: #30465f;
    background: #17263a;
}

[data-theme="dark"] .paper-mother-details summary {
    color: #dce7f3;
}

.catalog-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.catalog-list-heading span {
    display: grid;
    min-width: 2.2rem;
    height: 2.2rem;
    padding: 0 .5rem;
    place-items: center;
    border-radius: 999px;
    color: #075d39;
    background: #e5f7ed;
    font-weight: 800;
}

.catalog-heading-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.table-scroll {
    width: 100%;
    overflow-x: auto;
}

.data-grid {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: #17364d;
}

.data-grid th,
.data-grid td {
    padding: .85rem .9rem;
    border-bottom: 1px solid #e5edf1;
    text-align: start;
    vertical-align: top;
}

.data-grid th {
    color: #536d80;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}

.data-grid td {
    font-size: .95rem;
    line-height: 1.35;
}

.data-grid tbody tr:last-child td {
    border-bottom: 0;
}

.data-grid tbody tr:hover {
    background: #f7fbf9;
}

.data-grid td strong,
.data-grid td small {
    display: block;
}

.data-grid td small {
    margin-top: .25rem;
    color: #667b8a;
    line-height: 1.35;
}

.data-grid td a {
    color: #075d39;
    font-weight: 750;
}

.mission-panel {
    overflow: hidden;
}

.mission-form {
    gap: 1.1rem;
}

.mission-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.mission-form-grid label,
.mission-form-wide {
    display: grid;
    gap: .4rem;
}

.mission-form-wide {
    grid-column: 1 / -1;
}

.mission-form-wide textarea {
    min-height: 6.6rem;
}

.mission-form-actions {
    justify-content: flex-start;
}

.mission-form-actions button {
    flex: 0 0 auto;
}

.mission-code {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .92rem;
}

.data-grid--missions th:first-child,
.data-grid--missions td:first-child {
    min-width: 13rem;
}

.data-grid--missions th:nth-child(2),
.data-grid--missions td:nth-child(2) {
    min-width: 17rem;
}

.mission-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    margin: 0 0 1rem;
}

.mission-detail-grid div {
    min-height: 4.2rem;
    padding: .85rem 1rem;
    border: 1px solid #e2ebef;
    border-radius: .9rem;
    background: #f6fafb;
}

.mission-detail-grid dt {
    margin: 0 0 .25rem;
    color: #617586;
    font-size: .78rem;
    font-weight: 800;
}

.mission-detail-grid dd {
    margin: 0;
    color: #14344f;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.mission-close-form,
.mission-inline-form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: .65rem;
    margin-top: 1rem;
}

.mission-close-form input,
.mission-inline-form input,
.mission-inline-form select {
    min-height: 2.65rem;
    padding: .55rem .7rem;
    border: 1px solid #bdcad2;
    border-radius: .6rem;
    font: inherit;
}

.mission-inline-form label {
    display: grid;
    flex: 1 1 18rem;
    gap: .35rem;
    color: #354f62;
    font-size: .82rem;
    font-weight: 750;
}

@media (max-width: 860px) {
    .mission-form-grid,
    .mission-detail-grid {
        grid-template-columns: 1fr;
    }
}

.reference-filters {
    display: grid;
    grid-template-columns: minmax(12rem, 1.4fr) minmax(14rem, 1fr);
    gap: .8rem 1rem;
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid #dce7eb;
    border-radius: .85rem;
    background: #f7fafb;
}

.reference-filters label,
.reference-filters legend {
    color: #354f62;
    font-size: .82rem;
    font-weight: 720;
}

.reference-filters input[type="text"],
.reference-filters input:not([type]),
.reference-filters select {
    width: 100%;
    min-height: 2.65rem;
    margin-top: .35rem;
    padding: .55rem .7rem;
    border: 1px solid #bdcad2;
    border-radius: .6rem;
    color: #19324d;
    background: #fff;
    font: inherit;
}

.reference-filter-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .8rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.reference-filter-status legend {
    width: 100%;
    margin-bottom: .15rem;
}

.reference-filter-status label {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    cursor: pointer;
}

.reference-filter-status input {
    accent-color: #087443;
}

.reference-filter-actions {
    display: flex;
    align-items: end;
    gap: .7rem;
}

.reference-filter-actions button {
    min-height: 2.65rem;
    padding: .55rem 1rem;
}

.reference-filter-actions a {
    padding: .6rem 0;
    color: #496779;
    font-size: .84rem;
    font-weight: 700;
}

.reference-table-wrap {
    overflow-x: auto;
}

.reference-table {
    width: 100%;
    border-collapse: collapse;
    text-align: start;
}

.reference-table th,
.reference-table td {
    padding: .8rem .7rem;
    border-bottom: 1px solid #e5ebef;
    text-align: start;
    vertical-align: middle;
}

.reference-table th {
    color: #617585;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.reference-table td {
    color: #263f53;
}

.reference-table td strong,
.reference-table td small {
    display: block;
}

.reference-table td small {
    margin-top: .2rem;
    color: #778895;
}

.reference-table code {
    padding: .25rem .4rem;
    border-radius: .35rem;
    color: #075d39;
    background: #edf7f1;
    font: 750 .85rem ui-monospace, SFMono-Regular, Consolas, monospace;
}

.copyable-token {
    width: min(100%, 22rem);
    padding: .45rem .65rem;
    border: 1px solid rgba(23, 107, 58, .22);
    border-radius: .65rem;
    color: #08345c;
    background: #f7fbf8;
    font: 750 .82rem ui-monospace, SFMono-Regular, Consolas, monospace;
}

.row-actions {
    min-width: 15rem;
}

.row-actions > summary {
    color: var(--color-primary, #176b3a);
    cursor: pointer;
    font-weight: 700;
    list-style-position: inside;
    white-space: nowrap;
}

.lot-transition-form {
    display: grid;
    gap: .65rem;
    margin-top: .75rem;
    min-width: 18rem;
}

.lot-transition-form label {
    display: grid;
    gap: .3rem;
    font-size: .82rem;
    font-weight: 700;
}

.lot-transition-form textarea {
    min-height: 4.5rem;
    resize: vertical;
}

.lot-transition-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.lot-transition-actions button {
    width: auto;
}

.type-chip,
.status-chip {
    display: inline-flex;
    padding: .3rem .5rem;
    border-radius: 999px;
    font-size: .73rem;
    font-weight: 750;
}

.type-chip {
    color: #295b76;
    background: #eaf3f8;
}

.type-chip--default,
.status-chip--active {
    color: #075d39;
    background: #e4f6ec;
}

.status-chip--inactive {
    color: #6c7780;
    background: #edf0f2;
}

.act-nonconformities {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .4rem;
}

.act-nonconformities .status-chip {
    font-size: .68rem;
    white-space: normal;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.75rem;
    padding: .28rem .65rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 850;
    white-space: nowrap;
}

.status-pill--success {
    color: #075d39;
    background: #dff7e8;
}

.status-pill--warning {
    color: #7c4a03;
    background: #fff4cc;
}

.status-pill--danger {
    color: #8d1d1d;
    background: #ffe2e2;
}

.status-pill--muted {
    color: #526373;
    background: #edf2f6;
}

.empty-state {
    display: grid;
    min-height: 15rem;
    place-content: center;
    padding: 2rem;
    border: 1px dashed #bdccd4;
    border-radius: .9rem;
    color: #5e7382;
    text-align: center;
}

.empty-state strong {
    color: #28455a;
}

.empty-state p {
    max-width: 28rem;
    margin: .45rem 0 0;
}

.reference-list-footer {
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
}

.reference-page-size {
    display: flex;
    align-items: center;
    gap: .55rem;
    justify-self: start;
    color: #516b7b;
    font-size: .85rem;
}

.reference-page-size select {
    min-height: 2.35rem;
    padding: .35rem 1.8rem .35rem .55rem;
    border: 1px solid #cfdbdf;
    border-radius: .55rem;
    color: #19324d;
    background: #fff;
    font: inherit;
}

.reference-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-column: 2;
    gap: .8rem;
    color: #516b7b;
    font-size: .85rem;
}

.reference-pagination a,
.reference-pagination span {
    padding: .45rem .7rem;
    border: 1px solid #cfdbdf;
    border-radius: .55rem;
    text-decoration: none;
}

.reference-pagination a {
    color: #087443;
    background: #fff;
    font-weight: 720;
}

.reference-pagination span {
    color: #8a989f;
    background: #f3f5f6;
}

@media (max-width: 980px) {
    .reference-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalog-grid--split {
        grid-template-columns: 1fr;
    }

    .catalog-layout {
        grid-template-columns: 1fr;
    }

    .reference-filters {
        grid-template-columns: 1fr;
    }

    .reference-list-footer {
        grid-template-columns: 1fr;
    }

    .reference-pagination {
        grid-column: 1;
        flex-wrap: wrap;
        justify-content: start;
    }
}

@media (max-width: 620px) {
    .admin-page {
        --content-block-gap: .85rem;

        width: min(100% - 1rem, 90rem);
    }

    .admin-page-heading,
    .admin-page-heading--catalog {
        align-items: stretch;
        flex-direction: column;
    }

    .reference-grid {
        grid-template-columns: 1fr;
    }

    .reference-card {
        min-height: 7rem;
    }

    .catalog-panel {
        padding: 1rem;
    }
}

[data-theme="fresh"] .management-card,
[data-theme="fresh"] .history-card,
[data-theme="fresh"] .history-timeline article {
    border-color: #dfe8e2;
    color: #16182b;
    background: rgb(255 255 255 / 97%);
    box-shadow: 0 .8rem 2rem rgb(0 200 55 / 8%);
}

[data-theme="fresh"] .management-card h2,
[data-theme="fresh"] .history-card > h2,
[data-theme="fresh"] .history-heading strong,
[data-theme="fresh"] .history-values dd {
    color: #111327;
}

[data-theme="fresh"] .current-assignment,
[data-theme="fresh"] .history-values > div {
    border-color: #dce8df;
    background: #f2fff5;
}

[data-theme="fresh"] .current-assignment strong,
[data-theme="fresh"] .history-marker {
    color: #004f1d;
    background: #00e83f;
}

[data-theme="fresh"] .button-danger {
    color: #fff;
    background: #e32636 !important;
    box-shadow: 0 .55rem 1.2rem rgb(227 38 54 / 18%);
}

[data-theme="fresh"] .button-danger:hover {
    background: #bd1f2d !important;
}

/* Profil et préférences visuelles */

.user-chip--link {
    text-decoration: none;
}

.user-chip--link:hover {
    border-color: #8dc9a9;
    box-shadow: 0 .35rem 1rem rgb(14 103 67 / 12%);
}

.logout-form--header {
    margin: 0;
}

.profile-page {
    width: min(100% - 2rem, 88rem);
    margin: 0 auto;
    padding: 1.4rem 0 4rem;
}

.profile-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin: 1rem 0 1.5rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid #dbe7e2;
    border-radius: 1.4rem;
    background: linear-gradient(135deg, #fff, #edf8f2);
}

.profile-heading h1 {
    color: #16324f;
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: -.045em;
}

.profile-heading p:last-child {
    margin-bottom: 0;
    color: #5b7181;
}

.profile-avatar {
    display: grid;
    flex: 0 0 5rem;
    width: 5rem;
    height: 5rem;
    place-items: center;
    border-radius: 1.35rem;
    color: #fff;
    background: linear-gradient(145deg, #087443, #0b8f91);
    font-size: 2rem;
    font-weight: 850;
    box-shadow: 0 .8rem 1.8rem rgb(8 116 67 / 20%);
}

.profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr);
    gap: 1.2rem;
    align-items: start;
}

.profile-panel {
    padding: clamp(1.3rem, 3vw, 2rem);
    border: 1px solid #dce6eb;
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 .7rem 2rem rgb(31 65 84 / 7%);
}

.profile-panel--wide {
    grid-column: 1 / -1;
}

.profile-panel h2 {
    margin: 0 0 1.25rem;
    color: #18354e;
}

.profile-panel > p {
    margin: -.55rem 0 1.2rem;
    color: #657b89;
}

.profile-form {
    display: grid;
    gap: .7rem;
}

.profile-form label,
.profile-choice-group legend {
    color: #354f62;
    font-size: .86rem;
    font-weight: 750;
}

.profile-form input:not([type="radio"]) {
    width: 100%;
    min-height: 3rem;
    padding: .65rem .8rem;
    border: 1px solid #bdcad2;
    border-radius: .7rem;
    color: #19324d;
    background: #fff;
    font: inherit;
}

.profile-form select {
    width: 100%;
    min-height: 3rem;
    padding: .65rem .8rem;
    border: 1px solid #bdcad2;
    border-radius: .7rem;
    color: #19324d;
    background: #fff;
    font: inherit;
}

.profile-form input:disabled {
    color: #687b87;
    background: #edf2f4;
}

.profile-form button {
    justify-self: start;
    margin-top: .65rem;
}

.profile-token-form {
    grid-template-columns: minmax(0, 1fr) minmax(10rem, .28fr) auto;
    align-items: end;
    margin-bottom: 1.1rem;
}

.profile-token-form input[type="hidden"] {
    display: none;
}

.api-token-secret {
    margin-top: .65rem;
    padding: .9rem;
    border: 1px dashed #0f7a3b;
    border-radius: .9rem;
    color: #062747;
    background: #f5fff9;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.profile-token-secret-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
}

.profile-token-qr {
    display: grid;
    justify-items: center;
    gap: .35rem;
    margin: .65rem 0 0;
    padding: .75rem;
    border: 1px solid #cfe6da;
    border-radius: 1rem;
    background: #ffffff;
}

.profile-token-qr__svg,
.profile-token-qr__svg svg {
    width: 8rem;
    height: 8rem;
}

.profile-token-qr__svg svg {
    display: block;
}

.profile-token-qr figcaption {
    color: #4f6680;
    font-size: .78rem;
    font-weight: 800;
}

.profile-token-table {
    margin-top: 1rem;
    overflow-x: auto;
}

.profile-token-grid {
    width: 100%;
    min-width: 46rem;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #d9e8e0;
    border-radius: 1rem;
    background: #fff;
    overflow: hidden;
}

.profile-token-grid th,
.profile-token-grid td {
    padding: .85rem 1rem;
    border-bottom: 1px solid #edf3f0;
    text-align: start;
    vertical-align: middle;
    white-space: nowrap;
}

.profile-token-grid th {
    color: #23445b;
    background: linear-gradient(180deg, #f4fbf7, #eef7f2);
    font-size: .84rem;
    font-weight: 900;
}

.profile-token-grid tbody tr:last-child td {
    border-bottom: 0;
}

.profile-token-grid tbody tr:hover {
    background: #f8fcfa;
}

.profile-token-grid td:first-child strong {
    color: #0b2c49;
}

.profile-token-grid .token-date {
    color: #3d5366;
    font-variant-numeric: tabular-nums;
}

.profile-token-grid .status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: .25rem .6rem;
    border-radius: 999px;
    color: #075d39;
    background: #e8f8ee;
    font-size: .78rem;
    font-weight: 900;
}

.profile-token-grid .status-badge--revoked {
    color: #6f4b00;
    background: #fff4d6;
}

.profile-token-grid .status-badge--expired {
    color: #7b1d1d;
    background: #ffe8e8;
}

.profile-token-grid .inline-action-form {
    margin: 0;
}

.profile-token-grid .inline-action-form button {
    min-height: 2.35rem;
    padding: .45rem .75rem;
    border-radius: .7rem;
    font-size: .82rem;
}

.profile-token-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .85rem;
    padding: .85rem 1rem;
    border: 1px solid #d9e8e0;
    border-radius: .9rem;
    background: linear-gradient(180deg, #ffffff, #f7fbf9);
}

.profile-token-pagination p {
    margin: 0;
    color: #496276;
    font-size: .9rem;
    font-weight: 800;
}

.profile-token-pagination > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem;
}

.profile-token-pagination__page,
.profile-token-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: .35rem .55rem;
    border-radius: .65rem;
    color: #23445b;
    font-size: .86rem;
    font-weight: 900;
    text-decoration: none;
}

.profile-token-pagination__page {
    border: 1px solid #d7e4dd;
    background: #fff;
}

.profile-token-pagination__page:hover {
    border-color: #2f7d41;
    color: #075d39;
    background: #eef8f1;
}

.profile-token-pagination__page.is-current {
    border-color: #2f7d41;
    color: #fff;
    background: #2f7d41;
}

.profile-token-pagination .is-disabled {
    opacity: .45;
    cursor: not-allowed;
    pointer-events: none;
}

.field-help {
    margin: -.35rem 0 .35rem;
    color: #6d808c;
    font-size: .8rem;
}

.profile-choice-group {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: .45rem 0 0;
    padding: 0;
    border: 0;
}

.profile-choice-group legend {
    width: 100%;
    margin-bottom: .15rem;
}

.profile-choice-group > label:not(.theme-choice) {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem .75rem;
    border: 1px solid #cfdbdf;
    border-radius: .65rem;
    cursor: pointer;
}

.profile-choice-group input {
    accent-color: #087443;
}

.account-create-panel {
    max-width: 68rem;
}

.account-create-form {
    gap: 1.4rem;
}

.account-create-form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.account-create-form legend {
    width: 100%;
    margin-bottom: 1rem;
    color: #17364d;
    font-size: 1.15rem;
    font-weight: 800;
}

.account-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.account-form-grid > div {
    display: grid;
    align-content: start;
    gap: .45rem;
}

.account-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.account-radio-group label {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 3rem;
    padding: .65rem .85rem;
    border: 1px solid #bdcad2;
    border-radius: .7rem;
    cursor: pointer;
}

.account-radio-group input {
    accent-color: #087443;
}

.account-invitation-note {
    margin: 0;
    padding: .85rem 1rem;
    border-inline-start: .25rem solid #15935a;
    color: #405d6f;
    background: #eef8f2;
}

.account-form-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.account-form-actions a {
    color: #526c7c;
}

.account-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.account-detail-heading .status-chip {
    flex: 0 0 auto;
}

.account-definition-list {
    display: grid;
    gap: .8rem;
    margin: 0;
}

.account-definition-list div {
    display: grid;
    grid-template-columns: minmax(8rem, .7fr) 1.3fr;
    gap: 1rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid #e4ece8;
}

.account-definition-list dt {
    color: #617683;
    font-weight: 700;
}

.account-definition-list dd {
    margin: 0;
    color: #17364d;
    overflow-wrap: anywhere;
}

.account-authorizations,
.account-add-authorization {
    margin-top: 1rem;
}

.inline-action-form {
    display: inline-flex;
    margin: .2rem .3rem .2rem 0;
}

.inline-action-form button,
.account-action-details button {
    min-height: 2.25rem;
    padding: .4rem .65rem;
    border: 0;
    border-radius: .55rem;
    color: #fff;
    background: #087443;
    font: inherit;
    font-size: .8rem;
    font-weight: 750;
    cursor: pointer;
}

.button-danger {
    background: #a33434 !important;
}

.account-status-form {
    margin-top: 1rem;
}

.account-action-details {
    min-width: 13rem;
}

.account-action-details summary {
    color: #087443;
    font-weight: 750;
    cursor: pointer;
}

.account-action-details form {
    margin-top: .7rem;
    padding: .7rem;
    border: 1px solid #dbe6e0;
    border-radius: .65rem;
    background: #f7faf8;
}

.activation-card .login-form-panel input {
    width: 100%;
    min-height: 3.1rem;
    padding: .75rem .9rem;
    border: 1px solid #bdcad2;
    border-radius: .75rem;
    font: inherit;
}

@media (max-width: 700px) {
    .account-form-grid {
        grid-template-columns: 1fr;
    }

    .certificate-actions-form,
    .certificate-action-buttons {
        grid-template-columns: 1fr;
    }

    .account-summary-grid {
        grid-template-columns: 1fr;
    }
}

.profile-theme-choices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.theme-choice {
    position: relative;
    display: grid;
    grid-template-columns: 2.2rem 1fr;
    align-items: center;
    gap: .55rem;
    min-height: 4rem;
    padding: .65rem;
    border: 1px solid #cfdbdf;
    border-radius: .8rem;
    cursor: pointer;
}

.theme-choice input {
    position: absolute;
    inset: .45rem .45rem auto auto;
}

.theme-choice > span {
    width: 2.2rem;
    height: 2.2rem;
    border: .25rem solid #fff;
    border-radius: .65rem;
    box-shadow: 0 0 0 1px #c4d1d7;
}

.theme-choice--default > span {
    background: linear-gradient(135deg, #087443 50%, #edf8f2 50%);
}

.theme-choice--dark > span {
    background: linear-gradient(135deg, #111c2d 50%, #38bdf8 50%);
}

.theme-choice--fresh > span {
    background: linear-gradient(135deg, #087f8c 50%, #d9fbf1 50%);
}

.theme-choice:has(input:checked) {
    border-color: #087443;
    box-shadow: 0 0 0 2px rgb(8 116 67 / 12%);
}

@media (max-width: 820px) {
    .profile-grid {
        grid-template-columns: 1fr;
    }

    .profile-heading {
        align-items: flex-start;
    }

    .profile-token-secret-layout {
        grid-template-columns: 1fr;
    }

    .profile-token-qr {
        justify-self: start;
    }
}

@media (max-width: 560px) {
    .profile-page {
        width: min(100% - 1rem, 88rem);
    }

    .profile-theme-choices {
        grid-template-columns: 1fr;
    }
}

/* Thème sombre */

[data-theme="dark"] {
    color-scheme: dark;
    color: #e7eef7;
    background: #0b1220;
}

[data-theme="dark"] body,
[data-theme="dark"] .app-shell {
    color: #e7eef7;
    background: #0b1220;
}

[data-theme="dark"] .app-header {
    border-color: #26364b;
    background: #111c2d;
}

[data-theme="dark"] .user-chip,
[data-theme="dark"] .button-secondary,
[data-theme="dark"] .button-link {
    border-color: #39506c;
    color: #dce8f5;
    background: #18263a;
}

[data-theme="dark"] .language-switcher a,
[data-theme="dark"] .breadcrumbs,
[data-theme="dark"] .breadcrumbs a {
    color: #b7c7d9;
}

[data-theme="dark"] .dashboard,
[data-theme="dark"] .admin-page,
[data-theme="dark"] .profile-page {
    color: #e7eef7;
}

[data-theme="dark"] .dashboard-hero,
[data-theme="dark"] .admin-page-heading,
[data-theme="dark"] .profile-heading {
    border-color: #2b4057;
    background: linear-gradient(135deg, #15243a, #102d32);
}

[data-theme="dark"] .dashboard-hero h1,
[data-theme="dark"] .admin-page-heading h1,
[data-theme="dark"] .profile-heading h1,
[data-theme="dark"] .section-heading h2,
[data-theme="dark"] .profile-panel h2,
[data-theme="dark"] .catalog-panel h2,
[data-theme="dark"] .module-card h3 {
    color: #f3f7fb;
}

[data-theme="dark"] .dashboard-subtitle,
[data-theme="dark"] .admin-page-heading p:last-child,
[data-theme="dark"] .profile-heading p:last-child,
[data-theme="dark"] .profile-panel > p,
[data-theme="dark"] .field-help {
    color: #aebed0;
}

[data-theme="dark"] .module-card,
[data-theme="dark"] .information-card,
[data-theme="dark"] .catalog-panel,
[data-theme="dark"] .profile-panel {
    border-color: #293d54;
    color: #dce7f3;
    background: #131f31;
    box-shadow: 0 .7rem 2rem rgb(0 0 0 / 18%);
}

[data-theme="dark"] .module-card p,
[data-theme="dark"] .information-card p,
[data-theme="dark"] .reference-table td small {
    color: #aebed0;
}

[data-theme="dark"] .reference-filters,
[data-theme="dark"] .empty-state {
    border-color: #30465f;
    background: #17263a;
}

[data-theme="dark"] .reference-table th,
[data-theme="dark"] .reference-table td {
    border-color: #2b4057;
    color: #dce7f3;
}

[data-theme="dark"] .reference-filters input,
[data-theme="dark"] .reference-filters select,
[data-theme="dark"] .reference-page-size select,
[data-theme="dark"] .population-identifier-search input,
[data-theme="dark"] .profile-form input:not([type="radio"]) {
    border-color: #405873;
    color: #f0f5fa;
    background: #0f1928;
}

[data-theme="dark"] .profile-form input:disabled {
    color: #a8b7c8;
    background: #202e40;
}

[data-theme="dark"] .profile-form label,
[data-theme="dark"] .profile-choice-group legend,
[data-theme="dark"] .population-identifier-search label,
[data-theme="dark"] .reference-filters label,
[data-theme="dark"] .reference-filters legend {
    color: #c4d2e1;
}

[data-theme="dark"] .population-identifier-search + .population-identifier-search {
    border-color: #30465f;
}

[data-theme="dark"] .theme-choice,
[data-theme="dark"] .profile-choice-group > label:not(.theme-choice) {
    border-color: #405873;
    background: #17263a;
}

[data-theme="dark"] .profile-token-grid {
    border-color: #2b4057;
    background: #101a2a;
}

[data-theme="dark"] .profile-token-grid th {
    color: #dce7f3;
    background: linear-gradient(180deg, #18283d, #132034);
}

[data-theme="dark"] .profile-token-grid td {
    border-color: #25384d;
    color: #dce7f3;
}

[data-theme="dark"] .profile-token-grid tbody tr:hover {
    background: #17263a;
}

[data-theme="dark"] .profile-token-grid td:first-child strong,
[data-theme="dark"] .profile-token-grid .token-date {
    color: #dce7f3;
}

[data-theme="dark"] .profile-token-pagination {
    border-color: #2b4057;
    background: linear-gradient(180deg, #131f31, #101a2a);
}

[data-theme="dark"] .profile-token-pagination p,
[data-theme="dark"] .profile-token-pagination__page,
[data-theme="dark"] .profile-token-pagination__ellipsis {
    color: #dce7f3;
}

[data-theme="dark"] .profile-token-pagination__page {
    border-color: #30465f;
    background: #17263a;
}

[data-theme="dark"] .profile-token-pagination__page:hover {
    border-color: #78d892;
    color: #dfffea;
    background: #1f3b2b;
}

[data-theme="dark"] .profile-token-pagination__page.is-current {
    border-color: #78d892;
    color: #06210f;
    background: #78d892;
}

/* Thème Fresh */

[data-theme="fresh"] {
    color-scheme: light;
    color: #16182b;
    background: #f2fff5;
}

[data-theme="fresh"] body,
[data-theme="fresh"] .app-shell {
    color: #16182b;
    background:
        radial-gradient(circle at 15% 8%, rgb(0 232 62 / 13%), transparent 28rem),
        radial-gradient(circle at 86% 22%, rgb(161 255 190 / 24%), transparent 32rem),
        linear-gradient(135deg, #f1fff4, #fbfffc 55%, #effcf4);
}

[data-theme="fresh"] .app-header {
    border-color: #dce9df;
    background: rgb(255 255 255 / 96%);
    box-shadow: 0 .45rem 1.7rem rgb(0 201 55 / 8%);
}

[data-theme="fresh"] button {
    color: #07160c;
    background: #00e83f;
    box-shadow: 0 .55rem 1.2rem rgb(0 220 60 / 18%);
}

[data-theme="fresh"] button:hover {
    color: #06130a;
    background: #00cc38;
}

[data-theme="fresh"] .language-switcher a:hover,
[data-theme="fresh"] .language-switcher a[aria-current="page"],
[data-theme="fresh"] .devac-kicker {
    color: #00772c;
    border-bottom-color: #00e83f;
}

[data-theme="fresh"] .dashboard-hero,
[data-theme="fresh"] .admin-page-heading,
[data-theme="fresh"] .profile-heading {
    border-color: #dce8df;
    color: #111327;
    background:
        radial-gradient(circle at 88% 15%, rgb(0 232 63 / 14%), transparent 18rem),
        linear-gradient(135deg, #fff, #effff3);
    box-shadow: 0 .8rem 2rem rgb(0 195 52 / 9%);
}

[data-theme="fresh"] .module-card,
[data-theme="fresh"] .reference-card,
[data-theme="fresh"] .information-card,
[data-theme="fresh"] .catalog-panel,
[data-theme="fresh"] .profile-panel {
    border-color: #dfe8e2;
    color: #16182b;
    background: rgb(255 255 255 / 97%);
    box-shadow: 0 .8rem 2rem rgb(0 200 55 / 8%);
}

[data-theme="fresh"] .reference-filters,
[data-theme="fresh"] .empty-state,
[data-theme="fresh"] .account-action-details form {
    border-color: #dce8df;
    background: #f2fff5;
}

[data-theme="fresh"] .profile-token-grid {
    border-color: #dce8df;
    box-shadow: 0 .55rem 1.2rem rgb(0 200 55 / 6%);
}

[data-theme="fresh"] .profile-token-grid th {
    background: linear-gradient(180deg, #f3fff7, #eafff0);
}

[data-theme="fresh"] .profile-token-grid tbody tr:hover {
    background: #f4fff7;
}

[data-theme="fresh"] .profile-token-pagination {
    border-color: #dce8df;
    background: linear-gradient(180deg, #ffffff, #f2fff5);
    box-shadow: 0 .55rem 1.2rem rgb(0 200 55 / 5%);
}

[data-theme="fresh"] .profile-token-pagination__page:hover,
[data-theme="fresh"] .profile-token-pagination__page.is-current {
    border-color: #00c738;
}

[data-theme="fresh"] .profile-token-pagination__page.is-current {
    color: #07160c;
    background: #00e83f;
}

[data-theme="fresh"] .user-avatar,
[data-theme="fresh"] .profile-avatar {
    color: #06120a;
    background: linear-gradient(145deg, #00e83f, #00c936);
    box-shadow: 0 .45rem 1rem rgb(0 220 60 / 20%);
}

[data-theme="fresh"] .theme-choice:has(input:checked) {
    border-color: #00d83b;
    box-shadow: 0 0 0 3px rgb(0 232 63 / 15%);
}

[data-theme="fresh"] .breadcrumbs a,
[data-theme="fresh"] .reference-filter-actions a,
[data-theme="fresh"] .account-form-actions a,
[data-theme="fresh"] .account-action-details summary,
[data-theme="fresh"] .table-actions a {
    color: #006e29;
}

[data-theme="fresh"] .dashboard-hero h1,
[data-theme="fresh"] .admin-page-heading h1,
[data-theme="fresh"] .profile-heading h1,
[data-theme="fresh"] .section-heading h2,
[data-theme="fresh"] .catalog-panel h2,
[data-theme="fresh"] .profile-panel h2,
[data-theme="fresh"] .module-card h3 {
    color: #111327;
}

[data-theme="fresh"] .dashboard-subtitle,
[data-theme="fresh"] .admin-page-heading p:last-child,
[data-theme="fresh"] .profile-heading p:last-child,
[data-theme="fresh"] .module-card p,
[data-theme="fresh"] .information-card p,
[data-theme="fresh"] .profile-panel > p {
    color: #59617a;
}

[data-theme="fresh"] .dashboard-hero .devac-status {
    color: #004d1d;
    border-color: rgb(0 216 58 / 28%);
    background: rgb(217 255 227 / 86%);
}

[data-theme="fresh"] .dashboard-hero-image {
    opacity: .58;
}

[data-theme="fresh"] .module-card--active,
[data-theme="fresh"] .reference-card:hover {
    border-color: #00e83f;
    background: linear-gradient(145deg, #fff, #effff3);
    box-shadow: 0 .8rem 2rem rgb(0 224 60 / 15%);
}

[data-theme="fresh"] .module-icon,
[data-theme="fresh"] .module-card--active .module-state {
    color: #004f1d;
    background: #dfffe7;
}

[data-theme="fresh"] .reference-table th {
    color: #47536a;
    background: #f4fff6;
}

[data-theme="fresh"] .reference-table th,
[data-theme="fresh"] .reference-table td {
    border-color: #e2ece5;
}

[data-theme="fresh"] .reference-table td,
[data-theme="fresh"] .account-definition-list dd {
    color: #16182b;
}

[data-theme="fresh"] .reference-table td small,
[data-theme="fresh"] .account-definition-list dt,
[data-theme="fresh"] .field-help {
    color: #667087;
}

[data-theme="fresh"] .reference-filters input,
[data-theme="fresh"] .reference-filters select,
[data-theme="fresh"] .reference-page-size select,
[data-theme="fresh"] .profile-form input:not([type="radio"]),
[data-theme="fresh"] .profile-form select {
    border-color: #cbdcd0;
    color: #15172a;
    background: #fff;
}

[data-theme="fresh"] .reference-filters input:focus,
[data-theme="fresh"] .reference-filters select:focus,
[data-theme="fresh"] .profile-form input:focus,
[data-theme="fresh"] .profile-form select:focus {
    border-color: #00cf38;
    outline: 3px solid rgb(0 232 63 / 16%);
}

[data-theme="fresh"] .button-secondary,
[data-theme="fresh"] .button-link,
[data-theme="fresh"] .user-chip {
    border-color: #d4e3d8;
    color: #16182b;
    background: #fff;
}

[data-theme="fresh"] .button-secondary:hover,
[data-theme="fresh"] .button-link:hover {
    border-color: #00e83f;
    color: #07160c;
    background: #00e83f;
}

[data-theme="fresh"] .admin-primary-action,
[data-theme="fresh"] .activation-login-link {
    color: #07160c;
    background: #00e83f;
    box-shadow: 0 .55rem 1.2rem rgb(0 220 60 / 18%);
}

[data-theme="fresh"] .type-chip--default,
[data-theme="fresh"] .status-chip--active,
[data-theme="fresh"] .status-chip--pending_activation {
    color: #004f1d;
    background: #dfffe7;
}

[data-theme="fresh"] .profile-choice-group > label:not(.theme-choice) {
    border-color: #d3e1d7;
    background: #fff;
}

.table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .55rem;
    min-width: 11rem;
}

.table-actions a {
    color: #087443;
    font-size: .78rem;
    font-weight: 720;
    text-decoration: none;
}

.table-actions a:hover {
    text-decoration: underline;
}

.table-actions .danger-link {
    color: #a52a20;
}

.management-card,
.history-card {
    width: min(100%, 52rem);
    margin: 0 auto;
    padding: clamp(1.3rem, 4vw, 2rem);
    border: 1px solid #dbe5e9;
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 .35rem 1.3rem rgb(28 59 77 / 5%);
}

.management-card h2,
.history-card > h2 {
    margin: 0 0 1.3rem;
    color: #15334c;
    font-size: 1.4rem;
}

.field-help {
    margin: -.2rem 0 .35rem;
    color: #71828f;
    font-size: .82rem;
    line-height: 1.4;
}

.warning-box {
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid #efc29d;
    border-radius: .8rem;
    color: #7b3e10;
    background: #fff7ed;
}

.warning-box p {
    margin: .35rem 0 0;
    line-height: 1.5;
}

.button-danger {
    background: #b42318;
    box-shadow: 0 .5rem 1rem rgb(180 35 24 / 15%);
}

.button-danger:hover {
    background: #912018;
}

.current-assignment {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    border: 1px solid #d5e4dc;
    border-radius: .75rem;
    color: #5b7180;
    background: #f5faf7;
}

.current-assignment strong {
    color: #075d39;
}

.history-timeline {
    position: relative;
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.history-timeline::before {
    position: absolute;
    inset-block: .8rem;
    inset-inline-start: .55rem;
    width: 2px;
    content: "";
    background: #d7e7df;
}

.history-timeline > li {
    position: relative;
    display: grid;
    grid-template-columns: 1.2rem 1fr;
    gap: .8rem;
}

.history-marker {
    z-index: 1;
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 1rem;
    border: .25rem solid #dff4e8;
    border-radius: 50%;
    background: #087443;
}

.history-timeline article {
    padding: 1rem;
    border: 1px solid #dfe7eb;
    border-radius: .8rem;
    background: #fbfcfd;
}

.history-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.history-heading strong {
    color: #18364d;
}

.history-heading time,
.history-timeline article > p {
    color: #6c7f8d;
    font-size: .82rem;
}

.history-timeline article > p {
    margin: .4rem 0 0;
}

.history-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin: .8rem 0 0;
}

.history-values > div {
    padding: .65rem;
    border-radius: .55rem;
    background: #f1f5f7;
}

.history-values dt {
    color: #71828f;
    font-size: .72rem;
    font-weight: 700;
}

.history-values dd {
    margin: .2rem 0 0;
    color: #273f54;
}

@media (max-width: 620px) {
    .history-heading,
    .current-assignment {
        align-items: flex-start;
        flex-direction: column;
    }

    .history-values {
        grid-template-columns: 1fr;
    }
}
/* Calendar reference administration */
.calendar-catalog-layout {
    grid-template-columns: minmax(22rem, .72fr) minmax(0, 1.45fr);
    gap: 1.15rem;
}

.calendar-reference-form {
    gap: .75rem;
}

.calendar-reference-form textarea {
    width: 100%;
    min-height: 6rem;
    resize: vertical;
    padding: .75rem .85rem;
    border: 1px solid #cbd8de;
    border-radius: .65rem;
    color: #1c3447;
    background: #fff;
    font: inherit;
}

.calendar-reference-form textarea:focus {
    border-color: #087443;
    outline: 0;
    box-shadow: 0 0 0 3px rgb(8 116 67 / 12%);
}

.calendar-choice-group {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    min-width: 0;
    margin: .65rem 0 .25rem;
    padding: 0;
    border: 0;
}

.calendar-choice-group legend {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0 0 .15rem;
    color: #273f54;
    font-size: .88rem;
    font-weight: 780;
}

.calendar-choice-group > label {
    position: relative;
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 2.85rem;
    margin: 0;
    padding: .65rem .75rem;
    border: 1px solid #d3dee4;
    border-radius: .72rem;
    color: #314b5e;
    background: #f8fbfc;
    cursor: pointer;
    transition:
        border-color .16s ease,
        background .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.calendar-choice-group > label:hover {
    border-color: #79af93;
    background: #f1f8f4;
    transform: translateY(-1px);
}

.calendar-reference-form .calendar-choice-group input[type="radio"],
.calendar-reference-form .calendar-choice-group input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
    min-height: 0;
    margin: 0;
    accent-color: #087443;
}

.calendar-choice-group > label:has(input:checked) {
    border-color: #087443;
    color: #075d39;
    background: #eaf7ef;
    box-shadow: 0 0 0 3px rgb(8 116 67 / 10%);
}

.calendar-choice-group--stack {
    grid-template-columns: 1fr;
    max-height: 18rem;
    overflow: auto;
    padding: .2rem;
}

.calendar-filters {
    align-items: end;
    padding: 1.1rem;
    border-radius: 1rem;
}

.calendar-filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
}

.calendar-filter-actions button {
    min-width: 10rem;
}

.calendar-table {
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
}

.calendar-table thead th {
    padding: .75rem .8rem;
    border-top: 1px solid #dfe8ec;
    color: #526a7a;
    background: #f3f7f8;
}

.calendar-table thead th:first-child {
    border-start-start-radius: .75rem;
}

.calendar-table thead th:last-child {
    border-start-end-radius: .75rem;
}

.calendar-table tbody tr {
    transition: background .15s ease;
}

.calendar-table tbody tr:hover {
    background: #f8fbfa;
}

.calendar-table th,
.calendar-table td {
    padding: .9rem .8rem;
}

.calendar-table code {
    white-space: nowrap;
}

.calendar-label-cell strong,
.calendar-label-cell small {
    display: block;
}

.calendar-label-cell small {
    margin-top: .2rem;
    color: #788994;
}

.calendar-date-cell {
    white-space: nowrap;
    color: #516a79;
    font-variant-numeric: tabular-nums;
}

.calendar-empty-value {
    color: #98a6ad;
}

.calendar-table-actions {
    align-items: flex-start;
    min-width: 7.8rem;
}

.calendar-table-actions > a {
    display: inline-flex;
    padding: .38rem .62rem;
    border: 1px solid #d6e1dc;
    border-radius: .5rem;
    color: #17623e;
    background: #fff;
    text-decoration: none;
}

.calendar-table-actions > a:hover {
    border-color: #7fb095;
    background: #f1f8f4;
}

.calendar-deactivate {
    width: 100%;
}

.calendar-deactivate summary {
    color: #a23a30;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 720;
}

.calendar-deactivate[open] {
    min-width: 14rem;
    padding: .65rem;
    border: 1px solid #f0c7c1;
    border-radius: .65rem;
    background: #fff8f7;
}

.calendar-deactivate form {
    display: grid;
    gap: .45rem;
    margin-top: .55rem;
}

.calendar-deactivate label {
    color: #6e423d;
    font-size: .76rem;
    font-weight: 700;
}

.calendar-deactivate input {
    width: 100%;
    min-height: 2.35rem;
    padding: .45rem .55rem;
    border: 1px solid #dfbbb5;
    border-radius: .45rem;
}

.calendar-deactivate button {
    min-height: 2.35rem;
    padding: .45rem .65rem;
}

.calendar-detail-list {
    display: grid;
    gap: 0.45rem;
    margin: 0.75rem 0 0;
    padding-inline-start: 1.25rem;
    color: var(--text-muted, #607080);
    font-size: 0.88rem;
    line-height: 1.45;
}

.calendar-detail-list strong {
    color: var(--text-primary, #13243a);
}

[data-theme="dark"] .calendar-reference-form textarea {
    border-color: #405873;
    color: #f0f5fa;
    background: #0f1928;
}

[data-theme="dark"] .calendar-choice-group legend {
    color: #c4d2e1;
}

[data-theme="dark"] .calendar-choice-group > label {
    border-color: #405873;
    color: #dce7f3;
    background: #17263a;
}

[data-theme="dark"] .calendar-choice-group > label:hover {
    border-color: #4d9870;
    background: #1a3040;
}

[data-theme="dark"] .calendar-choice-group > label:has(input:checked) {
    border-color: #39a66d;
    color: #dff8e9;
    background: #163828;
    box-shadow: 0 0 0 3px rgb(57 166 109 / 14%);
}

[data-theme="dark"] .calendar-table thead th {
    border-color: #30465f;
    color: #c4d2e1;
    background: #17263a;
}

[data-theme="dark"] .calendar-table tbody tr:hover {
    background: #18283a;
}

[data-theme="dark"] .calendar-label-cell small,
[data-theme="dark"] .calendar-date-cell {
    color: #aebed0;
}

[data-theme="dark"] .calendar-table-actions > a {
    border-color: #405873;
    color: #dce7f3;
    background: #17263a;
}

[data-theme="dark"] .calendar-deactivate[open] {
    border-color: #784640;
    background: #2b1d20;
}

[data-theme="dark"] .calendar-deactivate input {
    border-color: #784640;
    color: #f0f5fa;
    background: #0f1928;
}

[data-theme="fresh"] .calendar-choice-group > label {
    border-color: #d6e5da;
    color: #26384a;
    background: #f6fff8;
}

[data-theme="fresh"] .calendar-choice-group > label:hover {
    border-color: #00cf38;
    background: #effff2;
}

[data-theme="fresh"] .calendar-choice-group > label:has(input:checked) {
    border-color: #00cf38;
    color: #006e29;
    background: #e8ffed;
    box-shadow: 0 0 0 3px rgb(0 207 56 / 12%);
}

[data-theme="fresh"] .calendar-table thead th {
    border-color: #dce8df;
    background: #f1fff4;
}

[data-theme="fresh"] .calendar-table tbody tr:hover {
    background: #f5fff7;
}

[data-theme="fresh"] .calendar-table-actions > a {
    border-color: #d4e3d8;
    color: #006e29;
    background: #fff;
}

.status-chip--draft {
    color: #655113;
    background: #fff4c7;
}

.status-chip--ready_to_publish {
    color: #125a74;
    background: #dff4fb;
}

.status-chip--published {
    color: #086038;
    background: #dff5e8;
}

[data-theme="dark"] .status-chip--draft {
    color: #ffe6a1;
    background: #4b3c18;
}

[data-theme="dark"] .status-chip--ready_to_publish {
    color: #b9eaff;
    background: #173d4b;
}

[data-theme="dark"] .status-chip--published {
    color: #c8f3d9;
    background: #183d2b;
}

.calendar-version-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin-bottom: 1rem;
}

.calendar-version-summary > div {
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: .8rem 1rem;
    border: 1px solid #dbe5e8;
    border-radius: .8rem;
    background: #fff;
}

.calendar-version-summary span {
    color: #718490;
    font-size: .75rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.calendar-version-summary strong {
    overflow: hidden;
    color: #203d51;
    text-overflow: ellipsis;
}

.calendar-workspace-tabs {
    position: sticky;
    z-index: 20;
    top: .65rem;
    display: flex;
    gap: .4rem;
    overflow-x: auto;
    margin: 0 0 1rem;
    padding: .45rem;
    border: 1px solid #d6e2e5;
    border-radius: 1rem;
    background: rgb(255 255 255 / 92%);
    box-shadow: 0 .7rem 1.8rem rgb(24 63 86 / 10%);
    backdrop-filter: blur(.8rem);
    scrollbar-width: thin;
}

.calendar-workspace-tabs button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 2.75rem;
    padding: .65rem .9rem;
    border: 1px solid transparent;
    border-radius: .72rem;
    color: #355366;
    background: transparent;
    box-shadow: none;
    white-space: nowrap;
}

.calendar-workspace-tabs button:hover {
    color: #075d39;
    background: #edf7f2;
}

.calendar-workspace-tabs button:focus-visible {
    outline: .18rem solid #1b83b3;
    outline-offset: .1rem;
}

.calendar-workspace-tabs button[aria-selected="true"] {
    color: #fff;
    border-color: #087443;
    background: #087443;
    box-shadow: 0 .35rem .8rem rgb(8 116 67 / 20%);
}

.calendar-workspace-tabs button strong {
    display: inline-grid;
    min-width: 1.45rem;
    min-height: 1.45rem;
    place-items: center;
    padding: 0 .35rem;
    border-radius: 999px;
    color: #426072;
    background: #e4edf0;
    font-size: .75rem;
}

.calendar-workspace-tabs button[aria-selected="true"] strong {
    color: #075d39;
    background: #fff;
}

[data-calendar-tabs-target="panel"][hidden] {
    display: none !important;
}

.calendar-editor-grid {
    display: grid;
    grid-template-columns: minmax(18rem, .58fr) minmax(30rem, 1.42fr);
    gap: 1rem;
    align-items: start;
}

.calendar-age-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.calendar-age-grid label {
    display: grid;
    gap: .35rem;
    margin: 0;
}

.calendar-check-card {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 2.85rem;
    margin: .3rem 0;
    padding: .65rem .75rem;
    border: 1px solid #d3dee4;
    border-radius: .72rem;
    background: #f8fbfc;
    cursor: pointer;
}

.calendar-reference-form .calendar-check-card input {
    width: 1.1rem;
    height: 1.1rem;
    min-height: 0;
    margin: 0;
    accent-color: #087443;
}

.calendar-rule-list {
    margin-top: 1rem;
}

.calendar-catchup-list .calendar-table {
    min-width: 1120px;
}

.calendar-catchup-list .reference-table-wrap {
    overflow-x: auto;
}

.calendar-catchup-list td {
    vertical-align: top;
}

.calendar-catchup-list td:nth-child(7),
.calendar-catchup-list td:nth-child(8) {
    min-width: 19rem;
}

.calendar-catchup-list .calendar-deactivate {
    margin-top: .55rem;
    padding: .7rem;
    border-color: #e8b8ad;
    border-radius: .85rem;
    background: #fff7f5;
}

.calendar-catchup-list .calendar-deactivate summary {
    margin-bottom: .65rem;
    color: #9b2f1f;
    font-weight: 800;
}

.calendar-catchup-list ol {
    display: grid;
    gap: .45rem;
    margin: .55rem 0 0;
    padding-inline-start: 0;
    list-style: none;
}

.calendar-catchup-list ol li {
    padding: .6rem .7rem;
    border: 1px solid #dce7ed;
    border-radius: .72rem;
    color: #334b61;
    background: #f8fbfc;
}

.calendar-catchup-list ol li strong {
    display: block;
    margin-bottom: .15rem;
    color: #08284a;
}

.calendar-catchup-list .calendar-age-grid {
    grid-template-columns: 1fr;
    gap: .65rem;
}

.calendar-catchup-list .calendar-age-grid label,
.calendar-catchup-list td:nth-child(8) form > label {
    display: grid;
    gap: .32rem;
    width: 100%;
    min-width: 0;
    margin: 0;
    color: #763121;
    font-size: .85rem;
    font-weight: 800;
}

.calendar-catchup-list .calendar-age-grid input,
.calendar-catchup-list .calendar-age-grid select,
.calendar-catchup-list td:nth-child(8) form > label input,
.calendar-catchup-list td:nth-child(8) form > label select {
    width: 100%;
    min-width: 0;
}

.calendar-catchup-list td:nth-child(8) form {
    display: grid;
    gap: .65rem;
}

.calendar-catchup-list .form-help {
    margin: .2rem 0 .4rem;
    padding: .65rem .75rem;
    border-radius: .75rem;
    color: #334b61;
    background: #f1f6f8;
}

.calendar-catchup-list .calendar-deactivate button {
    width: 100%;
    margin-top: .35rem;
}

.calendar-trigger-alternative {
    display: block;
    margin-top: .25rem;
    color: #3c7456;
    font-weight: 700;
}

.calendar-coherence-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    border-inline-start: .3rem solid #d49318;
}

.calendar-coherence-panel h2 {
    margin: 0 0 .35rem;
}

.calendar-coherence-panel p {
    margin: .2rem 0;
}

.calendar-coherence-ok {
    color: #087443;
    font-weight: 750;
}

.calendar-coherence-list {
    display: grid;
    gap: .3rem;
    margin: .6rem 0 0;
    padding-inline-start: 1.25rem;
    color: #7b4c0d;
}

.calendar-coherence-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.calendar-content-hash {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
    font-size: .78rem;
}

.calendar-content-hash span {
    font-weight: 800;
}

.calendar-content-hash code {
    overflow-wrap: anywhere;
}

.calendar-simulation-stale {
    color: #9a4e12;
    font-weight: 750;
}

.calendar-simulation-report {
    margin-bottom: 1rem;
}

.calendar-publication-panel,
.calendar-activation-panel,
.calendar-activation-history,
.calendar-lifecycle-panel,
.calendar-transition-editor {
    margin-bottom: 1rem;
}

.calendar-publication-panel {
    border-inline-start: .3rem solid #b42318;
}

.calendar-activation-panel {
    border-inline-start: .3rem solid #087443;
}

.calendar-interval-editor,
.calendar-interval-list,
.calendar-age-validity-editor,
.calendar-age-validity-list,
.calendar-mapping-editor {
    margin-top: 1rem;
}

.status-chip--boundary_to_validate,
.status-chip--to_validate {
    color: #8a4b0f;
    background: #fff0d5;
}

.status-chip--validated {
    color: #086038;
    background: #dff5e8;
}

[data-theme="dark"] .status-chip--boundary_to_validate,
[data-theme="dark"] .status-chip--to_validate {
    color: #f4d08a;
    background: #4b3518;
}

.calendar-duration-row {
    display: grid;
    grid-template-columns: minmax(10rem, .35fr) minmax(0, 1.65fr);
    gap: .8rem;
    align-items: end;
    padding: .75rem;
    border: 1px solid #dbe5e8;
    border-radius: .8rem;
    background: #f8fbfc;
}

.calendar-duration-row > label {
    display: grid;
    gap: .35rem;
    margin: 0;
}

.calendar-choice-group--units {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

[data-theme="dark"] .calendar-duration-row {
    border-color: #405873;
    background: #17263a;
}

[data-theme="fresh"] .calendar-duration-row {
    border-color: #d6e5da;
    background: #f6fff8;
}

@media (max-width: 760px) {
    .calendar-duration-row,
    .calendar-choice-group--units {
        grid-template-columns: 1fr;
    }
}

.calendar-coherence-panel:has(.calendar-coherence-ok) {
    border-inline-start-color: #087443;
}

[data-theme="dark"] .calendar-coherence-ok {
    color: #8fd5ad;
}

[data-theme="dark"] .calendar-coherence-list {
    color: #f2cf88;
}

@media (max-width: 760px) {
    .calendar-coherence-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .calendar-coherence-panel button {
        width: 100%;
    }
}

[data-theme="dark"] .calendar-trigger-alternative {
    color: #8fd5ad;
}

[data-theme="dark"] .calendar-version-summary > div,
[data-theme="dark"] .calendar-check-card {
    border-color: #405873;
    background: #17263a;
}

[data-theme="dark"] .calendar-version-summary span {
    color: #aebed0;
}

[data-theme="dark"] .calendar-version-summary strong {
    color: #f0f5fa;
}

[data-theme="dark"] .calendar-workspace-tabs {
    border-color: #30465f;
    background: rgb(19 31 49 / 94%);
    box-shadow: 0 .7rem 1.8rem rgb(0 0 0 / 22%);
}

[data-theme="dark"] .calendar-workspace-tabs button {
    color: #c4d2e1;
}

[data-theme="dark"] .calendar-workspace-tabs button:hover {
    color: #f0f5fa;
    background: #24364d;
}

[data-theme="dark"] .calendar-workspace-tabs button[aria-selected="true"] {
    color: #fff;
    border-color: #14905a;
    background: #0b7445;
}

[data-theme="dark"] .calendar-workspace-tabs button strong {
    color: #dce7f3;
    background: #30465f;
}

[data-theme="dark"] .calendar-workspace-tabs button[aria-selected="true"] strong {
    color: #075d39;
    background: #e8f7ef;
}

[data-theme="fresh"] .calendar-version-summary > div,
[data-theme="fresh"] .calendar-check-card {
    border-color: #d6e5da;
    background: #f6fff8;
}

[data-theme="fresh"] .calendar-workspace-tabs {
    border-color: #d6e5da;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 .7rem 1.8rem rgb(0 200 55 / 10%);
}

[data-theme="fresh"] .calendar-workspace-tabs button {
    color: #234a31;
    background: transparent;
}

[data-theme="fresh"] .calendar-workspace-tabs button:hover {
    color: #06130a;
    background: #e9ffef;
}

[data-theme="fresh"] .calendar-workspace-tabs button[aria-selected="true"] {
    color: #06130a;
    border-color: #00cc38;
    background: #00e83f;
    box-shadow: 0 .45rem 1rem rgb(0 220 60 / 20%);
}

[data-theme="fresh"] .calendar-workspace-tabs button strong {
    color: #19572b;
    background: #ddf9e5;
}

[data-theme="fresh"] .calendar-workspace-tabs button[aria-selected="true"] strong {
    color: #075d39;
    background: #fff;
}

@media (max-width: 1100px) {
    .calendar-editor-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .calendar-workspace-tabs {
        top: .35rem;
        margin-inline: -.25rem;
        border-radius: .85rem;
    }

    .calendar-version-summary,
    .calendar-age-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .calendar-catalog-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .calendar-choice-group {
        grid-template-columns: 1fr;
    }

    .calendar-filter-actions {
        justify-content: stretch;
    }

    .calendar-filter-actions button {
        width: 100%;
    }
}

.document-header-line {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.document-header-line--secondary {
    margin-block-start: .15rem;
    margin-block-end: .85rem;
    color: var(--text);
    font-size: 1.02rem;
}

.qr-sticker-preview {
    max-width: 520px;
    margin-block-start: 1.2rem;
    padding: 1.25rem;
    border: 2px solid #0f7a3b;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 .8rem 1.8rem rgb(15 122 59 / 12%);
}

.qr-sticker-preview h2 {
    margin-block: .3rem .5rem;
}

.qr-graphic {
    display: grid;
    place-items: center;
    width: min(100%, 320px);
    margin: 1rem auto;
    padding: 1rem;
    border: 1px solid #d6e5da;
    border-radius: 16px;
    background: #fff;
}

.qr-graphic svg,
.qr-graphic img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 280px;
}

.qr-token-details {
    margin-block-start: .85rem;
    font-size: .9rem;
}

.qr-token-details summary {
    cursor: pointer;
    color: #0f6b3c;
    font-weight: 800;
}

[data-theme="dark"] .qr-sticker-preview {
    color: #082016;
    background: #f8fff9;
}

@media print {
    .document-header-line {
        color: #111;
        text-align: center;
    }

    .catalog-list-heading {
        align-items: flex-start;
    }

    .qr-sticker-preview {
        box-shadow: none;
        break-inside: avoid;
    }

    .qr-token-details {
        display: none;
    }
}

.dashboard-hero,
.admin-page-heading,
.profile-heading {
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(135deg, rgb(5 22 47 / 54%), rgb(3 95 49 / 38%)),
        url("../images/devac-hero-2026-_Ux4nyZ.jpg");
    background-size: cover;
    background-position: center;
}

.dashboard-hero::after,
.admin-page-heading::after,
.profile-heading::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background: rgb(255 255 255 / 10%);
}

.dashboard-hero-content,
.dashboard-hero .dashboard-hero-image,
.admin-page-heading > *,
.profile-heading > * {
    position: relative;
    z-index: 2;
}

.dashboard-hero .dashboard-hero-image {
    opacity: .9;
}

.admin-page-heading,
.dashboard-hero,
.profile-heading {
    color: #fff;
    background-image:
        linear-gradient(90deg, rgb(6 25 51 / 82%), rgb(6 25 51 / 48%), rgb(3 95 49 / 34%)),
        url("../images/devac-hero-2026-_Ux4nyZ.jpg");
    background-position: center 45%;
}

[dir="rtl"] .admin-page-heading,
[dir="rtl"] .dashboard-hero,
[dir="rtl"] .profile-heading {
    background-image:
        linear-gradient(270deg, rgb(6 25 51 / 82%), rgb(6 25 51 / 48%), rgb(3 95 49 / 34%)),
        url("../images/devac-hero-2026-_Ux4nyZ.jpg");
}

.admin-page-heading::after,
.dashboard-hero::after,
.profile-heading::after {
    background:
        linear-gradient(90deg, rgb(255 255 255 / 7%), rgb(255 255 255 / 13%)),
        radial-gradient(circle at 72% 42%, rgb(255 255 255 / 12%), transparent 18rem);
}

[dir="rtl"] .admin-page-heading::after,
[dir="rtl"] .dashboard-hero::after,
[dir="rtl"] .profile-heading::after {
    background:
        linear-gradient(270deg, rgb(255 255 255 / 7%), rgb(255 255 255 / 13%)),
        radial-gradient(circle at 28% 42%, rgb(255 255 255 / 12%), transparent 18rem);
}

.admin-page-heading h1,
.dashboard-hero h1,
.profile-heading h1 {
    color: #fff;
    text-shadow: 0 .25rem 1.2rem rgb(0 0 0 / 28%);
}

.admin-page-heading .devac-kicker,
.dashboard-hero .devac-kicker,
.profile-heading .devac-kicker {
    color: #9df2c0;
}

.admin-page-heading p:last-child,
.dashboard-hero p:last-child,
.profile-heading p:last-child {
    color: rgb(255 255 255 / 82%);
}

.field-with-icon .password-toggle {
    position: absolute;
    top: 50%;
    inset-inline-end: .75rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: #49667d;
    background: transparent;
    box-shadow: none;
    transform: translateY(-50%);
}

.field-with-icon .password-toggle:hover,
.field-with-icon .password-toggle:focus-visible {
    color: #075d39;
    background: rgb(8 116 67 / 9%);
    outline: 0;
}

.field-with-icon .password-toggle svg {
    inset: auto;
    position: static;
    display: block;
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    transform: none;
    pointer-events: none;
}

.field-with-icon .password-toggle .password-toggle-slash {
    opacity: 0;
    transition: opacity .16s ease;
}

.field-with-icon .password-toggle[aria-pressed="true"] .password-toggle-slash {
    opacity: 1;
}

.login-form-panel .field-with-icon:has(.password-toggle) input {
    padding-inline-end: 3.15rem;
}

.statistics-dashboard {
    display: grid;
    gap: 1.5rem;
}

.statistics-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.statistics-heading-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .65rem;
}

[dir="rtl"] .statistics-heading-actions {
    justify-content: flex-start;
}

.stats-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
    padding: .35rem;
    border: 1px solid rgb(12 62 42 / 10%);
    border-radius: 1.2rem;
    background: rgb(255 255 255 / 76%);
    box-shadow: 0 .9rem 2rem rgb(15 23 42 / 6%);
}

.stats-tab {
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: 1rem 1.15rem;
    border: 1px solid transparent;
    border-radius: .95rem;
    color: #466276;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.stats-tab:hover {
    transform: translateY(-1px);
    border-color: rgb(8 116 67 / 18%);
    color: #075d39;
    background: rgb(236 248 241 / 82%);
}

.stats-tab span,
.stats-tab small {
    overflow-wrap: anywhere;
}

.stats-tab span {
    color: #08243f;
    font-weight: 900;
}

.stats-tab small {
    color: #5f7585;
    font-weight: 700;
}

.stats-tab.is-active {
    color: #fff;
    border-color: rgb(8 116 67 / 22%);
    background: linear-gradient(135deg, #0b2f4d, #087443);
    box-shadow: 0 .9rem 1.8rem rgb(8 116 67 / 16%);
}

.stats-tab.is-active span,
.stats-tab.is-active small {
    color: #fff;
}

.stats-tab.is-active small {
    opacity: .78;
}

.stats-filter-panel {
    padding: .9rem;
}

.stats-filter-panel .stats-filter-form {
    border-color: rgb(12 62 42 / 10%);
    background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(244 250 247 / 92%));
}

.stats-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.stats-kpi-grid--coverage {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stats-kpi {
    min-width: 0;
    min-height: 10rem;
    padding: 1.25rem;
    border: 1px solid rgb(12 62 42 / 10%);
    border-radius: 1.35rem;
    color: #08243f;
    background:
        linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(236 248 241 / 92%)),
        radial-gradient(circle at 80% 0%, rgb(8 116 67 / 14%), transparent 45%);
    box-shadow: 0 1.2rem 2.6rem rgb(15 23 42 / 8%);
}

.stats-kpi--primary {
    color: #fff;
    background:
        radial-gradient(circle at 86% 14%, rgb(125 211 252 / 34%), transparent 38%),
        linear-gradient(135deg, #172554, #1d4ed8 58%, #0891b2);
}

.stats-kpi--warning {
    background: linear-gradient(145deg, #fff7ed, #fff);
}

.stats-kpi--danger {
    background: linear-gradient(145deg, #fff1f2, #fff);
}

.stats-kpi span,
.stats-kpi small,
.stats-kpi strong {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.stats-kpi span {
    color: inherit;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .04em;
    opacity: .74;
    text-transform: uppercase;
}

.stats-kpi strong {
    margin-top: .65rem;
    font-size: clamp(2.2rem, 4.2vw, 3.65rem);
    line-height: 1;
}

.stats-kpi small {
    margin-top: .75rem;
    color: currentColor;
    opacity: .72;
    font-weight: 800;
}

.stats-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(20rem, .8fr);
    gap: 1rem;
}

.stats-layout--wide {
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .55fr);
}

.stats-layout--coverage {
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
}

.stats-panel {
    min-width: 0;
}

.stats-panel--full-row {
    grid-column: 1 / -1;
}

.stats-bars {
    display: grid;
    grid-template-columns: repeat(12, minmax(2.5rem, 1fr));
    align-items: end;
    gap: .65rem;
    min-height: 16rem;
    padding-top: 1rem;
}

.stats-bars--coverage .stats-bar-fill {
    fill: #16a34a;
}

.stats-bar {
    display: grid;
    grid-template-rows: 1fr auto auto;
    gap: .35rem;
    height: 14rem;
    text-align: center;
}

.stats-bar-svg {
    width: 100%;
    height: 10.5rem;
}

.stats-bar-fill {
    fill: #16a34a;
    filter: drop-shadow(0 .7rem .5rem rgb(8 116 67 / 20%));
}

.stats-bar strong {
    font-size: .9rem;
}

.stats-bar small {
    color: #60758a;
    font-weight: 800;
}

.stats-alert-list,
.stats-age-list {
    display: grid;
    gap: .8rem;
    margin-top: 1rem;
}

.stats-alert,
.stats-age-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgb(12 62 42 / 10%);
    border-radius: 1rem;
    background: rgb(248 252 250);
}

.stats-alert strong,
.stats-age-list strong {
    font-size: 1.55rem;
}

.stats-alert--warning {
    color: #854d0e;
    background: #fffbeb;
}

.stats-alert--danger {
    color: #991b1b;
    background: #fff1f2;
}

.stats-progress {
    overflow: hidden;
    width: min(14rem, 100%);
    height: .65rem;
    border-radius: 999px;
    background: #e7eef2;
}

.stats-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #087443, #2dd4bf);
}

.stats-progress-fill--0 { width: 0%; }
.stats-progress-fill--1 { width: 1%; }
.stats-progress-fill--2 { width: 2%; }
.stats-progress-fill--3 { width: 3%; }
.stats-progress-fill--4 { width: 4%; }
.stats-progress-fill--5 { width: 5%; }
.stats-progress-fill--6 { width: 6%; }
.stats-progress-fill--7 { width: 7%; }
.stats-progress-fill--8 { width: 8%; }
.stats-progress-fill--9 { width: 9%; }
.stats-progress-fill--10 { width: 10%; }
.stats-progress-fill--11 { width: 11%; }
.stats-progress-fill--12 { width: 12%; }
.stats-progress-fill--13 { width: 13%; }
.stats-progress-fill--14 { width: 14%; }
.stats-progress-fill--15 { width: 15%; }
.stats-progress-fill--16 { width: 16%; }
.stats-progress-fill--17 { width: 17%; }
.stats-progress-fill--18 { width: 18%; }
.stats-progress-fill--19 { width: 19%; }
.stats-progress-fill--20 { width: 20%; }
.stats-progress-fill--21 { width: 21%; }
.stats-progress-fill--22 { width: 22%; }
.stats-progress-fill--23 { width: 23%; }
.stats-progress-fill--24 { width: 24%; }
.stats-progress-fill--25 { width: 25%; }
.stats-progress-fill--26 { width: 26%; }
.stats-progress-fill--27 { width: 27%; }
.stats-progress-fill--28 { width: 28%; }
.stats-progress-fill--29 { width: 29%; }
.stats-progress-fill--30 { width: 30%; }
.stats-progress-fill--31 { width: 31%; }
.stats-progress-fill--32 { width: 32%; }
.stats-progress-fill--33 { width: 33%; }
.stats-progress-fill--34 { width: 34%; }
.stats-progress-fill--35 { width: 35%; }
.stats-progress-fill--36 { width: 36%; }
.stats-progress-fill--37 { width: 37%; }
.stats-progress-fill--38 { width: 38%; }
.stats-progress-fill--39 { width: 39%; }
.stats-progress-fill--40 { width: 40%; }
.stats-progress-fill--41 { width: 41%; }
.stats-progress-fill--42 { width: 42%; }
.stats-progress-fill--43 { width: 43%; }
.stats-progress-fill--44 { width: 44%; }
.stats-progress-fill--45 { width: 45%; }
.stats-progress-fill--46 { width: 46%; }
.stats-progress-fill--47 { width: 47%; }
.stats-progress-fill--48 { width: 48%; }
.stats-progress-fill--49 { width: 49%; }
.stats-progress-fill--50 { width: 50%; }
.stats-progress-fill--51 { width: 51%; }
.stats-progress-fill--52 { width: 52%; }
.stats-progress-fill--53 { width: 53%; }
.stats-progress-fill--54 { width: 54%; }
.stats-progress-fill--55 { width: 55%; }
.stats-progress-fill--56 { width: 56%; }
.stats-progress-fill--57 { width: 57%; }
.stats-progress-fill--58 { width: 58%; }
.stats-progress-fill--59 { width: 59%; }
.stats-progress-fill--60 { width: 60%; }
.stats-progress-fill--61 { width: 61%; }
.stats-progress-fill--62 { width: 62%; }
.stats-progress-fill--63 { width: 63%; }
.stats-progress-fill--64 { width: 64%; }
.stats-progress-fill--65 { width: 65%; }
.stats-progress-fill--66 { width: 66%; }
.stats-progress-fill--67 { width: 67%; }
.stats-progress-fill--68 { width: 68%; }
.stats-progress-fill--69 { width: 69%; }
.stats-progress-fill--70 { width: 70%; }
.stats-progress-fill--71 { width: 71%; }
.stats-progress-fill--72 { width: 72%; }
.stats-progress-fill--73 { width: 73%; }
.stats-progress-fill--74 { width: 74%; }
.stats-progress-fill--75 { width: 75%; }
.stats-progress-fill--76 { width: 76%; }
.stats-progress-fill--77 { width: 77%; }
.stats-progress-fill--78 { width: 78%; }
.stats-progress-fill--79 { width: 79%; }
.stats-progress-fill--80 { width: 80%; }
.stats-progress-fill--81 { width: 81%; }
.stats-progress-fill--82 { width: 82%; }
.stats-progress-fill--83 { width: 83%; }
.stats-progress-fill--84 { width: 84%; }
.stats-progress-fill--85 { width: 85%; }
.stats-progress-fill--86 { width: 86%; }
.stats-progress-fill--87 { width: 87%; }
.stats-progress-fill--88 { width: 88%; }
.stats-progress-fill--89 { width: 89%; }
.stats-progress-fill--90 { width: 90%; }
.stats-progress-fill--91 { width: 91%; }
.stats-progress-fill--92 { width: 92%; }
.stats-progress-fill--93 { width: 93%; }
.stats-progress-fill--94 { width: 94%; }
.stats-progress-fill--95 { width: 95%; }
.stats-progress-fill--96 { width: 96%; }
.stats-progress-fill--97 { width: 97%; }
.stats-progress-fill--98 { width: 98%; }
.stats-progress-fill--99 { width: 99%; }
.stats-progress-fill--100 { width: 100%; }

.stats-filter-form {
    display: grid;
    grid-template-columns: auto minmax(16rem, 24rem) auto;
    align-items: end;
    gap: .7rem;
    padding: .8rem;
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 1.1rem;
    background: rgb(255 255 255 / 72%);
    backdrop-filter: blur(10px);
}

.stats-filter-form--coverage {
    grid-template-columns:
        auto minmax(13rem, 1.2fr)
        auto minmax(8rem, .7fr)
        auto minmax(8rem, .7fr)
        auto minmax(10rem, .8fr);
}

.stats-filter-stack {
    display: grid;
    justify-items: end;
    gap: .65rem;
}

.stats-filter-form label {
    align-self: center;
    font-size: .84rem;
    font-weight: 900;
    color: #0b2f4d;
}

.stats-filter-form select,
.stats-filter-form input {
    min-height: 2.85rem;
    border: 1px solid rgb(12 62 42 / 16%);
    border-radius: .85rem;
    padding: 0 .9rem;
    color: #08243f;
    background: #fff;
    font-weight: 850;
}

.stats-filter-form button {
    min-height: 2.85rem;
}

.stats-filter-form--coverage button {
    grid-column: 1 / -1;
}

.stats-table-scroll {
    overflow-x: auto;
    border: 1px solid rgb(12 62 42 / 10%);
    border-radius: 1rem;
}

.stats-data-table {
    width: 100%;
    min-width: 46rem;
    border-collapse: collapse;
}

.stats-data-table th,
.stats-data-table td {
    padding: .9rem 1rem;
    border-bottom: 1px solid rgb(12 62 42 / 8%);
    text-align: left;
    vertical-align: middle;
}

.stats-data-table th {
    color: #42526a;
    background: rgb(12 62 42 / 5%);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .015em;
    text-transform: uppercase;
}

.stats-data-table td {
    color: #08243f;
    font-weight: 750;
}

.stats-data-table tbody tr:nth-child(even) {
    background: rgb(12 62 42 / 2.5%);
}

.stats-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.stats-map-panel {
    min-height: 34rem;
}

.stats-map-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .45rem;
}

.stats-map-toolbar button {
    min-height: 2.15rem;
    padding: 0 .8rem;
    border: 1px solid rgb(12 62 42 / 14%);
    border-radius: 999px;
    color: #0b2f4d;
    background: #fff;
    font-size: .82rem;
    font-weight: 850;
    cursor: pointer;
    box-shadow: 0 .5rem 1rem rgb(15 23 42 / 5%);
}

.stats-map-toolbar button:hover,
.stats-map-toolbar button:focus {
    color: #fff;
    background: #087443;
}

.stats-map-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
    gap: 1rem;
    align-items: stretch;
}

.stats-map {
    width: 100%;
    min-height: 32rem;
    border: 1px solid rgb(12 62 42 / 12%);
    border-radius: 1.2rem;
    background:
        radial-gradient(circle at 20% 10%, rgb(45 212 191 / 15%), transparent 34%),
        linear-gradient(145deg, #f8fcfa, #eef7f2);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 70%);
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.stats-map.is-dragging {
    cursor: grabbing;
}

.stats-map path {
    cursor: inherit;
    transition: filter .16s ease, stroke-width .16s ease;
}

.stats-map path:hover,
.stats-map path:focus {
    outline: none;
    filter: brightness(1.05) drop-shadow(0 .35rem .5rem rgb(15 23 42 / 20%));
}

.stats-map-label {
    pointer-events: none;
    fill: #08243f;
    stroke: rgb(255 255 255 / 88%);
    paint-order: stroke;
    font-weight: 400;
    text-anchor: middle;
    dominant-baseline: central;
    letter-spacing: -.02em;
}

.stats-map-details {
    display: grid;
    align-content: start;
    gap: .55rem;
    padding: 1rem;
    border: 1px solid rgb(12 62 42 / 10%);
    border-radius: 1.1rem;
    background: #fff;
    box-shadow: 0 1rem 2rem rgb(15 23 42 / 6%);
}

.stats-map-details strong {
    font-size: 1.05rem;
}

.stats-map-details span {
    color: #4b647a;
    font-weight: 750;
}

.stats-map-legend {
    display: grid;
    gap: .85rem;
    margin-top: .8rem;
}

.stats-map-legend div {
    display: flex;
    align-items: center;
    gap: .65rem;
    font-weight: 850;
}

.stats-map-swatch,
.stats-map-gradient {
    display: inline-block;
    width: 4rem;
    height: 1rem;
    border: 1px solid rgb(12 62 42 / 18%);
    border-radius: 999px;
}

.stats-map-swatch--nodata {
    background: #fff;
}

.stats-map-gradient {
    background: linear-gradient(90deg, #dc2626, #facc15, #86efac);
}

[data-theme="dark"] .stats-kpi,
[data-theme="dark"] .stats-alert,
[data-theme="dark"] .stats-age-list div {
    color: #eef8ff;
    border-color: rgb(255 255 255 / 10%);
    background: linear-gradient(145deg, #18263a, #101827);
}

[data-theme="dark"] .stats-bar small {
    color: #b7c6d8;
}

[data-theme="dark"] .stats-filter-form,
[data-theme="dark"] .stats-tabs,
[data-theme="dark"] .stats-filter-panel .stats-filter-form,
[data-theme="dark"] .stats-map-details {
    color: #eef8ff;
    border-color: rgb(255 255 255 / 10%);
    background: rgb(15 23 42 / 84%);
}

[data-theme="dark"] .stats-tab {
    color: #d7e7f4;
}

[data-theme="dark"] .stats-tab span {
    color: #eef8ff;
}

[data-theme="dark"] .stats-tab small {
    color: #b7c6d8;
}

[data-theme="dark"] .stats-tab:hover {
    background: rgb(255 255 255 / 6%);
}

[data-theme="dark"] .stats-filter-form label,
[data-theme="dark"] .stats-map-details span {
    color: #d7e7f4;
}

[data-theme="dark"] .stats-kpi--primary {
    color: #fff;
    background:
        radial-gradient(circle at 86% 14%, rgb(56 189 248 / 24%), transparent 38%),
        linear-gradient(135deg, #0f172a, #1e3a8a 58%, #0e7490);
}

[data-theme="dark"] .stats-table-scroll {
    border-color: rgb(255 255 255 / 10%);
}

[data-theme="dark"] .stats-data-table th {
    color: #d7e7f4;
    background: rgb(255 255 255 / 6%);
}

[data-theme="dark"] .stats-data-table td {
    color: #eef8ff;
    border-color: rgb(255 255 255 / 8%);
}

[data-theme="dark"] .stats-data-table tbody tr:nth-child(even) {
    background: rgb(255 255 255 / 3%);
}

[data-theme="dark"] .stats-map {
    border-color: rgb(255 255 255 / 10%);
    background: linear-gradient(145deg, #101827, #18263a);
}

[data-theme="dark"] .stats-map-toolbar button {
    color: #eaf7ff;
    border-color: rgb(255 255 255 / 12%);
    background: #152238;
}

[data-theme="dark"] .stats-map-label {
    fill: #f8fbff;
    stroke: rgb(8 16 28 / 86%);
}

[data-theme="fresh"] .stats-kpi {
    border-color: rgb(0 220 75 / 18%);
    box-shadow: 0 1.2rem 2.8rem rgb(0 220 75 / 10%);
}

[data-theme="fresh"] .stats-tabs,
[data-theme="fresh"] .stats-filter-panel .stats-filter-form {
    border-color: rgb(0 220 75 / 18%);
    background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(236 255 243 / 92%));
}

[data-theme="fresh"] .stats-tab.is-active {
    background: linear-gradient(135deg, #052f2d, #00dc4b);
}

[data-theme="fresh"] .stats-map {
    background:
        radial-gradient(circle at 20% 10%, rgb(0 220 75 / 18%), transparent 34%),
        linear-gradient(145deg, #fbfffd, #ecfff3);
}

.schedule-table .schedule-row {
    transition: background-color .18s ease, box-shadow .18s ease;
}

.schedule-table .schedule-row > td {
    border-bottom-color: rgb(8 42 74 / 8%);
}

.schedule-row--satisfaite {
    background: linear-gradient(90deg, rgb(228 246 236 / 78%), rgb(248 255 251 / 88%));
}

.schedule-row--due {
    background: linear-gradient(90deg, rgb(255 244 204 / 90%), rgb(255 252 241 / 92%));
}

.schedule-row--future {
    background: linear-gradient(90deg, rgb(231 243 255 / 86%), rgb(248 252 255 / 92%));
}

.schedule-row--en_retard,
.schedule-row--non_administree {
    background: linear-gradient(90deg, rgb(255 226 226 / 90%), rgb(255 248 248 / 92%));
}

.schedule-row--suspendue,
.schedule-row--indeterminee {
    background: linear-gradient(90deg, rgb(238 240 242 / 92%), rgb(250 251 252 / 92%));
}

.schedule-table .schedule-row:hover {
    box-shadow: inset .25rem 0 0 rgb(6 112 64 / 40%);
}

.schedule-status-chip--satisfaite {
    color: #075d39;
    background: #dff7e8;
}

.schedule-status-chip--due {
    color: #7c4a03;
    background: #fff0bd;
}

.schedule-status-chip--future {
    color: #255174;
    background: #e0f1ff;
}

.schedule-status-chip--en_retard,
.schedule-status-chip--non_administree {
    color: #8d1d1d;
    background: #ffe2e2;
}

.schedule-status-chip--suspendue,
.schedule-status-chip--indeterminee {
    color: #52616d;
    background: #edf0f2;
}

[data-theme="dark"] .schedule-row--satisfaite {
    background: linear-gradient(90deg, rgb(8 92 55 / 42%), rgb(14 28 24 / 70%));
}

[data-theme="dark"] .schedule-row--due {
    background: linear-gradient(90deg, rgb(137 86 6 / 42%), rgb(30 24 13 / 72%));
}

[data-theme="dark"] .schedule-row--future {
    background: linear-gradient(90deg, rgb(25 73 112 / 44%), rgb(13 24 36 / 72%));
}

[data-theme="dark"] .schedule-row--en_retard,
[data-theme="dark"] .schedule-row--non_administree {
    background: linear-gradient(90deg, rgb(133 35 35 / 48%), rgb(34 18 18 / 72%));
}

[data-theme="dark"] .schedule-row--suspendue,
[data-theme="dark"] .schedule-row--indeterminee {
    background: linear-gradient(90deg, rgb(91 101 112 / 36%), rgb(17 24 34 / 70%));
}

@media (max-width: 72rem) {
    .statistics-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .stats-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stats-layout,
    .stats-layout--wide,
    .stats-layout--coverage,
    .stats-map-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 42rem) {
    .stats-tabs {
        grid-template-columns: 1fr;
    }

    .stats-kpi-grid {
        grid-template-columns: 1fr;
    }

    .stats-kpi--primary {
        grid-column: auto;
    }

    .stats-bars {
        overflow-x: auto;
        grid-template-columns: repeat(12, 3.8rem);
    }

    .stats-filter-form {
        grid-template-columns: 1fr;
    }

    .stats-map {
        min-height: 24rem;
    }
}
