#modalForNotif .notifications-loading {
    font-size: 24px;
    text-align: center;
    margin: 50px;
}

#modalForNotif .notifications-api-error {
    font-size: 24px;
    text-align: center;
    margin: 50px;
    color: #d80000;
}

#modalForNotif md-input-container .md-errors-spacer {
    min-height:0px;
}

/* ==== NOTIFICATION LINE STYLE === */

#modalForNotif .notif-wrapper {
    width: 90%;
    margin: 5px 5%;
    border-collapse: separate;
    border-spacing: 0 8px;
}

#modalForNotif .wrapper-container {
    display: flex;
    align-items: flex-start;
    background-color: #f5f5f5;
    padding: 12px 10px;
    font-size: 14px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    margin-bottom: 12px;
    width: initial;
    gap: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* Corps de la carte : 2 zones empilées (contenu en haut, réglages en dessous) */
#modalForNotif .notif-body {
    flex: 1 1 auto;
    min-width: 0;
}

/* Zone 1 — contenu (titre + texte) */
#modalForNotif .notif-content-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    align-items: flex-start;
}

/* Aligne les compteurs (xx/100, xx/500) en bas de chaque champ */
#modalForNotif .notif-content-row .notif-title,
#modalForNotif .notif-content-row .notif-text {
    display: flex;
}
#modalForNotif .notif-content-row md-input-container {
    display: flex;
    flex-direction: column;
    height: 100%;
}
#modalForNotif .notif-content-row md-input-container .md-errors-spacer {
    margin-top: auto;
}

#modalForNotif .notif-content-row .md-char-counter {
    padding: 0;
    margin-top: -10px;
}

/* Zone 2 — réglages d'envoi (canal / heure / jour / condition) */
#modalForNotif .notif-settings-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
    align-items: flex-start;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid #e0e0e0;
}

#modalForNotif .notif-wrapper md-input-container {
    margin-bottom: 5px;
}

#modalForNotif .notif-actions {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#modalForNotif .notif-actions .notif-copy {
    width: 40px;
    min-width: 40px;
    margin: 0;
    padding: 0;
}

#modalForNotif .notif-delete{
    border: 1px solid transparent;
    flex: 0 0 auto;
}

#modalForNotif .notif-icon{
    border: 1px solid transparent;
    padding: 4px 6px 0;
    font-size: 20px;
    flex: 0 0 auto;
}

#modalForNotif .notif-wrapper .invalid{
    border: 1px solid #d80000;
    background-color: #fdf5f5;
}

/* Zone 1 — contenu : titre fixe, texte qui prend la place restante */
#modalForNotif .notif-wrapper .notif-title {
    flex: 0 0 220px;
}
#modalForNotif .notif-wrapper .notif-title md-input-container {
    width: 100%;
}

#modalForNotif .notif-wrapper .notif-text {
    flex: 1 1 280px;
    min-width: 200px;
}
#modalForNotif .notif-wrapper .notif-text md-input-container {
    width: 100%;
}

#modalForNotif .notif-wrapper .notif-protocol {
    flex: 1 1 320px;
}
#modalForNotif .notif-wrapper .notif-protocol md-input-container {
    width: 100%;
}

/* Zone 2 — réglages : largeurs fixes, pas d'étirement */
#modalForNotif .notif-wrapper .notif-channel {
    flex: 0 0 150px;
}
#modalForNotif .notif-wrapper .notif-channel md-input-container {
    width: 100%;
}

#modalForNotif .notif-wrapper .notif-hour {
    flex: 0 0 110px;
}
#modalForNotif .notif-wrapper .notif-hour md-input-container {
    width: 100%;
}

#modalForNotif .notif-wrapper .notif-day {
    flex: 0 0 150px;
}
#modalForNotif .notif-wrapper .notif-day md-input-container {
    width: 100%;
}

#modalForNotif .notif-wrapper .notif-other-relativeday {
    flex: 0 0 110px;
}
#modalForNotif .notif-wrapper .notif-other-relativeday md-input-container {
    width: 100%;
    min-width: 80px;
}

#modalForNotif .notif-wrapper .notif-condition {
    flex: 0 0 220px;
}
#modalForNotif .notif-wrapper .notif-condition md-input-container {
    width: 100%;
}

#modalForNotif .notif-wrapper .notif-custom-sender {
    flex: 1 1 240px;
}
#modalForNotif .notif-wrapper .notif-custom-sender md-input-container {
    width: 100%;
}

#modalForNotif .notif-wrapper .notif-delete {
    vertical-align: middle;
    width:40px;
}

#modalForNotif .notif-wrapper .notif-delete {
    vertical-align: middle;
    width:40px;
}
#modalForNotif .notif-wrapper .notif-delete button {
    width:40px;
    margin: 0px;
    padding: 0px;
    min-width: 40px;
}

/* ==== NOTIFICATION STYLE END === */

#modalForNotif .notification-add-button {
    text-align: center;
    padding:10px;
    outline: none;
    padding-bottom: 20px;
}
#modalForNotif .notification-add-button i.fa {
    color: #E6007E;
    margin-right: 5px;
}

#modalForNotif .notif-help {
    display: inline-block;
}

#modalForNotif .notif-help i.fa-question-circle {
    float: left;
    display: inline-block;
    margin: 0px 10px -40px;
}

#modalForNotif .save-error {
    background-color: #E6007E;
}


#modalForNotif .save-success {
    background-color: darkgreen;
}


#modalForNotif .notif-help > div {
    float: left;
    padding: 0px 30px 0px 60px;
    font-size: 16px;
    color:#808080;
}

/* ==== POPUP DE COPIE DE NOTIFICATION ==== */

.notif-copy-dialog {
    min-width: 0;
    min-height: 0;
    width: 440px;
    max-width: 90vw;
}

.notif-copy-dialog .notif-copy-choice {
    margin: 0 20px;
}

.notif-copy-dialog md-dialog-content {
    padding: 20px 24px 8px;
}

.notif-copy-dialog .notif-copy-source {
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eee;
    color: #666;
    font-size: 14px;
}

.notif-copy-dialog .notif-copy-source strong {
    color: #333;
}

.notif-copy-dialog .notif-copy-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 80px;
}

.notif-copy-dialog .notif-copy-options .md-button {
    margin: 0;
    min-height: 46px;
    border-radius: 6px;
    text-transform: none;
    font-size: 15px;
}

.notif-copy-dialog md-dialog-actions {
    border-top: 1px solid #eee;
    padding: 6px 16px;
}

.notif-copy-dialog .notif-copy-search {
    width: 100%;
    margin-bottom: 4px;
}

/* Liste : 5 éléments visibles (~44px chacun) puis scroll */
.notif-copy-dialog .notif-copy-list {
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.notif-copy-dialog .notif-copy-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    height: 44px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
}

.notif-copy-dialog .notif-copy-list-item:last-child {
    border-bottom: none;
}

.notif-copy-dialog .notif-copy-list-item:hover {
    background-color: #f5f5f5;
}

.notif-copy-dialog .notif-copy-list-item.selected {
    background-color: #e8f4fb;
}

.notif-copy-dialog .notif-copy-list-item:focus {
    outline: 2px solid #2196f3;
    outline-offset: -2px;
}

.notif-copy-dialog .notif-copy-list-empty,
.notif-copy-dialog .notif-copy-empty {
    padding: 12px;
    color: #808080;
    font-style: italic;
}

.notif-copy-dialog .notif-copy-error {
    margin-top: 10px;
    color: #d80000;
}

.notif-copy-dialog .notif-copy-duplicate-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    background-color: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 4px;
    color: #8a6d00;
}
