.mud-dialog.demande-agenda-dialog {
    width: min(590px, 100%);
    max-height: min(90vh, 760px);
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 20px !important;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.24);
    overflow: hidden;
}

.demande-agenda-dialog .mud-dialog-content {
    padding: 22px 22px 0;
    overflow-x: hidden;
}

.demande-agenda-dialog .mud-dialog-actions {
    display: block;
    padding: 0 22px 22px;
}

.demande-dialog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.demande-dialog-heading {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}

.demande-dialog-heading-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    color: #0f9f6e;
    background: rgba(65, 197, 150, 0.13);
    font-size: 17px;
}

.demande-dialog-eyebrow {
    display: block;
    margin-bottom: 2px;
    color: #0f9f6e;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.demande-dialog-header h3 {
        margin: 0;
        color: #07142d;
        font-size: 19px;
        font-weight: 600;
}

.demande-dialog-header p {
    margin: 3px 0 0;
    color: #738198;
    font-size: 11px;
    line-height: 1.35;
}

.demande-dialog-close {
    width: 34px;
    height: 34px;
    flex: none;
    border: none;
    border-radius: 999px;
    background: #f4f7f9;
    color: #07142d;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: background 0.15s ease, transform 0.15s ease;
}

    .demande-dialog-close:hover {
        background: #e2e8f0;
        transform: rotate(4deg);
    }

.demande-dialog-error {
    padding: 10px 14px;
    border-radius: 12px;
    background: #fee2e2;
    color: #b91c1c;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 14px;
}

.demande-dialog-readonly {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
    padding: 10px 13px;
    border: 1px solid rgba(59, 130, 246, 0.2);
    border-radius: 12px;
    background: rgba(239, 246, 255, 0.9);
    color: #1e40af;
    font-size: 12px;
}

.demande-dialog-field {
    margin-bottom: 16px;
}

    .demande-dialog-field label {
        display: block;
        font-size: 12px;
        font-weight: 500;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        margin-bottom: 6px;
    }

.demande-dialog-types {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.demande-dialog-type {
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    min-width: 0;
    min-height: 42px;
    justify-content: flex-start;
    gap: 9px;
    border-radius: 12px;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.demande-dialog-type span {
    min-width: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demande-dialog-type-icon {
    width: 18px;
    flex: 0 0 18px;
    text-align: center;
}

.demande-dialog-type-check {
    margin-left: auto;
    opacity: 0;
    transform: scale(0.65);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.demande-dialog-type.type-conge {
    background: var(--ft-absence-conge-bg, rgba(227, 242, 253, 1));
    border-color: var(--ft-absence-conge-border, rgba(66, 165, 245, 1));
    color: var(--ft-absence-conge-fg, rgba(13, 71, 161, 1));
}

.demande-dialog-type.type-rtt {
    background: var(--ft-absence-rtt-bg, rgba(237, 231, 246, 1));
    border-color: var(--ft-absence-rtt-border, rgba(126, 87, 194, 1));
    color: var(--ft-absence-rtt-fg, rgba(94, 53, 177, 1));
}

.demande-dialog-type.type-maladie {
    background: var(--ft-absence-maladie-bg, rgba(128, 40, 16, 1));
    border-color: var(--ft-absence-maladie-border, rgba(128, 40, 16, 1));
    color: var(--ft-absence-maladie-fg, rgba(255, 255, 255, 1));
}

.demande-dialog-type.type-recup {
    background: var(--ft-absence-recuperation-bg, rgba(97, 97, 97, 1));
    border-color: var(--ft-absence-recuperation-border, rgba(66, 66, 66, 1));
    color: var(--ft-absence-recuperation-fg, rgba(255, 255, 255, 1));
}

.demande-dialog-type.type-jnt {
    background: var(--ft-absence-nontravaille-bg, rgba(238, 238, 238, 1));
    border-color: var(--ft-absence-nontravaille-border, rgba(158, 158, 158, 1));
    color: var(--ft-absence-nontravaille-fg, rgba(97, 97, 97, 1));
}

.demande-dialog-type.type-autre {
    background: var(--ft-absence-default-bg, rgba(245, 245, 245, 1));
    border-color: var(--ft-absence-default-border, rgba(189, 189, 189, 1));
    color: var(--ft-absence-default-fg, rgba(66, 66, 66, 1));
}

.demande-dialog-type:hover {
    filter: brightness(0.96);
    transform: translateY(-1px);
}

.demande-dialog-type:disabled {
    cursor: default;
    filter: none;
    opacity: 0.72;
    transform: none;
}

.demande-dialog-type.selected {
    box-shadow: 0 0 0 2px currentColor, 0 5px 12px rgba(15, 23, 42, 0.1);
}

.demande-dialog-type.selected .demande-dialog-type-check {
    opacity: 1;
    transform: scale(1);
}

.demande-dialog-dates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.demande-agenda-dialog .form-control {
    width: 100%;
    height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 0 12px;
    font-size: 14px;
    box-sizing: border-box;
    color: #17233a;
    background: #fbfcfd;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.demande-agenda-dialog .form-control:focus {
    border-color: #41c596;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(65, 197, 150, 0.14);
}

.demande-agenda-dialog .form-control:disabled {
    border-color: #dbe3ec;
    background: #f4f7f9;
    color: #475569;
    cursor: default;
    opacity: 1;
}

.demande-dialog-field textarea.form-control {
    height: auto;
    min-height: 90px;
    padding: 12px;
    resize: vertical;
}

.demande-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #edf1f5;
}

.demande-dialog-cancel,
.demande-dialog-submit {
    border: none;
    border-radius: 12px;
    padding: 12px 22px;
    font-size: 14px;
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 500;
    cursor: pointer;
}

.demande-dialog-cancel {
    background: #eef2f5;
    color: #374151;
}

.demande-dialog-submit {
    background: linear-gradient(135deg, #41c596, #20ad7d);
    color: white;
    box-shadow: 0 8px 18px rgba(32, 173, 125, 0.22);
}

.demande-dialog-cancel:hover {
    background: #e3e8ed;
}

.demande-dialog-submit:hover:not(:disabled) {
    filter: brightness(0.97);
    transform: translateY(-1px);
}

    .demande-dialog-submit:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

@media (max-width: 600px) {
    .mud-dialog-container:has(.demande-agenda-dialog) {
        align-items: flex-end;
        padding: 8px;
    }

    .mud-dialog.demande-agenda-dialog {
        width: 100%;
        max-height: calc(100dvh - 16px);
        margin: 0;
        border-radius: 20px 20px 14px 14px !important;
    }

    .demande-agenda-dialog .mud-dialog-content {
        padding: 17px 15px 0;
    }

    .demande-agenda-dialog .mud-dialog-actions {
        padding: 0 15px 14px;
    }

    .demande-dialog-header {
        margin-bottom: 14px;
    }

    .demande-dialog-heading-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        border-radius: 11px;
    }

    .demande-dialog-cancel,
    .demande-dialog-submit {
        flex: 1 1 0;
        padding: 11px 12px;
    }
}

@media (max-width: 380px) {
    .demande-dialog-types,
    .demande-dialog-dates {
        grid-template-columns: 1fr;
    }

    .demande-dialog-type {
        min-height: 39px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mud-dialog.demande-agenda-dialog {
        animation: none;
    }
}
