/* _content/TransactionAtlas.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-3zw7lz1k84] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-3zw7lz1k84] {
    flex: 1;
}

.sidebar[b-3zw7lz1k84] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-3zw7lz1k84] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-3zw7lz1k84]  a, .top-row[b-3zw7lz1k84]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-3zw7lz1k84]  a:hover, .top-row[b-3zw7lz1k84]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-3zw7lz1k84]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-3zw7lz1k84] {
        justify-content: space-between;
    }

    .top-row[b-3zw7lz1k84]  a, .top-row[b-3zw7lz1k84]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-3zw7lz1k84] {
        flex-direction: row;
    }

    .sidebar[b-3zw7lz1k84] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-3zw7lz1k84] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-3zw7lz1k84]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-3zw7lz1k84], article[b-3zw7lz1k84] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* ===== VÉRIFICATION AUTH ===== */
.auth-checking[b-3zw7lz1k84] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    gap: 1rem;
    color: #3949AB;
    font-size: 0.95rem;
    background: #F5F7FF;
}

.auth-spinner[b-3zw7lz1k84] {
    width: 36px;
    height: 36px;
    border: 4px solid #C5CAE9;
    border-top-color: #1A237E;
    border-radius: 50%;
    animation: authSpin-b-3zw7lz1k84 0.8s linear infinite;
}

@keyframes authSpin-b-3zw7lz1k84 {
    to { transform: rotate(360deg); }
}

/* ===== BARRE UTILISATEUR ===== */
.user-bar[b-3zw7lz1k84] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
    font-size: 0.88rem;
}

.user-avatar[b-3zw7lz1k84] {
    font-size: 1.1rem;
}

.user-nom[b-3zw7lz1k84] {
    font-weight: 700;
    color: #1A237E;
}

.user-id[b-3zw7lz1k84] {
    color: #90A4AE;
    font-size: 0.78rem;
}

.btn-logout[b-3zw7lz1k84] {
    margin-left: 0.8rem;
    background: #FFEBEE;
    color: #C62828;
    border: 1px solid #EF9A9A;
    border-radius: 8px;
    padding: 0.3rem 0.8rem;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-logout:hover[b-3zw7lz1k84] {
    background: #FFCDD2;
}

#blazor-error-ui[b-3zw7lz1k84] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-3zw7lz1k84] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/TransactionAtlas.Web/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-y44hkwknau] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-y44hkwknau] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-y44hkwknau] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-y44hkwknau] {
    font-size: 1.1rem;
}

.bi[b-y44hkwknau] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.nav-icon[b-y44hkwknau] {
    display: inline-block;
    margin-right: 0.6rem;
    font-size: 1rem;
}

/* Accordion toggle */
.nav-accordion-toggle[b-y44hkwknau] {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
    color: #d7d7d7 !important;
    height: 3rem;
    line-height: 3rem;
    border-radius: 4px;
    transition: background 0.15s;
}

.nav-accordion-toggle:hover[b-y44hkwknau] {
    background-color: rgba(255,255,255,0.1);
    color: white !important;
}

.nav-accordion-arrow[b-y44hkwknau] {
    font-size: 0.85rem;
    color: #CE93D8;
    margin-right: 0.3rem;
    transition: transform 0.2s;
}

.nav-sub-item[b-y44hkwknau] {
    padding-bottom: 0.1rem !important;
}

.nav-sub-item[b-y44hkwknau]  .nav-link {
    padding-left: 2.4rem !important;
    height: 2.5rem !important;
    line-height: 2.5rem !important;
    font-size: 0.84rem !important;
    color: #b0b8d0 !important;
    border-left: 2px solid rgba(255,255,255,0.15);
    margin-left: 1rem;
}

.nav-sub-item[b-y44hkwknau]  a.active {
    color: white !important;
    background-color: rgba(255,255,255,0.25) !important;
    border-left-color: white !important;
}

.nav-sub-item[b-y44hkwknau]  .nav-link:hover {
    color: white !important;
    background-color: rgba(255,255,255,0.12) !important;
}

.bi-house-door-fill-nav-menu[b-y44hkwknau] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-y44hkwknau] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-y44hkwknau] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-y44hkwknau] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-y44hkwknau] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-y44hkwknau] {
        padding-bottom: 1rem;
    }

    .nav-item[b-y44hkwknau]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-y44hkwknau]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-y44hkwknau]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-y44hkwknau] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-y44hkwknau] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-y44hkwknau] {
        display: none;
    }

    .nav-scrollable[b-y44hkwknau] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* ===== SÉPARATEUR SOUS-MENU ===== */
