/*
|--------------------------------------------------------------------------
| Admin Public Theme — Components
|--------------------------------------------------------------------------
| Composants communs à toutes les pages admin.
*/

.admin-modern h1,
.admin-modern h2,
.admin-modern h3,
.admin-modern h4,
.admin-modern h5,
.admin-modern h6,
.admin-modern .card-title,
.admin-modern .card-header,
.admin-modern .alert-heading {
    color: var(--admin-heading);
}

.admin-modern p,
.admin-modern .text-muted,
.admin-modern .text-white-50 {
    color: var(--admin-muted);
}

.admin-modern .card {
    position: relative;
    overflow: hidden;
    height: calc(100% - 1.5rem);
    color: var(--admin-text);
    background:
        linear-gradient(145deg, rgba(255,255,255,.75), transparent 65%),
        var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    box-shadow: var(--admin-shadow);
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease;
}

.admin-modern .card:hover {
    transform: translateY(-4px);
    border-color: var(--admin-border-strong);
    box-shadow: var(--admin-shadow-hover);
}

.admin-modern .card-header {
    min-height: 58px;
    padding: 1rem 1.2rem;
    color: var(--admin-heading) !important;
    background:
        linear-gradient(90deg, rgba(196,154,74,.10), transparent 70%),
        var(--admin-surface-alt);
    border-bottom: 1px solid var(--admin-border);
    letter-spacing: .045em;
}

.admin-modern .card-body {
    padding: 1.25rem;
}

.admin-modern .card-body > p:first-child {
    min-height: 2.8em;
    margin-bottom: 1.2rem;
    line-height: 1.65;
}

.admin-modern .card-arrow {
    display: none;
}

.admin-modern .badge {
    min-width: 2.4rem;
    padding: .48rem .68rem;
    color: #fff;
    background: linear-gradient(135deg, var(--admin-gold), var(--admin-gold-dark));
    border: 0;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 500;
    box-shadow: 0 5px 12px rgba(158, 116, 45, .18);
}

/* Badge absence validée */
.admin-modern .badge.absence-status-badge--validated {
    background: rgba(46, 125, 96, .14);
    color: #2e7d60;
    border: 1px solid rgba(46, 125, 96, .28);
    box-shadow: none;
}

/* Badge absence en attente */
.admin-modern .badge.absence-status-badge--pending {
    background: rgba(183, 84, 72, .12);
    color: #a84f45;
    border: 1px solid rgba(183, 84, 72, .25);
    box-shadow: none;
}

.admin-modern .badge.badge-admin-success {
    background: rgba(46, 125, 96, .14);
    color: #2e7d60;
    border: 1px solid rgba(46, 125, 96, .25);
    box-shadow: none;
}
.admin-modern .badge.badge-admin-info {
    background: rgba(4, 185, 235, 0.153);
    color: #023c7e !important;
    border: 1px solid rgba(2, 142, 207, 0.308);
    box-shadow: none;
}
.admin-modern .badge.badge-admin-danger {
    background: rgba(183, 84, 72, .12);
    color: #a84f45;
    border: 1px solid rgba(183, 84, 72, .24);
    box-shadow: none;
}

.admin-modern .badge.badge-admin-red {
    background: rgba(228, 29, 7, 0.906);
    color: #ffffff !important;
    border: 1px solid rgba(151, 17, 2, 0.24);
    box-shadow: none;
}

.admin-modern .badge.badge-admin-blue {
    background: rgba(55, 111, 145, .12);
    color: #376f91;
    border: 1px solid rgba(55, 111, 145, .22);
    box-shadow: none;
}

.admin-modern .badge.badge-admin-neutral {
    background: rgba(83, 96, 89, .09);
    color: #59675f;
    border: 1px solid rgba(83, 96, 89, .15);
    box-shadow: none;
}

.admin-modern .badge.badge-admin-gold {
    background: rgba(158, 116, 45, .12);
    color: #956d2b;
    border: 1px solid rgba(158, 116, 45, .22);
    box-shadow: none;
}

.admin-modern .badge.badge-admin-yellow {
    background: rgba(245, 229, 4, 0.993);
    color: #5b5801;
    border: 1px solid rgba(197, 194, 0, 0.84);
    box-shadow: none;
}

.admin-modern .badge.badge-admin-warning {
    background: rgba(164, 98, 6, 0.14);
    color: #4f2803;
    border: 1px solid rgba(241, 103, 4, 0.728);
    box-shadow: none;
}
.admin-modern .btn {
    border-radius: 11px;
    font-weight: 650;
    letter-spacing: .01em;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background-color .18s ease,
        border-color .18s ease;
}

.admin-modern .btn:hover {
    transform: translateY(-1px);
}

.admin-modern .btn-success,
.admin-modern .btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--admin-green), var(--admin-green-dark));
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(36, 90, 77, .18);
}

.admin-modern .btn-success:hover,
.admin-modern .btn-primary:hover {
    color: #fff;
    background: var(--admin-green-dark);
}

.admin-modern .btn-outline-light {
    color: var(--admin-green);
    background: #fffaf2;
    border-color: var(--admin-border-strong);
}