.nav-sub-separator[b-y44hkwknau] {
    padding-top: 6px !important;
    padding-bottom: 2px !important;
}
.nav-sub-label[b-y44hkwknau] {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: rgba(255,255,255,.45);
    padding-left: 4px;
}
/* _content/TransactionAtlas.Web/Components/Pages/Anniversaire.razor.rz.scp.css */
/* ===== HEADER ===== */
.ann-header[b-58yo6b20yd] {
    background: linear-gradient(135deg, #E65100, #F57C00);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(230,81,0,0.35);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.ann-header h1[b-58yo6b20yd] { margin: 0; font-size: 1.3rem; font-weight: 700; }
.ann-header span[b-58yo6b20yd] { font-size: 0.82rem; color: #FFE0B2; }

.btn-ann-logs[b-58yo6b20yd] {
    background: rgba(255,255,255,0.2);
    color: white;
    border: 1px solid rgba(255,255,255,0.4);
    padding: 0.4rem 1rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
}
.btn-ann-logs:hover[b-58yo6b20yd] { background: rgba(255,255,255,0.3); }

/* ===== SEARCH ===== */
.ann-search-bar[b-58yo6b20yd] {
    display: flex;
    align-items: center;
    background: white;
    border-radius: 10px;
    padding: 0.5rem 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 1rem;
    gap: 0.5rem;
}
.ann-search-icon[b-58yo6b20yd] { font-size: 1.1rem; }
.ann-search-input[b-58yo6b20yd] { flex: 1; border: none; outline: none; font-size: 0.9rem; color: #333; }
.ann-search-clear[b-58yo6b20yd] { background: none; border: none; font-size: 1rem; cursor: pointer; color: #999; }

/* ===== LOADING / ALERTS ===== */
.ann-loading[b-58yo6b20yd] { display: flex; align-items: center; gap: 0.7rem; padding: 1.5rem; color: #E65100; }
.ann-spinner[b-58yo6b20yd] { width: 22px; height: 22px; border: 3px solid #FFE0B2; border-top-color: #E65100; border-radius: 50%; animation: annSpin-b-58yo6b20yd 0.8s linear infinite; }
@keyframes annSpin-b-58yo6b20yd { to { transform: rotate(360deg); } }
.ann-alert[b-58yo6b20yd] { background: #FFEBEE; color: #C62828; padding: 0.7rem 1rem; border-radius: 8px; margin-bottom: 1rem; font-size: 0.85rem; }
.ann-success[b-58yo6b20yd] { background: #E8F5E9; color: #2E7D32; padding: 0.7rem 1rem; border-radius: 8px; margin-bottom: 1rem; font-size: 0.85rem; }
.ann-empty-card[b-58yo6b20yd] { text-align: center; color: #999; padding: 2rem; background: white; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }

/* ===== ACTIVITY LOG ===== */
.ann-logs-card[b-58yo6b20yd] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    padding: 1rem;
    margin-bottom: 1rem;
}
.ann-logs-title[b-58yo6b20yd] { margin: 0 0 0.6rem; font-size: 0.95rem; color: #E65100; }
.ann-logs-empty[b-58yo6b20yd] { color: #999; font-size: 0.85rem; }
.ann-logs-scroll[b-58yo6b20yd] { overflow-x: auto; }
.ann-logs-table[b-58yo6b20yd] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.ann-logs-table th[b-58yo6b20yd] { background: #FFF3E0; color: #E65100; padding: 0.4rem 0.6rem; font-weight: 700; white-space: nowrap; }
.ann-logs-table td[b-58yo6b20yd] { padding: 0.35rem 0.6rem; border-bottom: 1px solid #f5f5f5; white-space: nowrap; }
.ann-log-badge[b-58yo6b20yd] { padding: 2px 6px; border-radius: 4px; font-weight: 700; font-size: 0.7rem; }
.ann-log-del[b-58yo6b20yd] { background: #FFEBEE; color: #C62828; }
.ann-log-upd[b-58yo6b20yd] { background: #E8F5E9; color: #2E7D32; }
.ann-log-user[b-58yo6b20yd] { font-weight: 600; color: #555; }

/* ===== CARDS DESKTOP ===== */
.ann-card[b-58yo6b20yd] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    margin-bottom: 0.8rem;
    overflow: hidden;
}
.ann-card-header[b-58yo6b20yd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.7rem 1rem;
    cursor: pointer;
    transition: background 0.15s;
    flex-wrap: wrap;
    gap: 0.3rem;
}
.ann-card-header:hover[b-58yo6b20yd] { background: #FFF8E1; }
.ann-card-left[b-58yo6b20yd] { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.ann-card-right[b-58yo6b20yd] { display: flex; align-items: center; gap: 1rem; }
.ann-card-arrow[b-58yo6b20yd] { color: #E65100; font-size: 0.85rem; }
.ann-card-num[b-58yo6b20yd] { font-weight: 700; color: #E65100; font-size: 0.85rem; }
.ann-card-client[b-58yo6b20yd] { font-weight: 600; color: #333; }
.ann-card-tel[b-58yo6b20yd] { color: #888; font-size: 0.8rem; }
.ann-card-date[b-58yo6b20yd] { color: #555; font-size: 0.82rem; }
.ann-card-prix[b-58yo6b20yd] { font-weight: 700; color: #2E7D32; font-size: 0.9rem; }

.ann-card-body[b-58yo6b20yd] {
    padding: 0.8rem 1rem 1rem;
    border-top: 1px solid #FFF3E0;
    background: #FFFDF7;
}

.ann-info-grid[b-58yo6b20yd] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.5rem 1rem;
    margin-bottom: 0.8rem;
}
.ann-info[b-58yo6b20yd] { display: flex; flex-direction: column; }
.ann-info-label[b-58yo6b20yd] { font-size: 0.7rem; color: #999; font-weight: 600; text-transform: uppercase; }
.ann-info span:last-child[b-58yo6b20yd] { font-size: 0.85rem; font-weight: 600; color: #333; }
.ann-val-total[b-58yo6b20yd] { color: #E65100 !important; }
.ann-val-avance[b-58yo6b20yd] { color: #2E7D32 !important; }
.ann-val-reste[b-58yo6b20yd] { color: #C62828 !important; font-weight: 700 !important; }
.ann-val-ok[b-58yo6b20yd] { color: #2E7D32 !important; }
.ann-desc[b-58yo6b20yd] { background: #FFF3E0; padding: 0.5rem 0.8rem; border-radius: 6px; font-size: 0.82rem; color: #555; margin-bottom: 0.8rem; }

/* ===== DETAIL TABLE ===== */
.ann-detail-title[b-58yo6b20yd] { font-size: 0.85rem; color: #E65100; margin: 0.5rem 0 0.3rem; }
.ann-detail-table[b-58yo6b20yd] { width: 100%; border-collapse: collapse; font-size: 0.8rem; margin-bottom: 0.8rem; }
.ann-detail-table th[b-58yo6b20yd] { background: #FFF3E0; color: #E65100; padding: 0.35rem 0.5rem; font-weight: 700; font-size: 0.75rem; }
.ann-detail-table td[b-58yo6b20yd] { padding: 0.3rem 0.5rem; border-bottom: 1px solid #f5f5f5; }
.text-right[b-58yo6b20yd] { text-align: right; }

/* ===== ACTIONS ===== */
.ann-card-actions[b-58yo6b20yd] { display: flex; gap: 0.5rem; justify-content: flex-end; padding-top: 0.5rem; border-top: 1px solid #f0f0f0; }
.btn-ann-edit[b-58yo6b20yd] {
    background: #E65100; color: white; border: none; padding: 0.4rem 1rem;
    border-radius: 6px; font-weight: 600; font-size: 0.8rem; cursor: pointer;
}
.btn-ann-edit:hover[b-58yo6b20yd] { background: #F57C00; }
.btn-ann-del[b-58yo6b20yd] {
    background: #FFEBEE; color: #C62828; border: 1px solid #FFCDD2; padding: 0.4rem 1rem;
    border-radius: 6px; font-weight: 600; font-size: 0.8rem; cursor: pointer;
}
.btn-ann-del:hover[b-58yo6b20yd] { background: #FFCDD2; }

/* ===== POPUP ===== */
.ann-overlay[b-58yo6b20yd] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 1000; }
.ann-popup[b-58yo6b20yd] {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
    background: white; border-radius: 14px; box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    z-index: 1001; width: 92%; max-width: 520px; max-height: 90vh; overflow-y: auto;
}
.ann-popup-header[b-58yo6b20yd] { padding: 0.9rem 1.2rem; font-weight: 700; font-size: 1rem; color: white; }
.ann-popup-edit[b-58yo6b20yd] { background: linear-gradient(135deg, #E65100, #F57C00); }
.ann-popup-del[b-58yo6b20yd] { background: linear-gradient(135deg, #B71C1C, #D32F2F); }
.ann-popup-body[b-58yo6b20yd] { padding: 0.8rem 1.2rem; }
.ann-popup-body label[b-58yo6b20yd] { display: block; font-weight: 600; font-size: 0.78rem; color: #555; margin-bottom: 0.2rem; margin-top: 0.4rem; }
.ann-popup-grid[b-58yo6b20yd] { display: grid; grid-template-columns: 1fr 1fr; gap: 0 0.8rem; }
.ann-input[b-58yo6b20yd] {
    width: 100%; border: 1.5px solid #FFE0B2; border-radius: 6px;
    padding: 0.4rem 0.6rem; font-size: 0.85rem; outline: none; box-sizing: border-box;
}
.ann-input:focus[b-58yo6b20yd] { border-color: #E65100; }
.ann-textarea[b-58yo6b20yd] { resize: vertical; }
.ann-popup-error[b-58yo6b20yd] { background: #FFEBEE; color: #C62828; padding: 0.4rem 0.7rem; border-radius: 6px; font-size: 0.8rem; margin-top: 0.5rem; }
.ann-del-warn[b-58yo6b20yd] { color: #C62828; font-size: 0.82rem; font-weight: 600; }
.ann-popup-footer[b-58yo6b20yd] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.8rem 1.2rem; border-top: 1px solid #f0f0f0; }
.btn-ann-save[b-58yo6b20yd] { background: #E65100; color: white; border: none; padding: 0.45rem 1.2rem; border-radius: 6px; font-weight: 700; cursor: pointer; }
.btn-ann-save:hover[b-58yo6b20yd] { background: #F57C00; }
.btn-ann-save:disabled[b-58yo6b20yd] { opacity: 0.5; }
.btn-ann-del-confirm[b-58yo6b20yd] { background: #C62828; color: white; border: none; padding: 0.45rem 1.2rem; border-radius: 6px; font-weight: 700; cursor: pointer; }
.btn-ann-del-confirm:hover[b-58yo6b20yd] { background: #D32F2F; }
.btn-ann-del-confirm:disabled[b-58yo6b20yd] { opacity: 0.5; }
.btn-ann-cancel[b-58yo6b20yd] { background: #f5f5f5; color: #555; border: none; padding: 0.45rem 1rem; border-radius: 6px; font-weight: 600; cursor: pointer; }
.btn-ann-cancel:hover[b-58yo6b20yd] { background: #e0e0e0; }

/* ===== MOBILE ===== */
.ann-mobile[b-58yo6b20yd] { display: none; }

.ann-mcard[b-58yo6b20yd] {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 0.7rem 0.8rem;
    margin-bottom: 0.6rem;
    cursor: pointer;
}
.ann-mcard-top[b-58yo6b20yd] { display: flex; justify-content: space-between; margin-bottom: 0.2rem; }
.ann-mcard-num[b-58yo6b20yd] { font-weight: 700; color: #E65100; font-size: 0.8rem; }
.ann-mcard-date[b-58yo6b20yd] { color: #888; font-size: 0.78rem; }
.ann-mcard-client[b-58yo6b20yd] { font-weight: 600; font-size: 0.85rem; color: #333; margin-bottom: 0.2rem; }
.ann-mcard-tel[b-58yo6b20yd] { color: #999; font-size: 0.78rem; margin-left: 0.3rem; }
.ann-mcard-row[b-58yo6b20yd] { display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; color: #666; }
.ann-mcard-prix[b-58yo6b20yd] { font-weight: 700; color: #2E7D32; }
.ann-mcard-body[b-58yo6b20yd] { margin-top: 0.5rem; padding-top: 0.5rem; border-top: 1px solid #FFF3E0; }
.ann-mcard-infos[b-58yo6b20yd] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.2rem 0.5rem; font-size: 0.78rem; color: #555; margin-bottom: 0.5rem; }
.ann-mcard-details-scroll[b-58yo6b20yd] { overflow-x: auto; margin-bottom: 0.5rem; }

@media (max-width: 768px) {
    .ann-desktop[b-58yo6b20yd] { display: none !important; }
    .ann-mobile[b-58yo6b20yd] { display: block !important; }

    .ann-header[b-58yo6b20yd] { flex-direction: column; align-items: flex-start; padding: 0.8rem 1rem; }
    .ann-header h1[b-58yo6b20yd] { font-size: 1.05rem; }
    .btn-ann-logs[b-58yo6b20yd] { width: 100%; text-align: center; margin-top: 0.3rem; }

    .ann-popup-grid[b-58yo6b20yd] { grid-template-columns: 1fr; }
    .ann-popup[b-58yo6b20yd] { width: 95%; max-width: none; }

    .ann-logs-table[b-58yo6b20yd] { font-size: 0.72rem; }
}

@media (max-width: 480px) {
    .ann-header[b-58yo6b20yd] { padding: 0.7rem 0.8rem; border-radius: 8px; }
    .ann-header h1[b-58yo6b20yd] { font-size: 0.92rem; }

    .ann-mcard[b-58yo6b20yd] { padding: 0.6rem; }
    .ann-mcard-client[b-58yo6b20yd] { font-size: 0.8rem; }
    .ann-mcard-infos[b-58yo6b20yd] { font-size: 0.72rem; }
    .ann-detail-table[b-58yo6b20yd] { font-size: 0.72rem; }
}
/* _content/TransactionAtlas.Web/Components/Pages/Catalogue.razor.rz.scp.css */
.cat-page[b-sgjb8oawuj] {
    padding: 0.65rem 0.75rem;
    max-width: 1300px;
    margin: 0 auto;
    font-family: system-ui, sans-serif;
}

/* ── Toolbar ── */
.cat-toolbar[b-sgjb8oawuj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.cat-toolbar-left[b-sgjb8oawuj] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.cat-icon[b-sgjb8oawuj] { font-size: 1rem; }

.cat-title[b-sgjb8oawuj] {
    font-size: 1rem;
    font-weight: 800;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.cat-count-badge[b-sgjb8oawuj] {
    font-size: 0.72rem;
    font-weight: 700;
    background: #e0e7ff;
    color: #3730a3;
    border: 1px solid #c7d2fe;
    border-radius: 20px;
    padding: 0.1rem 0.5rem;
    white-space: nowrap;
}

.cat-toolbar-right[b-sgjb8oawuj] {
    flex: 1;
    max-width: 480px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cat-search-wrap[b-sgjb8oawuj] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
}

/* ── Bouton Nouvel Article ── */
.cat-btn-add[b-sgjb8oawuj] {
    white-space: nowrap;
    border: none;
    border-radius: 8px;
    padding: 0.4rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: white;
    background: linear-gradient(90deg, #16a34a, #22c55e);
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
    box-shadow: 0 2px 6px rgba(34,197,94,0.35);
}
.cat-btn-add:hover[b-sgjb8oawuj] { opacity: 0.9; }
.cat-btn-add:active[b-sgjb8oawuj] { transform: scale(0.97); }

.cat-search-icon[b-sgjb8oawuj] {
    position: absolute;
    left: 0.5rem;
    font-size: 0.82rem;
    pointer-events: none;
}

.cat-search[b-sgjb8oawuj] {
    width: 100%;
    font-size: 0.82rem;
    padding: 0.28rem 0.5rem 0.28rem 1.8rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    outline: none;
    color: #334155;
    background: #f8fafc;
}

.cat-search:focus[b-sgjb8oawuj] {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px #e0e7ff;
}

/* ── Filter chips ── */
.cat-filter-row[b-sgjb8oawuj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.7rem;
}

.cat-filter-btn[b-sgjb8oawuj] {
    font-size: 0.76rem;
    font-weight: 700;
    padding: 0.24rem 0.7rem;
    border-radius: 20px;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.cat-filter-btn:hover[b-sgjb8oawuj] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.cat-filter-btn.active[b-sgjb8oawuj] {
    background: #6366f1;
    color: #fff;
    border-color: #6366f1;
}

.cat-filter-inactif.active[b-sgjb8oawuj] {
    background: #64748b;
    color: #fff;
    border-color: #64748b;
}

/* ── States ── */
.cat-spin[b-sgjb8oawuj]  { display: flex; justify-content: center; padding: 2.5rem 0; }
.cat-empty[b-sgjb8oawuj] { text-align: center; color: #94a3b8; font-size: 0.88rem; padding: 2rem 0; }

/* ── Card grid ── */
.cat-grid[b-sgjb8oawuj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.7rem;
}

/* ── Individual card ── */
.cat-card[b-sgjb8oawuj] {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 6px rgba(0,0,0,0.07);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.15s, transform 0.15s;
}

.cat-card:hover[b-sgjb8oawuj] {
    box-shadow: 0 4px 18px rgba(0,0,0,0.13);
    transform: translateY(-2px);
}

.cat-card-inactive[b-sgjb8oawuj] {
    opacity: 0.52;
}

/* ── Card image area ── */
.cat-card-img-wrap[b-sgjb8oawuj] {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f1f5f9;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cat-card-img[b-sgjb8oawuj] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cat-card-no-img[b-sgjb8oawuj] {
    font-size: 2.5rem;
    color: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* ── Badges overlaid on image ── */
.cat-cat-badge[b-sgjb8oawuj] {
    position: absolute;
    top: 0.38rem;
    left: 0.38rem;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.14rem 0.42rem;
    border-radius: 20px;
}

.cat-cat-resto[b-sgjb8oawuj]    { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.cat-cat-boutique[b-sgjb8oawuj] { background: #faf5ff; color: #7e22ce; border: 1px solid #e9d5ff; }

.cat-inactive-badge[b-sgjb8oawuj] {
    position: absolute;
    top: 0.38rem;
    right: 0.38rem;
    font-size: 0.6rem;
    font-weight: 700;
    background: rgba(0,0,0,0.55);
    color: #fff;
    padding: 0.12rem 0.38rem;
    border-radius: 20px;
}

/* ── Card body ── */
.cat-card-body[b-sgjb8oawuj] {
    padding: 0.45rem 0.5rem 0.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.cat-card-topline[b-sgjb8oawuj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
}

.cat-card-name[b-sgjb8oawuj] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cat-card-chevron[b-sgjb8oawuj] {
    color: #64748b;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    flex: 0 0 auto;
}

.cat-card-price[b-sgjb8oawuj] {
    font-size: 0.88rem;
    font-weight: 900;
    color: #059669;
    white-space: nowrap;
}

.cat-switch-row[b-sgjb8oawuj] {
    margin-top: 0.12rem;
    display: flex;
    justify-content: flex-end;
}

.cat-switch[b-sgjb8oawuj] {
    position: relative;
    width: 58px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    font-weight: 800;
    font-size: 0.68rem;
    letter-spacing: 0.03em;
    user-select: none;
    cursor: pointer;
    outline: none;
}

.cat-switch-label[b-sgjb8oawuj] {
    line-height: 1;
}

.cat-switch-thumb[b-sgjb8oawuj] {
    position: absolute;
    top: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.cat-switch-off[b-sgjb8oawuj] {
    background: #f3f4f6;
    color: #6b7280;
    justify-content: flex-end;
    padding-right: 10px;
}

.cat-switch-off .cat-switch-thumb[b-sgjb8oawuj] {
    left: 3px;
}

.cat-switch-on[b-sgjb8oawuj] {
    background: #22a65b;
    border-color: #1f9250;
    color: #fff;
    justify-content: flex-start;
    padding-left: 10px;
}

.cat-switch-on .cat-switch-thumb[b-sgjb8oawuj] {
    right: 3px;
}

.cat-switch:disabled[b-sgjb8oawuj],
.cat-switch-disabled[b-sgjb8oawuj] {
    cursor: not-allowed;
    opacity: 0.7;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .cat-grid[b-sgjb8oawuj] {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .cat-toolbar-right[b-sgjb8oawuj] { max-width: 100%; width: 100%; }
    .cat-toolbar[b-sgjb8oawuj] { margin-bottom: 0.55rem; }

    .cat-card[b-sgjb8oawuj] {
        flex-direction: row;
        align-items: center;
        padding: 0.45rem 0.5rem;
    }

    .cat-card:hover[b-sgjb8oawuj] {
        transform: none;
    }

    .cat-card-img-wrap[b-sgjb8oawuj] {
        width: 62px;
        height: 62px;
        aspect-ratio: auto;
        border-radius: 10px;
        flex: 0 0 62px;
    }

    .cat-card-no-img[b-sgjb8oawuj] {
        font-size: 1.25rem;
    }

    .cat-cat-badge[b-sgjb8oawuj],
    .cat-inactive-badge[b-sgjb8oawuj] {
        display: none;
    }

    .cat-card-body[b-sgjb8oawuj] {
        width: 100%;
        padding: 0 0 0 0.6rem;
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        column-gap: 0.45rem;
        row-gap: 0.15rem;
        align-items: center;
    }

    .cat-card-topline[b-sgjb8oawuj] {
        grid-column: 1 / 3;
        grid-row: 1;
        align-items: center;
    }

    .cat-card-name[b-sgjb8oawuj] {
        font-size: 0.95rem;
        -webkit-line-clamp: 1;
    }

    .cat-card-chevron[b-sgjb8oawuj] {
        font-size: 1.45rem;
    }

    .cat-card-price[b-sgjb8oawuj] {
        grid-column: 1 / 2;
        grid-row: 2;
        font-size: 0.95rem;
    }

    .cat-switch-row[b-sgjb8oawuj] {
        grid-column: 2 / 3;
        grid-row: 2;
        margin-top: 0;
        justify-content: flex-end;
    }
}

@media (max-width: 480px) {
    .cat-page[b-sgjb8oawuj] { padding: 0.45rem 0.45rem; }

    .cat-title[b-sgjb8oawuj] { font-size: 0.9rem; }

    .cat-card-name[b-sgjb8oawuj]  { font-size: 0.9rem; }
    .cat-card-price[b-sgjb8oawuj] { font-size: 0.86rem; }
    .cat-switch[b-sgjb8oawuj] {
        width: 52px;
        height: 24px;
        font-size: 0.64rem;
        padding: 0 7px;
    }
    .cat-switch-thumb[b-sgjb8oawuj] {
        width: 16px;
        height: 16px;
        top: 3px;
    }
}

/* ═══════════════ MODAL NOUVEL ARTICLE ═══════════════ */
.cat-modal-overlay[b-sgjb8oawuj] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.cat-modal[b-sgjb8oawuj] {
    background: white;
    border-radius: 16px;
    width: 100%;
    max-width: 560px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 60px rgba(0,0,0,0.35);
    overflow: hidden;
    animation: cat-modal-in-b-sgjb8oawuj 0.18s ease-out;
}
@keyframes cat-modal-in-b-sgjb8oawuj {
    from { transform: translateY(16px) scale(0.98); opacity: 0; }
    to   { transform: translateY(0) scale(1); opacity: 1; }
}

.cat-modal-header[b-sgjb8oawuj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    background: linear-gradient(90deg, #16a34a, #22c55e);
    color: white;
    font-size: 1rem;
    font-weight: 800;
}
.cat-modal-close[b-sgjb8oawuj] {
    background: rgba(255,255,255,0.2);
    border: none;
    color: white;
    width: 28px; height: 28px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 0.85rem;
    transition: background 0.15s;
}
.cat-modal-close:hover[b-sgjb8oawuj] { background: rgba(255,255,255,0.35); }

.cat-modal-body[b-sgjb8oawuj] {
    padding: 1.2rem;
    overflow-y: auto;
}

.cat-modal-alert[b-sgjb8oawuj] {
    padding: 0.6rem 0.85rem;
    border-radius: 8px;
    font-size: 0.82rem;
    margin-bottom: 1rem;
}
.cat-modal-alert-err[b-sgjb8oawuj] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.cat-form-grid[b-sgjb8oawuj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem 1rem;
}
.cat-form-field[b-sgjb8oawuj] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}
.cat-form-full[b-sgjb8oawuj] { grid-column: 1 / -1; }

.cat-form-field label[b-sgjb8oawuj] {
    font-size: 0.76rem;
    font-weight: 700;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.cat-auto-tag[b-sgjb8oawuj] {
    font-size: 0.62rem;
    font-weight: 700;
    background: #e0e7ff;
    color: #4338ca;
    padding: 1px 6px;
    border-radius: 6px;
    text-transform: uppercase;
}

.cat-form-input[b-sgjb8oawuj] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    font-size: 0.85rem;
    color: #1e293b;
    background: white;
    outline: none;
    transition: border 0.15s, box-shadow 0.15s;
}
.cat-form-input:focus[b-sgjb8oawuj] {
    border-color: #22c55e;
    box-shadow: 0 0 0 2px #dcfce7;
}
.cat-form-readonly[b-sgjb8oawuj] {
    background: #f1f5f9;
    color: #64748b;
    font-weight: 700;
}

/* Zone image */
.cat-img-zone[b-sgjb8oawuj] {
    display: flex;
    gap: 1rem;
    align-items: center;
}
.cat-img-preview[b-sgjb8oawuj] {
    width: 90px; height: 90px;
    flex-shrink: 0;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #f8fafc;
}
.cat-img-preview img[b-sgjb8oawuj] {
    width: 100%; height: 100%;
    object-fit: cover;
}
.cat-img-placeholder[b-sgjb8oawuj] { font-size: 2rem; opacity: 0.4; }

.cat-img-controls[b-sgjb8oawuj] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    align-items: flex-start;
}
.cat-btn-browse[b-sgjb8oawuj] {
    background: #4f46e5;
    color: white;
    padding: 0.4rem 0.85rem;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s;
}
.cat-btn-browse:hover[b-sgjb8oawuj] { opacity: 0.9; }
.cat-img-name[b-sgjb8oawuj] {
    font-size: 0.76rem;
    color: #334155;
    word-break: break-all;
    max-width: 220px;
}
.cat-img-hint[b-sgjb8oawuj] { font-size: 0.76rem; color: #94a3b8; }
.cat-img-clear[b-sgjb8oawuj] {
    background: none;
    border: none;
    color: #dc2626;
    font-size: 0.74rem;
    cursor: pointer;
    padding: 0;
    font-weight: 600;
}

.cat-fixed-note[b-sgjb8oawuj] {
    margin-top: 1rem;
    padding: 0.6rem 0.85rem;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    font-size: 0.76rem;
    color: #0369a1;
    line-height: 1.5;
}

.cat-modal-footer[b-sgjb8oawuj] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}
.cat-btn-cancel[b-sgjb8oawuj], .cat-btn-save[b-sgjb8oawuj] {
    border: none;
    border-radius: 8px;
    padding: 0.5rem 1.1rem;
    font-size: 0.84rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s;
}
.cat-btn-cancel[b-sgjb8oawuj] {
    background: #e2e8f0;
    color: #475569;
}
.cat-btn-cancel:hover[b-sgjb8oawuj] { background: #cbd5e1; }
.cat-btn-save[b-sgjb8oawuj] {
    background: linear-gradient(90deg, #16a34a, #22c55e);
    color: white;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.cat-btn-save:hover[b-sgjb8oawuj] { opacity: 0.9; }
.cat-btn-save:disabled[b-sgjb8oawuj], .cat-btn-cancel:disabled[b-sgjb8oawuj] {
    opacity: 0.5;
    cursor: not-allowed;
}

@media (max-width: 560px) {
    .cat-form-grid[b-sgjb8oawuj] { grid-template-columns: 1fr; }
    .cat-toolbar-right[b-sgjb8oawuj] { flex-wrap: wrap; }
}

/* ═══════════════ BOUTON EDIT + FAMILLE SUR CARTE ═══════════════ */
.cat-card-edit[b-sgjb8oawuj] {
    flex: 0 0 auto;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-radius: 7px;
    width: 26px; height: 26px;
    font-size: 0.78rem;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    padding: 0;
}
.cat-card-edit:hover[b-sgjb8oawuj] { background: #c7d2fe; }
.cat-card-edit:active[b-sgjb8oawuj] { transform: scale(0.92); }

.cat-card-famille[b-sgjb8oawuj] {
    font-size: 0.68rem;
    font-weight: 600;
    color: #7c3aed;
    background: #faf5ff;
    border: 1px solid #e9d5ff;
    border-radius: 6px;
    padding: 0.08rem 0.4rem;
    align-self: flex-start;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* ═══════════════ MODAL EDIT (variante) ═══════════════ */
.cat-modal-sm[b-sgjb8oawuj] { max-width: 420px; }

.cat-modal-header-edit[b-sgjb8oawuj] {
    background: linear-gradient(90deg, #4f46e5, #6366f1) !important;
}

.cat-edit-head[b-sgjb8oawuj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid #e2e8f0;
}
.cat-edit-code[b-sgjb8oawuj] {
    font-family: monospace;
    font-size: 0.78rem;
    font-weight: 800;
    color: #4338ca;
    background: #e0e7ff;
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    white-space: nowrap;
}
.cat-edit-name[b-sgjb8oawuj] {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cat-field-hint[b-sgjb8oawuj] {
    font-size: 0.7rem;
    color: #94a3b8;
    margin-top: 2px;
}
/* _content/TransactionAtlas.Web/Components/Pages/ClientPwd.razor.rz.scp.css */
/* ===== HEADER ===== */
.cpw-header[b-smf74gmg9b] {
    background: linear-gradient(120deg, #b45309 0%, #d97706 55%, #f59e0b 100%);
    color: white;
    padding: 1.25rem 1.5rem;
    border-radius: 18px;
    margin-bottom: 1rem;
    box-shadow: 0 12px 30px rgba(217,119,6,.3);
    display: flex; align-items: center; gap: 12px;
}
.cpw-header-left[b-smf74gmg9b] { display: flex; align-items: center; gap: 14px; }
.cpw-header-icon[b-smf74gmg9b] { font-size: 2rem; }
.cpw-header h1[b-smf74gmg9b] { font-size: 1.3rem; font-weight: 800; margin: 0; }
.cpw-header span[b-smf74gmg9b] { font-size: .82rem; opacity: .92; }

/* ===== RECHERCHE ===== */
.cpw-search[b-smf74gmg9b] {
    display: flex; align-items: center; gap: 8px;
    background: white; border: 2px solid #fde68a; border-radius: 12px;
    padding: .55rem .9rem; margin-bottom: 1rem;
    box-shadow: 0 6px 18px rgba(217,119,6,.08);
}
.cpw-search:focus-within[b-smf74gmg9b] { border-color: #f59e0b; }
.cpw-search-ico[b-smf74gmg9b] { font-size: 1.1rem; }
.cpw-input[b-smf74gmg9b] {
    flex: 1; border: none; outline: none; font-size: 1.15rem;
    letter-spacing: .15em; font-weight: 700; color: #92400e;
    font-family: ui-monospace, monospace; background: transparent;
}
.cpw-input[b-smf74gmg9b]::placeholder { color: #d1a45f; font-weight: 500; letter-spacing: normal; font-size: .9rem; }
.cpw-clear[b-smf74gmg9b] {
    border: none; background: #fef3c7; color: #92400e; border-radius: 8px;
    width: 28px; height: 28px; cursor: pointer; font-weight: 700;
}

/* ===== ÉTATS ===== */
.cpw-state[b-smf74gmg9b] { padding: 1.4rem 1rem; border-radius: 12px; font-size: .9rem; text-align: center; }
.cpw-hint[b-smf74gmg9b]  { color: #94a3b8; background: #fafafa; border: 1px dashed #e2e8f0; }
.cpw-empty[b-smf74gmg9b] { color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; }
.cpw-loading[b-smf74gmg9b] { display: flex; align-items: center; justify-content: center; gap: 10px; color: #92400e; }
.cpw-spinner[b-smf74gmg9b] {
    width: 20px; height: 20px; border: 3px solid #fde68a; border-top-color: #d97706;
    border-radius: 50%; animation: cpw-spin-b-smf74gmg9b .7s linear infinite;
}
@keyframes cpw-spin-b-smf74gmg9b { to { transform: rotate(360deg); } }

/* ===== CARTE RÉSULTAT ===== */
.cpw-card[b-smf74gmg9b] {
    background: white; border: 1px solid #fde68a; border-radius: 16px;
    overflow: hidden; box-shadow: 0 10px 30px rgba(217,119,6,.1);
}
.cpw-row[b-smf74gmg9b] {
    display: flex; align-items: center; justify-content: space-between;
    padding: .9rem 1.1rem; border-bottom: 1px solid #fef3c7; gap: 12px;
}
.cpw-row:last-child[b-smf74gmg9b] { border-bottom: none; }
.cpw-lbl[b-smf74gmg9b] { font-size: .82rem; color: #78716c; font-weight: 600; }
.cpw-val[b-smf74gmg9b] { font-size: 1rem; color: #1c1917; font-weight: 700; text-align: right; word-break: break-word; }
.cpw-mono[b-smf74gmg9b] { font-family: ui-monospace, monospace; }

.cpw-row-pw[b-smf74gmg9b] { background: #fffbeb; }
.cpw-pw-zone[b-smf74gmg9b] { display: flex; align-items: center; gap: 10px; }
.cpw-pw[b-smf74gmg9b] {
    font-size: 1.15rem; color: #b45309; letter-spacing: .1em;
    background: #fef3c7; padding: .2rem .7rem; border-radius: 8px;
}
.cpw-eye[b-smf74gmg9b] {
    border: none; background: #fde68a; border-radius: 8px;
    width: 34px; height: 34px; cursor: pointer; font-size: 1rem;
}
.cpw-eye:hover[b-smf74gmg9b] { background: #fcd34d; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .cpw-header[b-smf74gmg9b] { padding: 1rem; border-radius: 14px; }
    .cpw-header h1[b-smf74gmg9b] { font-size: 1.1rem; }
    .cpw-row[b-smf74gmg9b] { flex-direction: column; align-items: flex-start; gap: 4px; }
    .cpw-val[b-smf74gmg9b] { text-align: left; }
}
/* _content/TransactionAtlas.Web/Components/Pages/ClubVacance.razor.rz.scp.css */
/* ══ RESPONSIVE HELPERS ══
   Les règles display sont dans le bloc <style> du composant
   pour éviter les conflits avec la portée CSS Blazor         */
.cv-desktop-only[b-f9fpbw2zey] { display: block; }
.cv-mobile-only[b-f9fpbw2zey]  { display: none;  }

/* ══ HEADER ══ */
.cv-header[b-f9fpbw2zey] {
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px;
    background: linear-gradient(135deg, #0d47a1, #1976d2);
    color: white; padding: 16px 20px; border-radius: 14px; margin-bottom: 16px;
}
.cv-header h1[b-f9fpbw2zey]  { margin: 0; font-size: 1.3rem; }
.cv-header span[b-f9fpbw2zey]{ font-size: .82rem; opacity: .85; }
.cv-btn-add[b-f9fpbw2zey] {
    background: white; color: #1565c0; border: none; border-radius: 10px;
    padding: 9px 18px; font-weight: 700; cursor: pointer; font-size: .88rem; white-space: nowrap;
}
.cv-btn-add:hover[b-f9fpbw2zey] { background: #e3f2fd; }

/* ══ RECHERCHE ══ */
.cv-search-bar[b-f9fpbw2zey] {
    display: flex; align-items: center; gap: 10px;
    background: white; border: 1.5px solid #e0e0e0; border-radius: 12px;
    padding: 8px 14px; margin-bottom: 14px;
}
.cv-search-input[b-f9fpbw2zey] { flex: 1; border: none; outline: none; font-size: .9rem; min-width: 0; }
.cv-search-clear[b-f9fpbw2zey] { background: none; border: none; cursor: pointer; color: #aaa; font-size: .9rem; }

/* ══ MESSAGES ══ */
.cv-loading[b-f9fpbw2zey]  { display: flex; align-items: center; gap: 10px; padding: 20px; color: #666; }
.cv-spinner[b-f9fpbw2zey]  { width: 22px; height: 22px; border: 3px solid #e3f2fd; border-top-color: #1976d2; border-radius: 50%; animation: cv-spin-b-f9fpbw2zey 1s linear infinite; }
@keyframes cv-spin-b-f9fpbw2zey { to { transform: rotate(360deg); } }
.cv-alert[b-f9fpbw2zey]    { background: #ffebee; color: #c62828; padding: 12px 16px; border-radius: 10px; margin-bottom: 12px; }
.cv-success[b-f9fpbw2zey]  { background: #e8f5e9; color: #2e7d32; padding: 12px 16px; border-radius: 10px; margin-bottom: 12px; }
.cv-empty[b-f9fpbw2zey]    { text-align: center; color: #aaa; padding: 40px; font-size: 1rem; }
.cv-empty-sm[b-f9fpbw2zey] { color: #aaa; font-size: .88rem; text-align: center; padding: 10px 0; }

/* ══════════════════════════════════════════
   TABLEAU PC — ACCORDÉON PAR PARENT
══════════════════════════════════════════ */
.cv-table-wrap[b-f9fpbw2zey] { overflow-x: auto; background: white; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.07); }
.cv-table[b-f9fpbw2zey] { width: 100%; border-collapse: collapse; font-size: .85rem; }
.cv-table thead tr[b-f9fpbw2zey] { background: linear-gradient(90deg, #e3f2fd, #bbdefb); }
.cv-table th[b-f9fpbw2zey] { padding: 11px 12px; text-align: left; font-weight: 700; color: #0d47a1; white-space: nowrap; }

/* Ligne PARENT */
.cv-row-parent[b-f9fpbw2zey] {
    background: #f0f7ff; border-bottom: 2px solid #c8dff8;
    cursor: pointer; transition: background .15s;
}
.cv-row-parent:hover[b-f9fpbw2zey] { background: #ddeeff; }
.cv-row-parent.cv-row-paid[b-f9fpbw2zey] { background: #f1f8e9; border-bottom-color: #c5e1a5; }
.cv-row-parent.cv-row-paid:hover[b-f9fpbw2zey] { background: #e6f4e0; }
.cv-row-parent td[b-f9fpbw2zey] { padding: 10px 12px; vertical-align: middle; }

/* Ligne ENFANTS (sous-tableau) */
.cv-row-children td[b-f9fpbw2zey] { padding: 0 !important; background: #f9fbff; }
.cv-row-children[b-f9fpbw2zey] { border-bottom: 2px solid #c8dff8; }

/* Sous-tableau enfants */
.cv-child-table[b-f9fpbw2zey] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.cv-child-table thead tr[b-f9fpbw2zey] { background: linear-gradient(90deg, #e8f0fe, #dce8fd); }
.cv-child-table th[b-f9fpbw2zey] { padding: 7px 12px; font-weight: 600; color: #3949ab; white-space: nowrap; }
.cv-child-table tbody tr[b-f9fpbw2zey] { border-bottom: 1px solid #eef2fb; transition: background .12s; }
.cv-child-table tbody tr:hover[b-f9fpbw2zey] { background: #f5f8ff; }
.cv-child-table tbody tr.cv-child-paid[b-f9fpbw2zey] { background: #f9fff5; }
.cv-child-table td[b-f9fpbw2zey] { padding: 8px 12px; vertical-align: middle; }

/* Colonne # parent */
.cv-td-num[b-f9fpbw2zey] { font-weight: 700; color: #90a4ae; font-size: .82rem; width: 36px; text-align: center; }

/* Commun tableau */
.cv-td-name[b-f9fpbw2zey]    { font-weight: 600; color: #1a237e; }
.cv-montant[b-f9fpbw2zey]    { font-weight: 700; color: #1565c0; }
.cv-avance-cell[b-f9fpbw2zey]{ white-space: nowrap; }
.cv-avance-text[b-f9fpbw2zey]{ color: #f57c00; font-weight: 600; }
.cv-reste[b-f9fpbw2zey]      { font-weight: 700; color: #c62828; }
.cv-reste-zero[b-f9fpbw2zey] { font-weight: 700; color: #2e7d32; }
.cv-dates[b-f9fpbw2zey]      { font-size: .82rem; white-space: nowrap; }
.cv-obs[b-f9fpbw2zey]        { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #777; font-size: .8rem; }
.cv-user[b-f9fpbw2zey]       { color: #999; font-size: .78rem; }
.cv-actions[b-f9fpbw2zey]    { white-space: nowrap; }
.cv-no-remise[b-f9fpbw2zey]  { color: #ccc; font-size: .82rem; }
.cv-nom-parent[b-f9fpbw2zey] { color: #1565c0; font-size: .82rem; font-weight: 600; }

/* ══ BADGES ══ */
.cv-badge-duree[b-f9fpbw2zey] {
    background: #e3f2fd; color: #1565c0; border-radius: 20px;
    padding: 2px 9px; font-size: .78rem; font-weight: 700; white-space: nowrap;
}
.cv-badge-remise[b-f9fpbw2zey] {
    background: #fff3e0; color: #e65100; border-radius: 12px;
    padding: 2px 8px; font-size: .75rem; font-weight: 700;
}
.cv-badge-count[b-f9fpbw2zey] {
    background: #1976d2; color: white; border-radius: 20px;
    padding: 3px 10px; font-size: .78rem; font-weight: 700; white-space: nowrap;
    display: inline-block;
}

/* ══ BOUTONS TABLEAU ══ */
.cv-btn-edit[b-f9fpbw2zey], .cv-btn-del[b-f9fpbw2zey], .cv-btn-avance[b-f9fpbw2zey] {
    border: none; border-radius: 7px; padding: 5px 9px;
    cursor: pointer; font-size: .85rem; margin: 0 2px; transition: transform .15s;
}
.cv-btn-edit[b-f9fpbw2zey]   { background: #e3f2fd; color: #1976d2; }
.cv-btn-del[b-f9fpbw2zey]    { background: #ffebee; color: #c62828; }
.cv-btn-avance[b-f9fpbw2zey] { background: #fff3e0; color: #e65100; }
.cv-btn-edit:hover[b-f9fpbw2zey], .cv-btn-del:hover[b-f9fpbw2zey], .cv-btn-avance:hover[b-f9fpbw2zey] { transform: scale(1.1); }
.cv-btn-del-locked[b-f9fpbw2zey] {
    background: #f5f5f5 !important; color: #bbb !important;
    cursor: not-allowed !important; opacity: .7;
}

/* Bouton expand ▼▲ */
.cv-btn-expand[b-f9fpbw2zey] {
    background: #e8f0fe; color: #1565c0; border: none; border-radius: 7px;
    padding: 5px 9px; cursor: pointer; font-size: .82rem; font-weight: 700;
    margin: 0 2px; transition: background .15s;
}
.cv-btn-expand:hover[b-f9fpbw2zey] { background: #bbdefb; }

/* Bouton ➕ petit */
.cv-btn-add-sm[b-f9fpbw2zey] {
    background: #e8f5e9; color: #2e7d32; border: none; border-radius: 7px;
    padding: 5px 9px; cursor: pointer; font-size: .82rem; font-weight: 700;
    margin: 0 2px; white-space: nowrap; transition: background .15s;
}
.cv-btn-add-sm:hover[b-f9fpbw2zey] { background: #c8e6c9; }
.cv-btn-add-sm-full[b-f9fpbw2zey] { padding: 6px 14px; font-size: .8rem; }

/* ══════════════════════════════════════════
   CARTES MOBILE — ACCORDÉON PAR PARENT
══════════════════════════════════════════ */
.cv-cards[b-f9fpbw2zey] { display: flex; flex-direction: column; gap: 12px; }

/* Carte parent */
.cv-card-parent[b-f9fpbw2zey] {
    background: white; border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0,0,0,.08); border-left: 5px solid #1976d2;
    overflow: hidden;
}
.cv-card-parent.cv-card-paid[b-f9fpbw2zey] { border-left-color: #2e7d32; }

.cv-card-parent-header[b-f9fpbw2zey] {
    display: flex; justify-content: space-between; align-items: flex-start;
    padding: 14px 16px 8px; cursor: pointer; background: #f0f7ff;
    border-bottom: 1px solid #e3f2fd;
}
.cv-card-parent.cv-card-paid .cv-card-parent-header[b-f9fpbw2zey] { background: #f4fbf0; border-bottom-color: #dcedc8; }

.cv-card-parent-info[b-f9fpbw2zey] { flex: 1; }
.cv-card-parent-right[b-f9fpbw2zey] {
    display: flex; flex-direction: column; align-items: flex-end; gap: 6px; padding-left: 10px;
}
.cv-card-toggle[b-f9fpbw2zey] { font-size: .9rem; color: #1976d2; font-weight: 700; }

/* Reste visible dans l'en-tête de carte */
.cv-card-reste-badge[b-f9fpbw2zey] {
    font-size: .78rem; font-weight: 700; color: #c62828;
    background: #ffebee; border-radius: 8px; padding: 3px 8px;
    white-space: nowrap;
}
.cv-card-reste-zero[b-f9fpbw2zey] {
    font-size: .78rem; font-weight: 700; color: #2e7d32;
    background: #e8f5e9; border-radius: 8px; padding: 3px 8px;
    white-space: nowrap;
}

.cv-card-tel[b-f9fpbw2zey]      { font-size: .82rem; color: #555; margin-top: 2px; }
.cv-card-meta-row[b-f9fpbw2zey] { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.cv-card-meta-row small[b-f9fpbw2zey] { font-size: .74rem; color: #999; }

/* Finance totaux */
.cv-card-finance[b-f9fpbw2zey] {
    display: flex; gap: 8px; background: #f5f9ff; padding: 10px 16px;
}
.cv-card-parent.cv-card-paid .cv-card-finance[b-f9fpbw2zey] { background: #f9fff5; }
.cv-card-fin-item[b-f9fpbw2zey] { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.cv-card-fin-item small[b-f9fpbw2zey]  { font-size: .72rem; color: #999; text-transform: uppercase; }
.cv-card-fin-item strong[b-f9fpbw2zey] { font-size: .88rem; }

/* Bouton ajout enfant */
.cv-card-add-child-bar[b-f9fpbw2zey] { padding: 8px 16px; display: flex; justify-content: flex-end; }

/* Liste enfants dans la carte */
.cv-children-list[b-f9fpbw2zey] { border-top: 2px dashed #d0e4ff; }

.cv-child-item[b-f9fpbw2zey] {
    padding: 12px 16px; border-bottom: 1px solid #eef2fb;
    background: #fafcff;
}
.cv-child-item.cv-child-paid-item[b-f9fpbw2zey] { background: #fafff5; }
.cv-child-item:last-child[b-f9fpbw2zey] { border-bottom: none; }

.cv-child-item-top[b-f9fpbw2zey] {
    display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 5px;
}
.cv-card-name[b-f9fpbw2zey]  { font-weight: 700; font-size: 1rem; color: #1a237e; }
.cv-card-age[b-f9fpbw2zey]   { color: #888; font-size: .85rem; }
.cv-card-row[b-f9fpbw2zey]   { font-size: .85rem; color: #555; margin-bottom: 4px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.cv-card-obs[b-f9fpbw2zey]   { font-size: .82rem; color: #777; margin-bottom: 8px; }

.cv-card-actions[b-f9fpbw2zey] { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 4px; }
.cv-btn-avance-full[b-f9fpbw2zey] {
    flex: 1; border: none; border-radius: 8px; padding: 9px;
    background: #fff3e0; color: #e65100; font-weight: 700; cursor: pointer; font-size: .85rem;
}
.cv-card-actions .cv-btn-edit[b-f9fpbw2zey] { flex: 1; padding: 9px; font-size: .85rem; }
.cv-card-actions .cv-btn-del[b-f9fpbw2zey]  { padding: 9px 14px; font-size: .85rem; }

/* ══════════════════════════════════════════
   MODAL
══════════════════════════════════════════ */
.cv-modal-overlay[b-f9fpbw2zey] {
    position: fixed; inset: 0; background: rgba(0,0,0,.45);
    display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 10px;
}
.cv-modal[b-f9fpbw2zey] {
    background: white; border-radius: 18px;
    width: min(680px, 98vw); max-height: 92vh; overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,.25); display: flex; flex-direction: column;
}
.cv-modal-sm[b-f9fpbw2zey] { width: min(420px, 98vw); }
.cv-modal-md[b-f9fpbw2zey] { width: min(460px, 98vw); max-height: 70vh; }
.cv-modal-lg[b-f9fpbw2zey] { width: min(720px, 98vw); }

.cv-modal-header[b-f9fpbw2zey] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 22px 14px; border-bottom: 1px solid #eee;
    position: sticky; top: 0; background: white; z-index: 1;
}
.cv-modal-header h2[b-f9fpbw2zey] { margin: 0; font-size: 1.05rem; color: #1a237e; }
.cv-modal-close[b-f9fpbw2zey]     { background: none; border: none; font-size: 1.2rem; cursor: pointer; color: #aaa; }
.cv-modal-body[b-f9fpbw2zey]      { padding: 18px 22px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.cv-modal-footer[b-f9fpbw2zey]    {
    padding: 14px 22px; border-top: 1px solid #eee;
    display: flex; justify-content: flex-end; gap: 10px;
    position: sticky; bottom: 0; background: white;
}

/* ══ SECTION BOXES MODAL ══ */
.cv-section-box[b-f9fpbw2zey] { border: 1.5px solid #e8f0fe; border-radius: 12px; padding: 12px 14px; }
.cv-section-title[b-f9fpbw2zey] {
    font-size: .8rem; font-weight: 700; color: #1565c0; text-transform: uppercase;
    letter-spacing: .5px; margin-bottom: 10px;
    display: flex; justify-content: space-between; align-items: center;
}

/* ══ ENFANT CARD MODAL ══ */
.cv-child-card[b-f9fpbw2zey] {
    border: 1.5px solid #e3f2fd; border-radius: 10px; padding: 12px;
    margin-bottom: 10px; background: #fafcff;
}
.cv-child-card:last-child[b-f9fpbw2zey] { margin-bottom: 0; }
.cv-child-header[b-f9fpbw2zey] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.cv-child-num[b-f9fpbw2zey]    { font-weight: 700; font-size: .85rem; color: #1565c0; display: flex; align-items: center; gap: 6px; }
.cv-btn-add-child[b-f9fpbw2zey] {
    background: #e3f2fd; color: #1565c0; border: none; border-radius: 8px;
    padding: 4px 10px; font-size: .78rem; font-weight: 700; cursor: pointer;
}
.cv-btn-add-child:hover[b-f9fpbw2zey]    { background: #bbdefb; }
.cv-btn-remove-child[b-f9fpbw2zey] {
    background: #ffebee; color: #c62828; border: none; border-radius: 6px;
    width: 24px; height: 24px; font-size: .8rem; cursor: pointer; font-weight: 700;
}

/* ══ TOTAL BAR ══ */
.cv-total-bar[b-f9fpbw2zey] {
    display: flex; justify-content: space-between; align-items: center;
    background: #e8f5e9; border-radius: 10px; padding: 10px 16px;
    font-size: .92rem; color: #2e7d32;
}
.cv-total-bar strong[b-f9fpbw2zey] { font-size: 1rem; }

/* ══ DURÉE GRID ══ */
.cv-duree-grid[b-f9fpbw2zey]    { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.cv-duree-grid-sm[b-f9fpbw2zey] { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 500px) { .cv-duree-grid-sm[b-f9fpbw2zey] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .cv-duree-grid[b-f9fpbw2zey]    { grid-template-columns: repeat(3, 1fr); } }
.cv-duree-btn[b-f9fpbw2zey] {
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 9px 4px; border: 2px solid #e0e0e0; border-radius: 11px;
    background: white; cursor: pointer; transition: all .2s;
}
.cv-duree-btn.active[b-f9fpbw2zey] { border-color: #1976d2; background: #e3f2fd; }
.cv-duree-btn:hover[b-f9fpbw2zey]  { border-color: #90caf9; }
.cv-duree-label[b-f9fpbw2zey] { font-size: .73rem; font-weight: 700; color: #333; text-align: center; }
.cv-duree-prix[b-f9fpbw2zey]  { font-size: .82rem; font-weight: 800; color: #1976d2; }
.cv-duree-btn.active .cv-duree-prix[b-f9fpbw2zey] { color: #0d47a1; }

/* ══ FORMULAIRE ══ */
.cv-form-section[b-f9fpbw2zey]  { display: flex; flex-direction: column; gap: 8px; }
.cv-section-label[b-f9fpbw2zey] { font-size: .78rem; font-weight: 700; color: #555; text-transform: uppercase; letter-spacing: .5px; }
.cv-form-row[b-f9fpbw2zey]      { display: flex; gap: 12px; flex-wrap: wrap; }
.cv-form-group[b-f9fpbw2zey]    { display: flex; flex-direction: column; gap: 4px; min-width: 120px; }
.cv-flex1[b-f9fpbw2zey] { flex: 1; }
.cv-flex2[b-f9fpbw2zey] { flex: 2; }
.cv-form-group label[b-f9fpbw2zey] { font-size: .78rem; font-weight: 600; color: #666; }
.cv-input[b-f9fpbw2zey] {
    border: 1.5px solid #e0e0e0; border-radius: 10px;
    padding: 9px 12px; font-size: .92rem; outline: none; transition: border .2s; background: white;
}
.cv-input:focus[b-f9fpbw2zey]      { border-color: #1976d2; }
.cv-input-readonly[b-f9fpbw2zey]   { background: #f5f5f5; color: #888; }
.cv-textarea[b-f9fpbw2zey]         { resize: vertical; font-family: inherit; }

/* ══ NOM PARENT FEEDBACK ══ */
.cv-parent-verified[b-f9fpbw2zey] {
    display: flex; align-items: center; gap: 10px;
    background: #e8f5e9; border: 1.5px solid #a5d6a7;
    border-radius: 10px; padding: 10px 14px; margin-top: 8px;
}
.cv-parent-verified-icon[b-f9fpbw2zey] { font-size: 1.2rem; }
.cv-parent-verified-nom[b-f9fpbw2zey]  {
    font-size: 1rem; font-weight: 700; color: #1b5e20; letter-spacing: .3px;
}

.cv-parent-notfound-box[b-f9fpbw2zey] {
    display: flex; align-items: center; gap: 10px;
    background: #ffebee; border: 1.5px solid #ef9a9a;
    border-radius: 10px; padding: 10px 14px; margin-top: 8px;
    font-size: .88rem; color: #c62828; font-weight: 600;
}

.cv-parent-searching[b-f9fpbw2zey] {
    display: flex; align-items: center; gap: 8px;
    color: #999; font-size: .82rem; margin-top: 8px; padding: 4px 2px;
}
.cv-parent-dot[b-f9fpbw2zey] {
    width: 8px; height: 8px; border-radius: 50%;
    background: #1976d2; animation: cv-pulse-b-f9fpbw2zey 1s ease-in-out infinite;
    display: inline-block;
}
@keyframes cv-pulse-b-f9fpbw2zey {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: .4; transform: scale(.7); }
}

/* ══ AVANCES MODAL ══ */
.cv-avance-summary[b-f9fpbw2zey] {
    display: flex; gap: 6px; background: #f5f9ff; border-radius: 10px; padding: 8px 10px; margin-bottom: 4px;
}
.cv-avance-sum-item[b-f9fpbw2zey] { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; }
.cv-avance-sum-item small[b-f9fpbw2zey]  { font-size: .68rem; color: #999; text-transform: uppercase; }
.cv-avance-sum-item strong[b-f9fpbw2zey] { font-size: .85rem; }
.cv-avance-table[b-f9fpbw2zey] { width: 100%; border-collapse: collapse; font-size: .8rem; margin-bottom: 4px; }
.cv-avance-table th[b-f9fpbw2zey] { padding: 5px 8px; background: #f5f5f5; font-weight: 700; color: #555; text-align: left; }
.cv-avance-table td[b-f9fpbw2zey] { padding: 5px 8px; border-bottom: 1px solid #f0f0f0; }
.cv-avance-new[b-f9fpbw2zey]  { border-top: 1.5px dashed #e0e0e0; padding-top: 8px; }
.cv-paid-badge[b-f9fpbw2zey]  { background: #e8f5e9; color: #2e7d32; font-weight: 700; text-align: center; padding: 8px; border-radius: 8px; font-size: .88rem; }

/* ══ BOUTONS MODAL ══ */
.cv-btn-cancel[b-f9fpbw2zey], .cv-btn-save[b-f9fpbw2zey], .cv-btn-del-confirm[b-f9fpbw2zey] {
    border: none; border-radius: 10px; padding: 10px 22px;
    font-weight: 700; cursor: pointer; font-size: .88rem;
}
.cv-btn-cancel[b-f9fpbw2zey]       { background: #f5f5f5; color: #666; }
.cv-btn-save[b-f9fpbw2zey]         { background: linear-gradient(90deg, #1565c0, #1976d2); color: white; }
.cv-btn-del-confirm[b-f9fpbw2zey]  { background: linear-gradient(90deg, #c62828, #e53935); color: white; }
.cv-btn-save:disabled[b-f9fpbw2zey]{ opacity: .6; cursor: not-allowed; }
.cv-warn[b-f9fpbw2zey] { color: #e65100; font-size: .88rem; }

/* ══ RESPONSIVE MODAL ══ */
@media (max-width: 600px) {
    .cv-modal-body[b-f9fpbw2zey]  { padding: 14px 16px; }
    .cv-modal-footer[b-f9fpbw2zey]{ padding: 12px 16px; }
    .cv-modal-header[b-f9fpbw2zey]{ padding: 14px 16px; }
    .cv-avance-summary[b-f9fpbw2zey] { flex-wrap: wrap; }
}

/* Alerte solde insuffisant (avance) */
.cv-avance-error[b-f9fpbw2zey] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 0.6rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.4;
}

/* Indice "Lun–Ven" dans le formulaire */
.cv-week-hint[b-f9fpbw2zey] {
    font-size: .76rem; color: #1d4ed8; background: #eff6ff;
    border: 1px solid #dbeafe; border-radius: 8px; padding: 6px 10px;
}

/* ══════════════════════════════════════════════════════════
   ░░  MOBILE — DESIGN MODERNE (liste + détail parent)  ░░
══════════════════════════════════════════════════════════ */

/* ── Header mobile : Reste à encaisser ── */
.cv-mheader[b-f9fpbw2zey] {
    background: linear-gradient(135deg, #1565c0, #1e88e5);
    color: white; border-radius: 14px; padding: 14px 15px 13px;
    margin-bottom: 11px; box-shadow: 0 6px 18px rgba(21,101,192,.25);
}
.cv-mheader-left[b-f9fpbw2zey] { display: flex; flex-direction: column; gap: 1px; margin-bottom: 8px; }
.cv-mheader-lbl[b-f9fpbw2zey]    { font-size: .75rem; opacity: .9; }
.cv-mheader-amount[b-f9fpbw2zey] { font-size: 1.45rem; font-weight: 800; letter-spacing: .3px; }
.cv-mheader-stats[b-f9fpbw2zey] {
    display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap;
    background: rgba(255,255,255,.15); border-radius: 10px;
    padding: 6px 10px; margin-bottom: 11px; font-size: .78rem;
}
.cv-mheader-stats strong[b-f9fpbw2zey] { font-weight: 800; }
.cv-mheader-add[b-f9fpbw2zey] {
    width: 100%; background: rgba(255,255,255,.18); color: white;
    border: 1px solid rgba(255,255,255,.35); border-radius: 11px;
    padding: 10px; font-size: .9rem; font-weight: 700; cursor: pointer;
}
.cv-mheader-add:active[b-f9fpbw2zey] { background: rgba(255,255,255,.3); }

/* ── Onglets filtre ── */
.cv-tabs[b-f9fpbw2zey] {
    display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px;
    margin-bottom: 10px; -webkit-overflow-scrolling: touch;
}
.cv-tabs[b-f9fpbw2zey]::-webkit-scrollbar { display: none; }
.cv-tab[b-f9fpbw2zey] {
    flex: 0 0 auto; border: 1.5px solid #e3eaf3; background: white;
    color: #475569; border-radius: 10px; padding: 7px 12px;
    font-size: .78rem; font-weight: 700; cursor: pointer; white-space: nowrap;
    transition: all .15s;
}
.cv-tab.active[b-f9fpbw2zey] { background: #1976d2; color: white; border-color: #1976d2; }
.cv-tab-unpaid[b-f9fpbw2zey] { color: #c62828; }
.cv-tab-unpaid.active[b-f9fpbw2zey] { background: #c62828; border-color: #c62828; color: white; }

/* ── Liste cartes (compact) ── */
.cv-mlist[b-f9fpbw2zey] { display: flex; flex-direction: column; gap: 9px; }

/* Bouton retour (mode focus) */
.cv-mback[b-f9fpbw2zey] {
    align-self: flex-start; background: #eef4ff; color: #1565c0;
    border: 1px solid #d6e4fb; border-radius: 10px; padding: 7px 13px;
    font-size: .8rem; font-weight: 700; cursor: pointer; margin-bottom: 2px;
}
.cv-mback:active[b-f9fpbw2zey] { background: #e0ecfc; }

.cv-mcard[b-f9fpbw2zey] {
    background: white; border-radius: 13px; overflow: hidden;
    box-shadow: 0 2px 10px rgba(13,71,161,.08);
    border-left: 4px solid #1e88e5;
}
.cv-mcard.is-paid[b-f9fpbw2zey] { border-left-color: #2e7d32; }

/* En-tête (collapsed = image 1) : avatar | nom/tél | semaines | montant | chevron */
.cv-mcard-head[b-f9fpbw2zey] {
    display: grid;
    grid-template-columns: auto minmax(44px, 72px) 1fr auto auto;
    align-items: center; gap: 6px; padding: 8px; cursor: pointer;
}
.cv-mcard-ava[b-f9fpbw2zey] {
    width: 32px; height: 32px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; flex-shrink: 0;
}
.cv-mcard-ava.av-due[b-f9fpbw2zey]  { background: #e3f2fd; }
.cv-mcard-ava.av-paid[b-f9fpbw2zey] { background: #e8f5e9; }

.cv-mcard-id[b-f9fpbw2zey]   { min-width: 0; }
.cv-mcard-name[b-f9fpbw2zey] { font-size: .74rem; font-weight: 800; color: #15233e; line-height: 1.1; word-break: break-word; }
.cv-mcard-sub[b-f9fpbw2zey]  { font-size: .64rem; color: #64748b; margin-top: 2px; white-space: nowrap; }

/* Colonne du milieu (semaines) */
.cv-mcard-weeks-col[b-f9fpbw2zey] {
    min-width: 0; display: flex; flex-direction: column; gap: 3px; align-items: flex-start;
    padding-left: 8px; border-left: 1px solid #eef1f6;
}
.cv-mcard-weeks[b-f9fpbw2zey] {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 1px;
}
.cv-mcard-weeks li[b-f9fpbw2zey] {
    font-size: .66rem; color: #334155; position: relative; padding-left: 9px; line-height: 1.35;
    white-space: nowrap;
}
.cv-mcard-weeks li[b-f9fpbw2zey]::before {
    content: "•"; color: #94a3b8; position: absolute; left: 2px;
}
.cv-wk-lbl[b-f9fpbw2zey] { color: #475569; font-weight: 600; }
.cv-wk-rng[b-f9fpbw2zey] { color: #1565c0; font-weight: 700; }

.cv-mcard-right[b-f9fpbw2zey] {
    display: flex; flex-direction: column; align-items: flex-end; gap: 3px;
    padding-left: 8px; margin-left: 2px; border-left: 1px solid #eef1f6;
}
.cv-mcard-amount[b-f9fpbw2zey] { font-size: .74rem; font-weight: 800; white-space: nowrap; }
.cv-mcard-amount.amt-due[b-f9fpbw2zey]  { color: #d32f2f; }
.cv-mcard-amount.amt-paid[b-f9fpbw2zey] { color: #2e7d32; }
/* Statut compact */
.cv-mcard-status[b-f9fpbw2zey] {
    font-size: .53rem; font-weight: 700; border-radius: 6px; padding: 1px 5px;
    white-space: nowrap; line-height: 1.3;
}
.cv-mcard-status.st-due[b-f9fpbw2zey]  { background: #fdecea; color: #c62828; }
.cv-mcard-status.st-paid[b-f9fpbw2zey] { background: #e8f5e9; color: #2e7d32; }
.cv-mcard-chev[b-f9fpbw2zey] { color: #90a4ae; font-size: .78rem; font-weight: 700; }

/* Chips */
.cv-chip-duree[b-f9fpbw2zey] {
    background: #e3f2fd; color: #1565c0; border-radius: 20px;
    padding: 1px 8px; font-size: .68rem; font-weight: 700; white-space: nowrap;
}
.cv-chip-count[b-f9fpbw2zey] {
    background: #ede7f6; color: #5e35b1; border-radius: 20px;
    padding: 1px 8px; font-size: .68rem; font-weight: 700; white-space: nowrap;
}

/* Notes / observations */
.cv-mcard-notes[b-f9fpbw2zey] {
    background: transparent;
    padding: 0 11px 7px 84px;   /* décalé à droite, aligné sous la colonne semaines */
    display: flex; flex-direction: column; gap: 3px;
}
.cv-note-line[b-f9fpbw2zey] {
    display: flex; gap: 6px; align-items: flex-start;
    font-size: .74rem; color: #4a5568; line-height: 1.35; font-weight: 600;
}
.cv-note-ico[b-f9fpbw2zey] { flex-shrink: 0; }

/* ── Détail (expanded = image 2) ── */
.cv-mdetail[b-f9fpbw2zey] { padding: 0 12px 12px; background: #f6f9ff; }
.cv-mcard.is-paid .cv-mdetail[b-f9fpbw2zey] { background: #f5fbf2; }

.cv-mchild[b-f9fpbw2zey] {
    background: white; border-radius: 14px; padding: 12px;
    margin-top: 12px; border: 1px solid #eef2f9;
}
.cv-mchild.c-due[b-f9fpbw2zey]  { box-shadow: inset 4px 0 0 #fbe0e0; }
.cv-mchild.c-paid[b-f9fpbw2zey] { box-shadow: inset 4px 0 0 #d6ecd6; }

.cv-mchild-head[b-f9fpbw2zey] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cv-mchild-ava[b-f9fpbw2zey] {
    width: 38px; height: 38px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 1.15rem; flex-shrink: 0;
}
.cv-mchild-ava.cav-due[b-f9fpbw2zey]  { background: #fdecea; }
.cv-mchild-ava.cav-paid[b-f9fpbw2zey] { background: #e8f5e9; }
.cv-mchild-id[b-f9fpbw2zey]   { flex: 1; min-width: 0; }
.cv-mchild-name[b-f9fpbw2zey] { font-size: 1rem; font-weight: 800; color: #15233e; }
.cv-mchild-age[b-f9fpbw2zey]  { font-size: .85rem; color: #78909c; }
.cv-mchild-badges[b-f9fpbw2zey] { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }

.cv-mchild-dates[b-f9fpbw2zey] {
    display: flex; gap: 7px; align-items: flex-start;
    margin: 10px 0; font-size: .85rem; color: #37474f;
}
.cv-cal[b-f9fpbw2zey] { flex-shrink: 0; }
.cv-mchild-weeks[b-f9fpbw2zey] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.cv-mchild-weeks li[b-f9fpbw2zey] { line-height: 1.35; }

.cv-mchild-obs[b-f9fpbw2zey] { font-size: .82rem; color: #607d8b; margin-bottom: 10px; }

/* Finance grid */
.cv-mfin[b-f9fpbw2zey] {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
    background: #eef2f9; border-radius: 12px; overflow: hidden; margin-bottom: 10px;
}
.cv-mfin-cell[b-f9fpbw2zey] {
    background: #fbfcfe; padding: 10px 6px; text-align: center;
    display: flex; flex-direction: column; gap: 3px;
}
.cv-mfin-cell small[b-f9fpbw2zey]  { font-size: .66rem; color: #90a4ae; letter-spacing: .4px; }
.cv-mfin-cell strong[b-f9fpbw2zey] { font-size: .92rem; color: #263238; }

/* Actions — cartes blanches (icône au-dessus, libellé en dessous) */
.cv-mchild-actions[b-f9fpbw2zey] { display: flex; gap: 10px; }
.cv-act[b-f9fpbw2zey] {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px;
    background: white; border: 1.5px solid #eceff4; border-radius: 14px;
    padding: 12px 6px; cursor: pointer; transition: all .15s;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.cv-act:active[b-f9fpbw2zey] { transform: scale(.96); }
.cv-act-ic[b-f9fpbw2zey]  { font-size: 1.25rem; line-height: 1; }
.cv-act-lbl[b-f9fpbw2zey] { font-size: .78rem; font-weight: 700; color: #455a64; }

.cv-act-avance:hover[b-f9fpbw2zey] { border-color: #ffcc80; background: #fff8f0; }
.cv-act-edit:hover[b-f9fpbw2zey]   { border-color: #90caf9; background: #f3f9ff; }
.cv-act-del:hover[b-f9fpbw2zey]    { border-color: #ef9a9a; background: #fff5f5; }
.cv-act-del .cv-act-lbl[b-f9fpbw2zey] { color: #c62828; }

.cv-act-locked[b-f9fpbw2zey] { cursor: not-allowed; opacity: .55; background: #fafafa; }
.cv-act-locked .cv-act-lbl[b-f9fpbw2zey] { color: #9e9e9e; }

/* Ajouter enfant + créé */
.cv-madd[b-f9fpbw2zey] {
    width: 100%; margin-top: 12px; border: 1.5px dashed #b9d4f5;
    background: #f0f7ff; color: #1565c0; border-radius: 12px;
    padding: 11px; font-size: .9rem; font-weight: 700; cursor: pointer;
}
.cv-madd:active[b-f9fpbw2zey] { background: #e3f2fd; }
.cv-mcreated[b-f9fpbw2zey] {
    display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap;
    margin-top: 10px; font-size: .76rem; color: #90a4ae;
}

/* Légende */
.cv-legend[b-f9fpbw2zey] {
    display: flex; justify-content: center; gap: 22px; margin-top: 14px;
    font-size: .82rem; color: #607d8b;
}
.cv-legend span[b-f9fpbw2zey] { display: inline-flex; align-items: center; gap: 6px; }
.cv-dot[b-f9fpbw2zey] { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.cv-dot-due[b-f9fpbw2zey]  { background: #1e88e5; }
.cv-dot-paid[b-f9fpbw2zey] { background: #2e7d32; }
/* _content/TransactionAtlas.Web/Components/Pages/CoachPadel.razor.rz.scp.css */
/* ===== HEADER ===== */
.cp-header[b-3sxls1c0nf] {
    background: linear-gradient(135deg, #1B5E20, #388E3C);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(27,94,32,0.35);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.cp-header h1[b-3sxls1c0nf] { margin: 0; font-size: 1.3rem; font-weight: 700; }
.cp-header span[b-3sxls1c0nf] { font-size: 0.82rem; color: #A5D6A7; }

.btn-cp-add[b-3sxls1c0nf] {
    background: #fff;
    color: #1B5E20;
    border: none;
    padding: 0.5rem 1.2rem;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.15s;
}
.btn-cp-add:hover[b-3sxls1c0nf] { background: #E8F5E9; }

/* ===== SEARCH ===== */
.cp-search-bar[b-3sxls1c0nf] {
    display: flex;
    align-items: center;
    background: white;
    border-radius: 10px;
    padding: 0.5rem 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 1rem;
    gap: 0.5rem;
}
.cp-search-icon[b-3sxls1c0nf] { font-size: 1.1rem; }
.cp-search-input[b-3sxls1c0nf] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.9rem;
    color: #333;
}
.cp-search-clear[b-3sxls1c0nf] {
    background: none;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    color: #999;
}

/* ===== LOADING ===== */
.cp-loading[b-3sxls1c0nf] { display: flex; align-items: center; gap: 0.7rem; padding: 1.5rem; color: #1B5E20; }
.cp-spinner[b-3sxls1c0nf] {
    width: 22px; height: 22px;
    border: 3px solid #A5D6A7;
    border-top-color: #1B5E20;
    border-radius: 50%;
    animation: cpSpin-b-3sxls1c0nf 0.8s linear infinite;
}
@keyframes cpSpin-b-3sxls1c0nf { to { transform: rotate(360deg); } }

.cp-alert[b-3sxls1c0nf] {
    background: #FFEBEE;
    color: #C62828;
    padding: 0.7rem 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    font-size: 0.85rem;
}

/* ===== TABLE DESKTOP ===== */
.cp-table-card[b-3sxls1c0nf] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    overflow: hidden;
    margin-bottom: 1.5rem;
}
.cp-table[b-3sxls1c0nf] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}
.cp-table thead tr[b-3sxls1c0nf] {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
}
.cp-table th[b-3sxls1c0nf] {
    padding: 0.65rem 1rem;
    font-weight: 700;
    font-size: 0.82rem;
    white-space: nowrap;
}
.cp-table td[b-3sxls1c0nf] {
    padding: 0.55rem 1rem;
    border-bottom: 1px solid #F0F0F0;
    color: #37474F;
}
.cp-row-alt[b-3sxls1c0nf] { background: #F1F8E9; }
.cp-table tbody tr:hover[b-3sxls1c0nf] { background: #E8F5E9; }
.cp-td-phone[b-3sxls1c0nf] { font-weight: 600; color: #1B5E20; }
.cp-td-nom[b-3sxls1c0nf] { font-weight: 600; color: #333; }
.cp-empty[b-3sxls1c0nf] { text-align: center; color: #999; padding: 2rem !important; }
.cp-th-actions[b-3sxls1c0nf] { text-align: center; width: 100px; }
.cp-td-actions[b-3sxls1c0nf] { text-align: center; white-space: nowrap; }

.btn-cp-edit[b-3sxls1c0nf], .btn-cp-del[b-3sxls1c0nf] {
    border: none;
    background: none;
    cursor: pointer;
    font-size: 1rem;
    padding: 0.2rem 0.4rem;
    border-radius: 6px;
    transition: background 0.15s;
}
.btn-cp-edit:hover[b-3sxls1c0nf] { background: #E8F5E9; }
.btn-cp-del:hover[b-3sxls1c0nf] { background: #FFEBEE; }

.text-right[b-3sxls1c0nf] { text-align: right; }

/* ===== CARDS MOBILE ===== */
.cp-cards[b-3sxls1c0nf] { display: none; }
.cp-card[b-3sxls1c0nf] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    padding: 1rem;
    margin-bottom: 0.8rem;
}
.cp-card-top[b-3sxls1c0nf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.6rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #E8F5E9;
}
.cp-card-phone[b-3sxls1c0nf] { font-weight: 700; color: #1B5E20; font-size: 0.9rem; }
.cp-card-nom[b-3sxls1c0nf] { font-weight: 600; color: #555; font-size: 0.85rem; }
.cp-card-prices[b-3sxls1c0nf] {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.6rem;
}
.cp-card-price[b-3sxls1c0nf] {
    flex: 1;
    background: #F1F8E9;
    border-radius: 8px;
    padding: 0.5rem;
    text-align: center;
}
.cp-card-label[b-3sxls1c0nf] { display: block; font-size: 0.7rem; color: #888; font-weight: 600; }
.cp-card-value[b-3sxls1c0nf] { display: block; font-size: 0.85rem; font-weight: 700; color: #1B5E20; margin-top: 2px; }
.cp-card-actions[b-3sxls1c0nf] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding-top: 0.5rem;
    border-top: 1px solid #F0F0F0;
}
.cp-card-empty[b-3sxls1c0nf] { text-align: center; color: #999; padding: 2rem; }

/* ===== POPUPS ===== */
.cp-overlay[b-3sxls1c0nf] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 1000;
}
.cp-popup[b-3sxls1c0nf] {
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    z-index: 1001;
    width: 90%;
    max-width: 420px;
    overflow: hidden;
}
.cp-popup-header[b-3sxls1c0nf] {
    padding: 0.9rem 1.2rem;
    font-weight: 700;
    font-size: 1rem;
    color: white;
}
.cp-popup-create[b-3sxls1c0nf] { background: linear-gradient(135deg, #1B5E20, #388E3C); }
.cp-popup-edit[b-3sxls1c0nf] { background: linear-gradient(135deg, #E65100, #F57C00); }
.cp-popup-del[b-3sxls1c0nf] { background: linear-gradient(135deg, #B71C1C, #D32F2F); }
.cp-popup-body[b-3sxls1c0nf] {
    padding: 1rem 1.2rem;
}
.cp-popup-body label[b-3sxls1c0nf] {
    display: block;
    font-weight: 600;
    font-size: 0.82rem;
    color: #555;
    margin-bottom: 0.25rem;
    margin-top: 0.6rem;
}
.cp-popup-body label:first-child[b-3sxls1c0nf] { margin-top: 0; }
.cp-input[b-3sxls1c0nf] {
    width: 100%;
    border: 1.5px solid #C8E6C9;
    border-radius: 6px;
    padding: 0.45rem 0.7rem;
    font-size: 0.88rem;
    outline: none;
    box-sizing: border-box;
}
.cp-input:focus[b-3sxls1c0nf] { border-color: #2E7D32; }
.cp-popup-error[b-3sxls1c0nf] {
    background: #FFEBEE;
    color: #C62828;
    padding: 0.4rem 0.7rem;
    border-radius: 6px;
    font-size: 0.8rem;
    margin-top: 0.6rem;
}
.cp-popup-footer[b-3sxls1c0nf] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.8rem 1.2rem;
    border-top: 1px solid #f0f0f0;
}
.btn-cp-save[b-3sxls1c0nf] {
    background: #1B5E20;
    color: white;
    border: none;
    padding: 0.45rem 1.2rem;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
}
.btn-cp-save:hover[b-3sxls1c0nf] { background: #2E7D32; }
.btn-cp-save:disabled[b-3sxls1c0nf] { opacity: 0.5; cursor: default; }
.btn-cp-del-confirm[b-3sxls1c0nf] {
    background: #C62828;
    color: white;
    border: none;
    padding: 0.45rem 1.2rem;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
}
.btn-cp-del-confirm:hover[b-3sxls1c0nf] { background: #D32F2F; }
.btn-cp-del-confirm:disabled[b-3sxls1c0nf] { opacity: 0.5; cursor: default; }
.btn-cp-cancel[b-3sxls1c0nf] {
    background: #f5f5f5;
    color: #555;
    border: none;
    padding: 0.45rem 1rem;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}
.btn-cp-cancel:hover[b-3sxls1c0nf] { background: #e0e0e0; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .cp-desktop[b-3sxls1c0nf] { display: none !important; }
    .cp-cards[b-3sxls1c0nf] { display: block !important; }

    .cp-header[b-3sxls1c0nf] {
        flex-direction: column;
        align-items: flex-start;
        padding: 0.8rem 1rem;
    }
    .cp-header h1[b-3sxls1c0nf] { font-size: 1.05rem; }
    .btn-cp-add[b-3sxls1c0nf] { width: 100%; text-align: center; margin-top: 0.3rem; }

    .cp-search-bar[b-3sxls1c0nf] { padding: 0.4rem 0.8rem; }
    .cp-search-input[b-3sxls1c0nf] { font-size: 0.85rem; }
}

@media (max-width: 480px) {
    .cp-header[b-3sxls1c0nf] { padding: 0.7rem 0.8rem; border-radius: 8px; }
    .cp-header h1[b-3sxls1c0nf] { font-size: 0.92rem; }
    .cp-header span[b-3sxls1c0nf] { font-size: 0.72rem; }

    .cp-card[b-3sxls1c0nf] { padding: 0.8rem; border-radius: 10px; }
    .cp-card-phone[b-3sxls1c0nf] { font-size: 0.82rem; }
    .cp-card-nom[b-3sxls1c0nf] { font-size: 0.78rem; }
    .cp-card-value[b-3sxls1c0nf] { font-size: 0.8rem; }
    .cp-card-label[b-3sxls1c0nf] { font-size: 0.65rem; }
}
/* _content/TransactionAtlas.Web/Components/Pages/DemandeRh.razor.rz.scp.css */
/* ===== HEADER ===== */
.drh-header[b-n7kdzsu32e] {
    background: linear-gradient(120deg, #047857 0%, #059669 55%, #10b981 100%);
    color: white; padding: 1rem 1.2rem; border-radius: 15px; margin-bottom: .7rem;
    box-shadow: 0 10px 26px rgba(5,150,105,.26);
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.drh-header-left[b-n7kdzsu32e] { display: flex; align-items: center; gap: 12px; }
.drh-header-icon[b-n7kdzsu32e] { font-size: 1.7rem; }
.drh-header h1[b-n7kdzsu32e] { font-size: 1.2rem; font-weight: 800; margin: 0; }
.drh-header-left span[b-n7kdzsu32e] { font-size: .76rem; opacity: .9; }
.drh-header-actions[b-n7kdzsu32e] { display: flex; align-items: center; gap: 8px; }
.drh-year[b-n7kdzsu32e] { border: none; border-radius: 9px; padding: .45rem .6rem; font-weight: 700; font-size: .82rem; color: #047857; cursor: pointer; outline: none; }
.drh-refresh[b-n7kdzsu32e] { border: none; background: rgba(255,255,255,.16); color: white; border-radius: 9px; padding: .45rem .9rem; font-weight: 700; font-size: .82rem; cursor: pointer; }
.drh-refresh:hover:not(:disabled)[b-n7kdzsu32e] { background: rgba(255,255,255,.26); }

/* ===== RECHERCHE ===== */
.drh-search[b-n7kdzsu32e] { display: flex; align-items: center; gap: 8px; background: white; border: 2px solid #d1fae5; border-radius: 11px; padding: .5rem .85rem; margin-bottom: .7rem; }
.drh-search:focus-within[b-n7kdzsu32e] { border-color: #10b981; }
.drh-search-ico[b-n7kdzsu32e] { color: #94a3b8; }
.drh-search-in[b-n7kdzsu32e] { flex: 1; border: none; outline: none; font-size: .88rem; color: #334155; background: transparent; }
.drh-search-clear[b-n7kdzsu32e] { border: none; background: #ecfdf5; color: #047857; border-radius: 6px; width: 24px; height: 24px; cursor: pointer; }

/* ===== ONGLETS (segmented moderne) ===== */
.drh-tabs[b-n7kdzsu32e] {
    display: flex; gap: 8px;
    background: #ffffff; border: 1px solid #eef2f0; border-radius: 15px;
    padding: 6px; margin-bottom: .8rem;
    box-shadow: 0 6px 20px rgba(5,150,105,.07);
}
.drh-tab[b-n7kdzsu32e] {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: .62rem 1rem; border-radius: 11px;
    font-weight: 700; font-size: .86rem; letter-spacing: .01em;
    color: #64748b; text-decoration: none; cursor: pointer;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.drh-tab:hover[b-n7kdzsu32e] { background: #f0fdf4; color: #047857; }
.drh-tab-active[b-n7kdzsu32e], .drh-tab-active:hover[b-n7kdzsu32e] {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    color: #fff; box-shadow: 0 10px 22px rgba(5,150,105,.32);
    transform: translateY(-1px);
}

/* ===== BANNER / INFO ===== */
.drh-banner[b-n7kdzsu32e] { padding: .6rem .9rem; border-radius: 10px; font-size: .85rem; font-weight: 600; margin-bottom: .7rem; }
.drh-ok[b-n7kdzsu32e]  { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.drh-err[b-n7kdzsu32e] { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.drh-info[b-n7kdzsu32e] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: #f0fdf4; border: 1px solid #d1fae5; border-radius: 9px; padding: .45rem .8rem; font-size: .82rem; color: #047857; margin-bottom: .6rem; }
.drh-sep[b-n7kdzsu32e] { color: #a7f3d0; }

/* ===== TABLE ===== */
.drh-card[b-n7kdzsu32e] { background: white; border: 1px solid #eef0f4; border-radius: 13px; overflow: hidden; box-shadow: 0 8px 24px rgba(15,23,42,.05); }
.drh-scroll[b-n7kdzsu32e] { overflow-x: auto; }
.drh-table[b-n7kdzsu32e] { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .78rem; }
.drh-table thead th[b-n7kdzsu32e] {
    background: #f8fafc; color: #64748b; padding: .6rem .75rem; text-align: left;
    font-weight: 700; font-size: .66rem; text-transform: uppercase; letter-spacing: .02em;
    white-space: nowrap; border-bottom: 1px solid #eef0f4;
}
.drh-table th.ta-r[b-n7kdzsu32e], .drh-table td.ta-r[b-n7kdzsu32e] { text-align: right; }
.drh-table th.ta-c[b-n7kdzsu32e], .drh-table td.ta-c[b-n7kdzsu32e] { text-align: center; }
.drh-table tbody td[b-n7kdzsu32e] { padding: .55rem .75rem; border-bottom: 1px solid #f4f5f9; color: #334155; white-space: nowrap; }
.drh-table tbody tr:last-child td[b-n7kdzsu32e] { border-bottom: none; }
.drh-table tbody tr:hover td[b-n7kdzsu32e] { background: #f6fefb; }
.drh-foot td[b-n7kdzsu32e] { background: #f0fdf4; font-weight: 800; color: #047857; border-top: 2px solid #a7f3d0; padding: .55rem .75rem; }

.drh-num[b-n7kdzsu32e]   { color: #94a3b8; font-weight: 700; text-align: center; }
.drh-mono[b-n7kdzsu32e]  { font-family: ui-monospace, monospace; font-weight: 600; }
.drh-total[b-n7kdzsu32e] { color: #059669; font-weight: 800; }

/* N° cliquable */
.drh-link[b-n7kdzsu32e] {
    border: none; background: none; color: #047857; font-weight: 800; cursor: pointer;
    font-family: ui-monospace, monospace; font-size: .82rem; padding: 0; text-decoration: underline;
    text-underline-offset: 2px;
}
.drh-link:hover[b-n7kdzsu32e] { color: #10b981; }

.drh-btn-valider[b-n7kdzsu32e] {
    background: linear-gradient(135deg, #059669, #10b981); color: white; border: none;
    border-radius: 8px; padding: .35rem .8rem; font-size: .78rem; font-weight: 700; cursor: pointer;
    white-space: nowrap; box-shadow: 0 3px 10px rgba(5,150,105,.25);
}
.drh-btn-valider:hover:not(:disabled)[b-n7kdzsu32e] { opacity: .9; }
.drh-btn-valider:disabled[b-n7kdzsu32e] { opacity: .5; cursor: default; }

/* ===== PAGINATION ===== */
.drh-pager[b-n7kdzsu32e] { display: flex; align-items: center; justify-content: space-between; padding: .7rem .85rem; gap: 10px; flex-wrap: wrap; border-top: 1px solid #f4f5f9; }
.drh-pager-info[b-n7kdzsu32e] { font-size: .74rem; color: #64748b; }
.drh-pager-btns[b-n7kdzsu32e] { display: flex; align-items: center; gap: 5px; }
.drh-pg[b-n7kdzsu32e] { min-width: 30px; height: 30px; border: 1px solid #e5e7eb; background: white; border-radius: 8px; cursor: pointer; font-size: .78rem; font-weight: 700; color: #475569; padding: 0 7px; }
.drh-pg:hover:not(:disabled)[b-n7kdzsu32e] { border-color: #10b981; color: #047857; }
.drh-pg.active[b-n7kdzsu32e] { background: #059669; border-color: #059669; color: white; }
.drh-pg:disabled[b-n7kdzsu32e] { opacity: .4; cursor: default; }
.drh-pg-ellipsis[b-n7kdzsu32e] { color: #94a3b8; padding: 0 2px; }

/* ===== ÉTATS ===== */
.drh-state[b-n7kdzsu32e] { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 1.6rem 1rem; color: #6b7280; font-size: .88rem; }
.drh-spinner[b-n7kdzsu32e] { width: 20px; height: 20px; border: 3px solid #d1fae5; border-top-color: #059669; border-radius: 50%; animation: drh-spin-b-n7kdzsu32e .7s linear infinite; }
@keyframes drh-spin-b-n7kdzsu32e { to { transform: rotate(360deg); } }
.drh-empty[b-n7kdzsu32e] { background: #f0fdf4; border: 1px dashed #a7f3d0; border-radius: 12px; color: #047857; }

/* ===== CARTES MOBILE (liste) ===== */
.drh-mobile-list[b-n7kdzsu32e] { display: none; }
.drh-mcard[b-n7kdzsu32e] { background: white; border: 1px solid #eef0f4; border-radius: 13px; padding: .75rem .9rem; margin-bottom: .6rem; box-shadow: 0 4px 14px rgba(15,23,42,.06); }
.drh-mcard-top[b-n7kdzsu32e] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: .35rem; }
.drh-mcard-num[b-n7kdzsu32e] { border: none; background: #ecfdf5; color: #047857; font-family: ui-monospace, monospace; font-weight: 800; font-size: .85rem; border-radius: 8px; padding: .2rem .55rem; cursor: pointer; }
.drh-mcard-ttc[b-n7kdzsu32e] { font-family: ui-monospace, monospace; font-weight: 800; color: #059669; }
.drh-mcard-sub[b-n7kdzsu32e] { font-size: .74rem; color: #64748b; }
.drh-mcard-rs[b-n7kdzsu32e]  { font-size: .82rem; color: #1e293b; font-weight: 700; margin-top: .15rem; }
.drh-mcard-budget[b-n7kdzsu32e] { font-size: .74rem; color: #475569; margin-top: .15rem; }
.drh-mcard-foot[b-n7kdzsu32e] { display: flex; align-items: center; justify-content: space-between; margin-top: .55rem; border-top: 1px solid #f1f5f9; padding-top: .5rem; }
.drh-mcard-ht[b-n7kdzsu32e] { font-family: ui-monospace, monospace; font-size: .78rem; color: #334155; font-weight: 700; }

/* ===== MODAL DÉTAIL ===== */
.drh-overlay[b-n7kdzsu32e] { position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 40; }
.drh-detail-modal[b-n7kdzsu32e] {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 41;
    background: white; border-radius: 16px; width: min(920px, 95vw); max-height: 90vh;
    display: flex; flex-direction: column; box-shadow: 0 24px 60px rgba(0,0,0,.3); overflow: hidden;
}
.drh-detail-head[b-n7kdzsu32e] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: #ecfdf5; padding: .8rem 1.1rem; }
.drh-detail-num[b-n7kdzsu32e] { font-family: ui-monospace, monospace; font-weight: 800; color: #047857; font-size: 1rem; }
.drh-detail-rs[b-n7kdzsu32e] { font-size: .82rem; color: #334155; font-weight: 700; }
.drh-detail-close[b-n7kdzsu32e] { border: none; background: white; color: #475569; border-radius: 8px; width: 30px; height: 30px; cursor: pointer; font-weight: 700; }
.drh-detail-meta[b-n7kdzsu32e] { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: .6rem 1.1rem; font-size: .78rem; color: #64748b; border-bottom: 1px solid #f1f5f9; }
.drh-detail-meta strong[b-n7kdzsu32e] { color: #1e293b; }
.drh-detail-body[b-n7kdzsu32e] { overflow: auto; padding: .4rem 0; flex: 1; }
.drh-detail-foot[b-n7kdzsu32e] { display: flex; justify-content: flex-end; gap: 8px; padding: .8rem 1.1rem; border-top: 1px solid #f1f5f9; }

.drh-lignes-total td[b-n7kdzsu32e] { background: #f0fdf4; font-weight: 800; color: #047857; border-top: 2px solid #a7f3d0; }
.drh-lignes-wrap[b-n7kdzsu32e] { width: 100%; }

/* ===== MODAL CONFIRMATION ===== */
.drh-overlay-top[b-n7kdzsu32e] { z-index: 50; }
.drh-modal[b-n7kdzsu32e] { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 51; background: white; border-radius: 16px; width: min(420px, 92vw); box-shadow: 0 24px 60px rgba(0,0,0,.3); overflow: hidden; }
.drh-modal-q[b-n7kdzsu32e] { font-size: .95rem; color: #1e293b; margin-bottom: .3rem; }
.drh-modal-head[b-n7kdzsu32e] { background: #ecfdf5; color: #047857; font-weight: 800; padding: .9rem 1.1rem; font-size: .95rem; }
.drh-modal-body[b-n7kdzsu32e] { padding: 1rem 1.1rem; font-size: .86rem; color: #334155; }
.drh-modal-doc[b-n7kdzsu32e] { background: #f8fafc; border: 1px solid #eef0f4; border-radius: 10px; padding: .6rem .8rem; margin: .6rem 0; }
.drh-modal-doc > div[b-n7kdzsu32e] { display: flex; justify-content: space-between; gap: 12px; padding: .2rem 0; }
.drh-modal-doc span[b-n7kdzsu32e] { color: #64748b; font-size: .78rem; }
.drh-modal-doc strong[b-n7kdzsu32e] { color: #1e293b; }
.drh-modal-note[b-n7kdzsu32e] { font-size: .78rem; color: #64748b; }
.drh-modal-foot[b-n7kdzsu32e] { display: flex; justify-content: flex-end; gap: 8px; padding: .8rem 1.1rem; border-top: 1px solid #f1f5f9; }
.drh-btn-cancel[b-n7kdzsu32e] { border: 1px solid #e5e7eb; background: white; color: #475569; border-radius: 9px; padding: .5rem 1rem; font-weight: 700; font-size: .82rem; cursor: pointer; }
.drh-btn-confirm[b-n7kdzsu32e] { border: none; background: linear-gradient(135deg, #059669, #10b981); color: white; border-radius: 9px; padding: .5rem 1.2rem; font-weight: 800; font-size: .82rem; cursor: pointer; }
.drh-btn-confirm:disabled[b-n7kdzsu32e] { opacity: .5; cursor: default; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .drh-header[b-n7kdzsu32e] { flex-direction: column; align-items: stretch; padding: .9rem; }
    .drh-header h1[b-n7kdzsu32e] { font-size: 1.05rem; }
    .drh-header-actions[b-n7kdzsu32e] { justify-content: space-between; }

    /* Écran 1 (liste) : cartes sur mobile ; tableau sur PC */
    .drh-desktop[b-n7kdzsu32e] { display: none; }
    .drh-mobile-list[b-n7kdzsu32e] { display: block; }
    .drh-pager[b-n7kdzsu32e] { justify-content: center; }

    .drh-detail-modal[b-n7kdzsu32e] { width: 100vw; height: 100vh; max-height: 100vh; border-radius: 0; top: 0; left: 0; transform: none; }
    .drh-detail-meta[b-n7kdzsu32e] { gap: 6px 12px; font-size: .74rem; }

    /* Écran 2 (détail) : tableau compact scrollable comme solde-client-actif */
    .drh-lignes[b-n7kdzsu32e] { font-size: .58rem; }
    .drh-lignes thead th[b-n7kdzsu32e] { padding: .3rem .4rem; font-size: .5rem; }
    .drh-lignes tbody td[b-n7kdzsu32e] { padding: .3rem .4rem; }

    /* Popup de confirmation : confortable au tactile */
    .drh-modal[b-n7kdzsu32e] { width: min(420px, 94vw); }
    .drh-modal-head[b-n7kdzsu32e] { font-size: 1rem; padding: 1rem 1.1rem; }
    .drh-modal-q[b-n7kdzsu32e] { font-size: 1rem; }
    .drh-modal-foot[b-n7kdzsu32e] { padding: .9rem 1.1rem; gap: 10px; }
    .drh-modal-foot .drh-btn-cancel[b-n7kdzsu32e],
    .drh-modal-foot .drh-btn-confirm[b-n7kdzsu32e] { flex: 1; padding: .75rem; font-size: .9rem; text-align: center; }
}
/* _content/TransactionAtlas.Web/Components/Pages/Evennement.razor.rz.scp.css */
/* ===== HEADER ===== */
.eve-header[b-nvca7y1vfj] {
    background: linear-gradient(135deg, #4A148C, #7B1FA2);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(74,20,140,0.35);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.eve-header h1[b-nvca7y1vfj] { margin: 0; font-size: 1.3rem; font-weight: 700; }
.eve-header span[b-nvca7y1vfj] { font-size: 0.82rem; color: #E1BEE7; }

.btn-eve-logs[b-nvca7y1vfj] {
    background: rgba(255,255,255,0.2);
    color: white;
    border: 1px solid rgba(255,255,255,0.4);
    padding: 0.4rem 1rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
}
.btn-eve-logs:hover[b-nvca7y1vfj] { background: rgba(255,255,255,0.3); }

/* ===== SEARCH ===== */
.eve-search-bar[b-nvca7y1vfj] {
    display: flex;
    align-items: center;
    background: white;
    border-radius: 10px;
    padding: 0.5rem 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 1rem;
    gap: 0.5rem;
}
.eve-search-icon[b-nvca7y1vfj] { font-size: 1.1rem; }
.eve-search-input[b-nvca7y1vfj] { flex: 1; border: none; outline: none; font-size: 0.9rem; color: #333; }
.eve-search-clear[b-nvca7y1vfj] { background: none; border: none; font-size: 1rem; cursor: pointer; color: #999; }

/* ===== LOADING / ALERTS ===== */
.eve-loading[b-nvca7y1vfj] { display: flex; align-items: center; gap: 0.7rem; padding: 1.5rem; color: #4A148C; }
.eve-spinner[b-nvca7y1vfj] { width: 22px; height: 22px; border: 3px solid #E1BEE7; border-top-color: #4A148C; border-radius: 50%; animation: eveSpin-b-nvca7y1vfj 0.8s linear infinite; }
@keyframes eveSpin-b-nvca7y1vfj { to { transform: rotate(360deg); } }
.eve-alert[b-nvca7y1vfj] { background: #FFEBEE; color: #C62828; padding: 0.7rem 1rem; border-radius: 8px; margin-bottom: 1rem; font-size: 0.85rem; }
.eve-success[b-nvca7y1vfj] { background: #E8F5E9; color: #2E7D32; padding: 0.7rem 1rem; border-radius: 8px; margin-bottom: 1rem; font-size: 0.85rem; }
.eve-empty-card[b-nvca7y1vfj] { text-align: center; color: #999; padding: 2rem; background: white; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }

/* ===== ACTIVITY LOG ===== */
.eve-logs-card[b-nvca7y1vfj] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    padding: 1rem;
    margin-bottom: 1rem;
}
.eve-logs-title[b-nvca7y1vfj] { margin: 0 0 0.6rem; font-size: 0.95rem; color: #4A148C; }
.eve-logs-empty[b-nvca7y1vfj] { color: #999; font-size: 0.85rem; }
.eve-logs-scroll[b-nvca7y1vfj] { overflow-x: auto; }
.eve-logs-table[b-nvca7y1vfj] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.eve-logs-table th[b-nvca7y1vfj] { background: #F3E5F5; color: #4A148C; padding: 0.4rem 0.6rem; font-weight: 700; white-space: nowrap; }
.eve-logs-table td[b-nvca7y1vfj] { padding: 0.35rem 0.6rem; border-bottom: 1px solid #f5f5f5; white-space: nowrap; }
.eve-log-badge[b-nvca7y1vfj] { padding: 2px 6px; border-radius: 4px; font-weight: 700; font-size: 0.7rem; }
.eve-log-del[b-nvca7y1vfj] { background: #FFEBEE; color: #C62828; }
.eve-log-upd[b-nvca7y1vfj] { background: #E8F5E9; color: #2E7D32; }
.eve-log-user[b-nvca7y1vfj] { font-weight: 600; color: #555; }

/* ===== CARDS DESKTOP ===== */
.eve-card[b-nvca7y1vfj] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    margin-bottom: 0.8rem;
    overflow: hidden;
}
.eve-card-header[b-nvca7y1vfj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.7rem 1rem;
    cursor: pointer;
    transition: background 0.15s;
    flex-wrap: wrap;
    gap: 0.3rem;
}
.eve-card-header:hover[b-nvca7y1vfj] { background: #F3E5F5; }
.eve-card-left[b-nvca7y1vfj] { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.eve-card-right[b-nvca7y1vfj] { display: flex; align-items: center; gap: 1rem; }
.eve-card-arrow[b-nvca7y1vfj] { color: #4A148C; font-size: 0.85rem; }
.eve-card-num[b-nvca7y1vfj] { font-weight: 700; color: #4A148C; font-size: 0.85rem; }
.eve-card-client[b-nvca7y1vfj] { font-weight: 600; color: #333; }
.eve-card-tel[b-nvca7y1vfj] { color: #888; font-size: 0.8rem; }
.eve-card-date[b-nvca7y1vfj] { color: #555; font-size: 0.82rem; }
.eve-card-prix[b-nvca7y1vfj] { font-weight: 700; color: #2E7D32; font-size: 0.9rem; }

.eve-card-body[b-nvca7y1vfj] {
    padding: 0.8rem 1rem 1rem;
    border-top: 1px solid #F3E5F5;
    background: #FDFAFF;
}

.eve-info-grid[b-nvca7y1vfj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.5rem 1rem;
    margin-bottom: 0.8rem;
}
.eve-info[b-nvca7y1vfj] { display: flex; flex-direction: column; }
.eve-info-label[b-nvca7y1vfj] { font-size: 0.7rem; color: #999; font-weight: 600; text-transform: uppercase; }
.eve-info span:last-child[b-nvca7y1vfj] { font-size: 0.85rem; font-weight: 600; color: #333; }
.eve-val-total[b-nvca7y1vfj] { color: #4A148C !important; }
.eve-val-avance[b-nvca7y1vfj] { color: #2E7D32 !important; }
.eve-val-reste[b-nvca7y1vfj] { color: #C62828 !important; font-weight: 700 !important; }
.eve-val-ok[b-nvca7y1vfj] { color: #2E7D32 !important; }
.eve-desc[b-nvca7y1vfj] { background: #F3E5F5; padding: 0.5rem 0.8rem; border-radius: 6px; font-size: 0.82rem; color: #555; margin-bottom: 0.8rem; }

/* ===== DETAIL TABLE ===== */
.eve-detail-title[b-nvca7y1vfj] { font-size: 0.85rem; color: #4A148C; margin: 0.5rem 0 0.3rem; }
.eve-detail-table[b-nvca7y1vfj] { width: 100%; border-collapse: collapse; font-size: 0.8rem; margin-bottom: 0.8rem; }
.eve-detail-table th[b-nvca7y1vfj] { background: #F3E5F5; color: #4A148C; padding: 0.35rem 0.5rem; font-weight: 700; font-size: 0.75rem; }
.eve-detail-table td[b-nvca7y1vfj] { padding: 0.3rem 0.5rem; border-bottom: 1px solid #f5f5f5; }
.text-right[b-nvca7y1vfj] { text-align: right; }

/* ===== ACTIONS ===== */
.eve-card-actions[b-nvca7y1vfj] { display: flex; gap: 0.5rem; justify-content: flex-end; padding-top: 0.5rem; border-top: 1px solid #f0f0f0; }
.btn-eve-edit[b-nvca7y1vfj] {
    background: #4A148C; color: white; border: none; padding: 0.4rem 1rem;
    border-radius: 6px; font-weight: 600; font-size: 0.8rem; cursor: pointer;
}
.btn-eve-edit:hover[b-nvca7y1vfj] { background: #7B1FA2; }
.btn-eve-del[b-nvca7y1vfj] {
    background: #FFEBEE; color: #C62828; border: 1px solid #FFCDD2; padding: 0.4rem 1rem;
    border-radius: 6px; font-weight: 600; font-size: 0.8rem; cursor: pointer;
}
.btn-eve-del:hover[b-nvca7y1vfj] { background: #FFCDD2; }

/* ===== POPUP ===== */
.eve-overlay[b-nvca7y1vfj] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 1000; }
.eve-popup[b-nvca7y1vfj] {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
    background: white; border-radius: 14px; box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    z-index: 1001; width: 92%; max-width: 520px; max-height: 90vh; overflow-y: auto;
}
.eve-popup-header[b-nvca7y1vfj] { padding: 0.9rem 1.2rem; font-weight: 700; font-size: 1rem; color: white; }
.eve-popup-edit[b-nvca7y1vfj] { background: linear-gradient(135deg, #4A148C, #7B1FA2); }
.eve-popup-del[b-nvca7y1vfj] { background: linear-gradient(135deg, #B71C1C, #D32F2F); }
.eve-popup-body[b-nvca7y1vfj] { padding: 0.8rem 1.2rem; }
.eve-popup-body label[b-nvca7y1vfj] { display: block; font-weight: 600; font-size: 0.78rem; color: #555; margin-bottom: 0.2rem; margin-top: 0.4rem; }
.eve-popup-grid[b-nvca7y1vfj] { display: grid; grid-template-columns: 1fr 1fr; gap: 0 0.8rem; }
.eve-input[b-nvca7y1vfj] {
    width: 100%; border: 1.5px solid #E1BEE7; border-radius: 6px;
    padding: 0.4rem 0.6rem; font-size: 0.85rem; outline: none; box-sizing: border-box;
}
.eve-input:focus[b-nvca7y1vfj] { border-color: #4A148C; }
.eve-textarea[b-nvca7y1vfj] { resize: vertical; }
.eve-popup-error[b-nvca7y1vfj] { background: #FFEBEE; color: #C62828; padding: 0.4rem 0.7rem; border-radius: 6px; font-size: 0.8rem; margin-top: 0.5rem; }
.eve-del-warn[b-nvca7y1vfj] { color: #C62828; font-size: 0.82rem; font-weight: 600; }
.eve-popup-footer[b-nvca7y1vfj] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.8rem 1.2rem; border-top: 1px solid #f0f0f0; }
.btn-eve-save[b-nvca7y1vfj] { background: #4A148C; color: white; border: none; padding: 0.45rem 1.2rem; border-radius: 6px; font-weight: 700; cursor: pointer; }
.btn-eve-save:hover[b-nvca7y1vfj] { background: #7B1FA2; }
.btn-eve-save:disabled[b-nvca7y1vfj] { opacity: 0.5; }
.btn-eve-del-confirm[b-nvca7y1vfj] { background: #C62828; color: white; border: none; padding: 0.45rem 1.2rem; border-radius: 6px; font-weight: 700; cursor: pointer; }
.btn-eve-del-confirm:hover[b-nvca7y1vfj] { background: #D32F2F; }
.btn-eve-del-confirm:disabled[b-nvca7y1vfj] { opacity: 0.5; }
.btn-eve-cancel[b-nvca7y1vfj] { background: #f5f5f5; color: #555; border: none; padding: 0.45rem 1rem; border-radius: 6px; font-weight: 600; cursor: pointer; }
.btn-eve-cancel:hover[b-nvca7y1vfj] { background: #e0e0e0; }

/* ===== MOBILE ===== */
.eve-mobile[b-nvca7y1vfj] { display: none; }

.eve-mcard[b-nvca7y1vfj] {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 0.7rem 0.8rem;
    margin-bottom: 0.6rem;
    cursor: pointer;
}
.eve-mcard-top[b-nvca7y1vfj] { display: flex; justify-content: space-between; margin-bottom: 0.2rem; }
.eve-mcard-num[b-nvca7y1vfj] { font-weight: 700; color: #4A148C; font-size: 0.8rem; }
.eve-mcard-date[b-nvca7y1vfj] { color: #888; font-size: 0.78rem; }
.eve-mcard-client[b-nvca7y1vfj] { font-weight: 600; font-size: 0.85rem; color: #333; margin-bottom: 0.2rem; }
.eve-mcard-tel[b-nvca7y1vfj] { color: #999; font-size: 0.78rem; margin-left: 0.3rem; }
.eve-mcard-row[b-nvca7y1vfj] { display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; color: #666; }
.eve-mcard-prix[b-nvca7y1vfj] { font-weight: 700; color: #2E7D32; }
.eve-mcard-body[b-nvca7y1vfj] { margin-top: 0.5rem; padding-top: 0.5rem; border-top: 1px solid #F3E5F5; }
.eve-mcard-infos[b-nvca7y1vfj] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.2rem 0.5rem; font-size: 0.78rem; color: #555; margin-bottom: 0.5rem; }
.eve-mcard-details-scroll[b-nvca7y1vfj] { overflow-x: auto; margin-bottom: 0.5rem; }

@media (max-width: 768px) {
    .eve-desktop[b-nvca7y1vfj] { display: none !important; }
    .eve-mobile[b-nvca7y1vfj] { display: block !important; }

    .eve-header[b-nvca7y1vfj] { flex-direction: column; align-items: flex-start; padding: 0.8rem 1rem; }
    .eve-header h1[b-nvca7y1vfj] { font-size: 1.05rem; }
    .btn-eve-logs[b-nvca7y1vfj] { width: 100%; text-align: center; margin-top: 0.3rem; }

    .eve-popup-grid[b-nvca7y1vfj] { grid-template-columns: 1fr; }
    .eve-popup[b-nvca7y1vfj] { width: 95%; max-width: none; }

    .eve-logs-table[b-nvca7y1vfj] { font-size: 0.72rem; }
}

@media (max-width: 480px) {
    .eve-header[b-nvca7y1vfj] { padding: 0.7rem 0.8rem; border-radius: 8px; }
    .eve-header h1[b-nvca7y1vfj] { font-size: 0.92rem; }

    .eve-mcard[b-nvca7y1vfj] { padding: 0.6rem; }
    .eve-mcard-client[b-nvca7y1vfj] { font-size: 0.8rem; }
    .eve-mcard-infos[b-nvca7y1vfj] { font-size: 0.72rem; }
    .eve-detail-table[b-nvca7y1vfj] { font-size: 0.72rem; }
}
/* _content/TransactionAtlas.Web/Components/Pages/GeneratorEtat.razor.rz.scp.css */
/* ===== HEADER ===== */
.ge-header[b-9qk20xa9u9] {
    background: linear-gradient(120deg, #4c1d95 0%, #6d28d9 55%, #7c3aed 100%);
    color: white;
    padding: 1.25rem 1.5rem;
    border-radius: 18px;
    margin-bottom: 1rem;
    box-shadow: 0 12px 30px rgba(109,40,217,.3);
    display: flex; align-items: center;
}
.ge-header-left[b-9qk20xa9u9] { display: flex; align-items: center; gap: 14px; }
.ge-header-icon[b-9qk20xa9u9] { font-size: 2rem; }
.ge-header h1[b-9qk20xa9u9] { font-size: 1.3rem; font-weight: 800; margin: 0; }
.ge-header span[b-9qk20xa9u9] { font-size: .82rem; opacity: .85; }

/* ===== FILTRES ===== */
.ge-filters[b-9qk20xa9u9] {
    background: white;
    border: 1px solid #eef0f4;
    border-radius: 16px;
    padding: 1rem 1.2rem;
    margin-bottom: 1rem;
    box-shadow: 0 6px 18px rgba(76,29,149,.06);
}
.ge-filter-top[b-9qk20xa9u9] { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 14px; }
.ge-filter-row[b-9qk20xa9u9] { display: flex; gap: 20px; flex-wrap: wrap; align-items: flex-start; }
.ge-field[b-9qk20xa9u9] { display: flex; flex-direction: column; gap: 6px; }
.ge-inline-chk[b-9qk20xa9u9] { display: flex; gap: 14px; align-items: center; padding-top: 4px; }
.ge-field-nature[b-9qk20xa9u9] { flex: 1; min-width: 240px; }
.ge-select-nature[b-9qk20xa9u9] { width: 100%; background: #faf9fe; color: #1e293b; border: 1px solid #e5e1f2; }
.ge-montant[b-9qk20xa9u9] { font-weight: 700; color: #047857; font-family: ui-monospace, monospace; }
.ge-field > label[b-9qk20xa9u9] { font-size: .76rem; font-weight: 700; color: #6d28d9; text-transform: uppercase; letter-spacing: .03em; }

.ge-select[b-9qk20xa9u9] {
    border: 1px solid #e5e1f2; border-radius: 10px;
    padding: .45rem .8rem; font-size: .86rem; font-weight: 700;
    background: #5b21b6; color: white; cursor: pointer; outline: none;
}
.ge-select option[b-9qk20xa9u9] { background: white; color: #1e293b; }

.ge-mode[b-9qk20xa9u9] { display: flex; gap: 8px; }
.ge-mode-opt[b-9qk20xa9u9] {
    display: flex; align-items: center; gap: 5px;
    font-size: .82rem; font-weight: 600; color: #475569;
    border: 1.5px solid #e2e8f0; border-radius: 20px;
    padding: .35rem .8rem; cursor: pointer; transition: all .15s;
}
.ge-mode-opt.active[b-9qk20xa9u9] { background: #ede9fe; border-color: #a78bfa; color: #5b21b6; }

.ge-filter-groups[b-9qk20xa9u9] {
    display: grid;
    grid-template-columns: 180px 180px 1fr;
    gap: 16px;
    align-items: start;
}
.ge-group[b-9qk20xa9u9] {
    border: 1px solid #f0edf9; border-radius: 12px;
    padding: 10px 12px; background: #faf9fe;
}
.ge-group-title[b-9qk20xa9u9] {
    font-size: .78rem; font-weight: 800; color: #5b21b6;
    margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between;
}
.ge-chk[b-9qk20xa9u9] {
    display: flex; align-items: center; gap: 7px;
    font-size: .82rem; color: #334155; padding: 3px 0; cursor: pointer;
}
.ge-group-nature[b-9qk20xa9u9] { grid-column: auto; }
.ge-nature-list[b-9qk20xa9u9] {
    max-height: 180px; overflow-y: auto;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 2px 14px;
}
.ge-nat-actions[b-9qk20xa9u9] { display: flex; gap: 6px; }
.ge-link-btn[b-9qk20xa9u9] {
    background: none; border: none; color: #7c3aed; font-size: .72rem;
    font-weight: 700; cursor: pointer; text-decoration: underline; padding: 0;
}
.ge-muted[b-9qk20xa9u9] { color: #94a3b8; font-size: .8rem; }

.ge-filter-actions[b-9qk20xa9u9] {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-top: 14px; padding-top: 12px; border-top: 1px solid #f0edf9;
}
.ge-btn-gen[b-9qk20xa9u9] {
    background: linear-gradient(135deg, #6d28d9, #7c3aed); color: white;
    border: none; border-radius: 11px; padding: .6rem 1.3rem;
    font-size: .9rem; font-weight: 700; cursor: pointer;
    box-shadow: 0 4px 12px rgba(124,58,237,.3); transition: transform .12s;
}
.ge-btn-gen:hover[b-9qk20xa9u9] { transform: translateY(-1px); }
.ge-btn-gen:disabled[b-9qk20xa9u9] { opacity: .6; cursor: not-allowed; }
.ge-btn-reset[b-9qk20xa9u9], .ge-btn-print[b-9qk20xa9u9] {
    background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0;
    border-radius: 11px; padding: .55rem 1rem; font-size: .84rem; font-weight: 700; cursor: pointer;
}
.ge-btn-reset:hover[b-9qk20xa9u9], .ge-btn-print:hover[b-9qk20xa9u9] { background: #e2e8f0; }
.ge-btn-print[b-9qk20xa9u9] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.ge-count[b-9qk20xa9u9] { font-size: .84rem; font-weight: 700; color: #5b21b6; margin-left: auto; }

/* ===== TABLE ===== */
.ge-card[b-9qk20xa9u9] {
    background: white; border: 1px solid #eef0f4; border-radius: 16px;
    overflow: hidden; box-shadow: 0 10px 30px rgba(76,29,149,.07);
}
.ge-table-scroll[b-9qk20xa9u9] { overflow: auto; max-height: 65vh; }
.ge-table[b-9qk20xa9u9] { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .82rem; }
.ge-table thead th[b-9qk20xa9u9] {
    background: linear-gradient(180deg, #5b21b6, #4c1d95); color: #ede9fe;
    padding: .7rem .7rem; text-align: left; font-weight: 700; font-size: .72rem;
    text-transform: uppercase; letter-spacing: .03em; white-space: nowrap;
    position: sticky; top: 0; z-index: 2;
}
.ge-table tbody td[b-9qk20xa9u9] { padding: .45rem .7rem; border-bottom: 1px solid #f3f1f9; color: #334155; }
.ge-table tbody tr:hover td[b-9qk20xa9u9] { background: #f7f4fd; }
.ge-mono[b-9qk20xa9u9] { font-family: ui-monospace, monospace; font-size: .78rem; color: #5b21b6; }
.ge-nowrap[b-9qk20xa9u9] { white-space: nowrap; }

.ge-typ[b-9qk20xa9u9] {
    display: inline-block; width: 22px; height: 22px; line-height: 22px;
    border-radius: 50%; font-weight: 800; text-align: center;
}
.ge-typ-plus[b-9qk20xa9u9]  { background: #dcfce7; color: #15803d; }
.ge-typ-minus[b-9qk20xa9u9] { background: #fee2e2; color: #b91c1c; }

.ge-ville[b-9qk20xa9u9] {
    display: inline-block; border-radius: 20px; padding: .1rem .55rem;
    font-size: .74rem; font-weight: 700;
}
.ge-ville-tunis[b-9qk20xa9u9] { background: #eff6ff; color: #1d4ed8; }
.ge-ville-sfax[b-9qk20xa9u9]  { background: #ecfeff; color: #0e7490; }

.text-center[b-9qk20xa9u9] { text-align: center !important; }

/* ===== LOADING / EMPTY ===== */
.ge-loading[b-9qk20xa9u9] { display: flex; align-items: center; gap: 10px; padding: 1.6rem 1rem; color: #6b7280; font-size: .9rem; }
.ge-spinner[b-9qk20xa9u9] {
    width: 20px; height: 20px; border: 3px solid #e5e7eb; border-top-color: #7c3aed;
    border-radius: 50%; animation: ge-spin-b-9qk20xa9u9 .7s linear infinite;
}
@keyframes ge-spin-b-9qk20xa9u9 { to { transform: rotate(360deg); } }
.ge-empty[b-9qk20xa9u9] {
    text-align: center; padding: 2.5rem 1rem; color: #94a3b8;
    background: #fafafa; border: 1px dashed #e2e8f0; border-radius: 12px; font-size: .9rem;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .ge-filter-groups[b-9qk20xa9u9] { grid-template-columns: 1fr; }
    .ge-filter-top[b-9qk20xa9u9] { gap: 14px; }
    .ge-count[b-9qk20xa9u9] { margin-left: 0; width: 100%; }
}

/* ═══════════════ CONSTRUCTEUR D'EXPRESSION ═══════════════ */
.ge-builder-top[b-9qk20xa9u9] { display: flex; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 12px; }
.ge-legend[b-9qk20xa9u9] { font-size: .76rem; color: #94a3b8; padding-bottom: 4px; }
.ge-legend strong[b-9qk20xa9u9] { color: #6d28d9; }

.ge-rules[b-9qk20xa9u9] { display: flex; flex-direction: column; gap: 8px; }
.ge-rule[b-9qk20xa9u9] {
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    background: #faf9fe; border: 1px solid #f0edf9; border-radius: 10px;
    padding: 7px 10px;
}
.ge-rule-where[b-9qk20xa9u9] {
    font-weight: 800; color: #5b21b6; font-size: .8rem;
    background: #ede9fe; border-radius: 6px; padding: .25rem .55rem;
}
.ge-mini[b-9qk20xa9u9] {
    border: 1px solid #d8d2ee; border-radius: 8px;
    padding: .35rem .5rem; font-size: .82rem; color: #1e293b;
    background: white; outline: none;
}
.ge-mini:focus[b-9qk20xa9u9] { border-color: #7c3aed; box-shadow: 0 0 0 2px #ede9fe; }
.ge-connector[b-9qk20xa9u9] { font-weight: 800; color: #5b21b6; background: #f5f3ff; }
.ge-val[b-9qk20xa9u9] { min-width: 150px; }

.ge-paren[b-9qk20xa9u9] {
    display: flex; align-items: center; gap: 3px;
    font-weight: 900; color: #7c3aed; font-size: .95rem;
    cursor: pointer; user-select: none;
}
.ge-not[b-9qk20xa9u9] {
    display: flex; align-items: center; gap: 3px;
    font-size: .74rem; font-weight: 700; color: #64748b;
    border: 1px solid #e2e8f0; border-radius: 16px; padding: .2rem .5rem; cursor: pointer;
}
.ge-not.active[b-9qk20xa9u9] { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }

.ge-rule-del[b-9qk20xa9u9] {
    margin-left: auto; background: none; border: none; cursor: pointer;
    font-size: .9rem; opacity: .6; transition: opacity .15s;
}
.ge-rule-del:hover[b-9qk20xa9u9] { opacity: 1; }

.ge-add-rule[b-9qk20xa9u9] {
    margin-top: 10px;
    background: #ede9fe; color: #5b21b6; border: 1px dashed #c4b5fd;
    border-radius: 10px; padding: .5rem 1rem; font-size: .82rem; font-weight: 700; cursor: pointer;
}
.ge-add-rule:hover[b-9qk20xa9u9] { background: #ddd6fe; }

.ge-preview[b-9qk20xa9u9] {
    margin-top: 12px; background: #1e1b2e; color: #e9d5ff;
    border-radius: 10px; padding: .7rem 1rem; font-size: .82rem;
    display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap;
}
.ge-preview-label[b-9qk20xa9u9] { color: #a78bfa; font-weight: 700; flex-shrink: 0; }
.ge-preview code[b-9qk20xa9u9] { font-family: ui-monospace, monospace; color: #f0e9ff; }

.ge-error[b-9qk20xa9u9] {
    margin-top: 10px; background: #fef2f2; color: #b91c1c;
    border: 1px solid #fecaca; border-radius: 8px; padding: .6rem .9rem; font-size: .84rem; font-weight: 600;
}

.ge-btn-excel[b-9qk20xa9u9] {
    background: #ecfdf5; color: #15803d; border: 1px solid #bbf7d0;
    border-radius: 11px; padding: .55rem 1rem; font-size: .84rem; font-weight: 700; cursor: pointer;
}
.ge-btn-excel:hover[b-9qk20xa9u9] { background: #d1fae5; }
.ge-btn-excel:disabled[b-9qk20xa9u9] { opacity: .5; cursor: not-allowed; }
/* _content/TransactionAtlas.Web/Components/Pages/GestionAcces.razor.rz.scp.css */
/* ══ HEADER ══ */
.ga-header[b-jqchjw9wo7] {
    background: linear-gradient(135deg, #1a237e, #283593);
    color: white; padding: 18px 22px; border-radius: 14px; margin-bottom: 16px;
}
.ga-header h1[b-jqchjw9wo7]  { margin: 0; font-size: 1.3rem; }
.ga-header span[b-jqchjw9wo7]{ font-size: .82rem; opacity: .8; display: block; margin-top: 3px; }
.ga-forbidden[b-jqchjw9wo7]  { text-align: center; padding: 60px; font-size: 1.1rem; color: #c62828; font-weight: 600; }

/* ══ MESSAGES ══ */
.ga-loading[b-jqchjw9wo7] { display: flex; align-items: center; gap: 10px; padding: 30px; color: #666; }
.ga-spinner[b-jqchjw9wo7] { width: 22px; height: 22px; border: 3px solid #e8eaf6; border-top-color: #1a237e; border-radius: 50%; animation: gaspin-b-jqchjw9wo7 1s linear infinite; }
@keyframes gaspin-b-jqchjw9wo7 { to { transform: rotate(360deg); } }
.ga-alert[b-jqchjw9wo7]   { background: #ffebee; color: #c62828; padding: 12px 16px; border-radius: 10px; margin-bottom: 12px; font-weight: 600; }
.ga-success[b-jqchjw9wo7] { background: #e8f5e9; color: #2e7d32; padding: 12px 16px; border-radius: 10px; margin-bottom: 12px; font-weight: 600; }

/* ══ LAYOUT 2 PANNEAUX ══ */
/* La règle grid est dans le composant via <style> pour contourner le scoping Blazor */

/* ══ PANNEAU UTILISATEURS ══ */
.ga-panel-users[b-jqchjw9wo7] {
    background: white; border-radius: 14px;
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    display: flex; flex-direction: column; overflow: hidden;
    max-height: calc(100vh - 160px); min-height: 300px;
}
.ga-panel-title[b-jqchjw9wo7] {
    padding: 14px 16px 10px; font-weight: 700; font-size: .9rem;
    color: #1a237e; border-bottom: 1px solid #eee;
}
.ga-search[b-jqchjw9wo7] { padding: 10px 12px; border-bottom: 1px solid #f0f0f0; }
.ga-search-input[b-jqchjw9wo7] {
    width: 100%; border: 1.5px solid #e0e0e0; border-radius: 10px;
    padding: 8px 12px; font-size: .85rem; outline: none; box-sizing: border-box;
}
.ga-search-input:focus[b-jqchjw9wo7] { border-color: #1a237e; }

.ga-user-list[b-jqchjw9wo7] { overflow-y: auto; flex: 1; }

.ga-user-card[b-jqchjw9wo7] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 14px; cursor: pointer; border-bottom: 1px solid #f5f5f5;
    transition: background .15s;
}
.ga-user-card:hover[b-jqchjw9wo7]              { background: #f5f6ff; }
.ga-user-card.selected[b-jqchjw9wo7]           { background: #e8eaf6; border-left: 3px solid #1a237e; }
.ga-user-card.ga-admin[b-jqchjw9wo7]           { border-left: 3px solid #e65100; }
.ga-user-card.ga-admin.selected[b-jqchjw9wo7]  { background: #fff3e0; }
.ga-user-id[b-jqchjw9wo7]  { font-weight: 700; font-size: .88rem; color: #1a237e; }
.ga-user-nom[b-jqchjw9wo7] { font-size: .78rem; color: #888; margin-top: 2px; }

.ga-badge-admin[b-jqchjw9wo7]  { background: #fce4ec; color: #880e4f; border-radius: 10px; padding: 2px 8px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.ga-badge-routes[b-jqchjw9wo7] { background: #e8f5e9; color: #2e7d32; border-radius: 10px; padding: 2px 8px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.ga-badge-none[b-jqchjw9wo7]   { background: #ffebee; color: #c62828; border-radius: 10px; padding: 2px 8px; font-size: .72rem; font-weight: 700; white-space: nowrap; }

/* ══ PANNEAU PERMISSIONS ══ */
.ga-panel-perms[b-jqchjw9wo7] {
    background: white; border-radius: 14px;
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    display: flex; flex-direction: column; overflow: hidden;
    max-height: calc(100vh - 160px); overflow-y: auto;
}

.ga-empty-select[b-jqchjw9wo7] {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 60px 20px; color: #bbb; text-align: center;
}
.ga-empty-icon[b-jqchjw9wo7] { font-size: 3rem; margin-bottom: 12px; }
.ga-empty-select p[b-jqchjw9wo7] { font-size: .95rem; }

/* Header permissions */
.ga-perms-header[b-jqchjw9wo7] {
    display: flex; justify-content: space-between; align-items: flex-start;
    padding: 16px 20px 12px; border-bottom: 2px solid #e8eaf6;
    position: sticky; top: 0; background: white; z-index: 1; flex-wrap: wrap; gap: 10px;
}
.ga-perms-title[b-jqchjw9wo7] { font-size: 1rem; font-weight: 700; color: #1a237e; }
.ga-perms-nom[b-jqchjw9wo7]   { font-weight: 400; color: #666; font-size: .9rem; }
.ga-perms-sub[b-jqchjw9wo7]   { font-size: .8rem; color: #888; margin-top: 3px; }
.ga-admin-note[b-jqchjw9wo7]  { font-size: .82rem; color: #2e7d32; font-weight: 600; margin-top: 4px; }

.ga-quick-btns[b-jqchjw9wo7] { display: flex; gap: 6px; flex-shrink: 0; }
.ga-btn-all[b-jqchjw9wo7], .ga-btn-none[b-jqchjw9wo7] {
    border: 1.5px solid #c5cae9; border-radius: 8px;
    padding: 5px 12px; font-size: .8rem; font-weight: 600; cursor: pointer;
    background: white; color: #1a237e; transition: all .15s;
}
.ga-btn-all:hover[b-jqchjw9wo7]  { background: #e8eaf6; }
.ga-btn-none:hover[b-jqchjw9wo7] { background: #ffebee; color: #c62828; border-color: #ef9a9a; }

/* Groupes de pages */
.ga-perm-group[b-jqchjw9wo7] { padding: 12px 20px 6px; border-bottom: 1px solid #f0f0f0; }
.ga-group-title[b-jqchjw9wo7] {
    font-size: .75rem; font-weight: 700; color: #5c6bc0;
    text-transform: uppercase; letter-spacing: .5px; margin-bottom: 8px;
}
.ga-perm-items[b-jqchjw9wo7] { display: flex; flex-direction: column; gap: 4px; }

.ga-perm-item[b-jqchjw9wo7] {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px; border-radius: 10px; cursor: pointer;
    border: 1.5px solid transparent; transition: all .15s; font-weight: 400;
}
.ga-perm-item:hover[b-jqchjw9wo7]      { background: #f5f6ff; border-color: #c5cae9; }
.ga-perm-item.checked[b-jqchjw9wo7]    { background: #e8eaf6; border-color: #9fa8da; }
.ga-perm-item.locked[b-jqchjw9wo7]     { cursor: default; opacity: .75; }
.ga-perm-item input[type=checkbox][b-jqchjw9wo7] {
    width: 17px; height: 17px; accent-color: #1a237e; flex-shrink: 0; cursor: pointer;
}
.ga-perm-item.locked input[b-jqchjw9wo7] { cursor: default; }
.ga-perm-icon[b-jqchjw9wo7]  { font-size: 1.1rem; flex-shrink: 0; }
.ga-perm-label[b-jqchjw9wo7] { font-size: .88rem; font-weight: 600; color: #333; flex: 1; }
.ga-perm-route[b-jqchjw9wo7] { font-size: .75rem; color: #aaa; font-family: monospace; margin-left: auto; }

/* Barre de sauvegarde */
.ga-save-bar[b-jqchjw9wo7] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 20px; border-top: 2px solid #e8eaf6;
    position: sticky; bottom: 0; background: white; flex-wrap: wrap; gap: 10px;
}
.ga-save-info[b-jqchjw9wo7] { font-size: .85rem; color: #555; }
.ga-btn-save[b-jqchjw9wo7] {
    background: linear-gradient(90deg, #1a237e, #283593); color: white;
    border: none; border-radius: 10px; padding: 10px 24px;
    font-weight: 700; cursor: pointer; font-size: .88rem; white-space: nowrap;
}
.ga-btn-save:hover[b-jqchjw9wo7]    { opacity: .9; }
.ga-btn-save:disabled[b-jqchjw9wo7] { opacity: .6; cursor: not-allowed; }
/* _content/TransactionAtlas.Web/Components/Pages/Historique.razor.rz.scp.css */
/* ===== HEADER ===== */
.hist-header[b-18u9v29pb7] {
    background: linear-gradient(135deg, #4A148C, #7B1FA2);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(74,20,140,0.35);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.hist-header h1[b-18u9v29pb7] {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
}

.hist-header span[b-18u9v29pb7] {
    font-size: 0.82rem;
    color: #CE93D8;
}

/* ===== TOOLBAR ===== */
.hist-toolbar[b-18u9v29pb7] {
    background: white;
    padding: 0.8rem 1.2rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    flex-wrap: wrap;
}

.hist-periode[b-18u9v29pb7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.hist-periode label[b-18u9v29pb7] {
    font-weight: 600;
    color: #4A148C;
    font-size: 0.9rem;
}

.hist-select[b-18u9v29pb7] {
    border: 1.5px solid #CE93D8;
    border-radius: 6px;
    padding: 0.4rem 0.7rem;
    font-size: 0.9rem;
    color: #333;
    outline: none;
    min-width: 160px;
}

.hist-select:focus[b-18u9v29pb7] { border-color: #7B1FA2; }

.hist-vues[b-18u9v29pb7] {
    display: flex;
    gap: 0;
    border: 1.5px solid #CE93D8;
    border-radius: 8px;
    overflow: hidden;
}

.hist-vue-btn[b-18u9v29pb7] {
    padding: 0.4rem 0.9rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    background: white;
    color: #4A148C;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.hist-vue-btn:not(:last-child)[b-18u9v29pb7] {
    border-right: 1.5px solid #CE93D8;
}

.hist-vue-active[b-18u9v29pb7] {
    background: #4A148C;
    color: white;
}

.hist-vue-btn:hover:not(.hist-vue-active)[b-18u9v29pb7] {
    background: #F3E5F5;
}

/* ===== LOADING ===== */
.hist-loading[b-18u9v29pb7] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 1.5rem;
    color: #4A148C;
    font-size: 0.95rem;
}

.hist-spinner[b-18u9v29pb7] {
    width: 22px;
    height: 22px;
    border: 3px solid #CE93D8;
    border-top-color: #4A148C;
    border-radius: 50%;
    animation: histSpin-b-18u9v29pb7 0.8s linear infinite;
}

@keyframes histSpin-b-18u9v29pb7 {
    to { transform: rotate(360deg); }
}

/* ===== SECTION HEADER + LEGEND CHECKBOXES ===== */
.hist-section-header[b-18u9v29pb7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.75rem;
}

.hist-section-title[b-18u9v29pb7] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #4A148C;
}

.hist-legend-row[b-18u9v29pb7] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.hist-legend-item[b-18u9v29pb7] {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    cursor: pointer;
    user-select: none;
    font-size: 0.82rem;
    font-weight: 600;
    color: #444;
}

.hist-legend-check[b-18u9v29pb7] {
    width: 15px;
    height: 15px;
    cursor: pointer;
    accent-color: #4A148C;
}

.hist-legend-dot[b-18u9v29pb7] {
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    flex-shrink: 0;
}

.hist-dot-total[b-18u9v29pb7] { background: #2E7D32; }
.hist-dot-sfax[b-18u9v29pb7]  { background: #FF9800; }
.hist-dot-tunis[b-18u9v29pb7] { background: #42A5F5; }

/* Pastilles Vue par Activité */
.hist-dot-parc-tunis[b-18u9v29pb7] { background: #7B1FA2; }
.hist-dot-parc-sfax[b-18u9v29pb7]  { background: #FF9800; }
.hist-dot-padel[b-18u9v29pb7]      { background: #26A69A; }

.hist-legend-label[b-18u9v29pb7] { white-space: nowrap; }

/* ===== GRAPHIQUE Chart.js ===== */
.hist-chart-card[b-18u9v29pb7] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    padding: 1.2rem;
    margin-bottom: 1.2rem;
}

.hist-chart-title[b-18u9v29pb7] {
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: #333;
    margin: 0 0 0.8rem;
}

.hist-chart-wrap[b-18u9v29pb7] {
    position: relative;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

/* ===== TABLEAU ===== */
.hist-table-card[b-18u9v29pb7] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.hist-table-scroll[b-18u9v29pb7] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.hist-table[b-18u9v29pb7] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.hist-table thead tr[b-18u9v29pb7] {
    background: linear-gradient(135deg, #4A148C, #6A1B9A);
    color: white;
}

.hist-table th[b-18u9v29pb7] {
    padding: 0.5rem 0.6rem;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.hist-table td[b-18u9v29pb7] {
    padding: 0.45rem 0.6rem;
    border-bottom: 1px solid #F0F0F0;
    color: #37474F;
    white-space: nowrap;
}

.hist-row-alt[b-18u9v29pb7] {
    background: #F8F5FF;
}

.hist-table tbody tr:hover[b-18u9v29pb7] {
    background: #EDE7F6;
}

.hist-td-mois[b-18u9v29pb7] {
    font-weight: 600;
    color: #4A148C;
}

.hist-td-total[b-18u9v29pb7] {
    color: #2E7D32 !important;
    font-weight: 700;
}

.hist-total-row[b-18u9v29pb7] {
    background: #F3E5F5;
}

.hist-total-row td[b-18u9v29pb7] {
    padding: 0.7rem 1rem;
    color: #4A148C;
    border-top: 2px solid #CE93D8;
    font-size: 0.92rem;
}

.text-right[b-18u9v29pb7] { text-align: right; }

/* ===== INDICATEURS % ===== */
.pct-up[b-18u9v29pb7] {
    color: #2E7D32;
    font-size: 0.65rem;
    font-weight: 700;
    white-space: nowrap;
}

.pct-down[b-18u9v29pb7] {
    color: #C62828;
    font-size: 0.65rem;
    font-weight: 700;
    white-space: nowrap;
}

/* ===== RESPONSIVE TABLETTE ===== */
@media (max-width: 768px) {
    .hist-section-header[b-18u9v29pb7] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .hist-legend-row[b-18u9v29pb7] { gap: 0.6rem; }

    .hist-header[b-18u9v29pb7] {
        padding: 0.8rem 1rem;
        flex-direction: column;
        align-items: flex-start;
    }

    .hist-header h1[b-18u9v29pb7] { font-size: 1.05rem; }

    .hist-toolbar[b-18u9v29pb7] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
        padding: 0.6rem 0.8rem;
    }

    .hist-periode[b-18u9v29pb7] { width: 100%; }
    .hist-select[b-18u9v29pb7] { flex: 1; min-width: 0; }

    .hist-vues[b-18u9v29pb7] { width: 100%; }

    .hist-vue-btn[b-18u9v29pb7] {
        flex: 1;
        text-align: center;
        padding: 0.45rem 0.5rem;
        font-size: 0.78rem;
    }

    .hist-chart-card[b-18u9v29pb7] {
        padding: 0.6rem;
        border-radius: 10px;
    }

    .hist-chart-title[b-18u9v29pb7] { font-size: 0.9rem; }

    .hist-table th[b-18u9v29pb7] {
        padding: 0.5rem 0.6rem;
        font-size: 0.78rem;
    }

    .hist-table td[b-18u9v29pb7] {
        padding: 0.45rem 0.6rem;
        font-size: 0.8rem;
    }

    .hist-total-row td[b-18u9v29pb7] {
        padding: 0.5rem 0.6rem;
        font-size: 0.82rem;
    }
}

/* ===== RESPONSIVE MOBILE ===== */
@media (max-width: 480px) {
    .hist-section-title[b-18u9v29pb7] { font-size: 0.88rem; }
    .hist-legend-item[b-18u9v29pb7] { font-size: 0.74rem; }
    .hist-legend-dot[b-18u9v29pb7] { width: 9px; height: 9px; }
    .hist-legend-row[b-18u9v29pb7] { gap: 0.45rem; }

    .hist-header[b-18u9v29pb7] {
        padding: 0.7rem 0.8rem;
        border-radius: 8px;
    }

    .hist-header h1[b-18u9v29pb7] { font-size: 0.92rem; }
    .hist-header span[b-18u9v29pb7] { font-size: 0.72rem; }

    .hist-toolbar[b-18u9v29pb7] {
        padding: 0.5rem 0.6rem;
        border-radius: 8px;
        gap: 0.4rem;
    }

    .hist-periode label[b-18u9v29pb7] { font-size: 0.8rem; }
    .hist-select[b-18u9v29pb7] { font-size: 0.82rem; padding: 0.35rem 0.5rem; }

    .hist-vue-btn[b-18u9v29pb7] {
        font-size: 0.72rem;
        padding: 0.35rem 0.3rem;
    }

    .hist-chart-card[b-18u9v29pb7] {
        padding: 0.4rem;
        margin-bottom: 0.8rem;
    }

    .hist-chart-title[b-18u9v29pb7] { font-size: 0.82rem; margin-bottom: 0.4rem; }

    .hist-table-card[b-18u9v29pb7] {
        border-radius: 8px;
        margin-bottom: 1rem;
    }

    .hist-table[b-18u9v29pb7] { min-width: 340px; }

    .hist-table th[b-18u9v29pb7] {
        padding: 0.4rem 0.4rem;
        font-size: 0.7rem;
    }

    .hist-table td[b-18u9v29pb7] {
        padding: 0.35rem 0.4rem;
        font-size: 0.72rem;
    }

    .hist-td-mois[b-18u9v29pb7] { font-size: 0.72rem; }

    .hist-total-row td[b-18u9v29pb7] {
        padding: 0.4rem 0.4rem;
        font-size: 0.74rem;
    }
}
/* _content/TransactionAtlas.Web/Components/Pages/HistoriqueSalaire.razor.rz.scp.css */
/* ===== HEADER ===== */
.hs-header[b-tb21lklevf] {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
    padding: 1.1rem 1.4rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(27,94,32,.38);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}
.hs-header-left[b-tb21lklevf] { display: flex; align-items: center; gap: 14px; }
.hs-header-icon[b-tb21lklevf] { font-size: 2rem; }
.hs-header h1[b-tb21lklevf]   { font-size: 1.3rem; font-weight: 800; margin: 0; }
.hs-header span[b-tb21lklevf] { font-size: .82rem; opacity: .85; }

/* Ville tabs */
.hs-ville-tabs[b-tb21lklevf]  { display: flex; gap: 8px; }
.hs-ville-btn[b-tb21lklevf] {
    color: rgba(255,255,255,.75);
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 20px;
    padding: .38rem 1rem;
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .18s;
}
.hs-ville-btn:hover[b-tb21lklevf], .hs-ville-active[b-tb21lklevf] {
    background: rgba(255,255,255,.25) !important;
    color: white !important;
}

/* ===== SECTION TITLE ===== */
.hs-section-title[b-tb21lklevf] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .92rem;
    font-weight: 700;
    color: #1B5E20;
    background: #E8F5E9;
    border-left: 4px solid #2E7D32;
    padding: 8px 14px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 10px;
}

/* ===== TOOLBAR ===== */
.hs-toolbar[b-tb21lklevf] {
    background: #f5f7fa;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: .65rem 1rem;
    margin-bottom: .8rem;
}
.hs-toolbar-dates[b-tb21lklevf] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.hs-field[b-tb21lklevf]         { display: flex; align-items: center; gap: 6px; }
.hs-field label[b-tb21lklevf]   { font-size: .82rem; font-weight: 600; color: #455; white-space: nowrap; }
.hs-input[b-tb21lklevf] {
    border: 1.5px solid #b0bec5;
    border-radius: 7px;
    padding: .3rem .55rem;
    font-size: .82rem;
    color: #263238;
    background: white;
    outline: none;
    transition: border .15s;
}
.hs-input:focus[b-tb21lklevf] { border-color: #2E7D32; }

.hs-btn-search[b-tb21lklevf], .hs-btn-print[b-tb21lklevf] {
    border: none;
    border-radius: 8px;
    padding: .38rem .95rem;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity .18s;
}
.hs-btn-search[b-tb21lklevf] { background: linear-gradient(90deg,#1B5E20,#2E7D32); color: white; }
.hs-btn-print[b-tb21lklevf]  { background: linear-gradient(90deg,#1565C0,#1976D2); color: white; }
.hs-btn-search:hover[b-tb21lklevf], .hs-btn-print:hover[b-tb21lklevf] { opacity: .87; }
.hs-btn-search:disabled[b-tb21lklevf], .hs-btn-print:disabled[b-tb21lklevf] { opacity: .45; cursor: not-allowed; }

/* ===== INFO BAR ===== */
.hs-info-bar[b-tb21lklevf] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    background: #f0f4f8;
    border: 1px solid #dde3ea;
    border-radius: 8px;
    padding: .45rem .9rem;
    font-size: .84rem;
    color: #37474f;
    margin-bottom: .75rem;
}
.hs-sep[b-tb21lklevf] { color: #b0bec5; }

/* ===== CARD / TABLE ===== */
.hs-card[b-tb21lklevf] {
    background: white;
    border: 1px solid #e0e4ea;
    border-radius: 10px;
    margin-bottom: .85rem;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.hs-table-scroll[b-tb21lklevf] { overflow-x: auto; }
.hs-table[b-tb21lklevf] {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;
}
.hs-table thead th[b-tb21lklevf] {
    background: #263238;
    color: white;
    padding: .5rem .7rem;
    text-align: left;
    font-weight: 600;
    font-size: .78rem;
    white-space: nowrap;
}
.hs-table tbody td[b-tb21lklevf] {
    padding: .4rem .7rem;
    border-bottom: 1px solid #f0f0f0;
    color: #263238;
}
.hs-row-alt td[b-tb21lklevf]  { background: #f9fafb; }
.hs-row-hover:hover td[b-tb21lklevf] { background: #e8f5e9 !important; }
.hs-row-selected td[b-tb21lklevf] { background: #c8e6c9 !important; font-weight: 600; }

.hs-td-num[b-tb21lklevf]   { width: 40px;  text-align: center; color: #90a4ae; font-size: .74rem; }
.hs-td-mat[b-tb21lklevf]   { font-family: monospace; font-size: .8rem; color: #1565C0; }
.hs-td-nom[b-tb21lklevf]   { font-weight: 500; }
.hs-td-small[b-tb21lklevf] { font-size: .78rem; color: #78909c; white-space: nowrap; }
.hs-badge[b-tb21lklevf] {
    display: inline-block;
    background: #E3F2FD;
    color: #1565C0;
    border-radius: 12px;
    padding: 2px 10px;
    font-size: .76rem;
    font-weight: 700;
}

/* Salary table specifics */
.hs-table-sal .hs-th-num[b-tb21lklevf]  { width: 36px; }
.hs-sans[b-tb21lklevf]   { color: #E65100; }
.hs-avance[b-tb21lklevf] { color: #C62828; }
.hs-final[b-tb21lklevf]  { color: #1B5E20; font-size: .9rem; }

.hs-table tfoot td[b-tb21lklevf] {
    padding: .4rem .7rem;
    background: #eceff1;
    border-top: 2px solid #cfd8dc;
    font-size: .82rem;
}
.hs-foot-final[b-tb21lklevf] { color: #1B5E20; font-size: .9rem; }

/* ===== GROUP HEADER ===== */
.hs-group-header[b-tb21lklevf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #263238;
    color: white;
    padding: .45rem 1rem;
    border-radius: 8px 8px 0 0;
    margin-top: 14px;
    flex-wrap: wrap;
    gap: 8px;
}
.hs-group-title[b-tb21lklevf] { font-size: .9rem; font-weight: 700; color: #EF9A9A; }
.hs-group-meta[b-tb21lklevf]  { display: flex; gap: 16px; font-size: .8rem; opacity: .85; }

/* ===== GRAND TOTAL ===== */
.hs-grand-total[b-tb21lklevf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #1B5E20;
    color: white;
    padding: .75rem 1.1rem;
    border-radius: 10px;
    font-weight: 700;
    margin-top: 12px;
    font-size: .92rem;
}
.hs-grand-amount[b-tb21lklevf] { font-size: 1.15rem; }

/* ===== LOAD BUTTON ===== */
.hs-btn-load[b-tb21lklevf] {
    background: #E3F2FD;
    color: #1565C0;
    border: 1px solid #90CAF9;
    border-radius: 7px;
    padding: .3rem .75rem;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
    transition: all .15s;
}
.hs-btn-load:hover[b-tb21lklevf] { background: #1565C0; color: white; }

/* Intégration Salaire */
.hs-btn-integrer[b-tb21lklevf] {
    background: linear-gradient(180deg, #43A047, #2E7D32); color: #fff;
    border: none; border-radius: 7px; padding: .3rem .8rem;
    font-size: .78rem; font-weight: 700; cursor: pointer;
}
.hs-btn-integrer:hover[b-tb21lklevf] { filter: brightness(1.08); }
.hs-btn-integrer:disabled[b-tb21lklevf] { opacity: .5; cursor: not-allowed; filter: grayscale(.3); }
.hs-btn-integre[b-tb21lklevf] {
    background: #E8F5E9; color: #2E7D32; border: 1px solid #A5D6A7;
    border-radius: 7px; padding: .3rem .8rem; font-size: .78rem; font-weight: 700;
    cursor: not-allowed;
}
.hs-integ-msg[b-tb21lklevf] {
    border-radius: 8px; padding: .55rem .85rem; margin-bottom: 10px;
    font-size: .82rem; font-weight: 600;
}
.hs-integ-ok[b-tb21lklevf]  { background: #E8F5E9; color: #2E7D32; border: 1px solid #A5D6A7; }
.hs-integ-err[b-tb21lklevf] { background: #FFEBEE; color: #C62828; border: 1px solid #EF9A9A; }

/* ===== LOADING / EMPTY ===== */
.hs-loading[b-tb21lklevf] {
    display: flex; align-items: center; gap: 10px;
    padding: 1.5rem 1rem; color: #546E7A; font-size: .88rem;
}
.hs-spinner[b-tb21lklevf] {
    width: 20px; height: 20px;
    border: 3px solid #e0e0e0;
    border-top-color: #2E7D32;
    border-radius: 50%;
    animation: hs-spin-b-tb21lklevf .7s linear infinite;
}
@keyframes hs-spin-b-tb21lklevf { to { transform: rotate(360deg); } }

.hs-empty[b-tb21lklevf] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #78909C;
    background: #fafafa;
    border: 1px dashed #cfd8dc;
    border-radius: 10px;
    font-size: .88rem;
    margin-bottom: .85rem;
}

.text-right[b-tb21lklevf] { text-align: right !important; }
/* _content/TransactionAtlas.Web/Components/Pages/Home.razor.rz.scp.css */
/* ===== GRILLE 4 GRANDES CARTES ACCUEIL ===== */
.home-cards-grid[b-w4f8rhpsne] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem;
    margin-top: 1.5rem;
}

.home-card[b-w4f8rhpsne] {
    border-radius: 18px;
    padding: 2rem 1.5rem;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 6px 24px rgba(0,0,0,0.18);
    transition: transform 0.18s, box-shadow 0.18s;
    min-height: 200px;
}

.home-card-tunis[b-w4f8rhpsne],
.home-card-sfax[b-w4f8rhpsne] {
    cursor: pointer;
}

.home-card-tunis:hover[b-w4f8rhpsne],
.home-card-sfax:hover[b-w4f8rhpsne] {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.28);
}

.home-card-tunis[b-w4f8rhpsne]  { background: linear-gradient(145deg, #1565C0, #1976D2); }
.home-card-sfax[b-w4f8rhpsne]   { background: linear-gradient(145deg, #0277BD, #0288D1); }
.home-card-total[b-w4f8rhpsne]  { background: linear-gradient(145deg, #1B5E20, #2E7D32); }
.home-card-padel[b-w4f8rhpsne]  { background: linear-gradient(145deg, #4A148C, #7B1FA2); }

.home-card-icon[b-w4f8rhpsne] {
    font-size: 2.4rem;
    margin-bottom: 0.5rem;
}

.home-card-city[b-w4f8rhpsne] {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.9;
    margin-bottom: 0.6rem;
}

.home-card-amount[b-w4f8rhpsne] {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 0.2rem;
}

.home-card-unit[b-w4f8rhpsne] {
    font-size: 1rem;
    opacity: 0.8;
    margin-bottom: 0.8rem;
}

.home-card-hint[b-w4f8rhpsne] {
    font-size: 0.75rem;
    opacity: 0.65;
    font-style: italic;
}

/* ===== MOBILE / DESKTOP TOGGLES ===== */
.mobile-only[b-w4f8rhpsne]  { display: none; }
.desktop-only[b-w4f8rhpsne] { display: grid; }

@media (max-width: 768px) {
    .mobile-only[b-w4f8rhpsne]  { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
    .desktop-only[b-w4f8rhpsne] { display: none !important; }

    .dash-header[b-w4f8rhpsne] { flex-direction: column; gap: 0.6rem; padding: 0.8rem 1rem; }
    .dash-header h1[b-w4f8rhpsne] { font-size: 1.1rem; }
    .header-notes-zone[b-w4f8rhpsne] { max-width: 100%; }

    .date-bar[b-w4f8rhpsne] { flex-wrap: wrap; gap: 0.4rem; padding: 0.6rem 0.8rem; }
    .date-bar label[b-w4f8rhpsne] { font-size: 0.82rem; }
    .date-input[b-w4f8rhpsne] { font-size: 0.82rem; padding: 0.3rem 0.4rem; }
    .btn-refresh[b-w4f8rhpsne] { padding: 0.35rem 0.8rem; font-size: 0.8rem; }
}

/* ===== CARTES MOBILES (style image) ===== */
.mob-card[b-w4f8rhpsne] {
    border-radius: 18px;
    padding: 1.4rem;
    color: white;
    cursor: pointer;
    box-shadow: 0 6px 24px rgba(0,0,0,0.22);
    transition: transform 0.15s;
}

.mob-card:active[b-w4f8rhpsne] { transform: scale(0.98); }

.mob-card-sfax[b-w4f8rhpsne]  { background: linear-gradient(145deg, #1a1a5c, #2d2d8a); }
.mob-card-tunis[b-w4f8rhpsne] { background: linear-gradient(145deg, #1B5E20, #2E7D32); }

.mob-card-head[b-w4f8rhpsne] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.mob-icon[b-w4f8rhpsne] { font-size: 1.6rem; }

.mob-city[b-w4f8rhpsne] {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.9;
}

.mob-ca[b-w4f8rhpsne] {
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    margin: 0.3rem 0 0.1rem;
}

.mob-ca-label[b-w4f8rhpsne] {
    text-align: center;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.7;
    margin-bottom: 0.8rem;
}

.mob-cumuls[b-w4f8rhpsne] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.mob-cumul-row[b-w4f8rhpsne] {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    background: rgba(255,255,255,0.1);
    padding: 0.45rem 0.7rem;
    border-radius: 10px;
}

/* Ligne du haut : label + % */
.mob-cumul-top[b-w4f8rhpsne] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
}

.mob-cumul-label[b-w4f8rhpsne] {
    font-size: 0.62rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.75;
}

.mob-pct[b-w4f8rhpsne] {
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Ligne du bas : valeur N  /  N-1  valeur N-1 */
.mob-cumul-vals[b-w4f8rhpsne] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.mob-cumul-val[b-w4f8rhpsne] {
    font-size: 0.92rem;
    font-weight: 800;
}

.mob-cumul-sep[b-w4f8rhpsne] {
    font-size: 0.62rem;
    opacity: 0.55;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mob-cumul-val-n1[b-w4f8rhpsne] {
    font-size: 0.82rem;
    font-weight: 600;
    opacity: 0.72;
}

.mob-pct-up[b-w4f8rhpsne]   { color: #76FF03; }
.mob-pct-down[b-w4f8rhpsne] { color: #FF5252; }

.mob-btn[b-w4f8rhpsne] {
    background: rgba(255,255,255,0.22);
    text-align: center;
    padding: 0.55rem;
    border-radius: 25px;
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
}

@media (min-width: 769px) {
    .home-cards-grid[b-w4f8rhpsne] { grid-template-columns: repeat(4, 1fr); }
}

/* ===== STYLES COMMUNS ===== */

/* Header */
.dash-header[b-w4f8rhpsne] {
    background: linear-gradient(135deg, #1A237E, #283593);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    box-shadow: 0 4px 12px rgba(26,35,126,0.3);
    flex-wrap: wrap;
    gap: 0.6rem;
}

.dash-header h1[b-w4f8rhpsne] {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 700;
}

.dash-header span[b-w4f8rhpsne] {
    font-size: 0.85rem;
    color: #90CAF9;
}

/* ===== NOTES DU JOUR (header) ===== */
.header-notes-zone[b-w4f8rhpsne] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
    justify-content: flex-end;
}

.header-note-badge[b-w4f8rhpsne] {
    font-size: 0.78rem;
    padding: 0.35rem 0.7rem;
    border-radius: 10px;
    background: rgba(255,255,255,0.18);
    color: white;
    white-space: normal;
    word-break: break-word;
    line-height: 1.4;
}

.note-tunis[b-w4f8rhpsne] { border-left: 3px solid #90CAF9; }
.note-sfax[b-w4f8rhpsne]  { border-left: 3px solid #4FC3F7; }

.note-ville-tag[b-w4f8rhpsne] {
    font-weight: 700;
    font-size: 0.68rem;
    text-transform: uppercase;
    opacity: 0.8;
    margin-right: 0.3rem;
}

.btn-note-add[b-w4f8rhpsne] {
    background: rgba(255,255,255,0.2);
    border: 1.5px solid rgba(255,255,255,0.4);
    color: white;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.btn-note-add:hover[b-w4f8rhpsne] { background: rgba(255,255,255,0.35); transform: scale(1.1); }

/* ===== POPUP NOTE ===== */
.note-overlay[b-w4f8rhpsne] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 999;
}

.note-popup[b-w4f8rhpsne] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
    width: 420px;
    max-width: 92vw;
    z-index: 1000;
    overflow: hidden;
}

.note-popup-header[b-w4f8rhpsne] {
    background: linear-gradient(135deg, #1A237E, #283593);
    color: white;
    padding: 0.8rem 1.2rem;
    font-weight: 700;
    font-size: 1rem;
}

.note-popup-body[b-w4f8rhpsne] {
    padding: 1rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.note-popup-body label[b-w4f8rhpsne] {
    font-weight: 600;
    color: #1A237E;
    font-size: 0.88rem;
}

.note-select[b-w4f8rhpsne] {
    border: 1.5px solid #C5CAE9;
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
    font-size: 0.9rem;
    color: #333;
    outline: none;
}

.note-select:focus[b-w4f8rhpsne] { border-color: #1A237E; }

.note-textarea[b-w4f8rhpsne] {
    border: 1.5px solid #C5CAE9;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.9rem;
    color: #333;
    resize: vertical;
    outline: none;
    font-family: inherit;
}

.note-textarea:focus[b-w4f8rhpsne] { border-color: #1A237E; }

.note-popup-footer[b-w4f8rhpsne] {
    padding: 0.7rem 1.2rem;
    display: flex;
    gap: 0.6rem;
    justify-content: flex-end;
    border-top: 1px solid #E8EAF6;
}

.btn-note-save[b-w4f8rhpsne] {
    background: #1A237E;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-size: 0.88rem;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-note-save:hover:not(:disabled)[b-w4f8rhpsne] { background: #283593; }
.btn-note-save:disabled[b-w4f8rhpsne] { opacity: 0.5; cursor: not-allowed; }

.btn-note-cancel[b-w4f8rhpsne] {
    background: #E8EAF6;
    color: #1A237E;
    border: none;
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-size: 0.88rem;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-note-cancel:hover[b-w4f8rhpsne] { background: #C5CAE9; }

/* Barre de date */
.date-bar[b-w4f8rhpsne] {
    background: white;
    padding: 0.8rem 1.2rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.date-bar label[b-w4f8rhpsne] {
    font-weight: 600;
    color: #1A237E;
    font-size: 0.95rem;
}

.date-input[b-w4f8rhpsne] {
    border: 1.5px solid #C5CAE9;
    border-radius: 6px;
    padding: 0.4rem 0.7rem;
    font-size: 0.95rem;
    color: #333;
    outline: none;
}

.date-input:focus[b-w4f8rhpsne] {
    border-color: #1A237E;
}

.btn-day[b-w4f8rhpsne] {
    background: #E8EAF6;
    color: #1A237E;
    border: 1.5px solid #C5CAE9;
    border-radius: 6px;
    padding: 0.35rem 0.6rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    line-height: 1;
}

.btn-day:hover:not(:disabled)[b-w4f8rhpsne] {
    background: #C5CAE9;
    transform: scale(1.08);
}

.btn-day:disabled[b-w4f8rhpsne] {
    opacity: 0.45;
    cursor: not-allowed;
}

.jour-semaine[b-w4f8rhpsne] {
    color: #D32F2F;
    font-weight: 700;
    font-size: 0.92rem;
    font-style: italic;
    letter-spacing: 0.03em;
}

.btn-refresh[b-w4f8rhpsne] {
    background: #1A237E;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.45rem 1.1rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-refresh:hover:not(:disabled)[b-w4f8rhpsne] {
    background: #283593;
}

.btn-refresh:disabled[b-w4f8rhpsne] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Loading */
.loading-bar[b-w4f8rhpsne] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 1rem;
    color: #1A237E;
}

.spinner[b-w4f8rhpsne] {
    width: 22px;
    height: 22px;
    border: 3px solid #C5CAE9;
    border-top-color: #1A237E;
    border-radius: 50%;
    animation: spin-b-w4f8rhpsne 0.8s linear infinite;
}

@keyframes spin-b-w4f8rhpsne {
    to { transform: rotate(360deg); }
}

/* Erreur */
.alert-error[b-w4f8rhpsne] {
    background: #FFEBEE;
    color: #C62828;
    border-left: 4px solid #EF5350;
    border-radius: 6px;
    padding: 0.8rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

/* Cartes totaux */
.cards-row[b-w4f8rhpsne] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.8rem;
    margin-bottom: 1.5rem;
}

.card[b-w4f8rhpsne] {
    border-radius: 12px;
    padding: 1.1rem 1.2rem;
    color: white;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.card-label[b-w4f8rhpsne] {
    font-size: 0.8rem;
    opacity: 0.8;
    margin-bottom: 0.3rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.card-value[b-w4f8rhpsne] {
    font-size: 1.4rem;
    font-weight: 700;
}

.card-tunis[b-w4f8rhpsne]  { background: linear-gradient(135deg, #1565C0, #1976D2); }
.card-sfax[b-w4f8rhpsne]   { background: linear-gradient(135deg, #0277BD, #0288D1); }
.card-total[b-w4f8rhpsne]  { background: linear-gradient(135deg, #1B5E20, #2E7D32); }
.card-padel[b-w4f8rhpsne]  { background: linear-gradient(135deg, #4A148C, #6A1B9A); }

/* Titres de section */
.section-title[b-w4f8rhpsne] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1A237E;
    margin: 0.8rem 0 0.6rem;
    border-left: 4px solid #1A237E;
    padding-left: 0.6rem;
}

/* Deux colonnes */
.two-cols[b-w4f8rhpsne] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
    margin-bottom: 1.5rem;
}

/* Tableau card */
.table-card[b-w4f8rhpsne] {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
}

.table-card.full-width[b-w4f8rhpsne] {
    margin-bottom: 1.5rem;
}

.table-header[b-w4f8rhpsne] {
    padding: 0.6rem 1rem;
    font-weight: 700;
    font-size: 0.95rem;
    text-align: center;
    color: white;
}

.tunis-header[b-w4f8rhpsne] { background: #1565C0; }
.sfax-header[b-w4f8rhpsne]  { background: #0277BD; }

/* Tableau */
.dash-table[b-w4f8rhpsne] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.dash-table thead tr[b-w4f8rhpsne] {
    background: #F5F7FF;
}

.dash-table th[b-w4f8rhpsne] {
    padding: 0.5rem 0.8rem;
    color: #3949AB;
    font-weight: 600;
    border-bottom: 2px solid #E8EAF6;
}

.dash-table td[b-w4f8rhpsne] {
    padding: 0.5rem 0.8rem;
    border-bottom: 1px solid #F0F0F0;
    color: #37474F;
}

.dash-table tbody tr:hover[b-w4f8rhpsne] {
    background: #F8F9FF;
}

.dash-table tfoot .total-row[b-w4f8rhpsne] {
    background: #E8EAF6;
}

.dash-table tfoot td[b-w4f8rhpsne] {
    padding: 0.55rem 0.8rem;
    color: #1A237E;
    border-top: 2px solid #C5CAE9;
}

.text-right[b-w4f8rhpsne] { text-align: right; }

.empty[b-w4f8rhpsne] {
    text-align: center;
    color: #9E9E9E;
    font-style: italic;
    padding: 1rem !important;
}

/* Badges ville */
.badge[b-w4f8rhpsne] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 600;
}

.badge-tunis[b-w4f8rhpsne] { background: #E3F2FD; color: #1565C0; }
.badge-sfax[b-w4f8rhpsne]  { background: #E1F5FE; color: #0277BD; }

/* Accordéon */
.row-accordion[b-w4f8rhpsne] {
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}

.row-accordion:hover[b-w4f8rhpsne] {
    background: #EEF2FF !important;
}

.accordion-icon[b-w4f8rhpsne] {
    display: inline-block;
    width: 1rem;
    font-size: 0.72rem;
    color: #1A237E;
    margin-right: 0.3rem;
    transition: transform 0.2s;
}

.accordion-detail-row[b-w4f8rhpsne] {
    background: #F5F7FF;
    animation: fadeIn-b-w4f8rhpsne 0.2s ease;
}

.accordion-detail-row:hover[b-w4f8rhpsne] {
    background: #EEF2FF !important;
}

.accordion-detail-cell[b-w4f8rhpsne] {
    padding-left: 2rem !important;
    color: #5C6BC0 !important;
    font-style: italic;
    font-size: 0.84rem !important;
}

.accordion-detail-amount[b-w4f8rhpsne] {
    color: #3949AB !important;
    font-weight: 600;
    font-size: 0.84rem !important;
}

@keyframes fadeIn-b-w4f8rhpsne {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== STATISTIQUES ===== */
.stats-section[b-w4f8rhpsne] {
    margin-top: 1.8rem;
}

.stats-title[b-w4f8rhpsne] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1A237E;
    border-left: 4px solid #1A237E;
    padding-left: 0.6rem;
    margin-bottom: 0.8rem;
}

.stats-grid[b-w4f8rhpsne] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.stats-card[b-w4f8rhpsne] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    overflow: hidden;
}

.stats-ville[b-w4f8rhpsne] {
    padding: 0.65rem 1rem;
    font-weight: 700;
    font-size: 1rem;
    color: white;
    letter-spacing: 0.04em;
}

.stats-tunis .stats-ville[b-w4f8rhpsne] { background: linear-gradient(90deg, #1565C0, #1976D2); }
.stats-sfax  .stats-ville[b-w4f8rhpsne] { background: linear-gradient(90deg, #0277BD, #0288D1); }

.stats-rows[b-w4f8rhpsne] {
    padding: 0.5rem 0;
}

.stats-row[b-w4f8rhpsne] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #F0F4FF;
    transition: background 0.12s;
}

.stats-row:last-child[b-w4f8rhpsne] { border-bottom: none; }

.stats-row:hover[b-w4f8rhpsne] { background: #F8F9FF; }

.stats-row-indent .stats-lib[b-w4f8rhpsne] {
    padding-left: 0.6rem;
    color: #5C6BC0;
    font-style: italic;
    font-size: 0.86rem;
}

.stats-lib[b-w4f8rhpsne] {
    color: #455A64;
    font-size: 0.9rem;
}

.stats-val[b-w4f8rhpsne] {
    font-weight: 700;
    font-size: 1.05rem;
    color: #1A237E;
    min-width: 2.5rem;
    text-align: right;
}

.stats-new[b-w4f8rhpsne]  { color: #2E7D32; }
.stats-warn[b-w4f8rhpsne] { color: #E65100; }

/* ===== CA ANNÉE / CA MOIS ===== */
.ca-period-grid[b-w4f8rhpsne] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
    margin-top: 1.5rem;
}

.ca-period-card[b-w4f8rhpsne] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    overflow: hidden;
}

.ca-period-header[b-w4f8rhpsne] {
    padding: 0.7rem 1rem;
    font-weight: 700;
    font-size: 1rem;
    color: white;
    letter-spacing: 0.02em;
}

.ca-annee-header[b-w4f8rhpsne] { background: linear-gradient(135deg, #1B5E20, #2E7D32); }
.ca-mois-header[b-w4f8rhpsne]  { background: linear-gradient(135deg, #4A148C, #7B1FA2); }

/* Ligne ville cliquable (accordéon) */
.ca-annee-ville-row[b-w4f8rhpsne] {
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}

.ca-annee-ville-row:hover[b-w4f8rhpsne] {
    background: #F1F8F1 !important;
}

.ca-annee-icon[b-w4f8rhpsne] {
    display: inline-block;
    font-size: 0.65rem;
    color: #388E3C;
    margin-right: 0.4rem;
    transition: transform 0.2s;
}

/* Lignes détail mensuel */
.ca-annee-detail-row[b-w4f8rhpsne] {
    background: #F5FBF5;
    animation: fadeIn-b-w4f8rhpsne 0.18s ease;
}

.ca-annee-detail-row:hover[b-w4f8rhpsne] {
    background: #E8F5E9 !important;
}

.ca-annee-detail-mois[b-w4f8rhpsne] {
    padding-left: 2.4rem !important;
    color: #2E7D32;
    font-style: italic;
    font-size: 0.84rem !important;
}

.ca-annee-detail-val[b-w4f8rhpsne] {
    color: #1B5E20 !important;
    font-weight: 600;
    font-size: 0.84rem !important;
}

/* Responsive */
@media (max-width: 768px) {
    .cards-row[b-w4f8rhpsne]       { grid-template-columns: repeat(2, 1fr); }
    .two-cols[b-w4f8rhpsne]        { grid-template-columns: 1fr; }
    .stats-grid[b-w4f8rhpsne]      { grid-template-columns: 1fr; }
    .ca-period-grid[b-w4f8rhpsne]  { grid-template-columns: 1fr; }

    .dash-header[b-w4f8rhpsne] {
        flex-direction: column;
        align-items: stretch;
    }

    .dash-header h1[b-w4f8rhpsne] { font-size: 1.2rem; }

    .header-notes-zone[b-w4f8rhpsne] {
        justify-content: flex-start;
        width: 100%;
    }

    .header-note-badge[b-w4f8rhpsne] { font-size: 0.75rem; }

    .date-bar[b-w4f8rhpsne] {
        flex-wrap: wrap;
        gap: 0.5rem;
    }
}
/* _content/TransactionAtlas.Web/Components/Pages/Hotesse.razor.rz.scp.css */
/* ===== HEADER ===== */
.hot-header[b-fif6r2q075] {
    background: linear-gradient(135deg, #4A148C, #7B1FA2);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 4px 12px rgba(74,20,140,0.3);
    flex-wrap: wrap;
    gap: 0.8rem;
}

.hot-header h1[b-fif6r2q075] { margin: 0; font-size: 1.4rem; font-weight: 700; }
.hot-header span[b-fif6r2q075] { font-size: 0.82rem; color: #CE93D8; }

.btn-hot-add[b-fif6r2q075] {
    background: rgba(255,255,255,0.2);
    border: 1.5px solid rgba(255,255,255,0.5);
    color: white;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-hot-add:hover[b-fif6r2q075] { background: rgba(255,255,255,0.35); }

/* ===== SEARCH BAR ===== */
.hot-search-bar[b-fif6r2q075] {
    background: white;
    border-radius: 10px;
    padding: 0.5rem 0.8rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border: 1.5px solid #E1BEE7;
    transition: border-color 0.2s;
}

.hot-search-bar:focus-within[b-fif6r2q075] { border-color: #7B1FA2; }

.hot-search-icon[b-fif6r2q075] { font-size: 1rem; opacity: 0.5; }

.hot-search-input[b-fif6r2q075] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.92rem;
    color: #333;
    background: transparent;
    font-family: inherit;
}

.hot-search-input[b-fif6r2q075]::placeholder { color: #BDBDBD; }

.hot-search-clear[b-fif6r2q075] {
    background: #F3E5F5;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    font-size: 0.72rem;
    color: #7B1FA2;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.hot-search-clear:hover[b-fif6r2q075] { background: #E1BEE7; }

/* ===== LOADING / ERROR ===== */
.hot-loading[b-fif6r2q075] { display: flex; align-items: center; gap: 0.6rem; padding: 1rem; color: #4A148C; }
.hot-spinner[b-fif6r2q075] {
    width: 20px; height: 20px;
    border: 3px solid #CE93D8; border-top-color: #4A148C;
    border-radius: 50%; animation: hotspin-b-fif6r2q075 0.8s linear infinite;
}
@keyframes hotspin-b-fif6r2q075 { to { transform: rotate(360deg); } }
.hot-alert[b-fif6r2q075] {
    background: #FFEBEE; color: #C62828;
    border-left: 4px solid #EF5350; border-radius: 6px;
    padding: 0.7rem 1rem; margin-bottom: 1rem; font-size: 0.9rem;
}

/* ===== TABLE DESKTOP ===== */
.hot-table-card[b-fif6r2q075] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    overflow-x: auto;
}

.hot-table[b-fif6r2q075] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.hot-table thead tr[b-fif6r2q075] { background: #F3E5F5; }

.hot-table th[b-fif6r2q075] {
    padding: 0.65rem 0.9rem;
    color: #6A1B9A;
    font-weight: 600;
    border-bottom: 2px solid #E1BEE7;
    white-space: nowrap;
    text-align: left;
}

.hot-table td[b-fif6r2q075] {
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid #F0F0F0;
    color: #37474F;
}

.hot-table tbody tr:hover[b-fif6r2q075] { background: #FBF5FF; }

.hot-td-nom[b-fif6r2q075] { font-weight: 600; color: #4A148C; }
.hot-td-pwd[b-fif6r2q075] { font-family: monospace; color: #6A1B9A; letter-spacing: 0.05em; }
.hot-empty[b-fif6r2q075] { text-align: center; color: #9E9E9E; font-style: italic; padding: 1.5rem !important; }

.hot-th-actions[b-fif6r2q075] { text-align: center; width: 100px; }
.hot-td-actions[b-fif6r2q075] { text-align: center; white-space: nowrap; }

.btn-hot-edit[b-fif6r2q075] {
    background: #EDE7F6; border: none; border-radius: 6px;
    padding: 0.3rem 0.55rem; font-size: 0.85rem; cursor: pointer;
    transition: background 0.15s;
}
.btn-hot-edit:hover[b-fif6r2q075] { background: #D1C4E9; }

.btn-hot-del[b-fif6r2q075] {
    background: #FFEBEE; border: none; border-radius: 6px;
    padding: 0.3rem 0.55rem; font-size: 0.85rem;
    opacity: 0.35; cursor: not-allowed;
}

/* ===== CARDS MOBILE ===== */
.hot-cards[b-fif6r2q075] {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.hot-card[b-fif6r2q075] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    padding: 0.8rem 1rem;
    border-left: 4px solid #7B1FA2;
}

.hot-card-row[b-fif6r2q075] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 0;
    border-bottom: 1px solid #F5F0F8;
}

.hot-card-row:last-of-type[b-fif6r2q075] { border-bottom: none; }

.hot-card-label[b-fif6r2q075] {
    font-size: 0.78rem;
    color: #9E9E9E;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 600;
}

.hot-card-value[b-fif6r2q075] {
    font-size: 0.9rem;
    color: #37474F;
    text-align: right;
}

.hot-card-nom[b-fif6r2q075] { font-weight: 700; color: #4A148C; }
.hot-card-pwd[b-fif6r2q075] { font-family: monospace; color: #6A1B9A; }
.hot-card-empty[b-fif6r2q075] { text-align: center; color: #9E9E9E; font-style: italic; padding: 2rem; }

.hot-card-actions[b-fif6r2q075] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #F3E5F5;
}

.hot-card-actions .btn-hot-edit[b-fif6r2q075] {
    flex: 1;
    padding: 0.4rem;
    text-align: center;
    font-size: 0.82rem;
}

.hot-card-actions .btn-hot-del[b-fif6r2q075] {
    padding: 0.4rem 0.6rem;
}

/* ===== POPUP ===== */
.hot-overlay[b-fif6r2q075] {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.45); z-index: 999;
}

.hot-popup[b-fif6r2q075] {
    position: fixed; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: white; border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
    width: 420px; max-width: 92vw; z-index: 1000;
    overflow: hidden;
}

.hot-popup-header[b-fif6r2q075] {
    color: white; padding: 0.8rem 1.2rem;
    font-weight: 700; font-size: 1rem;
}
.hot-popup-create[b-fif6r2q075] { background: linear-gradient(135deg, #1B5E20, #2E7D32); }
.hot-popup-edit[b-fif6r2q075]   { background: linear-gradient(135deg, #E65100, #F57C00); }

.hot-popup-body[b-fif6r2q075] {
    padding: 1rem 1.2rem;
    display: flex; flex-direction: column; gap: 0.5rem;
}

.hot-popup-body label[b-fif6r2q075] { font-weight: 600; color: #4A148C; font-size: 0.88rem; }

.hot-input[b-fif6r2q075] {
    border: 1.5px solid #D1C4E9; border-radius: 6px;
    padding: 0.45rem 0.7rem; font-size: 0.9rem;
    color: #333; outline: none; font-family: inherit;
}
.hot-input:focus[b-fif6r2q075] { border-color: #7B1FA2; }

.hot-popup-error[b-fif6r2q075] {
    background: #FFEBEE; color: #C62828;
    border-radius: 6px; padding: 0.4rem 0.7rem; font-size: 0.82rem;
}

.hot-popup-footer[b-fif6r2q075] {
    padding: 0.7rem 1.2rem; display: flex;
    gap: 0.6rem; justify-content: flex-end;
    border-top: 1px solid #F3E5F5;
}

.btn-hot-save[b-fif6r2q075] {
    background: #4A148C; color: white; border: none;
    border-radius: 8px; padding: 0.45rem 1rem;
    font-size: 0.88rem; cursor: pointer;
}
.btn-hot-save:hover:not(:disabled)[b-fif6r2q075] { background: #6A1B9A; }
.btn-hot-save:disabled[b-fif6r2q075] { opacity: 0.5; cursor: not-allowed; }

.btn-hot-cancel[b-fif6r2q075] {
    background: #F3E5F5; color: #4A148C; border: none;
    border-radius: 8px; padding: 0.45rem 1rem;
    font-size: 0.88rem; cursor: pointer;
}
.btn-hot-cancel:hover[b-fif6r2q075] { background: #E1BEE7; }

/* ===== RESPONSIVE : masquer/afficher ===== */
.hot-mobile[b-fif6r2q075]  { display: none; }
.hot-desktop[b-fif6r2q075] { display: block; }

@media (max-width: 768px) {
    .hot-desktop[b-fif6r2q075] { display: none !important; }
    .hot-mobile[b-fif6r2q075]  { display: flex !important; }

    .hot-header[b-fif6r2q075] {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        padding: 1rem;
    }

    .hot-header h1[b-fif6r2q075] { font-size: 1.2rem; }

    .btn-hot-add[b-fif6r2q075] {
        align-self: center;
    }
}
/* _content/TransactionAtlas.Web/Components/Pages/Login.razor.rz.scp.css */
/* ===== FOND PAGE LOGIN ===== */
.login-page[b-radphhuvsu] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #0D1B6E 0%, #1A237E 40%, #3a0647 100%);
    padding: 1rem;
}

/* ===== CARTE CENTRALE ===== */
.login-card[b-radphhuvsu] {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
    width: 100%;
    max-width: 420px;
    overflow: hidden;
    animation: slideUp-b-radphhuvsu 0.35s ease;
}

@keyframes slideUp-b-radphhuvsu {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== HEADER ===== */
.login-header[b-radphhuvsu] {
    background: linear-gradient(135deg, #1A237E, #3949AB);
    padding: 2.5rem 2rem 2rem;
    text-align: center;
    color: white;
}

.login-logo[b-radphhuvsu] {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.login-title[b-radphhuvsu] {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 0.3rem;
    letter-spacing: 0.04em;
}

.login-subtitle[b-radphhuvsu] {
    font-size: 0.85rem;
    color: #90CAF9;
    margin: 0;
}

/* ===== BODY ===== */
.login-body[b-radphhuvsu] {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.login-error[b-radphhuvsu] {
    background: #FFEBEE;
    color: #C62828;
    border-left: 4px solid #EF5350;
    border-radius: 6px;
    padding: 0.65rem 0.9rem;
    font-size: 0.88rem;
    animation: shake-b-radphhuvsu 0.35s ease;
}

@keyframes shake-b-radphhuvsu {
    0%,100% { transform: translateX(0); }
    25%      { transform: translateX(-6px); }
    75%      { transform: translateX(6px); }
}

.login-field[b-radphhuvsu] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.login-label[b-radphhuvsu] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #455A64;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.login-input[b-radphhuvsu] {
    border: 1.5px solid #C5CAE9;
    border-radius: 10px;
    padding: 0.7rem 1rem;
    font-size: 0.95rem;
    color: #263238;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.login-input:focus[b-radphhuvsu] {
    border-color: #3949AB;
    box-shadow: 0 0 0 3px rgba(57,73,171,0.12);
}

.login-input:disabled[b-radphhuvsu] {
    background: #F5F5F5;
    cursor: not-allowed;
}

/* ===== BOUTON ===== */
.login-btn[b-radphhuvsu] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    background: linear-gradient(135deg, #1A237E, #3949AB);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.15s;
}

.login-btn:hover:not(:disabled)[b-radphhuvsu] {
    opacity: 0.9;
    transform: translateY(-2px);
}

.login-btn:disabled[b-radphhuvsu] {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

/* ===== SPINNER INLINE ===== */
.login-spinner[b-radphhuvsu] {
    width: 18px;
    height: 18px;
    border: 2.5px solid rgba(255,255,255,0.4);
    border-top-color: white;
    border-radius: 50%;
    animation: spin-b-radphhuvsu 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes spin-b-radphhuvsu {
    to { transform: rotate(360deg); }
}

/* ===== FOOTER ===== */
.login-footer[b-radphhuvsu] {
    text-align: center;
    padding: 1rem;
    font-size: 0.75rem;
    color: #9E9E9E;
    border-top: 1px solid #F0F0F0;
}
/* _content/TransactionAtlas.Web/Components/Pages/ModifSolde.razor.rz.scp.css */
.ms-page[b-iadix12clk] {
    padding: 0.65rem 0.75rem;
    max-width: 520px;
    margin: 0 auto;
    font-family: system-ui, sans-serif;
}

/* ── Access denied ── */
.ms-denied[b-iadix12clk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 1rem;
    gap: 0.75rem;
}
.ms-denied-icon[b-iadix12clk] { font-size: 3rem; }
.ms-denied-msg[b-iadix12clk]  { font-size: 1rem; font-weight: 700; color: #64748b; }

/* ── Toolbar ── */
.ms-toolbar[b-iadix12clk] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.7rem;
}
.ms-icon[b-iadix12clk]  { font-size: 1rem; }
.ms-title[b-iadix12clk] {
    font-size: 1rem;
    font-weight: 800;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* ── Card ── */
.ms-card[b-iadix12clk] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 6px rgba(0,0,0,.07);
    padding: 0.75rem 0.85rem 0.85rem;
    margin-bottom: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

/* ── Label ── */
.ms-label[b-iadix12clk] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Inputs ── */
.ms-search-row[b-iadix12clk] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.ms-code-input[b-iadix12clk],
.ms-amount-input[b-iadix12clk] {
    font-size: 1rem;
    font-weight: 700;
    padding: 0.4rem 0.65rem;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    outline: none;
    color: #1e293b;
    background: #f8fafc;
}
.ms-code-input[b-iadix12clk]   { width: 160px; letter-spacing: 0.1em; }
.ms-amount-input[b-iadix12clk] { width: 100%; max-width: 210px; }

.ms-code-input:focus[b-iadix12clk],
.ms-amount-input:focus[b-iadix12clk] {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px #e0e7ff;
}
.ms-input-error[b-iadix12clk] {
    border-color: #f87171 !important;
    box-shadow: 0 0 0 2px #fee2e2 !important;
}

.ms-field-error[b-iadix12clk] {
    font-size: 0.74rem;
    color: #dc2626;
    font-weight: 600;
}

/* ── Buttons ── */
.ms-btn[b-iadix12clk] {
    font-size: 0.84rem;
    font-weight: 800;
    padding: 0.42rem 1.1rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transition: opacity 0.15s, transform 0.1s;
    white-space: nowrap;
}
.ms-btn:disabled[b-iadix12clk]     { opacity: 0.5; cursor: not-allowed; transform: none !important; }
.ms-btn:active:not(:disabled)[b-iadix12clk] { transform: scale(0.97); }

.ms-btn-primary[b-iadix12clk] { background: #6366f1; color: #fff; }
.ms-btn-primary:hover:not(:disabled)[b-iadix12clk] { background: #4f46e5; }

.ms-btn-confirm[b-iadix12clk] {
    background: #059669;
    color: #fff;
    width: 100%;
    justify-content: center;
    padding: 0.52rem;
    font-size: 0.9rem;
    margin-top: 0.3rem;
}
.ms-btn-confirm:hover:not(:disabled)[b-iadix12clk] { background: #047857; }

/* ── Client card ── */
.ms-client-card[b-iadix12clk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 6px rgba(0,0,0,.07);
    padding: 0.6rem 0.85rem;
    margin-bottom: 0.6rem;
}
.ms-client-info[b-iadix12clk]  { display: flex; flex-direction: column; gap: 0.1rem; }
.ms-client-code[b-iadix12clk]  { font-size: 0.7rem; font-weight: 700; color: #94a3b8; letter-spacing: 0.06em; }
.ms-client-nom[b-iadix12clk]   { font-size: 1rem;   font-weight: 800; color: #1e293b; }

.ms-solde-badge[b-iadix12clk]  { border-radius: 10px; padding: 0.35rem 0.7rem; text-align: right; }
.ms-solde-pos[b-iadix12clk]    { background: #d1fae5; border: 1px solid #6ee7b7; }
.ms-solde-neg[b-iadix12clk]    { background: #fee2e2; border: 1px solid #fca5a5; }
.ms-solde-lbl[b-iadix12clk]    { font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; opacity: 0.65; }
.ms-solde-val[b-iadix12clk]    { font-size: 1.05rem; font-weight: 900; color: #1e293b; white-space: nowrap; }

/* ── Preview ── */
.ms-preview[b-iadix12clk] {
    font-size: 0.8rem;
    color: #475569;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
}
.ms-preview-sep[b-iadix12clk] { color: #cbd5e1; }
.ms-pos[b-iadix12clk] { color: #065f46; font-size: 0.9rem; }
.ms-neg[b-iadix12clk] { color: #991b1b; font-size: 0.9rem; }

/* ── Divider ── */
.ms-divider[b-iadix12clk] {
    border: none;
    border-top: 1px solid #f1f5f9;
    margin: 0.2rem 0;
}

/* ── Transaction list ── */
.ms-spin[b-iadix12clk]     { display: flex; justify-content: center; padding: 1rem 0; }
.ms-empty-tx[b-iadix12clk] { font-size: 0.8rem; color: #94a3b8; text-align: center; padding: 0.75rem 0; }

.ms-tx-list[b-iadix12clk] {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    max-height: 260px;
    overflow-y: auto;
}

.ms-tx-row[b-iadix12clk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.38rem 0.55rem;
    border-radius: 8px;
    border: 1.5px solid #e5e7eb;
    cursor: pointer;
    transition: background 0.1s, border-color 0.1s;
}
.ms-tx-row:hover[b-iadix12clk]    { background: #f8fafc; border-color: #94a3b8; }
.ms-tx-selected[b-iadix12clk]     { background: #ede9fe !important; border-color: #7c3aed !important; }

.ms-tx-check[b-iadix12clk]   { font-size: 1rem; flex-shrink: 0; line-height: 1; }
.ms-tx-mid[b-iadix12clk]     { display: flex; flex-direction: column; flex: 1; min-width: 0; gap: 0.05rem; }
.ms-tx-right[b-iadix12clk]   { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; gap: 0.05rem; }

.ms-tx-nature[b-iadix12clk]  { font-size: 0.8rem;  font-weight: 700; color: #1e293b; }
.ms-tx-hotesse[b-iadix12clk] { font-size: 0.68rem; color: #64748b; }
.ms-tx-montant[b-iadix12clk] { font-size: 0.84rem; font-weight: 800; color: #059669; white-space: nowrap; }
.ms-tx-heure[b-iadix12clk]   { font-size: 0.66rem; color: #94a3b8; }

/* ── Success ── */
.ms-success[b-iadix12clk] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #065f46;
    background: #d1fae5;
    border: 1px solid #6ee7b7;
    border-radius: 8px;
    padding: 0.38rem 0.6rem;
    text-align: center;
}

/* ── Responsive ── */
@media (max-width: 480px) {
    .ms-page[b-iadix12clk]     { padding: 0.45rem 0.45rem; }
    .ms-title[b-iadix12clk]    { font-size: 0.9rem; }
    .ms-code-input[b-iadix12clk] { width: 130px; }
    .ms-client-card[b-iadix12clk] { flex-direction: column; align-items: flex-start; }
    .ms-solde-badge[b-iadix12clk] { text-align: left; width: 100%; }
}
/* _content/TransactionAtlas.Web/Components/Pages/NoAccess.razor.rz.scp.css */
.na-page[b-xjastu1qia] {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #1a237e 0%, #283593 50%, #1565c0 100%);
    padding: 20px;
}

.na-card[b-xjastu1qia] {
    background: white; border-radius: 24px;
    padding: 48px 40px; max-width: 480px; width: 100%;
    box-shadow: 0 30px 80px rgba(0,0,0,.3);
    display: flex; flex-direction: column; align-items: center;
    text-align: center; gap: 18px;
}

.na-icon[b-xjastu1qia] {
    font-size: 4rem; line-height: 1;
    background: #ffebee; border-radius: 50%;
    width: 90px; height: 90px;
    display: flex; align-items: center; justify-content: center;
}

.na-title[b-xjastu1qia] {
    margin: 0; font-size: 1.5rem; font-weight: 800;
    color: #1a237e;
}

.na-msg[b-xjastu1qia] {
    margin: 0; font-size: .95rem; color: #555; line-height: 1.6;
}

.na-info[b-xjastu1qia] {
    background: #e3f2fd; border-radius: 12px;
    padding: 14px 18px; display: flex; gap: 10px; align-items: flex-start;
    text-align: left; font-size: .88rem; color: #1565c0; line-height: 1.5;
    width: 100%; box-sizing: border-box;
}
.na-info-icon[b-xjastu1qia] { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }

.na-admin-contact[b-xjastu1qia] {
    background: #f5f5f5; border-radius: 12px;
    padding: 12px 20px; width: 100%; box-sizing: border-box;
}
.na-admin-label[b-xjastu1qia] { font-size: .72rem; color: #999; text-transform: uppercase; letter-spacing: .5px; }
.na-admin-name[b-xjastu1qia]  { font-size: .92rem; font-weight: 700; color: #333; margin-top: 3px; }

.na-btn-logout[b-xjastu1qia] {
    background: linear-gradient(90deg, #c62828, #e53935);
    color: white; border: none; border-radius: 12px;
    padding: 13px 32px; font-size: .95rem; font-weight: 700;
    cursor: pointer; width: 100%; transition: opacity .2s;
    margin-top: 6px;
}
.na-btn-logout:hover[b-xjastu1qia] { opacity: .9; }
/* _content/TransactionAtlas.Web/Components/Pages/Pointage.razor.rz.scp.css */
/* ===== JOURS FÉRIÉS (×2) ===== */
.pnt-ferie-badge[b-411t50fj9e] {
    display: inline-block; margin-left: .4rem;
    background: #FFF3E0; color: #E65100; border: 1px solid #FFCC80;
    border-radius: 10px; padding: .05rem .4rem; font-size: .68rem; font-weight: 800;
    vertical-align: middle;
}
.pnt-ferie-tag[b-411t50fj9e] {
    display: inline-block; margin-left: .4rem;
    background: #FFF3E0; color: #E65100; border: 1px solid #FFCC80;
    border-radius: 8px; padding: .05rem .4rem; font-size: .66rem; font-weight: 700;
}
.pnt-ferie-info[b-411t50fj9e] { color: #E65100; font-weight: 600; }
.pnt-row-ferie td[b-411t50fj9e] { background: #FFF8F0 !important; }

/* ===== HEADER ===== */
.pnt-header[b-411t50fj9e] {
    background: linear-gradient(135deg, #1565C0, #1E88E5);
    color: white;
    padding: 1.1rem 1.4rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(21,101,192,0.38);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.pnt-header-left[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.pnt-header-icon[b-411t50fj9e] { font-size: 2rem; }

.pnt-header h1[b-411t50fj9e] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
}

.pnt-header span[b-411t50fj9e] {
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Boutons Tunis/Sfax dans le header */
.pnt-ville-tabs[b-411t50fj9e] {
    display: flex;
    gap: 0;
    border: 1.5px solid rgba(255,255,255,0.5);
    border-radius: 8px;
    overflow: hidden;
}

.pnt-ville-btn[b-411t50fj9e] {
    padding: 0.42rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    background: transparent;
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.pnt-ville-btn:not(:last-child)[b-411t50fj9e] {
    border-right: 1.5px solid rgba(255,255,255,0.5);
}

.pnt-ville-active[b-411t50fj9e] {
    background: rgba(255,255,255,0.22);
    color: white;
    font-weight: 700;
}

.pnt-ville-btn:hover:not(.pnt-ville-active)[b-411t50fj9e] {
    background: rgba(255,255,255,0.12);
    color: white;
}

/* ===== TOOLBAR ===== */
.pnt-toolbar[b-411t50fj9e] {
    background: white;
    padding: 0.75rem 1.1rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    flex-wrap: wrap;
}

.pnt-toolbar-dates[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.pnt-field[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.pnt-field label[b-411t50fj9e] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1565C0;
    white-space: nowrap;
}

.pnt-input[b-411t50fj9e] {
    border: 1.5px solid #BBDEFB;
    border-radius: 6px;
    padding: 0.35rem 0.55rem;
    font-size: 0.85rem;
    color: #333;
    outline: none;
}

.pnt-input:focus[b-411t50fj9e] { border-color: #1565C0; }

.pnt-btn-search[b-411t50fj9e] {
    background: linear-gradient(135deg, #1565C0, #1E88E5);
    color: white;
    border: none;
    border-radius: 7px;
    padding: 0.4rem 1rem;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
}

.pnt-btn-search:hover:not(:disabled)[b-411t50fj9e] { opacity: 0.87; }
.pnt-btn-search:disabled[b-411t50fj9e] { opacity: 0.55; cursor: default; }

/* Enregistrer pointage → xSalaire */
.pnt-action-bar[b-411t50fj9e] {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    margin-bottom: 0.8rem;
}
.pnt-btn-enregistrer[b-411t50fj9e] {
    background: linear-gradient(135deg, #2e7d32, #43a047);
    color: white; border: none; border-radius: 8px;
    padding: 0.5rem 1.15rem; font-size: 0.85rem; font-weight: 700;
    cursor: pointer; transition: opacity 0.15s;
    box-shadow: 0 6px 16px rgba(46,125,50,.25);
}
.pnt-btn-enregistrer:hover:not(:disabled)[b-411t50fj9e] { opacity: 0.9; }
.pnt-btn-enregistrer:disabled[b-411t50fj9e] { opacity: 0.55; cursor: default; }
.pnt-enr-msg[b-411t50fj9e] { font-size: 0.82rem; font-weight: 600; }
.pnt-enr-ok[b-411t50fj9e]  { color: #2e7d32; }
.pnt-enr-err[b-411t50fj9e] { color: #c62828; }

/* Search bar */
.pnt-search-wrap[b-411t50fj9e] {
    display: flex;
    align-items: center;
    border: 1.5px solid #BBDEFB;
    border-radius: 8px;
    overflow: hidden;
    background: #F8FBFF;
    flex: 1;
    min-width: 200px;
    max-width: 320px;
}

.pnt-search-icon[b-411t50fj9e] {
    padding: 0 0.5rem;
    font-size: 0.9rem;
}

.pnt-search-input[b-411t50fj9e] {
    flex: 1;
    border: none;
    background: transparent;
    padding: 0.38rem 0.4rem;
    font-size: 0.85rem;
    outline: none;
    color: #333;
}

.pnt-search-clear[b-411t50fj9e] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.35rem 0.55rem;
    color: #888;
    font-size: 0.8rem;
}

.pnt-search-clear:hover[b-411t50fj9e] { color: #C62828; }

/* ===== VUE TABS ===== */
.pnt-vue-tabs[b-411t50fj9e] {
    display: flex;
    gap: 0;
    border: 1.5px solid #BBDEFB;
    border-radius: 9px;
    overflow: hidden;
    margin-bottom: 0.85rem;
    width: fit-content;
    background: white;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.pnt-vue-btn[b-411t50fj9e] {
    padding: 0.42rem 1.1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    background: white;
    color: #1565C0;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.pnt-vue-btn:not(:last-child)[b-411t50fj9e] { border-right: 1.5px solid #BBDEFB; }

.pnt-vue-active[b-411t50fj9e] {
    background: #1565C0;
    color: white;
}

.pnt-vue-btn:hover:not(.pnt-vue-active)[b-411t50fj9e] { background: #E3F2FD; }

/* ===== LOADING ===== */
.pnt-loading[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 1.5rem;
    color: #1565C0;
    font-size: 0.95rem;
}

.pnt-spinner[b-411t50fj9e] {
    width: 22px;
    height: 22px;
    border: 3px solid #BBDEFB;
    border-top-color: #1565C0;
    border-radius: 50%;
    animation: pntSpin-b-411t50fj9e 0.8s linear infinite;
}

@keyframes pntSpin-b-411t50fj9e { to { transform: rotate(360deg); } }

/* ===== INFO BAR ===== */
.pnt-info-bar[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 0.85rem;
    background: #E3F2FD;
    border-radius: 8px;
    font-size: 0.82rem;
    color: #1565C0;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.pnt-info-sep[b-411t50fj9e] { opacity: 0.4; }

/* ===== CARD ===== */
.pnt-card[b-411t50fj9e] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    overflow: hidden;
    margin-bottom: 1.2rem;
}

.pnt-table-scroll[b-411t50fj9e] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ===== TABLE ===== */
.pnt-table[b-411t50fj9e] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.83rem;
}

.pnt-table thead tr[b-411t50fj9e] {
    background: linear-gradient(135deg, #1565C0, #1976D2);
    color: white;
}

.pnt-table th[b-411t50fj9e] {
    padding: 0.52rem 0.7rem;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.pnt-table td[b-411t50fj9e] {
    padding: 0.48rem 0.7rem;
    border-bottom: 1px solid #F0F0F0;
    color: #37474F;
    white-space: nowrap;
}

.pnt-row-alt[b-411t50fj9e] { background: #F0F7FF; }
.pnt-row-hover:hover[b-411t50fj9e] { background: #DCEEFB !important; }

.pnt-td-num[b-411t50fj9e]  { font-size: 0.72rem; color: #90A4AE; font-weight: 600; width: 32px; }
.pnt-td-mat[b-411t50fj9e]  { font-family: monospace; font-size: 0.8rem; color: #1565C0; font-weight: 700; }
.pnt-td-nom[b-411t50fj9e]  { color: #333; }
.pnt-td-total[b-411t50fj9e] {
    color: #1565C0;
    font-weight: 800;
    font-size: 0.9rem;
}

/* Badge jours */
.pnt-badge-jours[b-411t50fj9e] {
    display: inline-block;
    background: #E3F2FD;
    color: #1565C0;
    border-radius: 20px;
    padding: 0.15rem 0.55rem;
    font-weight: 700;
    font-size: 0.78rem;
}

/* Bouton voir détail */
.pnt-btn-detail[b-411t50fj9e] {
    background: #E3F2FD;
    color: #1565C0;
    border: 1px solid #BBDEFB;
    border-radius: 6px;
    padding: 0.22rem 0.65rem;
    font-size: 0.76rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.pnt-btn-detail:hover[b-411t50fj9e] {
    background: #1565C0;
    color: white;
}

/* Pied de tableau */
.pnt-foot-row[b-411t50fj9e] {
    background: #E3F2FD;
}

.pnt-foot-row td[b-411t50fj9e] {
    padding: 0.65rem 0.7rem;
    color: #1565C0;
    border-top: 2px solid #BBDEFB;
    font-size: 0.88rem;
}

/* ===== DÉTAIL HEADER ===== */
.pnt-detail-header[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.6rem 0.8rem;
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.pnt-btn-back[b-411t50fj9e] {
    background: #E3F2FD;
    color: #1565C0;
    border: 1.5px solid #BBDEFB;
    border-radius: 7px;
    padding: 0.35rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s;
}

.pnt-btn-back:hover[b-411t50fj9e] { background: #1565C0; color: white; }

.pnt-detail-person[b-411t50fj9e] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1;
}

.pnt-person-name[b-411t50fj9e] {
    font-size: 1rem;
    font-weight: 700;
    color: #1565C0;
}

.pnt-person-mat[b-411t50fj9e] {
    font-size: 0.74rem;
    color: #90A4AE;
    font-family: monospace;
}

.pnt-detail-stats[b-411t50fj9e] {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.pnt-stat-item[b-411t50fj9e] {
    background: #E3F2FD;
    color: #1565C0;
    border-radius: 8px;
    padding: 0.25rem 0.65rem;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
}

/* ===== TABLE DÉTAIL ===== */
.pnt-table-detail .pnt-td-date[b-411t50fj9e] {
    font-weight: 700;
    color: #1565C0;
    text-transform: capitalize;
    min-width: 90px;
}

.pnt-td-time[b-411t50fj9e] {
    font-family: monospace;
    font-size: 0.85rem;
    color: #455A64;
    min-width: 60px;
}

.pnt-time-in[b-411t50fj9e]  { color: #2E7D32; }
.pnt-time-out[b-411t50fj9e] { color: #C62828; }

.pnt-td-heure[b-411t50fj9e] {
    font-family: monospace;
    font-weight: 600;
    min-width: 65px;
}

.pnt-matin[b-411t50fj9e]    { color: #E65100; background: #FFF3E0; }
.pnt-am[b-411t50fj9e]       { color: #1565C0; background: #E3F2FD; }
.pnt-total-jour[b-411t50fj9e] { color: #1B5E20; background: #E8F5E9; font-weight: 800; }

.pnt-th-matin[b-411t50fj9e]  { background: rgba(230,81,0,0.15)  !important; }
.pnt-th-am[b-411t50fj9e]     { background: rgba(21,101,192,0.15) !important; }
.pnt-th-total[b-411t50fj9e]  { background: rgba(27,94,32,0.15)   !important; }

/* ===== SAVE BAR ===== */
.pnt-save-bar[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
    flex-wrap: wrap;
}

.pnt-btn-save[b-411t50fj9e] {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.42rem 1.1rem;
    font-size: 0.83rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(27,94,32,0.3);
}

.pnt-btn-save:hover[b-411t50fj9e] { opacity: 0.87; }

/* Confirmation inline */
.pnt-confirm-inline[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #FFF8E1;
    border: 1.5px solid #FFB300;
    border-radius: 9px;
    padding: 0.45rem 0.85rem;
    flex-wrap: wrap;
}

.pnt-confirm-text[b-411t50fj9e] {
    font-size: 0.82rem;
    color: #5D4037;
    flex: 1;
    min-width: 200px;
}

.pnt-btn-confirm-yes[b-411t50fj9e] {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
    border: none;
    border-radius: 7px;
    padding: 0.35rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.15s;
}

.pnt-btn-confirm-yes:hover:not(:disabled)[b-411t50fj9e] { opacity: 0.85; }
.pnt-btn-confirm-yes:disabled[b-411t50fj9e] { opacity: 0.55; cursor: default; }

.pnt-btn-confirm-no[b-411t50fj9e] {
    background: #ECEFF1;
    color: #546E7A;
    border: 1.5px solid #B0BEC5;
    border-radius: 7px;
    padding: 0.33rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s;
}

.pnt-btn-confirm-no:hover:not(:disabled)[b-411t50fj9e] { background: #C62828; color: white; border-color: #C62828; }
.pnt-btn-confirm-no:disabled[b-411t50fj9e] { opacity: 0.55; cursor: default; }

/* Feedback message */
.pnt-save-feedback[b-411t50fj9e] {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.8rem;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
}

.pnt-save-ok[b-411t50fj9e]  { background: #E8F5E9; color: #1B5E20; border: 1px solid #C8E6C9; }
.pnt-save-err[b-411t50fj9e] { background: #FFEBEE; color: #C62828; border: 1px solid #FFCDD2; }

/* ===== HISTORIQUE xSALAIRE ===== */
.pnt-histo-section-title[b-411t50fj9e] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.92rem;
    font-weight: 700;
    color: #1565C0;
    background: #E3F2FD;
    border-left: 4px solid #1565C0;
    padding: 8px 14px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 10px;
}

.pnt-histo-selected td[b-411t50fj9e] {
    background: #E8F5E9 !important;
}

.pnt-histo-selected td:first-child[b-411t50fj9e] {
    border-left: 3px solid #2E7D32;
}

/* ===== EMPTY STATE ===== */
.pnt-empty[b-411t50fj9e] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #78909C;
    font-size: 0.92rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — TABLETTE  ≤ 960px
═══════════════════════════════════════════════════ */
@media (max-width: 960px) {

    /* Header */
    .pnt-header[b-411t50fj9e]        { padding: 0.9rem 1.1rem; gap: 0.6rem; }
    .pnt-header h1[b-411t50fj9e]     { font-size: 1.2rem; }
    .pnt-header-icon[b-411t50fj9e]   { font-size: 1.7rem; }

    /* Toolbar */
    .pnt-toolbar[b-411t50fj9e]       { flex-direction: column; align-items: stretch; gap: 0.6rem; padding: 0.7rem 0.9rem; }
    .pnt-toolbar-dates[b-411t50fj9e] { flex-wrap: wrap; gap: 0.5rem; }
    .pnt-search-wrap[b-411t50fj9e]   { max-width: 100%; min-width: 0; }

    /* Vue tabs */
    .pnt-vue-tabs[b-411t50fj9e]      { width: 100%; }
    .pnt-vue-btn[b-411t50fj9e]       { flex: 1; text-align: center; }

    /* Tables */
    .pnt-table[b-411t50fj9e]         { font-size: 0.8rem; }
    .pnt-table th[b-411t50fj9e]      { padding: 0.48rem 0.6rem; font-size: 0.75rem; }
    .pnt-table td[b-411t50fj9e]      { padding: 0.44rem 0.6rem; }

    /* Detail header */
    .pnt-detail-header[b-411t50fj9e] { flex-wrap: wrap; gap: 0.7rem; }
    .pnt-detail-person[b-411t50fj9e] { min-width: 0; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — MOBILE LARGE  ≤ 700px
═══════════════════════════════════════════════════ */
@media (max-width: 700px) {

    /* Header : pile verticale */
    .pnt-header[b-411t50fj9e]        { flex-direction: column; align-items: flex-start; padding: 0.8rem 0.9rem; border-radius: 10px; gap: 0.55rem; }
    .pnt-header h1[b-411t50fj9e]     { font-size: 1.1rem; }
    .pnt-header span[b-411t50fj9e]   { font-size: 0.74rem; }
    .pnt-header-icon[b-411t50fj9e]   { font-size: 1.5rem; }
    .pnt-ville-tabs[b-411t50fj9e]    { align-self: stretch; }
    .pnt-ville-btn[b-411t50fj9e]     { flex: 1; text-align: center; padding: 0.38rem 0.5rem; font-size: 0.78rem; }

    /* Toolbar */
    .pnt-toolbar[b-411t50fj9e]       { padding: 0.6rem 0.75rem; border-radius: 9px; gap: 0.5rem; }
    .pnt-toolbar-dates[b-411t50fj9e] { flex-direction: column; align-items: stretch; gap: 0.4rem; }
    .pnt-field[b-411t50fj9e]         { justify-content: space-between; }
    .pnt-field label[b-411t50fj9e]   { font-size: 0.8rem; width: 28px; }
    .pnt-input[b-411t50fj9e]         { flex: 1; min-width: 0; font-size: 0.82rem; padding: 0.32rem 0.45rem; }
    .pnt-btn-search[b-411t50fj9e]    { width: 100%; padding: 0.42rem 0.8rem; font-size: 0.82rem; }

    /* Info bar */
    .pnt-info-bar[b-411t50fj9e]      { font-size: 0.78rem; padding: 0.4rem 0.7rem; gap: 0.4rem; border-radius: 7px; }
    .pnt-info-sep[b-411t50fj9e]      { display: none; }

    /* Card */
    .pnt-card[b-411t50fj9e]          { border-radius: 10px; margin-bottom: 0.9rem; }

    /* Récapitulatif — masquer colonne # sur mobile */
    .pnt-table .pnt-td-num[b-411t50fj9e],
    .pnt-table thead th:first-child[b-411t50fj9e] { display: none; }

    /* Tables */
    .pnt-table[b-411t50fj9e]         { font-size: 0.76rem; }
    .pnt-table th[b-411t50fj9e]      { padding: 0.42rem 0.5rem; font-size: 0.72rem; }
    .pnt-table td[b-411t50fj9e]      { padding: 0.4rem 0.5rem; }
    .pnt-td-total[b-411t50fj9e]      { font-size: 0.84rem; }
    .pnt-badge-jours[b-411t50fj9e]   { padding: 0.1rem 0.4rem; font-size: 0.72rem; }
    .pnt-btn-detail[b-411t50fj9e]    { padding: 0.18rem 0.45rem; font-size: 0.7rem; }
    .pnt-foot-row td[b-411t50fj9e]   { padding: 0.5rem 0.5rem; font-size: 0.8rem; }

    /* Detail header */
    .pnt-detail-header[b-411t50fj9e] { flex-direction: column; align-items: flex-start; padding: 0.55rem 0.7rem; gap: 0.5rem; border-radius: 9px; }
    .pnt-person-name[b-411t50fj9e]   { font-size: 0.92rem; }
    .pnt-detail-stats[b-411t50fj9e]  { gap: 0.45rem; }
    .pnt-stat-item[b-411t50fj9e]     { font-size: 0.74rem; padding: 0.2rem 0.5rem; }

    /* Table détail — scrollable horizontal */
    .pnt-table-detail[b-411t50fj9e]  { min-width: 560px; }
    .pnt-td-date[b-411t50fj9e]       { min-width: 72px !important; font-size: 0.72rem; }
    .pnt-td-time[b-411t50fj9e]       { font-size: 0.76rem; min-width: 48px !important; }
    .pnt-td-heure[b-411t50fj9e]      { min-width: 52px !important; font-size: 0.74rem; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — MOBILE SMALL  ≤ 480px
═══════════════════════════════════════════════════ */
@media (max-width: 480px) {

    /* Header */
    .pnt-header[b-411t50fj9e]        { padding: 0.65rem 0.75rem; border-radius: 9px; margin-bottom: 0.7rem; }
    .pnt-header h1[b-411t50fj9e]     { font-size: 0.97rem; }
    .pnt-header span[b-411t50fj9e]   { font-size: 0.68rem; }
    .pnt-header-icon[b-411t50fj9e]   { font-size: 1.35rem; }

    /* Toolbar */
    .pnt-toolbar[b-411t50fj9e]       { padding: 0.5rem 0.6rem; border-radius: 8px; margin-bottom: 0.55rem; }
    .pnt-input[b-411t50fj9e]         { font-size: 0.78rem; padding: 0.28rem 0.38rem; }
    .pnt-btn-search[b-411t50fj9e]    { font-size: 0.78rem; padding: 0.38rem 0.6rem; border-radius: 6px; }
    .pnt-search-input[b-411t50fj9e]  { font-size: 0.78rem; }

    /* Vue tabs */
    .pnt-vue-tabs[b-411t50fj9e]      { margin-bottom: 0.6rem; border-radius: 8px; }
    .pnt-vue-btn[b-411t50fj9e]       { padding: 0.35rem 0.5rem; font-size: 0.74rem; }

    /* Tables — compact */
    .pnt-table[b-411t50fj9e]         { font-size: 0.7rem; }
    .pnt-table th[b-411t50fj9e]      { padding: 0.35rem 0.35rem; font-size: 0.66rem; letter-spacing: 0; }
    .pnt-table td[b-411t50fj9e]      { padding: 0.32rem 0.35rem; }
    .pnt-td-mat[b-411t50fj9e]        { font-size: 0.7rem; }
    .pnt-td-total[b-411t50fj9e]      { font-size: 0.78rem; }
    .pnt-badge-jours[b-411t50fj9e]   { font-size: 0.66rem; padding: 0.08rem 0.32rem; }
    .pnt-btn-detail[b-411t50fj9e]    { font-size: 0.64rem; padding: 0.14rem 0.35rem; border-radius: 5px; }
    .pnt-foot-row td[b-411t50fj9e]   { padding: 0.4rem 0.35rem; font-size: 0.72rem; }

    /* Detail header */
    .pnt-btn-back[b-411t50fj9e]      { font-size: 0.76rem; padding: 0.28rem 0.65rem; border-radius: 6px; }
    .pnt-person-name[b-411t50fj9e]   { font-size: 0.86rem; }
    .pnt-person-mat[b-411t50fj9e]    { font-size: 0.66rem; }
    .pnt-stat-item[b-411t50fj9e]     { font-size: 0.68rem; padding: 0.16rem 0.42rem; border-radius: 6px; }

    /* Table détail — encore plus compact */
    .pnt-table-detail[b-411t50fj9e]  { min-width: 500px; }
    .pnt-td-date[b-411t50fj9e]       { min-width: 62px !important; font-size: 0.66rem; }
    .pnt-td-time[b-411t50fj9e]       { font-size: 0.68rem; min-width: 42px !important; }
    .pnt-td-heure[b-411t50fj9e]      { min-width: 46px !important; font-size: 0.66rem; }

    /* Info bar */
    .pnt-info-bar[b-411t50fj9e]      { font-size: 0.72rem; padding: 0.35rem 0.55rem; }

    /* Empty state */
    .pnt-empty[b-411t50fj9e]         { padding: 1.8rem 0.8rem; font-size: 0.82rem; border-radius: 10px; }
}
/* _content/TransactionAtlas.Web/Components/Pages/SfaxBilan.razor.rz.scp.css */
.sb-page[b-15jodgrl6z] {
    padding: 0.65rem 0.75rem;
    max-width: 1200px;
    margin: 0 auto;
    font-family: system-ui, sans-serif;
}

.sb-toolbar[b-15jodgrl6z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.7rem;
}

.sb-toolbar-left[b-15jodgrl6z] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.sb-icon[b-15jodgrl6z] { font-size: 1rem; }

.sb-title[b-15jodgrl6z] {
    font-size: 1rem;
    font-weight: 800;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.sb-toolbar-right[b-15jodgrl6z] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.sb-date-input[b-15jodgrl6z] {
    font-size: 0.8rem;
    padding: 0.24rem 0.46rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    color: #334155;
    background: #f8fafc;
    width: 135px;
}

.sb-date-input:focus[b-15jodgrl6z] {
    border-color: #7c3aed;
    box-shadow: 0 0 0 2px #ede9fe;
}

.sb-solde-badge[b-15jodgrl6z] {
    font-size: 0.8rem;
    font-weight: 800;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    white-space: nowrap;
}

.sb-pos[b-15jodgrl6z] { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }
.sb-neg[b-15jodgrl6z] { background: #fee2e2; color: #7f1d1d; border: 1px solid #fca5a5; }

.sb-spin[b-15jodgrl6z]  { display: flex; justify-content: center; padding: 2rem 0; }
.sb-empty[b-15jodgrl6z] { text-align: center; color: #94a3b8; font-size: 0.86rem; padding: 1.5rem 0; }

.sb-chips[b-15jodgrl6z] {
    display: flex;
    gap: 0.45rem;
    margin-bottom: 0.7rem;
}

.sb-chip[b-15jodgrl6z] {
    flex: 1;
    border-radius: 10px;
    padding: 0.42rem 0.56rem;
    text-align: center;
    min-width: 0;
}

.sb-chip-lbl[b-15jodgrl6z] {
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.78;
}

.sb-chip-val[b-15jodgrl6z] {
    font-size: 0.84rem;
    font-weight: 800;
    white-space: nowrap;
}

.sb-chip-purple[b-15jodgrl6z] { background: #ede9fe; color: #4c1d95; }
.sb-chip-blue[b-15jodgrl6z]   { background: #dbeafe; color: #1e3a8a; }
.sb-chip-green[b-15jodgrl6z]  { background: #d1fae5; color: #064e3b; }

.sb-legacy-chart-card[b-15jodgrl6z] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 1px 10px rgba(0,0,0,0.08);
    border: 1px solid #e5e7eb;
    padding: 0.75rem 0.75rem 0.5rem;
    margin-bottom: 0.55rem;
}

.sb-legacy-chart-card canvas[b-15jodgrl6z] {
    width: 100% !important;
    height: 210px !important;
}

.sb-detail-grid[b-15jodgrl6z] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.sb-detail-card[b-15jodgrl6z] {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    background: #fff;
    border: 1px solid #e5e7eb;
}

.sb-dcard-head[b-15jodgrl6z] {
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.34rem 0.66rem;
    color: #fff;
}

.sb-dcard-head.blue[b-15jodgrl6z]  { background: #2563eb; }
.sb-dcard-head.green[b-15jodgrl6z] { background: #059669; }

.sb-drow[b-15jodgrl6z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 0.6rem;
    font-size: 0.78rem;
    border-bottom: 1px solid #f1f5f9;
    color: #374151;
}

.sb-drow:nth-child(even)[b-15jodgrl6z] { background: #f8fafc; }

.sb-drow span:last-child[b-15jodgrl6z] {
    font-weight: 800;
    color: #1e293b;
    font-size: 0.76rem;
    white-space: nowrap;
    margin-left: 0.3rem;
}

.sb-drow-total[b-15jodgrl6z] {
    background: #f1f5f9 !important;
    border-top: 1.5px solid #e2e8f0;
    font-weight: 800;
}

.sb-parc-pie-card[b-15jodgrl6z] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 8px rgba(0,0,0,.08);
    border: 1px solid #e5e7eb;
    padding: 0.62rem 0.75rem 0.72rem;
    margin-bottom: 0.65rem;
}

.sb-parc-pie-title[b-15jodgrl6z] {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #475569;
    margin-bottom: 0.42rem;
}

.sb-parc-pie-wrap canvas[b-15jodgrl6z] {
    display: block;
    width: 100% !important;
    min-height: 220px;
}

.sb-showcase[b-15jodgrl6z] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
    align-items: stretch;
}

.sb-legend-board[b-15jodgrl6z] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 1px 10px rgba(0,0,0,0.08);
    padding: 0.9rem 0.85rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.2rem;
}

.sb-legend-group[b-15jodgrl6z] {
    text-align: center;
}

.sb-legend-title[b-15jodgrl6z] {
    font-size: 1.05rem;
    font-weight: 900;
    margin-bottom: 0.3rem;
}

.sb-legend-title.padel[b-15jodgrl6z] { color: #65a30d; }
.sb-legend-title.parc[b-15jodgrl6z]  { color: #65a30d; }

.sb-legend-item[b-15jodgrl6z] {
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    color: #111827;
}

.sb-right-pane[b-15jodgrl6z] {
    display: grid;
    gap: 0.7rem;
}

.sb-hour-table-card[b-15jodgrl6z],
.sb-chart-card[b-15jodgrl6z] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 1px 10px rgba(0,0,0,0.08);
    border: 1px solid #e5e7eb;
}

.sb-hour-table-card[b-15jodgrl6z] {
    padding: 0.56rem 0.58rem 0.62rem;
}

.sb-hour-table-title[b-15jodgrl6z] {
    font-size: 0.82rem;
    font-weight: 900;
    color: #374151;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.sb-hour-table-wrap[b-15jodgrl6z] {
    width: 100%;
    overflow-x: auto;
}

.sb-hour-table[b-15jodgrl6z] {
    width: 100%;
    border-collapse: collapse;
    min-width: 560px;
}

.sb-th-mobile[b-15jodgrl6z] { display: none; }

.sb-hour-table th[b-15jodgrl6z],
.sb-hour-table td[b-15jodgrl6z] {
    border: 1px solid #e5e7eb;
    padding: 0.3rem 0.44rem;
    text-align: center;
    font-size: 0.76rem;
    white-space: nowrap;
}

.sb-hour-table th[b-15jodgrl6z] {
    font-weight: 800;
    color: #0f172a;
    background: #f8fafc;
}

.sb-hour-table th.c-rech[b-15jodgrl6z] { background: #ede9fe; color: #5b21b6; }
.sb-hour-table th.c-padel[b-15jodgrl6z] { background: #dbeafe; color: #1d4ed8; }
.sb-hour-table th.c-parc[b-15jodgrl6z] { background: #d1fae5; color: #047857; }
.sb-hour-table th.c-total[b-15jodgrl6z] { background: #e2e8f0; color: #334155; }

.sb-hour-table tbody tr:nth-child(even) td[b-15jodgrl6z] {
    background: #f8fafc;
}

.sb-hour-table tfoot td[b-15jodgrl6z] {
    background: #f1f5f9;
    font-weight: 900;
}

.sb-hour-chart-card[b-15jodgrl6z] {
    padding: 0.62rem 0.62rem 0.48rem;
}

.sb-hour-chart-title[b-15jodgrl6z] {
    font-size: 0.86rem;
    font-weight: 900;
    color: #111827;
    text-transform: uppercase;
    margin-bottom: 0.35rem;
}

.sb-hour-chart-card canvas[b-15jodgrl6z] {
    width: 100% !important;
    height: 300px !important;
}

@media (max-width: 980px) {
    .sb-showcase[b-15jodgrl6z] {
        grid-template-columns: 1fr;
    }

    .sb-legend-board[b-15jodgrl6z] {
        padding: 0.8rem 0.7rem;
        gap: 0.9rem;
    }

    .sb-legend-item[b-15jodgrl6z] {
        font-size: 0.9rem;
    }
}

@media (max-width: 520px) {
    .sb-page[b-15jodgrl6z] { padding: 0.45rem 0.5rem; }
    .sb-title[b-15jodgrl6z] {
        font-size: 0.9rem;
        text-transform: none;
        letter-spacing: 0;
    }

    .sb-toolbar[b-15jodgrl6z] { margin-bottom: 0.55rem; }
    .sb-toolbar-right[b-15jodgrl6z] { width: 100%; }
    .sb-date-input[b-15jodgrl6z] { width: 132px; font-size: 0.8rem; }
    .sb-solde-badge[b-15jodgrl6z] { font-size: 0.84rem; padding: 0.18rem 0.58rem; }

    .sb-chip[b-15jodgrl6z] { padding: 0.34rem 0.46rem; }
    .sb-chip-lbl[b-15jodgrl6z] { font-size: 0.6rem; letter-spacing: 0.04em; }
    .sb-chip-val[b-15jodgrl6z] { font-size: 0.9rem; line-height: 1.1; }

    .sb-legacy-chart-card[b-15jodgrl6z] { padding: 0.6rem 0.52rem 0.45rem; }
    .sb-legacy-chart-card canvas[b-15jodgrl6z] { height: 225px !important; }

    .sb-detail-grid[b-15jodgrl6z] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.35rem;
    }
    .sb-dcard-head[b-15jodgrl6z] {
        font-size: 0.76rem;
        padding: 0.28rem 0.5rem;
    }
    .sb-drow[b-15jodgrl6z] {
        font-size: 0.76rem;
        padding: 0.26rem 0.45rem;
    }
    .sb-drow span:last-child[b-15jodgrl6z] {
        font-size: 0.82rem;
        margin-left: 0.2rem;
    }

    .sb-parc-pie-wrap canvas[b-15jodgrl6z] { min-height: 200px; }

    .sb-hour-table-card[b-15jodgrl6z] { padding: 0.5rem 0.5rem 0.55rem; }
    .sb-hour-table-title[b-15jodgrl6z] { font-size: 0.75rem; }
    .sb-hour-table-wrap[b-15jodgrl6z] { overflow-x: hidden; }
    .sb-hour-table[b-15jodgrl6z] {
        min-width: 0;
        table-layout: fixed;
    }
    .sb-th-desktop[b-15jodgrl6z] { display: none; }
    .sb-th-mobile[b-15jodgrl6z] { display: inline; }
    .sb-hour-table th[b-15jodgrl6z],
    .sb-hour-table td[b-15jodgrl6z] {
        font-size: 0.69rem;
        padding: 0.24rem 0.22rem;
        white-space: normal;
        word-break: break-word;
    }
    .sb-hour-table td:first-child[b-15jodgrl6z] { white-space: nowrap; }

    .sb-hour-chart-title[b-15jodgrl6z] { font-size: 0.74rem; }
    .sb-hour-chart-card canvas[b-15jodgrl6z] { height: 230px !important; }
}
/* _content/TransactionAtlas.Web/Components/Pages/SoldeClientActif.razor.rz.scp.css */
/* ===== HEADER ===== */
.sca-header[b-gnefjg6x67] {
    background: linear-gradient(120deg, #4338ca 0%, #4f46e5 55%, #6366f1 100%);
    color: white;
    padding: .75rem 1rem;
    border-radius: 14px;
    margin-bottom: .65rem;
    box-shadow: 0 8px 22px rgba(79,70,229,.24);
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 10px;
}
.sca-header-left[b-gnefjg6x67] { display: flex; align-items: center; gap: 10px; }
.sca-header-icon[b-gnefjg6x67] { font-size: 1.4rem; }
.sca-header h1[b-gnefjg6x67] { font-size: 1rem; font-weight: 800; margin: 0; }
.sca-header-left span[b-gnefjg6x67] { font-size: .68rem; opacity: .9; }

.sca-datebox[b-gnefjg6x67] {
    display: flex; align-items: center; gap: 7px;
    background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25);
    border-radius: 10px; padding: .3rem .6rem;
}
.sca-datebox-ico[b-gnefjg6x67] { font-size: .9rem; }
.sca-datebox-in[b-gnefjg6x67] { display: flex; flex-direction: column; }
.sca-datebox-in label[b-gnefjg6x67] { font-size: .58rem; opacity: .85; }
.sca-date[b-gnefjg6x67] { border: none; background: transparent; color: white; font-weight: 700; font-size: .78rem; outline: none; cursor: pointer; }
.sca-date[b-gnefjg6x67]::-webkit-calendar-picker-indicator { filter: invert(1); cursor: pointer; }

/* ===== TOOLBAR ===== */
.sca-toolbar[b-gnefjg6x67] {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
    background: white; border: 1px solid #eef0f4; border-radius: 11px;
    padding: .6rem .7rem; margin-bottom: .65rem;
    box-shadow: 0 5px 15px rgba(15,23,42,.04);
}
.sca-tool[b-gnefjg6x67] { display: flex; flex-direction: column; gap: 3px; }
.sca-tool-lbl[b-gnefjg6x67] { font-size: .64rem; font-weight: 700; color: #64748b; }
.sca-select-wrap[b-gnefjg6x67], .sca-search-wrap[b-gnefjg6x67] {
    display: flex; align-items: center; gap: 6px;
    border: 1.5px solid #e5e7eb; border-radius: 8px; padding: 0 .5rem; background: #f8fafc;
}
.sca-select-wrap:focus-within[b-gnefjg6x67], .sca-search-wrap:focus-within[b-gnefjg6x67] { border-color: #6366f1; background: white; }
.sca-select-ico[b-gnefjg6x67], .sca-search-ico[b-gnefjg6x67] { color: #94a3b8; font-size: .78rem; }
.sca-select[b-gnefjg6x67] { flex: 1; border: none; outline: none; background: transparent; padding: .38rem 0; font-size: .74rem; color: #334155; font-weight: 600; cursor: pointer; }
.sca-search[b-gnefjg6x67] { flex: 1; border: none; outline: none; background: transparent; padding: .38rem 0; font-size: .74rem; color: #334155; }
.sca-search-clear[b-gnefjg6x67] { border: none; background: #eef2ff; color: #4338ca; border-radius: 5px; width: 20px; height: 20px; cursor: pointer; font-size: .7rem; }

/* ===== KPIs ===== */
.sca-kpis[b-gnefjg6x67] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: .65rem; }
.sca-kpi[b-gnefjg6x67] {
    display: flex; align-items: center; gap: 9px;
    background: white; border: 1px solid #eef0f4; border-radius: 11px;
    padding: .6rem .7rem; box-shadow: 0 5px 15px rgba(15,23,42,.04);
}
.sca-kpi-ico[b-gnefjg6x67] { width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: .95rem; }
.kpi-blue[b-gnefjg6x67] { background: #eef2ff; } .kpi-green[b-gnefjg6x67] { background: #ecfdf5; } .kpi-red[b-gnefjg6x67] { background: #fef2f2; } .kpi-amber[b-gnefjg6x67] { background: #fffbeb; }
.sca-kpi-val[b-gnefjg6x67] { font-size: .9rem; font-weight: 800; color: #1e293b; line-height: 1.1; font-family: ui-monospace, monospace; white-space: nowrap; }
.sca-kpi-val small[b-gnefjg6x67] { font-size: .56rem; font-weight: 700; opacity: .7; }
.sca-kpi-lbl[b-gnefjg6x67] { font-size: .66rem; color: #64748b; font-weight: 600; margin-top: 1px; }

.sca-green[b-gnefjg6x67] { color: #059669; } .sca-red[b-gnefjg6x67] { color: #dc2626; } .sca-amber[b-gnefjg6x67] { color: #d97706; }

/* ===== TABLE ===== */
.sca-card[b-gnefjg6x67] { background: white; border: 1px solid #eef0f4; border-radius: 11px; overflow: hidden; box-shadow: 0 6px 18px rgba(15,23,42,.05); }
.sca-table-scroll[b-gnefjg6x67] { overflow-x: auto; }
.sca-table[b-gnefjg6x67] { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .68rem; }
.sca-table thead th[b-gnefjg6x67] {
    background: #f8fafc; color: #64748b; padding: .42rem .55rem; text-align: left;
    font-weight: 700; font-size: .56rem; text-transform: uppercase; letter-spacing: .02em;
    white-space: nowrap; border-bottom: 1px solid #eef0f4;
}
.sca-table th.ta-r[b-gnefjg6x67], .sca-table td.ta-r[b-gnefjg6x67] { text-align: right; }
.sca-th-solde[b-gnefjg6x67] { cursor: pointer; background: #eef2ff !important; color: #4338ca !important; }
.sca-th-arrow[b-gnefjg6x67] { font-size: .6rem; }
.lbl-abbr[b-gnefjg6x67] { display: none; }   /* libellés abrégés : mobile uniquement */
.sca-table tbody td[b-gnefjg6x67] { padding: .4rem .55rem; border-bottom: 1px solid #f4f5f9; color: #334155; white-space: nowrap; }
.sca-table tbody tr:last-child td[b-gnefjg6x67] { border-bottom: none; }
.sca-table tbody tr:hover td[b-gnefjg6x67] { background: #fafbff; }

.sca-num[b-gnefjg6x67]    { color: #94a3b8; font-weight: 700; text-align: center; }
.sca-client[b-gnefjg6x67] { font-weight: 800; color: #3730a3; text-transform: uppercase; font-size: .64rem; }
.sca-mono[b-gnefjg6x67]   { font-family: ui-monospace, monospace; font-weight: 600; }
.sca-recharge[b-gnefjg6x67] { font-family: ui-monospace, monospace; font-weight: 700; color: #059669; }
.sca-conso[b-gnefjg6x67]    { font-family: ui-monospace, monospace; font-weight: 700; color: #dc2626; }
.sca-solde-cell[b-gnefjg6x67] { background: #f8faff; }
.sca-solde[b-gnefjg6x67]  { font-family: ui-monospace, monospace; font-weight: 800; font-size: .74rem; }
.sca-solde small[b-gnefjg6x67], .sca-recharge small[b-gnefjg6x67], .sca-conso small[b-gnefjg6x67] { font-size: .56rem; opacity: .7; }

.sca-ville[b-gnefjg6x67] { display: inline-block; border-radius: 14px; padding: .1rem .45rem; font-size: .6rem; font-weight: 700; }
.v-tunis[b-gnefjg6x67] { background: #eff6ff; color: #1d4ed8; }
.v-sfax[b-gnefjg6x67]  { background: #fff7ed; color: #c2410c; }

/* ===== PAGER ===== */
.sca-pager[b-gnefjg6x67] { display: flex; align-items: center; justify-content: space-between; padding: .55rem .7rem; gap: 8px; flex-wrap: wrap; border-top: 1px solid #f4f5f9; }
.sca-pager-info[b-gnefjg6x67] { font-size: .68rem; color: #64748b; }
.sca-pager-btns[b-gnefjg6x67] { display: flex; align-items: center; gap: 4px; }
.sca-pg[b-gnefjg6x67] { min-width: 27px; height: 27px; border: 1px solid #e5e7eb; background: white; border-radius: 7px; cursor: pointer; font-size: .72rem; font-weight: 700; color: #475569; padding: 0 6px; }
.sca-pg:hover:not(:disabled)[b-gnefjg6x67] { border-color: #6366f1; color: #4338ca; }
.sca-pg.active[b-gnefjg6x67] { background: #4f46e5; border-color: #4f46e5; color: white; }
.sca-pg:disabled[b-gnefjg6x67] { opacity: .4; cursor: default; }
.sca-pg-ellipsis[b-gnefjg6x67] { color: #94a3b8; padding: 0 2px; }

/* ===== LOADING / EMPTY ===== */
.sca-loading[b-gnefjg6x67] { display: flex; align-items: center; gap: 9px; padding: 1.2rem 1rem; color: #6b7280; font-size: .8rem; }
.sca-spinner[b-gnefjg6x67] { width: 16px; height: 16px; border: 3px solid #e5e7eb; border-top-color: #6366f1; border-radius: 50%; animation: sca-spin-b-gnefjg6x67 .7s linear infinite; }
@keyframes sca-spin-b-gnefjg6x67 { to { transform: rotate(360deg); } }
.sca-empty[b-gnefjg6x67] { text-align: center; padding: 2rem 1rem; color: #94a3b8; background: #fafafa; border: 1px dashed #e2e8f0; border-radius: 11px; font-size: .8rem; }

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
    .sca-toolbar[b-gnefjg6x67] { grid-template-columns: 1fr; }
    .sca-kpis[b-gnefjg6x67] { grid-template-columns: repeat(2, 1fr); }
}
/* Mobile = MÊME tableau que PC, taille minimale */
@media (max-width: 768px) {
    .sca-header[b-gnefjg6x67] { flex-direction: column; align-items: stretch; padding: .8rem; }
    .sca-header h1[b-gnefjg6x67] { font-size: .95rem; }
    .sca-header-icon[b-gnefjg6x67] { font-size: 1.3rem; }
    .sca-datebox[b-gnefjg6x67] { justify-content: center; }
    .sca-pager[b-gnefjg6x67] { justify-content: center; }

    .lbl-full[b-gnefjg6x67] { display: none; }
    .lbl-abbr[b-gnefjg6x67] { display: inline; }
    .sca-table[b-gnefjg6x67] { font-size: .48rem; }
    .sca-table thead th[b-gnefjg6x67] { padding: .24rem .32rem; font-size: .5rem; }
    .sca-table tbody td[b-gnefjg6x67] { padding: .24rem .32rem; }
    .sca-client[b-gnefjg6x67] { font-size: .5rem; }
    .sca-solde[b-gnefjg6x67] { font-size: .54rem; }
    .sca-recharge small[b-gnefjg6x67], .sca-conso small[b-gnefjg6x67], .sca-solde small[b-gnefjg6x67] { display: none; }
    .sca-ville[b-gnefjg6x67] { padding: .06rem .35rem; font-size: .48rem; }

    .sca-kpi[b-gnefjg6x67] { padding: .5rem .6rem; gap: 7px; }
    .sca-kpi-ico[b-gnefjg6x67] { width: 30px; height: 30px; font-size: .85rem; border-radius: 8px; }
    .sca-kpi-val[b-gnefjg6x67] { font-size: .78rem; }
    .sca-kpi-lbl[b-gnefjg6x67] { font-size: .6rem; }
}
/* _content/TransactionAtlas.Web/Components/Pages/SuiviSalaire.razor.rz.scp.css */
/* ===== HEADER ===== */
.ss-header[b-yvgidieidv] {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
    padding: 1.1rem 1.4rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(27,94,32,0.38);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.ss-header-left[b-yvgidieidv] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.ss-header-icon[b-yvgidieidv] { font-size: 2rem; }

.ss-header h1[b-yvgidieidv] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
}

.ss-header span[b-yvgidieidv] {
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Boutons Tunis / Sfax */
.ss-ville-tabs[b-yvgidieidv] {
    display: flex;
    gap: 0;
    border: 1.5px solid rgba(255,255,255,0.5);
    border-radius: 8px;
    overflow: hidden;
}

.ss-ville-btn[b-yvgidieidv] {
    padding: 0.42rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    background: transparent;
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.ss-ville-btn:not(:last-child)[b-yvgidieidv] {
    border-right: 1.5px solid rgba(255,255,255,0.5);
}

.ss-ville-active[b-yvgidieidv] {
    background: rgba(255,255,255,0.22);
    color: white;
    font-weight: 700;
}

.ss-ville-btn:hover:not(.ss-ville-active)[b-yvgidieidv] {
    background: rgba(255,255,255,0.12);
    color: white;
}

/* ===== TOOLBAR ===== */
.ss-toolbar[b-yvgidieidv] {
    background: white;
    padding: 0.75rem 1.1rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    flex-wrap: wrap;
}

.ss-toolbar-dates[b-yvgidieidv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.ss-field[b-yvgidieidv] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.ss-field label[b-yvgidieidv] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #2E7D32;
    white-space: nowrap;
}

.ss-input[b-yvgidieidv] {
    border: 1.5px solid #C8E6C9;
    border-radius: 6px;
    padding: 0.35rem 0.55rem;
    font-size: 0.85rem;
    color: #333;
    outline: none;
}

.ss-input:focus[b-yvgidieidv] { border-color: #2E7D32; }

.ss-btn-search[b-yvgidieidv] {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
    border: none;
    border-radius: 7px;
    padding: 0.4rem 1rem;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
}

.ss-btn-search:hover:not(:disabled)[b-yvgidieidv] { opacity: 0.87; }
.ss-btn-search:disabled[b-yvgidieidv] { opacity: 0.55; cursor: default; }

.ss-btn-print[b-yvgidieidv] {
    background: linear-gradient(135deg, #01579B, #0277BD);
    color: white;
    border: none;
    border-radius: 7px;
    padding: 0.4rem 1rem;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
    white-space: nowrap;
}

.ss-btn-print:hover:not(:disabled)[b-yvgidieidv] { opacity: 0.85; }
.ss-btn-print:disabled[b-yvgidieidv] { opacity: 0.45; cursor: default; }

/* ===== LOADING ===== */
.ss-loading[b-yvgidieidv] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 1.5rem;
    color: #2E7D32;
    font-size: 0.95rem;
}

.ss-spinner[b-yvgidieidv] {
    width: 22px;
    height: 22px;
    border: 3px solid #C8E6C9;
    border-top-color: #2E7D32;
    border-radius: 50%;
    animation: ssSpin-b-yvgidieidv 0.8s linear infinite;
}

@keyframes ssSpin-b-yvgidieidv { to { transform: rotate(360deg); } }

/* ===== INFO BAR ===== */
.ss-info-bar[b-yvgidieidv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 0.85rem;
    background: #E8F5E9;
    border-radius: 8px;
    font-size: 0.82rem;
    color: #2E7D32;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.ss-info-sep[b-yvgidieidv] { opacity: 0.4; }

/* ===== GROUP HEADER ===== */
.ss-group-header[b-yvgidieidv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #B71C1C, #C62828);
    color: white;
    padding: 0.55rem 1rem;
    border-radius: 9px 9px 0 0;
    margin-top: 1rem;
    margin-bottom: 0;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.ss-group-title[b-yvgidieidv] {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    flex: 1;
}

.ss-group-meta[b-yvgidieidv] {
    display: flex;
    gap: 0.7rem;
    flex-wrap: wrap;
}

.ss-group-count[b-yvgidieidv] {
    font-size: 0.78rem;
    background: rgba(255,255,255,0.2);
    border-radius: 20px;
    padding: 0.15rem 0.6rem;
    font-weight: 600;
}

.ss-group-total[b-yvgidieidv] {
    font-size: 0.82rem;
    background: rgba(255,255,255,0.25);
    border-radius: 20px;
    padding: 0.15rem 0.7rem;
    font-weight: 700;
}

/* ===== CARD ===== */
.ss-card[b-yvgidieidv] {
    background: white;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.09);
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.ss-table-scroll[b-yvgidieidv] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ===== TABLE ===== */
.ss-table[b-yvgidieidv] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.83rem;
}

.ss-table thead tr[b-yvgidieidv] {
    background: linear-gradient(135deg, #2E7D32, #388E3C);
    color: white;
}

.ss-table th[b-yvgidieidv] {
    padding: 0.52rem 0.7rem;
    font-weight: 700;
    font-size: 0.76rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.ss-table td[b-yvgidieidv] {
    padding: 0.46rem 0.7rem;
    border-bottom: 1px solid #F0F0F0;
    color: #37474F;
    white-space: nowrap;
}

.ss-row-alt[b-yvgidieidv] { background: #F1F8E9; }
.ss-row-hover:hover[b-yvgidieidv] { background: #DCEDC8 !important; }

/* Cellules spécifiques */
.ss-td-num[b-yvgidieidv]  { font-size: 0.72rem; color: #90A4AE; font-weight: 600; width: 32px; }
.ss-td-mat[b-yvgidieidv]  { font-family: monospace; font-size: 0.79rem; color: #2E7D32; font-weight: 700; }
.ss-td-nom[b-yvgidieidv]  { color: #333; font-weight: 500; }
.ss-td-base[b-yvgidieidv] { color: #555; }
.ss-td-hph[b-yvgidieidv]  { color: #795548; font-size: 0.8rem; }
.ss-td-nbh[b-yvgidieidv]  { color: #0277BD; font-weight: 600; font-size: 0.85rem; }
.ss-td-sans[b-yvgidieidv] { color: #2E7D32; font-weight: 600; }
.ss-td-avance[b-yvgidieidv] { color: #C62828; }
.ss-td-final[b-yvgidieidv]  { color: #1B5E20; font-size: 0.9rem; }

/* Ombres colonnes clés dans thead */
.ss-th-sans[b-yvgidieidv]   { background: rgba(46,125,50,0.18)  !important; }
.ss-th-avance[b-yvgidieidv] { background: rgba(198,40,40,0.15)   !important; }
.ss-th-final[b-yvgidieidv]  { background: rgba(27,94,32,0.22)    !important; }
.ss-th-num[b-yvgidieidv]    { width: 32px; }

/* Pied de tableau */
.ss-foot-row[b-yvgidieidv] {
    background: #E8F5E9;
}

.ss-foot-row td[b-yvgidieidv] {
    padding: 0.6rem 0.7rem;
    color: #1B5E20;
    border-top: 2px solid #C8E6C9;
    font-size: 0.85rem;
}

.ss-foot-final[b-yvgidieidv] {
    background: #C8E6C9;
    font-size: 0.9rem !important;
    color: #1B5E20 !important;
}

/* ===== GRAND TOTAL ===== */
.ss-grand-total-bar[b-yvgidieidv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
    border-radius: 10px;
    padding: 0.75rem 1.2rem;
    margin-top: 1rem;
    box-shadow: 0 4px 14px rgba(27,94,32,0.3);
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ss-grand-label[b-yvgidieidv] {
    font-size: 0.88rem;
    font-weight: 600;
    opacity: 0.9;
}

.ss-grand-amount[b-yvgidieidv] {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0.03em;
}

/* ===== DÉCAISSEMENT BAR ===== */
.ss-decaiss-bar[b-yvgidieidv] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 0.85rem;
    background: #FFF8E1;
    border: 1.5px solid #FFB300;
    border-radius: 9px;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.ss-btn-decaiss[b-yvgidieidv] {
    background: linear-gradient(135deg, #6A1B9A, #8E24AA);
    color: white;
    border: none;
    border-radius: 7px;
    padding: 0.42rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: opacity 0.15s;
    white-space: nowrap;
}

.ss-btn-decaiss:hover[b-yvgidieidv] { opacity: 0.87; }

.ss-confirm-inline[b-yvgidieidv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.ss-confirm-text[b-yvgidieidv] {
    font-size: 0.84rem;
    color: #5D4037;
    font-weight: 500;
}

.ss-btn-confirm-yes[b-yvgidieidv] {
    background: linear-gradient(135deg, #1B5E20, #2E7D32);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0.35rem 0.9rem;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s;
    white-space: nowrap;
}

.ss-btn-confirm-yes:hover:not(:disabled)[b-yvgidieidv] { opacity: 0.85; }
.ss-btn-confirm-yes:disabled[b-yvgidieidv] { opacity: 0.55; cursor: default; }

.ss-btn-confirm-no[b-yvgidieidv] {
    background: #ECEFF1;
    color: #546E7A;
    border: 1.5px solid #B0BEC5;
    border-radius: 6px;
    padding: 0.35rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}

.ss-btn-confirm-no:hover:not(:disabled)[b-yvgidieidv] { background: #CFD8DC; }
.ss-btn-confirm-no:disabled[b-yvgidieidv] { opacity: 0.5; cursor: default; }

.ss-decaiss-feedback[b-yvgidieidv] {
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.3rem 0.7rem;
    border-radius: 5px;
    flex: 1;
    min-width: 0;
}

.ss-decaiss-ok[b-yvgidieidv] {
    background: #E8F5E9;
    color: #1B5E20;
    border: 1px solid #A5D6A7;
}

.ss-decaiss-err[b-yvgidieidv] {
    background: #FFEBEE;
    color: #B71C1C;
    border: 1px solid #FFCDD2;
}

/* ===== EMPTY ===== */
.ss-empty[b-yvgidieidv] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #78909C;
    font-size: 0.92rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — TABLETTE  ≤ 960px
═══════════════════════════════════════════════════ */
@media (max-width: 960px) {
    .ss-header[b-yvgidieidv]        { padding: 0.9rem 1.1rem; gap: 0.6rem; }
    .ss-header h1[b-yvgidieidv]     { font-size: 1.2rem; }
    .ss-header-icon[b-yvgidieidv]   { font-size: 1.7rem; }
    .ss-toolbar[b-yvgidieidv]       { flex-direction: column; align-items: stretch; gap: 0.6rem; }
    .ss-toolbar-dates[b-yvgidieidv] { flex-wrap: wrap; gap: 0.5rem; }
    .ss-table[b-yvgidieidv]         { font-size: 0.8rem; }
    .ss-table th[b-yvgidieidv]      { padding: 0.46rem 0.55rem; font-size: 0.73rem; }
    .ss-table td[b-yvgidieidv]      { padding: 0.42rem 0.55rem; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — MOBILE LARGE  ≤ 700px
═══════════════════════════════════════════════════ */
@media (max-width: 700px) {
    .ss-header[b-yvgidieidv]        { flex-direction: column; align-items: flex-start; padding: 0.8rem 0.9rem; border-radius: 10px; }
    .ss-header h1[b-yvgidieidv]     { font-size: 1.1rem; }
    .ss-ville-tabs[b-yvgidieidv]    { align-self: stretch; }
    .ss-ville-btn[b-yvgidieidv]     { flex: 1; text-align: center; padding: 0.38rem 0.5rem; font-size: 0.78rem; }
    .ss-toolbar[b-yvgidieidv]       { padding: 0.6rem 0.75rem; border-radius: 9px; }
    .ss-toolbar-dates[b-yvgidieidv] { flex-direction: column; align-items: stretch; gap: 0.4rem; }
    .ss-field[b-yvgidieidv]         { justify-content: space-between; }
    .ss-field label[b-yvgidieidv]   { font-size: 0.8rem; width: 28px; }
    .ss-input[b-yvgidieidv]         { flex: 1; min-width: 0; font-size: 0.82rem; }
    .ss-btn-search[b-yvgidieidv]    { width: 100%; padding: 0.42rem 0.8rem; font-size: 0.82rem; }
    .ss-info-bar[b-yvgidieidv]      { font-size: 0.78rem; padding: 0.4rem 0.7rem; }
    .ss-info-sep[b-yvgidieidv]      { display: none; }
    .ss-group-header[b-yvgidieidv]  { padding: 0.48rem 0.75rem; border-radius: 8px 8px 0 0; }
    .ss-group-title[b-yvgidieidv]   { font-size: 0.84rem; }
    /* Tableau horizontalement scrollable */
    .ss-table[b-yvgidieidv]         { min-width: 640px; font-size: 0.75rem; }
    .ss-table th[b-yvgidieidv]      { padding: 0.4rem 0.45rem; font-size: 0.68rem; }
    .ss-table td[b-yvgidieidv]      { padding: 0.36rem 0.45rem; }
    .ss-td-num[b-yvgidieidv]        { display: none; }
    .ss-table thead th:first-child[b-yvgidieidv] { display: none; }
    .ss-grand-total-bar[b-yvgidieidv] { padding: 0.6rem 0.9rem; }
    .ss-grand-amount[b-yvgidieidv]  { font-size: 1.1rem; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — MOBILE SMALL  ≤ 480px
═══════════════════════════════════════════════════ */
@media (max-width: 480px) {
    .ss-header[b-yvgidieidv]        { padding: 0.65rem 0.75rem; border-radius: 9px; margin-bottom: 0.7rem; }
    .ss-header h1[b-yvgidieidv]     { font-size: 0.97rem; }
    .ss-toolbar[b-yvgidieidv]       { padding: 0.5rem 0.6rem; border-radius: 8px; margin-bottom: 0.55rem; }
    .ss-input[b-yvgidieidv]         { font-size: 0.78rem; padding: 0.28rem 0.38rem; }
    .ss-btn-search[b-yvgidieidv]    { font-size: 0.78rem; padding: 0.38rem 0.6rem; }
    .ss-group-header[b-yvgidieidv]  { padding: 0.42rem 0.65rem; }
    .ss-group-title[b-yvgidieidv]   { font-size: 0.78rem; }
    .ss-group-count[b-yvgidieidv],
    .ss-group-total[b-yvgidieidv]   { font-size: 0.7rem; padding: 0.1rem 0.45rem; }
    .ss-table[b-yvgidieidv]         { min-width: 560px; font-size: 0.7rem; }
    .ss-table th[b-yvgidieidv]      { padding: 0.32rem 0.35rem; font-size: 0.63rem; letter-spacing: 0; }
    .ss-table td[b-yvgidieidv]      { padding: 0.28rem 0.35rem; }
    .ss-foot-row td[b-yvgidieidv]   { padding: 0.38rem 0.35rem; font-size: 0.72rem; }
    .ss-grand-total-bar[b-yvgidieidv] { padding: 0.5rem 0.7rem; border-radius: 8px; }
    .ss-grand-label[b-yvgidieidv]   { font-size: 0.78rem; }
    .ss-grand-amount[b-yvgidieidv]  { font-size: 1rem; }
}
/* _content/TransactionAtlas.Web/Components/Pages/TicketResto.razor.rz.scp.css */
/* ===== HEADER ===== */
.tr-header[b-awuzr33b2c] {
    background: linear-gradient(135deg, #BF360C, #E64A19);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 4px 14px rgba(191,54,12,0.35);
}

.tr-header-left[b-awuzr33b2c] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.tr-header-icon[b-awuzr33b2c] {
    font-size: 2.2rem;
}

.tr-header h1[b-awuzr33b2c] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
}

.tr-header span[b-awuzr33b2c] {
    font-size: 0.82rem;
    color: #FFCCBC;
}

/* Variantes par ville */
.tr-header-tunis[b-awuzr33b2c] { background: linear-gradient(135deg, #1565C0, #1976D2) !important; box-shadow: 0 4px 14px rgba(21,101,192,0.35) !important; }
.tr-header-tunis span[b-awuzr33b2c] { color: #BBDEFB !important; }
.tr-header-sfax[b-awuzr33b2c]  { background: linear-gradient(135deg, #0277BD, #0288D1) !important; box-shadow: 0 4px 14px rgba(2,119,189,0.35) !important; }
.tr-header-sfax  span[b-awuzr33b2c] { color: #B3E5FC !important; }

/* ===== BARRE OUTILS ===== */
.tr-toolbar[b-awuzr33b2c] {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: white;
    padding: 0.8rem 1.2rem;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.tr-date-group[b-awuzr33b2c] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.tr-date-group label[b-awuzr33b2c] {
    font-size: 1rem;
}

/* Boutons ◀ ▶ */
.btn-day[b-awuzr33b2c] {
    background: #E8EAF6;
    color: #1A237E;
    border: 1.5px solid #C5CAE9;
    border-radius: 6px;
    padding: 0.35rem 0.6rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    line-height: 1;
}
.btn-day:hover:not(:disabled)[b-awuzr33b2c] {
    background: #C5CAE9;
    transform: scale(1.08);
}
.btn-day:disabled[b-awuzr33b2c] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Input date */
.date-input[b-awuzr33b2c] {
    border: 1.5px solid #C5CAE9;
    border-radius: 6px;
    padding: 0.4rem 0.7rem;
    font-size: 0.95rem;
    color: #333;
    outline: none;
}
.date-input:focus[b-awuzr33b2c] { border-color: #BF360C; }

/* Zone de recherche */
.tr-search-group[b-awuzr33b2c] {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 220px;
    background: #FFF8F6;
    border: 1.5px solid #FFCCBC;
    border-radius: 8px;
    padding: 0 0.8rem;
    gap: 0.5rem;
    transition: border-color 0.2s;
}
.tr-search-group:focus-within[b-awuzr33b2c] {
    border-color: #E64A19;
    box-shadow: 0 0 0 3px rgba(230,74,25,0.1);
}

.tr-search-icon[b-awuzr33b2c] { font-size: 1rem; }

.tr-search-input[b-awuzr33b2c] {
    flex: 1;
    border: none;
    background: transparent;
    padding: 0.5rem 0;
    font-size: 0.95rem;
    color: #333;
    outline: none;
}
.tr-search-input[b-awuzr33b2c]::placeholder { color: #BCAAA4; }

.tr-btn-clear[b-awuzr33b2c] {
    background: none;
    border: none;
    color: #BCAAA4;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 0.2rem 0.3rem;
    border-radius: 4px;
    transition: color 0.15s;
}
.tr-btn-clear:hover[b-awuzr33b2c] { color: #E64A19; }

/* ===== BARRE RÉSULTATS ===== */
.tr-results-bar[b-awuzr33b2c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.8rem;
    background: #FFF3E0;
    border-radius: 8px;
    margin-bottom: 0.8rem;
    font-size: 0.88rem;
    color: #5D4037;
    border-left: 4px solid #E64A19;
}

.tr-filter-tag[b-awuzr33b2c] {
    display: inline-block;
    margin-left: 0.5rem;
    background: #FFCCBC;
    color: #BF360C;
    padding: 0.1rem 0.5rem;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
}

.tr-total-day[b-awuzr33b2c] {
    font-size: 0.9rem;
    color: #4E342E;
}

/* ===== ÉTAT VIDE ===== */
.tr-empty[b-awuzr33b2c] {
    text-align: center;
    padding: 3rem 1rem;
    color: #9E9E9E;
}
.tr-empty span[b-awuzr33b2c] { font-size: 2.5rem; }
.tr-empty p[b-awuzr33b2c] { margin-top: 0.6rem; font-size: 1rem; }

/* ===== ACCORDION VILLE ===== */
.tr-ville-accordion[b-awuzr33b2c] {
    margin-bottom: 1rem;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
}

.tr-ville-header[b-awuzr33b2c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.2rem;
    cursor: pointer;
    user-select: none;
    transition: filter 0.15s;
}
.tr-ville-header:hover[b-awuzr33b2c] { filter: brightness(1.07); }

.tr-ville-tunis[b-awuzr33b2c] { background: linear-gradient(135deg, #1565C0, #1976D2); color: white; }
.tr-ville-sfax[b-awuzr33b2c]  { background: linear-gradient(135deg, #0277BD, #0288D1); color: white; }

.tr-ville-left[b-awuzr33b2c] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.tr-acc-icon[b-awuzr33b2c] {
    font-size: 0.7rem;
    opacity: 0.85;
    transition: transform 0.2s;
}

.tr-ville-name[b-awuzr33b2c] {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.tr-ville-count[b-awuzr33b2c] {
    font-size: 0.8rem;
    opacity: 0.75;
    background: rgba(255,255,255,0.15);
    padding: 0.15rem 0.55rem;
    border-radius: 12px;
}

.tr-ville-right[b-awuzr33b2c] { text-align: right; }

.tr-ville-total[b-awuzr33b2c] {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tr-empty-ville[b-awuzr33b2c] {
    padding: 1rem 1.2rem;
    background: white;
    color: #9E9E9E;
    font-style: italic;
    font-size: 0.88rem;
}

.tr-detail-wrapper[b-awuzr33b2c] {
    background: #FAFAFA;
    padding: 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

/* ===== VUE RÉSUMÉ ===== */
.tr-summary-card[b-awuzr33b2c] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    overflow: hidden;
}

.tr-summary-row[b-awuzr33b2c] {
    cursor: pointer;
    transition: background 0.15s;
}
.tr-summary-row:hover[b-awuzr33b2c] {
    background: #FFF3E0 !important;
}

/* ===== VUE DÉTAIL TICKETS ===== */
.tr-ticket-card[b-awuzr33b2c] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.1);
    overflow: hidden;
    margin-bottom: 1.2rem;
    border: 1px solid #F5F5F5;
}

.tr-ticket-head[b-awuzr33b2c] {
    padding: 0.8rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.tr-head-tunis[b-awuzr33b2c] { background: linear-gradient(135deg, #1565C0, #1976D2); color: white; }
.tr-head-sfax[b-awuzr33b2c]  { background: linear-gradient(135deg, #0277BD, #0288D1); color: white; }

.tr-ticket-info[b-awuzr33b2c] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.tr-ticket-num[b-awuzr33b2c] {
    font-weight: 800;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
}

.tr-ticket-meta[b-awuzr33b2c] {
    font-size: 0.85rem;
    opacity: 0.9;
}

.tr-ticket-ville[b-awuzr33b2c] {
    flex-shrink: 0;
}

/* Réutilisation des classes globales */
.dash-table[b-awuzr33b2c] { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.dash-table thead tr[b-awuzr33b2c] { background: #F5F7FF; }
.dash-table th[b-awuzr33b2c] { padding: 0.5rem 0.8rem; color: #3949AB; font-weight: 600; border-bottom: 2px solid #E8EAF6; }
.dash-table td[b-awuzr33b2c] { padding: 0.5rem 0.8rem; border-bottom: 1px solid #F0F0F0; color: #37474F; }
.dash-table tbody tr:hover[b-awuzr33b2c] { background: #F8F9FF; }
.dash-table tfoot .total-row[b-awuzr33b2c] { background: #E8EAF6; }
.dash-table tfoot td[b-awuzr33b2c] { padding: 0.55rem 0.8rem; color: #1A237E; border-top: 2px solid #C5CAE9; }

.text-right[b-awuzr33b2c] { text-align: right; }
.badge[b-awuzr33b2c] { display: inline-block; padding: 0.2rem 0.6rem; border-radius: 20px; font-size: 0.78rem; font-weight: 600; }
.badge-tunis[b-awuzr33b2c] { background: #E3F2FD; color: #1565C0; }
.badge-sfax[b-awuzr33b2c]  { background: #E1F5FE; color: #0277BD; }

/* Loading / erreur */
.loading-bar[b-awuzr33b2c] { display: flex; align-items: center; gap: 0.7rem; padding: 1rem; color: #1A237E; }
.spinner[b-awuzr33b2c] { width: 22px; height: 22px; border: 3px solid #C5CAE9; border-top-color: #1A237E; border-radius: 50%; animation: spin-b-awuzr33b2c 0.8s linear infinite; }
@keyframes spin-b-awuzr33b2c { to { transform: rotate(360deg); } }
.alert-error[b-awuzr33b2c] { background: #FFEBEE; color: #C62828; border-left: 4px solid #EF5350; border-radius: 6px; padding: 0.8rem 1rem; margin-bottom: 1rem; font-size: 0.9rem; }

/* Responsive */
@media (max-width: 700px) {
    .tr-toolbar[b-awuzr33b2c]     { flex-direction: column; align-items: stretch; }
    .tr-search-group[b-awuzr33b2c] { min-width: unset; }
    .tr-ticket-info[b-awuzr33b2c] { gap: 0.5rem; }
}
/* _content/TransactionAtlas.Web/Components/Pages/TransactionTpe.razor.rz.scp.css */
/* ===== HEADER ===== */
.tpe-header[b-xmp6byr0mn] {
    background: linear-gradient(120deg, #0e7490 0%, #0891b2 55%, #06b6d4 100%);
    color: white;
    padding: 1.25rem 1.5rem;
    border-radius: 18px;
    margin-bottom: 1rem;
    box-shadow: 0 12px 30px rgba(8,145,178,.3);
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px;
}
.tpe-header-left[b-xmp6byr0mn] { display: flex; align-items: center; gap: 14px; }
.tpe-header-icon[b-xmp6byr0mn] { font-size: 2rem; }
.tpe-header h1[b-xmp6byr0mn] { font-size: 1.3rem; font-weight: 800; margin: 0; }
.tpe-header span[b-xmp6byr0mn] { font-size: .82rem; opacity: .9; }

.tpe-toolbar[b-xmp6byr0mn] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tpe-date-lbl[b-xmp6byr0mn] { font-size: .82rem; font-weight: 700; }
.tpe-date[b-xmp6byr0mn] {
    border: none; border-radius: 10px; padding: .45rem .7rem;
    font-size: .85rem; color: #0e7490; font-weight: 600; outline: none;
    cursor: pointer;
}

/* ===== INFO ===== */
.tpe-info[b-xmp6byr0mn] {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    background: #ecfeff; border: 1px solid #cffafe; border-radius: 10px;
    padding: .5rem .9rem; font-size: .86rem; color: #0e7490; margin-bottom: .8rem;
}
.tpe-info strong[b-xmp6byr0mn] { text-transform: capitalize; }
.tpe-sep[b-xmp6byr0mn] { color: #a5f3fc; }

/* ===== TABLE (PC) ===== */
.tpe-card[b-xmp6byr0mn] {
    background: white; border: 1px solid #eef0f4; border-radius: 16px;
    overflow: hidden; box-shadow: 0 10px 30px rgba(8,145,178,.08);
}
.tpe-table-scroll[b-xmp6byr0mn] { overflow-x: auto; }
.tpe-table[b-xmp6byr0mn] { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .85rem; }
.tpe-table thead th[b-xmp6byr0mn] {
    background: linear-gradient(180deg, #0e7490, #155e75); color: #cffafe;
    padding: .7rem .8rem; text-align: left; font-weight: 700; font-size: .72rem;
    text-transform: uppercase; letter-spacing: .03em; white-space: nowrap;
    position: sticky; top: 0; z-index: 2;
}
.tpe-table tbody td[b-xmp6byr0mn] { padding: .6rem .8rem; border-bottom: 1px solid #f0f5f7; color: #334155; }
.tpe-table tbody tr:last-child td[b-xmp6byr0mn] { border-bottom: none; }
.tpe-row-alt td[b-xmp6byr0mn] { background: #f8fdfe; }
.tpe-table tbody tr:hover td[b-xmp6byr0mn] { background: #ecfeff; }

.tpe-num[b-xmp6byr0mn]   { width: 44px; text-align: center; color: #67e8f9; font-weight: 700; font-size: .76rem; }
.tpe-mono[b-xmp6byr0mn]  { font-family: ui-monospace, monospace; font-weight: 700; color: #0e7490; }
.tpe-nowrap[b-xmp6byr0mn] { white-space: nowrap; }

.tpe-montant[b-xmp6byr0mn] {
    font-family: ui-monospace, monospace; font-weight: 700; color: #059669;
    text-align: right; white-space: nowrap;
}

.tpe-ville[b-xmp6byr0mn] {
    display: inline-block; border-radius: 20px; padding: .1rem .6rem;
    font-size: .74rem; font-weight: 700;
}
.tpe-ville-tunis[b-xmp6byr0mn] { background: #eff6ff; color: #1d4ed8; }
.tpe-ville-sfax[b-xmp6byr0mn]  { background: #ecfeff; color: #0e7490; }

/* ===== TOTAL ROW ===== */
.tpe-total-row td[b-xmp6byr0mn] {
    background: linear-gradient(180deg, #ecfdf5, #d1fae5);
    border-top: 2px solid #059669; font-weight: 800; padding: .7rem .8rem;
}
.tpe-total-lbl[b-xmp6byr0mn] { text-align: right; color: #065f46; font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; }
.tpe-total-val[b-xmp6byr0mn] {
    font-family: ui-monospace, monospace; color: #059669; font-size: .95rem;
    text-align: right; white-space: nowrap;
}

/* ===== MOBILE CARDS ===== */
.tpe-mobile-list[b-xmp6byr0mn] { display: none; }

.tpe-mcard[b-xmp6byr0mn] {
    background: white; border-radius: 14px; margin-bottom: .7rem;
    box-shadow: 0 4px 16px rgba(8,145,178,.1); overflow: hidden;
    display: flex;
}
.tpe-mcard-accent[b-xmp6byr0mn] {
    width: 5px; flex-shrink: 0;
    background: linear-gradient(180deg, #06b6d4, #0e7490);
}
.tpe-accent-total[b-xmp6byr0mn] {
    background: linear-gradient(180deg, #10b981, #059669) !important;
}
.tpe-mcard-body[b-xmp6byr0mn] { flex: 1; padding: .8rem 1rem; }
.tpe-mcard-top[b-xmp6byr0mn] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: .35rem;
}
.tpe-mcard-idx[b-xmp6byr0mn] {
    font-size: .7rem; font-weight: 700; color: #94a3b8;
    background: #f1f5f9; border-radius: 6px; padding: .1rem .45rem;
}
.tpe-mcard-num[b-xmp6byr0mn] {
    font-family: ui-monospace, monospace; font-size: 1.05rem;
    font-weight: 800; color: #0e7490; margin-bottom: .5rem;
}
.tpe-mcard-row[b-xmp6byr0mn] {
    display: flex; justify-content: space-between; align-items: center;
    padding: .25rem 0; border-top: 1px solid #f0f5f7;
}
.tpe-mcard-lbl[b-xmp6byr0mn] { font-size: .74rem; color: #64748b; font-weight: 600; }
.tpe-mcard-val[b-xmp6byr0mn] { font-size: .82rem; color: #334155; font-weight: 600; }
.tpe-mcard-montant[b-xmp6byr0mn] { color: #059669; font-family: ui-monospace, monospace; font-weight: 800; }

/* ===== MOBILE TOTAL CARD ===== */
.tpe-mcard-total[b-xmp6byr0mn] {
    background: linear-gradient(120deg, #ecfdf5, #d1fae5);
    border: 2px solid #059669;
}
.tpe-mcard-montant-total[b-xmp6byr0mn] {
    font-family: ui-monospace, monospace; font-size: 1.1rem;
    font-weight: 900; color: #059669;
}

/* ===== LOADING / EMPTY ===== */
.tpe-loading[b-xmp6byr0mn] { display: flex; align-items: center; gap: 10px; padding: 1.6rem 1rem; color: #6b7280; font-size: .9rem; }
.tpe-spinner[b-xmp6byr0mn] {
    width: 20px; height: 20px; border: 3px solid #e5e7eb; border-top-color: #0891b2;
    border-radius: 50%; animation: tpe-spin-b-xmp6byr0mn .7s linear infinite;
}
@keyframes tpe-spin-b-xmp6byr0mn { to { transform: rotate(360deg); } }
.tpe-empty[b-xmp6byr0mn] {
    text-align: center; padding: 2.5rem 1rem; color: #94a3b8;
    background: #fafafa; border: 1px dashed #e2e8f0; border-radius: 12px; font-size: .9rem;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .tpe-header[b-xmp6byr0mn] { flex-direction: column; align-items: stretch; padding: 1rem; border-radius: 14px; }
    .tpe-header-left[b-xmp6byr0mn] { gap: 10px; }
    .tpe-header h1[b-xmp6byr0mn] { font-size: 1.1rem; }
    .tpe-header-icon[b-xmp6byr0mn] { font-size: 1.5rem; }
    .tpe-toolbar[b-xmp6byr0mn] { justify-content: stretch; }
    .tpe-date[b-xmp6byr0mn] { flex: 1; }

    .tpe-info[b-xmp6byr0mn] { font-size: .78rem; padding: .4rem .7rem; flex-direction: column; align-items: flex-start; gap: 4px; }
    .tpe-sep[b-xmp6byr0mn] { display: none; }

    .tpe-desktop[b-xmp6byr0mn] { display: none; }
    .tpe-mobile-list[b-xmp6byr0mn] { display: block; }
}
/* _content/TransactionAtlas.Web/Components/Pages/ValidationBc.razor.rz.scp.css */
/* ===== HEADER ===== */
.vbc-header[b-hrxlfo7x5u] {
    background: linear-gradient(120deg, #047857 0%, #059669 55%, #10b981 100%);
    color: white; padding: 1rem 1.2rem; border-radius: 15px; margin-bottom: .7rem;
    box-shadow: 0 10px 26px rgba(5,150,105,.26);
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.vbc-header-left[b-hrxlfo7x5u] { display: flex; align-items: center; gap: 12px; }
.vbc-header-icon[b-hrxlfo7x5u] { font-size: 1.7rem; }
.vbc-header h1[b-hrxlfo7x5u] { font-size: 1.2rem; font-weight: 800; margin: 0; }
.vbc-header-left span[b-hrxlfo7x5u] { font-size: .76rem; opacity: .9; }
.vbc-refresh[b-hrxlfo7x5u] { border: none; background: rgba(255,255,255,.16); color: white; border-radius: 9px; padding: .45rem .9rem; font-weight: 700; font-size: .82rem; cursor: pointer; }
.vbc-refresh:hover:not(:disabled)[b-hrxlfo7x5u] { background: rgba(255,255,255,.26); }

/* ===== RECHERCHE ===== */
.vbc-search[b-hrxlfo7x5u] { display: flex; align-items: center; gap: 8px; background: white; border: 2px solid #d1fae5; border-radius: 11px; padding: .5rem .85rem; margin-bottom: .7rem; }
.vbc-search:focus-within[b-hrxlfo7x5u] { border-color: #10b981; }
.vbc-search-ico[b-hrxlfo7x5u] { color: #94a3b8; }
.vbc-search-in[b-hrxlfo7x5u] { flex: 1; border: none; outline: none; font-size: .88rem; color: #334155; background: transparent; }
.vbc-search-clear[b-hrxlfo7x5u] { border: none; background: #ecfdf5; color: #047857; border-radius: 6px; width: 24px; height: 24px; cursor: pointer; }

/* ===== ONGLETS STATUT (segmented moderne) ===== */
.vbc-tabs[b-hrxlfo7x5u] {
    display: flex; gap: 8px;
    background: #ffffff; border: 1px solid #eef2f0; border-radius: 15px;
    padding: 6px; margin-bottom: .7rem;
    box-shadow: 0 6px 20px rgba(5,150,105,.07);
}
.vbc-tab[b-hrxlfo7x5u] {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: .6rem 1rem; border: none; background: transparent; border-radius: 11px;
    font-weight: 700; font-size: .86rem; letter-spacing: .01em;
    color: #64748b; cursor: pointer;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.vbc-tab:hover[b-hrxlfo7x5u] { background: #f0fdf4; color: #047857; }
.vbc-tab-active[b-hrxlfo7x5u], .vbc-tab-active:hover[b-hrxlfo7x5u] {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    color: #fff; box-shadow: 0 10px 22px rgba(5,150,105,.32); transform: translateY(-1px);
}

/* Puce « Validé » (mode validés) */
.vbc-chip-valide[b-hrxlfo7x5u] { display: inline-block; background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; border-radius: 20px; padding: .2rem .6rem; font-size: .74rem; font-weight: 800; }

/* ===== TOOLBAR (type + recherche) ===== */
.vbc-toolbar[b-hrxlfo7x5u] { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: .7rem; }
.vbc-toolbar .vbc-search[b-hrxlfo7x5u] { margin-bottom: 0; flex: 1; min-width: 180px; }
.vbc-typefilter[b-hrxlfo7x5u] { display: flex; align-items: center; gap: 7px; background: white; border: 2px solid #d1fae5; border-radius: 11px; padding: 0 .7rem; }
.vbc-typefilter:focus-within[b-hrxlfo7x5u] { border-color: #10b981; }
.vbc-tf-ico[b-hrxlfo7x5u] { color: #94a3b8; }
.vbc-tf-select[b-hrxlfo7x5u] { border: none; outline: none; background: transparent; padding: .55rem 0; font-size: .84rem; font-weight: 600; color: #334155; cursor: pointer; }

/* ===== BADGE TYPE ===== */
.vbc-cat[b-hrxlfo7x5u] { display: inline-block; border-radius: 20px; padding: .12rem .55rem; font-size: .64rem; font-weight: 800; letter-spacing: .03em; }
.vbc-cat-bc[b-hrxlfo7x5u] { background: #ecfdf5; color: #047857; }
.vbc-cat-rh[b-hrxlfo7x5u] { background: #eff6ff; color: #1d4ed8; }
.vbc-cat-depe[b-hrxlfo7x5u] { background: #fff7ed; color: #c2410c; }

/* ===== FOOT ===== */
.vbc-foot td[b-hrxlfo7x5u] { background: #f0fdf4; font-weight: 800; color: #047857; border-top: 2px solid #a7f3d0; padding: .55rem .75rem; }

/* ===== PAGINATION ===== */
.vbc-pager[b-hrxlfo7x5u] { display: flex; align-items: center; justify-content: space-between; padding: .7rem .85rem; gap: 10px; flex-wrap: wrap; border-top: 1px solid #f4f5f9; }
.vbc-pager-info[b-hrxlfo7x5u] { font-size: .74rem; color: #64748b; }
.vbc-pager-btns[b-hrxlfo7x5u] { display: flex; align-items: center; gap: 5px; }
.vbc-pg[b-hrxlfo7x5u] { min-width: 30px; height: 30px; border: 1px solid #e5e7eb; background: white; border-radius: 8px; cursor: pointer; font-size: .78rem; font-weight: 700; color: #475569; padding: 0 7px; }
.vbc-pg:hover:not(:disabled)[b-hrxlfo7x5u] { border-color: #10b981; color: #047857; }
.vbc-pg.active[b-hrxlfo7x5u] { background: #059669; border-color: #059669; color: white; }
.vbc-pg:disabled[b-hrxlfo7x5u] { opacity: .4; cursor: default; }
.vbc-pg-ellipsis[b-hrxlfo7x5u] { color: #94a3b8; padding: 0 2px; }

/* ===== MOBILE : badge + num ===== */
.vbc-mcard-idwrap[b-hrxlfo7x5u] { display: inline-flex; align-items: center; gap: 8px; }

/* ===== BANNER / INFO ===== */
.vbc-banner[b-hrxlfo7x5u] { padding: .6rem .9rem; border-radius: 10px; font-size: .85rem; font-weight: 600; margin-bottom: .7rem; }
.vbc-ok[b-hrxlfo7x5u]  { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.vbc-err[b-hrxlfo7x5u] { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.vbc-info[b-hrxlfo7x5u] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: #f0fdf4; border: 1px solid #d1fae5; border-radius: 9px; padding: .45rem .8rem; font-size: .82rem; color: #047857; margin-bottom: .6rem; }
.vbc-sep[b-hrxlfo7x5u] { color: #a7f3d0; }

/* ===== TABLE ===== */
.vbc-card[b-hrxlfo7x5u] { background: white; border: 1px solid #eef0f4; border-radius: 13px; overflow: hidden; box-shadow: 0 8px 24px rgba(15,23,42,.05); }
.vbc-scroll[b-hrxlfo7x5u] { overflow-x: auto; }
.vbc-table[b-hrxlfo7x5u] { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .78rem; }
.vbc-table thead th[b-hrxlfo7x5u] {
    background: #f8fafc; color: #64748b; padding: .6rem .75rem; text-align: left;
    font-weight: 700; font-size: .66rem; text-transform: uppercase; letter-spacing: .02em;
    white-space: nowrap; border-bottom: 1px solid #eef0f4;
}
.vbc-table th.ta-r[b-hrxlfo7x5u], .vbc-table td.ta-r[b-hrxlfo7x5u] { text-align: right; }
.vbc-table th.ta-c[b-hrxlfo7x5u], .vbc-table td.ta-c[b-hrxlfo7x5u] { text-align: center; }
.vbc-table tbody td[b-hrxlfo7x5u] { padding: .55rem .75rem; border-bottom: 1px solid #f4f5f9; color: #334155; white-space: nowrap; }
.vbc-table tbody tr:last-child td[b-hrxlfo7x5u] { border-bottom: none; }
.vbc-table tbody tr:hover td[b-hrxlfo7x5u] { background: #f6fefb; }

.vbc-num[b-hrxlfo7x5u]  { color: #94a3b8; font-weight: 700; text-align: center; }
.vbc-mono[b-hrxlfo7x5u] { font-family: ui-monospace, monospace; font-weight: 600; }
.vbc-ttc[b-hrxlfo7x5u]  { color: #059669; font-weight: 800; }
.vbc-site[b-hrxlfo7x5u] { color: #64748b; font-size: .72rem; }

/* N° BC cliquable */
.vbc-link[b-hrxlfo7x5u] {
    border: none; background: none; color: #047857; font-weight: 800; cursor: pointer;
    font-family: ui-monospace, monospace; font-size: .82rem; padding: 0; text-decoration: underline;
    text-underline-offset: 2px;
}
.vbc-link:hover[b-hrxlfo7x5u] { color: #10b981; }

.vbc-btn-valider[b-hrxlfo7x5u] {
    background: linear-gradient(135deg, #059669, #10b981); color: white; border: none;
    border-radius: 8px; padding: .35rem .8rem; font-size: .78rem; font-weight: 700; cursor: pointer;
    white-space: nowrap; box-shadow: 0 3px 10px rgba(5,150,105,.25);
}
.vbc-btn-valider:hover:not(:disabled)[b-hrxlfo7x5u] { opacity: .9; }
.vbc-btn-valider:disabled[b-hrxlfo7x5u] { opacity: .5; cursor: default; }
.vbc-more[b-hrxlfo7x5u] { padding: .6rem .8rem; text-align: center; font-size: .76rem; color: #94a3b8; border-top: 1px solid #f4f5f9; }

/* ===== ÉTATS ===== */
.vbc-state[b-hrxlfo7x5u] { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 1.6rem 1rem; color: #6b7280; font-size: .88rem; }
.vbc-spinner[b-hrxlfo7x5u] { width: 20px; height: 20px; border: 3px solid #d1fae5; border-top-color: #059669; border-radius: 50%; animation: vbc-spin-b-hrxlfo7x5u .7s linear infinite; }
@keyframes vbc-spin-b-hrxlfo7x5u { to { transform: rotate(360deg); } }
.vbc-empty[b-hrxlfo7x5u] { background: #f0fdf4; border: 1px dashed #a7f3d0; border-radius: 12px; color: #047857; }

/* ===== CARTES MOBILE (liste) ===== */
.vbc-mobile-list[b-hrxlfo7x5u] { display: none; }
.vbc-mcard[b-hrxlfo7x5u] { background: white; border: 1px solid #eef0f4; border-radius: 13px; padding: .75rem .9rem; margin-bottom: .6rem; box-shadow: 0 4px 14px rgba(15,23,42,.06); }
.vbc-mcard-top[b-hrxlfo7x5u] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: .35rem; }
.vbc-mcard-num[b-hrxlfo7x5u] { border: none; background: #ecfdf5; color: #047857; font-family: ui-monospace, monospace; font-weight: 800; font-size: .85rem; border-radius: 8px; padding: .2rem .55rem; cursor: pointer; }
.vbc-mcard-ttc[b-hrxlfo7x5u] { font-family: ui-monospace, monospace; font-weight: 800; color: #059669; }
.vbc-mcard-sub[b-hrxlfo7x5u] { font-size: .74rem; color: #64748b; }
.vbc-mcard-rs[b-hrxlfo7x5u]  { font-size: .82rem; color: #1e293b; font-weight: 700; margin-top: .15rem; }
.vbc-mcard-budget[b-hrxlfo7x5u] { font-size: .74rem; color: #475569; margin-top: .15rem; }
.vbc-mcard-foot[b-hrxlfo7x5u] { display: flex; align-items: center; justify-content: space-between; margin-top: .55rem; border-top: 1px solid #f1f5f9; padding-top: .5rem; }
.vbc-mcard-ht[b-hrxlfo7x5u] { font-family: ui-monospace, monospace; font-size: .78rem; color: #334155; font-weight: 700; }

/* ===== MODAL DÉTAIL ===== */
.vbc-overlay[b-hrxlfo7x5u] { position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 40; }
.vbc-detail-modal[b-hrxlfo7x5u] {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 41;
    background: white; border-radius: 16px; width: min(920px, 95vw); max-height: 90vh;
    display: flex; flex-direction: column; box-shadow: 0 24px 60px rgba(0,0,0,.3); overflow: hidden;
}
.vbc-detail-head[b-hrxlfo7x5u] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: #ecfdf5; padding: .8rem 1.1rem; }
.vbc-detail-num[b-hrxlfo7x5u] { font-family: ui-monospace, monospace; font-weight: 800; color: #047857; font-size: 1rem; }
.vbc-detail-rs[b-hrxlfo7x5u] { font-size: .82rem; color: #334155; font-weight: 700; }
.vbc-detail-close[b-hrxlfo7x5u] { border: none; background: white; color: #475569; border-radius: 8px; width: 30px; height: 30px; cursor: pointer; font-weight: 700; }
.vbc-detail-meta[b-hrxlfo7x5u] { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: .6rem 1.1rem; font-size: .78rem; color: #64748b; border-bottom: 1px solid #f1f5f9; }
.vbc-detail-meta strong[b-hrxlfo7x5u] { color: #1e293b; }
.vbc-detail-body[b-hrxlfo7x5u] { overflow: auto; padding: .4rem 0; flex: 1; }
.vbc-detail-foot[b-hrxlfo7x5u] { display: flex; justify-content: flex-end; gap: 8px; padding: .8rem 1.1rem; border-top: 1px solid #f1f5f9; }

.vbc-lignes-total td[b-hrxlfo7x5u] { background: #f0fdf4; font-weight: 800; color: #047857; border-top: 2px solid #a7f3d0; }
.vbc-lignes-wrap[b-hrxlfo7x5u] { width: 100%; }

/* Lignes en cartes (mobile) */
.vbc-lcard[b-hrxlfo7x5u] { background: white; border: 1px solid #eef0f4; border-radius: 11px; padding: .6rem .8rem; margin: 0 .8rem .55rem; box-shadow: 0 3px 10px rgba(15,23,42,.05); }
.vbc-lcard-top[b-hrxlfo7x5u] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vbc-lcard-code[b-hrxlfo7x5u] { color: #047857; font-weight: 800; font-size: .82rem; }
.vbc-lcard-des[b-hrxlfo7x5u] { font-size: .8rem; color: #1e293b; margin: .25rem 0 .4rem; }
.vbc-lcard-grid[b-hrxlfo7x5u] { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .72rem; color: #64748b; }
.vbc-lcard-grid strong[b-hrxlfo7x5u] { color: #1e293b; font-family: ui-monospace, monospace; }
.vbc-lcard-total[b-hrxlfo7x5u] { display: flex; align-items: center; justify-content: space-between; background: #f0fdf4; border-color: #a7f3d0; font-weight: 800; color: #047857; }

/* ===== MODAL CONFIRMATION ===== */
.vbc-overlay-top[b-hrxlfo7x5u] { z-index: 50; }
.vbc-modal[b-hrxlfo7x5u] { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 51; background: white; border-radius: 16px; width: min(420px, 92vw); box-shadow: 0 24px 60px rgba(0,0,0,.3); overflow: hidden; }
.vbc-modal-q[b-hrxlfo7x5u] { font-size: .95rem; color: #1e293b; margin-bottom: .3rem; }
.vbc-modal-head[b-hrxlfo7x5u] { background: #ecfdf5; color: #047857; font-weight: 800; padding: .9rem 1.1rem; font-size: .95rem; }
.vbc-modal-body[b-hrxlfo7x5u] { padding: 1rem 1.1rem; font-size: .86rem; color: #334155; }
.vbc-modal-doc[b-hrxlfo7x5u] { background: #f8fafc; border: 1px solid #eef0f4; border-radius: 10px; padding: .6rem .8rem; margin: .6rem 0; }
.vbc-modal-doc > div[b-hrxlfo7x5u] { display: flex; justify-content: space-between; gap: 12px; padding: .2rem 0; }
.vbc-modal-doc span[b-hrxlfo7x5u] { color: #64748b; font-size: .78rem; }
.vbc-modal-doc strong[b-hrxlfo7x5u] { font-family: ui-monospace, monospace; color: #1e293b; }
.vbc-modal-note[b-hrxlfo7x5u] { font-size: .78rem; color: #64748b; }
.vbc-modal-foot[b-hrxlfo7x5u] { display: flex; justify-content: flex-end; gap: 8px; padding: .8rem 1.1rem; border-top: 1px solid #f1f5f9; }
.vbc-btn-cancel[b-hrxlfo7x5u] { border: 1px solid #e5e7eb; background: white; color: #475569; border-radius: 9px; padding: .5rem 1rem; font-weight: 700; font-size: .82rem; cursor: pointer; }
.vbc-btn-confirm[b-hrxlfo7x5u] { border: none; background: linear-gradient(135deg, #059669, #10b981); color: white; border-radius: 9px; padding: .5rem 1.2rem; font-weight: 800; font-size: .82rem; cursor: pointer; }
.vbc-btn-confirm:disabled[b-hrxlfo7x5u] { opacity: .5; cursor: default; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .vbc-header[b-hrxlfo7x5u] { flex-direction: column; align-items: stretch; padding: .9rem; }
    .vbc-header h1[b-hrxlfo7x5u] { font-size: 1.05rem; }

    /* Écran 1 (liste) : cartes sur mobile ; le tableau reste sur PC */
    .vbc-desktop[b-hrxlfo7x5u] { display: none; }
    .vbc-mobile-list[b-hrxlfo7x5u] { display: block; }
    .vbc-toolbar[b-hrxlfo7x5u] { flex-direction: column; }
    .vbc-pager[b-hrxlfo7x5u] { justify-content: center; }

    .vbc-detail-modal[b-hrxlfo7x5u] { width: 100vw; height: 100vh; max-height: 100vh; border-radius: 0; top: 0; left: 0; transform: none; }
    .vbc-detail-meta[b-hrxlfo7x5u] { gap: 6px 12px; font-size: .74rem; }

    /* Écran 2 (détail) : tableau compact scrollable comme solde-client-actif */
    .vbc-lignes[b-hrxlfo7x5u] { font-size: .58rem; }
    .vbc-lignes thead th[b-hrxlfo7x5u] { padding: .3rem .4rem; font-size: .5rem; }
    .vbc-lignes tbody td[b-hrxlfo7x5u] { padding: .3rem .4rem; }

    /* Popup de confirmation : confortable au tactile sur téléphone */
    .vbc-modal[b-hrxlfo7x5u] { width: min(420px, 94vw); }
    .vbc-modal-head[b-hrxlfo7x5u] { font-size: 1rem; padding: 1rem 1.1rem; }
    .vbc-modal-q[b-hrxlfo7x5u] { font-size: 1rem; }
    .vbc-modal-foot[b-hrxlfo7x5u] { padding: .9rem 1.1rem; gap: 10px; }
    .vbc-modal-foot .vbc-btn-cancel[b-hrxlfo7x5u],
    .vbc-modal-foot .vbc-btn-confirm[b-hrxlfo7x5u] { flex: 1; padding: .75rem; font-size: .9rem; text-align: center; }
}
/* _content/TransactionAtlas.Web/Components/Pages/Ville.razor.rz.scp.css */
/* Header détail ville */
.detail-header[b-wemy12syjy] {
    border-radius: 14px;
    padding: 1.2rem 1.5rem;
    color: white;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1.2rem;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    flex-wrap: wrap;
}

.jour-semaine-header[b-wemy12syjy] {
    color: #FF5252;
    font-weight: 700;
    font-style: normal;
}

/* Zone droite header : notes + datepicker */
.header-right-zone[b-wemy12syjy] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.ville-note-badge[b-wemy12syjy] {
    font-size: 0.78rem;
    padding: 0.35rem 0.7rem;
    border-radius: 10px;
    background: rgba(255,255,255,0.18);
    color: white;
    white-space: normal;
    word-break: break-word;
    line-height: 1.4;
}

.btn-note-ville[b-wemy12syjy] {
    background: rgba(255,255,255,0.2);
    border: 1.5px solid rgba(255,255,255,0.4);
    color: white;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-note-ville:hover[b-wemy12syjy] { background: rgba(255,255,255,0.35); transform: scale(1.1); }

/* ===== POPUP NOTE (Ville) ===== */
.note-overlay[b-wemy12syjy] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 999;
}

.note-popup[b-wemy12syjy] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
    width: 420px;
    max-width: 92vw;
    z-index: 1000;
    overflow: hidden;
}

.note-popup-header[b-wemy12syjy] {
    color: white;
    padding: 0.8rem 1.2rem;
    font-weight: 700;
    font-size: 1rem;
}

.note-popup-tunis[b-wemy12syjy] { background: linear-gradient(135deg, #1565C0, #1976D2); }
.note-popup-sfax[b-wemy12syjy]  { background: linear-gradient(135deg, #0277BD, #0288D1); }

.note-popup-body[b-wemy12syjy] {
    padding: 1rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.note-popup-body label[b-wemy12syjy] {
    font-weight: 600;
    color: #1A237E;
    font-size: 0.88rem;
}

.note-textarea[b-wemy12syjy] {
    border: 1.5px solid #C5CAE9;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.9rem;
    color: #333;
    resize: vertical;
    outline: none;
    font-family: inherit;
}

.note-textarea:focus[b-wemy12syjy] { border-color: #1A237E; }

.note-popup-footer[b-wemy12syjy] {
    padding: 0.7rem 1.2rem;
    display: flex;
    gap: 0.6rem;
    justify-content: flex-end;
    border-top: 1px solid #E8EAF6;
}

.btn-note-save[b-wemy12syjy] {
    background: #1A237E;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-size: 0.88rem;
    cursor: pointer;
}

.btn-note-save:hover:not(:disabled)[b-wemy12syjy] { background: #283593; }
.btn-note-save:disabled[b-wemy12syjy] { opacity: 0.5; cursor: not-allowed; }

.btn-note-cancel[b-wemy12syjy] {
    background: #E8EAF6;
    color: #1A237E;
    border: none;
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-size: 0.88rem;
    cursor: pointer;
}

.btn-note-cancel:hover[b-wemy12syjy] { background: #C5CAE9; }

/* Sélecteur de date dans le header */
.header-datepicker[b-wemy12syjy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255,255,255,0.15);
    border: 1.5px solid rgba(255,255,255,0.4);
    border-radius: 8px;
    padding: 0.35rem 0.75rem;
}

.header-datepicker label[b-wemy12syjy] {
    font-size: 1rem;
    opacity: 0.9;
}

.ville-date-input[b-wemy12syjy] {
    background: transparent;
    border: none;
    outline: none;
    color: white;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    width: 130px;
}

.ville-date-input[b-wemy12syjy]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 0.8;
    cursor: pointer;
}

.ville-date-input:disabled[b-wemy12syjy] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Boutons ◀ ▶ dans le header */
.btn-day-header[b-wemy12syjy] {
    background: rgba(255,255,255,0.2);
    color: white;
    border: 1.5px solid rgba(255,255,255,0.45);
    border-radius: 6px;
    padding: 0.25rem 0.55rem;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    line-height: 1;
}

.btn-day-header:hover:not(:disabled)[b-wemy12syjy] {
    background: rgba(255,255,255,0.35);
    transform: scale(1.1);
}

.btn-day-header:disabled[b-wemy12syjy] {
    opacity: 0.4;
    cursor: not-allowed;
}

.header-tunis[b-wemy12syjy] { background: linear-gradient(135deg, #1565C0, #1976D2); }
.header-sfax[b-wemy12syjy]  { background: linear-gradient(135deg, #0277BD, #0288D1); }

.header-center[b-wemy12syjy] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.header-icon[b-wemy12syjy] { font-size: 2rem; }

.detail-header h1[b-wemy12syjy] {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 700;
}

.detail-header span[b-wemy12syjy] {
    font-size: 0.85rem;
    opacity: 0.8;
}

/* Bouton retour */
.btn-back[b-wemy12syjy] {
    background: rgba(255,255,255,0.2);
    color: white;
    border: 1.5px solid rgba(255,255,255,0.5);
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-size: 0.9rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}

.btn-back:hover[b-wemy12syjy] { background: rgba(255,255,255,0.35); }


/* ===== LAYOUT PRINCIPAL : contenu gauche | CA/Heure droite sticky ===== */
.main-layout[b-wemy12syjy] {
    display: grid;
    grid-template-columns: 1fr 270px;
    gap: 1.2rem;
    align-items: start;
}

.main-left[b-wemy12syjy] {
    min-width: 0;
}

.caheure-sticky[b-wemy12syjy] {
    position: sticky;
    top: 1rem;
}

@media (max-width: 960px) {
    .main-layout[b-wemy12syjy] { grid-template-columns: 1fr; }
    .caheure-sticky[b-wemy12syjy] { position: static; }
}

/* ===== KPI CARDS (vert / jaune / bleu) ===== */
.kpi-grid[b-wemy12syjy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8rem;
    margin-bottom: 1.2rem;
}

.kpi-card[b-wemy12syjy] {
    border-radius: 14px;
    padding: 1.1rem 1.4rem;
    color: white;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.kpi-green[b-wemy12syjy]  { background: linear-gradient(135deg, #2E7D32, #43A047); }
.kpi-yellow[b-wemy12syjy] { background: linear-gradient(135deg, #F57F17, #FBC02D); }
.kpi-blue[b-wemy12syjy]   { background: linear-gradient(135deg, #1565C0, #1E88E5); }

.kpi-label[b-wemy12syjy] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    opacity: 0.88;
}

.kpi-value[b-wemy12syjy] {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.1;
}

.kpi-sub-label[b-wemy12syjy] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.8;
    margin-top: 0.5rem;
}

.kpi-sub-value[b-wemy12syjy] {
    font-size: 1.3rem;
    font-weight: 700;
}

/* Enfants actuellement dans chaque jeu (petit, italique) */
.kpi-jeux[b-wemy12syjy] {
    margin-top: 0.4rem;
    display: flex; flex-direction: column; gap: 1px;
    border-top: 1px solid rgba(255,255,255,.3);
    padding-top: 0.35rem;
}
.kpi-jeu[b-wemy12syjy] {
    font-size: 0.72rem;
    font-style: italic;
    font-weight: 600;
    opacity: .95;
}

@media (max-width: 700px) {
    .kpi-grid[b-wemy12syjy] { grid-template-columns: 1fr; }
    .kpi-value[b-wemy12syjy] { font-size: 1.4rem; }
}

/* Titre section */
.section-title[b-wemy12syjy] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1A237E;
    margin: 0.8rem 0 0.6rem;
    border-left: 4px solid #1A237E;
    padding-left: 0.6rem;
}

/* Table card */
.table-card[b-wemy12syjy] {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    margin-bottom: 1.5rem;
}

/* Tableau */
.dash-table[b-wemy12syjy] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.dash-table thead tr[b-wemy12syjy] { background: #F5F7FF; }

.dash-table th[b-wemy12syjy] {
    padding: 0.6rem 1rem;
    color: #3949AB;
    font-weight: 600;
    border-bottom: 2px solid #E8EAF6;
    text-align: left;
}

.dash-table td[b-wemy12syjy] {
    padding: 0.6rem 1rem;
    border-bottom: 1px solid #F0F0F0;
    color: #37474F;
}

.dash-table tbody tr:hover[b-wemy12syjy] { background: #F8F9FF; }

.dash-table tfoot .total-row[b-wemy12syjy] { background: #E8EAF6; }

.dash-table tfoot td[b-wemy12syjy] {
    padding: 0.65rem 1rem;
    color: #1A237E;
    border-top: 2px solid #C5CAE9;
}

.text-right[b-wemy12syjy]  { text-align: right !important; }
.text-center[b-wemy12syjy] { text-align: center !important; }
.text-muted[b-wemy12syjy]  { color: #9E9E9E; font-style: italic; }

.empty[b-wemy12syjy] {
    text-align: center;
    color: #9E9E9E;
    font-style: italic;
    padding: 1.2rem !important;
}

/* Loading */
.loading-bar[b-wemy12syjy] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 1rem;
    color: #1A237E;
}

.spinner[b-wemy12syjy] {
    width: 22px;
    height: 22px;
    border: 3px solid #C5CAE9;
    border-top-color: #1A237E;
    border-radius: 50%;
    animation: spin-b-wemy12syjy 0.8s linear infinite;
}

@keyframes spin-b-wemy12syjy { to { transform: rotate(360deg); } }

/* Erreur */
.alert-error[b-wemy12syjy] {
    background: #FFEBEE;
    color: #C62828;
    border-left: 4px solid #EF5350;
    border-radius: 6px;
    padding: 0.8rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

/* Accordéon */
.row-accordion[b-wemy12syjy] {
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}

.row-accordion:hover[b-wemy12syjy] { background: #EEF2FF !important; }

.accordion-icon[b-wemy12syjy] {
    display: inline-block;
    width: 1rem;
    font-size: 0.72rem;
    color: #1A237E;
    margin-right: 0.3rem;
}

.accordion-detail-row[b-wemy12syjy] {
    background: #F5F7FF;
    animation: fadeIn-b-wemy12syjy 0.2s ease;
}

.accordion-detail-row:hover[b-wemy12syjy] { background: #EEF2FF !important; }

.accordion-detail-cell[b-wemy12syjy] {
    padding-left: 2.5rem !important;
    color: #5C6BC0 !important;
    font-style: italic;
    font-size: 0.85rem !important;
}

.accordion-detail-amount[b-wemy12syjy] {
    color: #3949AB !important;
    font-weight: 600;
    font-size: 0.85rem !important;
}

@keyframes fadeIn-b-wemy12syjy {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== STATISTIQUES ===== */
.stats-card[b-wemy12syjy] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    overflow: hidden;
    margin-bottom: 1.2rem;
}

.stats-tunis[b-wemy12syjy] { border-top: 4px solid #1565C0; }
.stats-sfax[b-wemy12syjy]  { border-top: 4px solid #0277BD; }

.stats-rows[b-wemy12syjy] { padding: 0.4rem 0; }

.stats-row[b-wemy12syjy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 1.1rem;
    border-bottom: 1px solid #F0F4FF;
    transition: background 0.12s;
}

.stats-row:last-child[b-wemy12syjy] { border-bottom: none; }
.stats-row:hover[b-wemy12syjy]      { background: #F8F9FF; }

.stats-row-indent .stats-lib[b-wemy12syjy] {
    padding-left: 0.8rem;
    color: #5C6BC0;
    font-style: italic;
    font-size: 0.86rem;
}

.stats-lib[b-wemy12syjy] {
    color: #455A64;
    font-size: 0.92rem;
}

.stats-val[b-wemy12syjy] {
    font-weight: 700;
    font-size: 1.1rem;
    color: #1A237E;
    min-width: 2.5rem;
    text-align: right;
}

.stats-new[b-wemy12syjy]  { color: #2E7D32; }
.stats-warn[b-wemy12syjy] { color: #E65100; }

/* ===== CA / HEURE ===== */
.caheure-card[b-wemy12syjy] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09);
    overflow: hidden;
    border-top: 4px solid #37474F;
}

.caheure-title[b-wemy12syjy] {
    background: #37474F;
    color: white;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.55rem 1rem;
}

.caheure-table[b-wemy12syjy] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.caheure-table th[b-wemy12syjy] {
    padding: 0.4rem 0.8rem;
    color: #546E7A;
    font-weight: 700;
    border-bottom: 2px solid #ECEFF1;
    background: #F5F7F8;
    text-align: left;
}

.caheure-table td[b-wemy12syjy] {
    padding: 0.38rem 0.8rem;
    border-bottom: 1px solid #F0F4F5;
    color: #37474F;
}

.caheure-table tbody tr:hover[b-wemy12syjy] { background: #F5F7F8; }

.caheure-table tfoot .total-row[b-wemy12syjy] {
    background: #ECEFF1;
}

.caheure-table tfoot td[b-wemy12syjy] {
    padding: 0.45rem 0.8rem;
    color: #263238;
    border-top: 2px solid #CFD8DC;
}

.caheure-amount[b-wemy12syjy] {
    font-weight: 700;
    color: #1A237E;
}

.stats-separator[b-wemy12syjy] { border-top: 2px dashed #C5CAE9 !important; margin-top: 0.2rem; }
.stats-lib-panier[b-wemy12syjy] { font-weight: 600; color: #1A237E; }
.stats-panier[b-wemy12syjy] { color: #1565C0; font-size: 1.05rem; font-weight: 700; }

/* ===== COLONNES TRIABLES ===== */
.sort-col[b-wemy12syjy] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    transition: background 0.12s, color 0.12s;
}

.sort-col:hover[b-wemy12syjy] {
    background: #D1D9FF !important;
    color: #1A237E !important;
}

.sort-active[b-wemy12syjy] {
    background: #C5CAE9 !important;
    color: #1A237E !important;
    font-weight: 800 !important;
}

/* ===== RESTAURANT DÉTAIL COLONNES ===== */
.accordion-detail-header[b-wemy12syjy] {
    background: #EEEEEE;
}

.accordion-detail-header td[b-wemy12syjy] {
    padding: 0.35rem 1rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #546E7A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #E0E0E0;
}

.detail-col-article[b-wemy12syjy] { width: 50%; padding-left: 2.5rem !important; }
.detail-col-qte[b-wemy12syjy]     { width: 15%; text-align: right !important; }
.detail-col-prix[b-wemy12syjy]    { width: 15%; text-align: right !important; }
.detail-col-total[b-wemy12syjy]   { width: 20%; text-align: right !important; }

/* ===== ONGLETS RECETTE SFAX ===== */
.sfax-tabs[b-wemy12syjy] {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.sfax-tab[b-wemy12syjy] {
    flex: 1;
    min-width: 0;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.42rem 0.5rem;
    border-radius: 20px;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    cursor: pointer;
    text-align: center;
    transition: all 0.15s;
    white-space: nowrap;
}

.sfax-tab:hover[b-wemy12syjy] { background: #f1f5f9; border-color: #94a3b8; }

.sfax-tab-active[b-wemy12syjy] { color: #fff !important; border-color: transparent !important; }
.sfax-tab-all.sfax-tab-active[b-wemy12syjy]   { background: linear-gradient(135deg, #1565C0, #1E88E5); }
.sfax-tab-padel.sfax-tab-active[b-wemy12syjy] { background: linear-gradient(135deg, #1565C0, #2196F3); }
.sfax-tab-parc.sfax-tab-active[b-wemy12syjy]  { background: linear-gradient(135deg, #2E7D32, #43A047); }

.recette-head-padel th[b-wemy12syjy] { background: #dbeafe !important; color: #1d4ed8 !important; }
.recette-head-parc  th[b-wemy12syjy] { background: #d1fae5 !important; color: #065f46 !important; }

/* ================================================================
   RESPONSIVE — améliorations complètes PC → tablette → mobile
   ================================================================ */

/* ─── Tablette ≤ 960px ────────────────────────────────────────── */
@media (max-width: 960px) {
    /* Layout déjà géré (.main-layout / .caheure-sticky) */

    /* Tables scrollables horizontalement */
    .table-card[b-wemy12syjy] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Header légèrement réduit */
    .detail-header[b-wemy12syjy]  { padding: 0.9rem 1rem; gap: 0.8rem; }
    .detail-header h1[b-wemy12syjy] { font-size: 1.35rem; }
    .header-icon[b-wemy12syjy]    { font-size: 1.7rem; }
}

/* ─── Mobile large ≤ 700px ─────────────────────────────────────── */
@media (max-width: 700px) {
    /* Header : passe en colonne */
    .detail-header[b-wemy12syjy] {
        flex-direction: column;
        align-items: flex-start;
        padding: 0.8rem 0.9rem;
        gap: 0.55rem;
        border-radius: 10px;
        margin-bottom: 0.9rem;
    }
    .header-center[b-wemy12syjy]    { gap: 0.6rem; }
    .header-right-zone[b-wemy12syjy] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }
    .header-datepicker[b-wemy12syjy] { flex: 1; min-width: 0; }
    .detail-header h1[b-wemy12syjy]  { font-size: 1.2rem; }
    .header-icon[b-wemy12syjy]       { font-size: 1.45rem; }

    /* KPI déjà 1-col, réduire padding */
    .kpi-card[b-wemy12syjy]  { padding: 0.85rem 1rem; }
    .kpi-value[b-wemy12syjy] { font-size: 1.35rem; }

    /* Tables padding réduit */
    .dash-table[b-wemy12syjy]         { font-size: 0.85rem; }
    .dash-table th[b-wemy12syjy],
    .dash-table td[b-wemy12syjy]      { padding: 0.48rem 0.65rem; }
    .dash-table tfoot td[b-wemy12syjy] { padding: 0.5rem 0.65rem; }

    /* Stats */
    .stats-row[b-wemy12syjy] { padding: 0.5rem 0.9rem; }

    /* Sfax tabs */
    .sfax-tab[b-wemy12syjy] { font-size: 0.74rem; padding: 0.38rem 0.42rem; }
}

/* ─── Mobile ≤ 480px ────────────────────────────────────────────── */
@media (max-width: 480px) {
    /* Header très compact */
    .detail-header[b-wemy12syjy] {
        padding: 0.6rem 0.75rem;
        gap: 0.42rem;
        border-radius: 8px;
        margin-bottom: 0.7rem;
    }
    .detail-header h1[b-wemy12syjy]  { font-size: 1rem; }
    .header-icon[b-wemy12syjy]       { font-size: 1.25rem; }
    .header-center[b-wemy12syjy]     { gap: 0.4rem; }

    /* Bouton retour */
    .btn-back[b-wemy12syjy] {
        padding: 0.28rem 0.6rem;
        font-size: 0.78rem;
        border-radius: 6px;
    }

    /* Bouton note */
    .btn-note-ville[b-wemy12syjy] {
        width: 26px;
        height: 26px;
        font-size: 0.76rem;
    }
    .ville-note-badge[b-wemy12syjy]  { font-size: 0.7rem; padding: 0.25rem 0.5rem; }

    /* Datepicker */
    .header-datepicker[b-wemy12syjy] { padding: 0.26rem 0.5rem; gap: 0.28rem; }
    .ville-date-input[b-wemy12syjy]  { font-size: 0.8rem; width: 105px; }
    .btn-day-header[b-wemy12syjy]    { padding: 0.18rem 0.42rem; font-size: 0.74rem; }

    /* KPI cards : 2 colonnes serrées + 3e pleine largeur */
    .kpi-grid[b-wemy12syjy] {
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
        margin-bottom: 0.7rem;
    }
    .kpi-grid .kpi-card:last-child[b-wemy12syjy] {
        grid-column: 1 / -1;   /* 3e carte prend toute la largeur */
    }
    .kpi-card[b-wemy12syjy]      { padding: 0.6rem 0.75rem; border-radius: 10px; }
    .kpi-label[b-wemy12syjy]     { font-size: 0.62rem; }
    .kpi-value[b-wemy12syjy]     { font-size: 1.1rem; }
    .kpi-sub-label[b-wemy12syjy] { font-size: 0.58rem; margin-top: 0.25rem; }
    .kpi-sub-value[b-wemy12syjy] { font-size: 0.9rem; }

    /* Titre de section */
    .section-title[b-wemy12syjy] {
        font-size: 0.86rem;
        margin: 0.55rem 0 0.38rem;
        padding-left: 0.45rem;
    }

    /* Tables très compactes + scroll */
    .table-card[b-wemy12syjy] { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .dash-table[b-wemy12syjy] { font-size: 0.74rem; }
    .dash-table th[b-wemy12syjy] {
        padding: 0.35rem 0.42rem;
        font-size: 0.7rem;
        white-space: nowrap;
    }
    .dash-table td[b-wemy12syjy]      { padding: 0.35rem 0.42rem; }
    .dash-table tfoot td[b-wemy12syjy] { padding: 0.38rem 0.42rem; }

    /* Accordéon détail */
    .accordion-detail-cell[b-wemy12syjy] {
        padding-left: 0.9rem !important;
        font-size: 0.72rem !important;
    }
    .accordion-detail-amount[b-wemy12syjy]  { font-size: 0.72rem !important; }
    .accordion-detail-header td[b-wemy12syjy] {
        padding: 0.26rem 0.42rem;
        font-size: 0.68rem;
    }
    .detail-col-article[b-wemy12syjy] { padding-left: 0.9rem !important; }

    /* Stats card */
    .stats-row[b-wemy12syjy]   { padding: 0.4rem 0.7rem; }
    .stats-lib[b-wemy12syjy]   { font-size: 0.8rem; }
    .stats-val[b-wemy12syjy]   { font-size: 0.86rem; min-width: 1.8rem; }

    /* CA / Heure */
    .caheure-title[b-wemy12syjy] { font-size: 0.72rem; padding: 0.4rem 0.7rem; }
    .caheure-table[b-wemy12syjy] { font-size: 0.74rem; }
    .caheure-table th[b-wemy12syjy],
    .caheure-table td[b-wemy12syjy]   { padding: 0.3rem 0.48rem; }
    .caheure-table tfoot td[b-wemy12syjy] { padding: 0.32rem 0.48rem; }

    /* Sfax tabs */
    .sfax-tabs[b-wemy12syjy] { gap: 0.28rem; margin-bottom: 0.55rem; }
    .sfax-tab[b-wemy12syjy]  { font-size: 0.66rem; padding: 0.28rem 0.28rem; border-radius: 12px; }
}