.admin-modern .btn-outline-light:hover {
    color: #fff;
    background: var(--admin-green);
    border-color: var(--admin-green);
}

.admin-modern .btn-outline-yellow {
    color: var(--admin-gold-dark);
    background: #fffaf2;
    border-color: rgba(196, 154, 74, .55);
}

.admin-modern .btn-outline-yellow:hover {
    color: #fff;
    background: var(--admin-gold);
    border-color: var(--admin-gold);
}

.admin-modern .card a:not(.btn) {
    color: var(--admin-green);
    font-weight: 700;
}

.admin-modern .card a:not(.btn):hover {
    color: var(--admin-gold-dark);
}

.admin-modern .avatar-title {
    color: var(--admin-gold-dark) !important;
    background: #fff7e9 !important;
    border: 1px solid #ead7b4;
    border-radius: 16px !important;
}

.admin-modern .avatar-title i {
    color: var(--admin-gold-dark) !important;
}

.admin-modern .text-success,
.admin-modern .text-primary,
.admin-modern .text-info,
.admin-modern .text-warning {
    color: var(--admin-gold-dark) !important;
}

.admin-modern .text-danger {
    color: var(--admin-danger) !important;
}

@media (max-width: 767.98px) {
    .admin-modern .card {
        height: auto;
    }

    .admin-modern .card-body > p:first-child {
        min-height: auto;
    }
}

.badge-admin-success {
background:linear-gradient(135deg, rgba(45, 212, 191, 0.2), rgba(45, 212, 191, 0.1));
            border-color:rgba(45, 212, 191, 0.4);
            color:#2dd4bf;
}


/* =========================================================
   BOUTONS PASTEL
   Thème ivoire / or / vert
========================================================= */

.btn-pastel {
    --btn-bg: #f4f1e8;
    --btn-border: #e5dfd0;
    --btn-color: #4f514b;
    --btn-hover: #ece7da;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;

    padding: .55rem 1rem;

    color: var(--btn-color);
    background: var(--btn-bg);
    border: 1px solid var(--btn-border);

    border-radius: .6rem;

    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;

    box-shadow: 0 2px 6px rgba(30, 40, 35, .035);

    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.btn-pastel:hover,
.btn-pastel:focus {
    color: var(--btn-color);
    background: var(--btn-hover);
    border-color: var(--btn-border);

    box-shadow: 0 4px 12px rgba(30, 40, 35, .07);
}

.btn-pastel:active {
    transform: translateY(1px);
    box-shadow: none;
}


/* =========================================================
   VERT SAUGE
========================================================= */

.btn-pastel-green {
    --btn-bg: #e7efe9;
    --btn-border: #cfddd2;
    --btn-color: #496453;
    --btn-hover: #dce8df;
}


/* =========================================================
   OR / CHAMPAGNE
========================================================= */

.btn-pastel-gold {
    --btn-bg: #f5eddc;
    --btn-border: #e7d7b5;
    --btn-color: #806b3f;
    --btn-hover: #eee2c9;
}


/* =========================================================
   IVOIRE
========================================================= */

.btn-pastel-ivory {
    --btn-bg: #f8f5ed;
    --btn-border: #e7e0d2;
    --btn-color: #625f55;
    --btn-hover: #f0ebdf;
}


/* =========================================================
   BLEU POUDRÉ
========================================================= */

.btn-pastel-blue {
    --btn-bg: #e9eff3;
    --btn-border: #d3dfe6;
    --btn-color: #506874;
    --btn-hover: #dfe9ee;
}


/* =========================================================
   ROSE POUDRÉ
========================================================= */

.btn-pastel-rose {
    --btn-bg: #f4e9e8;
    --btn-border: #e5d2d0;
    --btn-color: #805e5b;
    --btn-hover: #eddfdd;
}


/* =========================================================
   LAVANDE
========================================================= */

.btn-pastel-purple {
    --btn-bg: #eeebf3;
    --btn-border: #ddd6e6;
    --btn-color: #675d78;
    --btn-hover: #e5e0ec;
}


/* =========================================================
   PÊCHE
========================================================= */

.btn-pastel-orange {
    --btn-bg: #f6ede4;
    --btn-border: #ead8c7;
    --btn-color: #80654f;
    --btn-hover: #f0e3d6;
}


/* =========================================================
   ROUGE DOUX / ACTION SENSIBLE
========================================================= */

.btn-pastel-red {
    --btn-bg: #f5e8e8;
    --btn-border: #e8d0d0;
    --btn-color: #865c5c;
    --btn-hover: #eedddd;
}


/* =========================================================
   GRIS
========================================================= */

.btn-pastel-gray {
    --btn-bg: #efefec;
    --btn-border: #deded8;
    --btn-color: #62645f;
    --btn-hover: #e6e6e1;
}


/* =========================================================
   PETIT FORMAT
========================================================= */

.btn-pastel-sm {
    padding: .4rem .72rem;
    border-radius: .5rem;
    font-size: .82rem;
}


/* =========================================================
   ICÔNES
========================================================= */

.btn-pastel i {
    font-size: .9em;
    opacity: .78;
}