/* /Components/Layout/AuthLayout.razor.rz.scp.css */
/* Masquer le modal SignalR sur les pages auth (formulaire HTML sans interactivité Blazor) */
[b-v3g4r62w1b] #components-reconnect-modal {
    display: none !important;
}
/* /Components/Layout/ElevesSectionLayout.razor.rz.scp.css */
.eleves-section-wrapper[b-7cmfjm7ka8] {
    --primary: #071A39;
    --accent: #1E90FF;
    --bg-light: #F5F7FA;
    --text-dark: #1F2937;
    --text-muted: #6B7280;
    --sider-width: 280px;
    display: flex;
    min-height: calc(100vh - 108px);
}

.eleves-section-sider[b-7cmfjm7ka8] {
    position: fixed;
    left: 0;
    top: 60px;
    bottom: 48px;
    width: var(--sider-width);
    background: var(--primary);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    z-index: 100;
}

.sider-header[b-7cmfjm7ka8] {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.sider-icon[b-7cmfjm7ka8] {
    width: 48px;
    height: 48px;
    background: var(--accent);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sider-icon svg[b-7cmfjm7ka8] {
    width: 24px;
    height: 24px;
    color: white;
}

.sider-titles h2[b-7cmfjm7ka8] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: white;
    margin: 0;
}

.sider-titles p[b-7cmfjm7ka8] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0.25rem 0 0 0;
}

.sider-context[b-7cmfjm7ka8] {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.context-badge[b-7cmfjm7ka8] {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    background: rgba(30, 144, 255, 0.2);
    border: 1px solid rgba(30, 144, 255, 0.3);
    border-radius: 6px;
    font-size: 0.75rem;
    color: white;
}

.sider-nav[b-7cmfjm7ka8] {
    flex: 1;
    padding: 1rem 0;
    overflow-y: auto;
}

.menu-section[b-7cmfjm7ka8] {
    padding: 0 1rem;
    margin-bottom: 1rem;
}

.menu-label[b-7cmfjm7ka8] {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.5rem 0.75rem;
}

.menu-item[b-7cmfjm7ka8] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
    margin-bottom: 0.25rem;
}

.menu-item:hover[b-7cmfjm7ka8] {
    background: rgba(255, 255, 255, 0.1);
    color: white;
}

.menu-item.active[b-7cmfjm7ka8] {
    background: var(--accent);
    color: white;
}

.menu-item svg[b-7cmfjm7ka8] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.eleves-section-main[b-7cmfjm7ka8] {
    flex: 1;
    margin-left: var(--sider-width);
    background: var(--bg-light);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.breadcrumb-nav[b-7cmfjm7ka8] {
    background: white;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.breadcrumb[b-7cmfjm7ka8] {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
}

.breadcrumb a[b-7cmfjm7ka8] {
    color: var(--text-muted);
    text-decoration: none;
}

.breadcrumb a:hover[b-7cmfjm7ka8] {
    color: var(--accent);
}

.breadcrumb .separator[b-7cmfjm7ka8] {
    color: var(--text-muted);
}

.breadcrumb .active[b-7cmfjm7ka8] {
    color: var(--text-dark);
    font-weight: 500;
}

.main-content[b-7cmfjm7ka8] {
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto;
}

@media (max-width: 1024px) {
    .eleves-section-sider[b-7cmfjm7ka8] {
        width: 240px;
    }
    .eleves-section-main[b-7cmfjm7ka8] {
        margin-left: 240px;
    }
}

@media (max-width: 768px) {
    .eleves-section-sider[b-7cmfjm7ka8] {
        transform: translateX(-100%);
        transition: transform 0.3s;
    }
    .eleves-section-main[b-7cmfjm7ka8] {
        margin-left: 0;
    }
}
/* /Components/Layout/ErrorPagesLayout.razor.rz.scp.css */
.error-pages-layout[b-ar8ahnomv8] {
    --primary: #071A39;
    --bg-light: #F5F7FA;
    --header-height: 60px;
    --footer-height: 48px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Poppins', sans-serif;
}

.error-pages-header[b-ar8ahnomv8] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    background: var(--primary);
    z-index: 1000;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
}

.error-pages-header .header-content[b-ar8ahnomv8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.error-pages-header .header-left[b-ar8ahnomv8] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.error-pages-header .back-btn[b-ar8ahnomv8] {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: background 0.2s;
    text-decoration: none;
}

.error-pages-header .back-btn:hover[b-ar8ahnomv8] {
    background: rgba(255, 255, 255, 0.2);
}

.error-pages-header .back-btn svg[b-ar8ahnomv8] {
    width: 20px;
    height: 20px;
}

.error-pages-header .logo-mini[b-ar8ahnomv8] {
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary);
}

.error-pages-header .header-titles h1[b-ar8ahnomv8] {
    font-size: 1.125rem;
    font-weight: 600;
    color: white;
    margin: 0;
    letter-spacing: 0.1em;
}

.error-pages-body[b-ar8ahnomv8] {
    flex: 1;
    margin-top: var(--header-height);
    margin-bottom: var(--footer-height);
    background: var(--bg-light);
}

.error-pages-footer[b-ar8ahnomv8] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--footer-height);
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.error-pages-footer p[b-ar8ahnomv8] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.75rem;
    margin: 0;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Variables sur le conteneur (isolation CSS : évite :root non fiable en scope) */
/* Reset minimal (sans écraser Tailwind/utilitaires) */
.app-container[b-dd8pfvjzmw],
.app-container *[b-dd8pfvjzmw] {
    box-sizing: border-box;
}

.app-container[b-dd8pfvjzmw] {
    --primary-dark: #071A39;
    --primary-light: #F5F7FA;
    --accent: #1E90FF;
    --accent-hover: #1873CC;
    display: flex;
    min-height: 100vh;
    background: var(--bg-primary, var(--primary-light));
    font-family: 'Poppins', sans-serif;
    transition: background-color 0.3s ease;
}

/* Main wrapper (pleine largeur, sans sidebar) */
.main-wrapper[b-dd8pfvjzmw] {
    flex: 1;
    margin-left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Header */
.top-header[b-dd8pfvjzmw] {
    position: sticky;
    top: 0;
    background: var(--bg-header, white);
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: var(--shadow-md, 0 2px 10px rgba(0, 0, 0, 0.05));
    border-bottom: 1px solid var(--border-primary, #E5E7EB);
    z-index: 40;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.header-left[b-dd8pfvjzmw] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.mobile-menu-btn[b-dd8pfvjzmw] {
    display: none;
    padding: 0.5rem;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: var(--primary-dark);
}

.mobile-menu-btn svg[b-dd8pfvjzmw] {
    width: 24px;
    height: 24px;
}

.breadcrumb[b-dd8pfvjzmw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #6B7280;
}

.breadcrumb-home svg[b-dd8pfvjzmw] {
    width: 20px;
    height: 20px;
}

.header-right[b-dd8pfvjzmw] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.badge[b-dd8pfvjzmw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: var(--bg-tertiary, var(--primary-light));
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-primary, var(--primary-dark));
    transition: background-color 0.3s ease, color 0.3s ease;
}

.badge svg[b-dd8pfvjzmw] {
    width: 16px;
    height: 16px;
    color: var(--accent);
}

.header-date[b-dd8pfvjzmw] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.date-day[b-dd8pfvjzmw] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-primary, var(--primary-dark));
    text-transform: capitalize;
}

.date-full[b-dd8pfvjzmw] {
    font-size: 0.625rem;
    color: var(--text-tertiary, #6B7280);
}

.notification-btn[b-dd8pfvjzmw] {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-tertiary, var(--primary-light));
    border: none;
    border-radius: 10px;
    cursor: pointer;
    color: var(--text-primary, var(--primary-dark));
    transition: all 0.2s;
}

.notification-btn:hover[b-dd8pfvjzmw] {
    background: var(--border-primary, #E5E7EB);
}

.notification-btn svg[b-dd8pfvjzmw] {
    width: 20px;
    height: 20px;
}

.notification-dot[b-dd8pfvjzmw] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 8px;
    height: 8px;
    background: #EF4444;
    border-radius: 50%;
    border: 2px solid white;
}

.mobile-logout[b-dd8pfvjzmw], .mobile-profile[b-dd8pfvjzmw] {
    display: none;
}

.profile-btn[b-dd8pfvjzmw] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-tertiary, var(--primary-light));
    border-radius: 10px;
    color: var(--text-secondary, #6B7280);
    text-decoration: none;
    transition: all 0.2s ease;
}

.profile-btn:hover[b-dd8pfvjzmw] {
    background: var(--primary, #1E90FF);
    color: white;
}

.profile-btn svg[b-dd8pfvjzmw] {
    width: 20px;
    height: 20px;
}

/* Main content */
.main-content[b-dd8pfvjzmw] {
    flex: 1;
    padding: 1.5rem;
}

/* Footer */
.main-footer[b-dd8pfvjzmw] {
    padding: 1rem 1.5rem;
    text-align: center;
    border-top: 1px solid var(--border-primary, #E5E7EB);
    background: var(--bg-secondary, white);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.main-footer p[b-dd8pfvjzmw] {
    font-size: 0.75rem;
    color: var(--text-muted, #9CA3AF);
}

/* Responsive */
.mobile-menu-btn[b-dd8pfvjzmw] {
    display: none;
}

@media (max-width: 1024px) {
    .main-wrapper[b-dd8pfvjzmw] {
        margin-left: 0;
    }

    .mobile-logout[b-dd8pfvjzmw], .mobile-profile[b-dd8pfvjzmw] {
        display: flex;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
        background: var(--primary-light);
        border-radius: 10px;
        color: var(--primary-dark);
        text-decoration: none;
    }

    .mobile-logout svg[b-dd8pfvjzmw], .mobile-profile svg[b-dd8pfvjzmw] {
        width: 20px;
        height: 20px;
    }

    .mobile-profile[b-dd8pfvjzmw] {
        background: var(--primary, #1E90FF);
        color: white;
    }

    .profile-btn[b-dd8pfvjzmw] {
        display: none;
    }

    .header-date[b-dd8pfvjzmw] {
        display: none;
    }
}

@media (max-width: 640px) {
    .badge[b-dd8pfvjzmw] {
        display: none;
    }

    .main-content[b-dd8pfvjzmw] {
        padding: 1rem;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-list[b-awgiacakvh] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-section[b-awgiacakvh] {
    padding: 1.25rem 1rem 0.5rem;
}

.section-title[b-awgiacakvh] {
    font-size: 0.625rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.nav-item[b-awgiacakvh] {
    margin-bottom: 0.25rem;
}

.nav-link[b-awgiacakvh] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.nav-link[b-awgiacakvh]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 0;
    background: #1E90FF;
    border-radius: 0 2px 2px 0;
    transition: height 0.2s ease;
}

.nav-link:hover[b-awgiacakvh] {
    background: rgba(255, 255, 255, 0.08);
    color: white;
}

.nav-link.active[b-awgiacakvh] {
    background: rgba(30, 144, 255, 0.2);
    color: white;
}

.nav-link.active[b-awgiacakvh]::before {
    height: 60%;
}

.nav-link.active .nav-icon[b-awgiacakvh] {
    background: #1E90FF;
    color: white;
}

.nav-icon[b-awgiacakvh] {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.nav-icon svg[b-awgiacakvh] {
    width: 18px;
    height: 18px;
}

/* Couleurs par service */
.nav-icon-primary[b-awgiacakvh] {
    background: rgba(30, 144, 255, 0.2);
    color: #1E90FF;
}

.nav-icon-blue[b-awgiacakvh] {
    background: rgba(59, 130, 246, 0.2);
    color: #3B82F6;
}

.nav-icon-purple[b-awgiacakvh] {
    background: rgba(139, 92, 246, 0.2);
    color: #8B5CF6;
}

.nav-icon-green[b-awgiacakvh] {
    background: rgba(34, 197, 94, 0.2);
    color: #22C55E;
}

.nav-icon-yellow[b-awgiacakvh] {
    background: rgba(234, 179, 8, 0.2);
    color: #EAB308;
}

.nav-icon-orange[b-awgiacakvh] {
    background: rgba(249, 115, 22, 0.2);
    color: #F97316;
}

.nav-icon-indigo[b-awgiacakvh] {
    background: rgba(99, 102, 241, 0.2);
    color: #6366F1;
}

.nav-icon-teal[b-awgiacakvh] {
    background: rgba(20, 184, 166, 0.2);
    color: #14B8A6;
}

.nav-text[b-awgiacakvh] {
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

/* Hover states pour les icônes colorées */
.nav-link:hover .nav-icon-primary[b-awgiacakvh] { background: rgba(30, 144, 255, 0.3); }
.nav-link:hover .nav-icon-blue[b-awgiacakvh] { background: rgba(59, 130, 246, 0.3); }
.nav-link:hover .nav-icon-purple[b-awgiacakvh] { background: rgba(139, 92, 246, 0.3); }
.nav-link:hover .nav-icon-green[b-awgiacakvh] { background: rgba(34, 197, 94, 0.3); }
.nav-link:hover .nav-icon-yellow[b-awgiacakvh] { background: rgba(234, 179, 8, 0.3); }
.nav-link:hover .nav-icon-orange[b-awgiacakvh] { background: rgba(249, 115, 22, 0.3); }
.nav-link:hover .nav-icon-indigo[b-awgiacakvh] { background: rgba(99, 102, 241, 0.3); }
.nav-link:hover .nav-icon-teal[b-awgiacakvh] { background: rgba(20, 184, 166, 0.3); }

/* Active states */
.nav-link.active .nav-icon-primary[b-awgiacakvh],
.nav-link.active .nav-icon-blue[b-awgiacakvh] { background: #3B82F6; color: white; }
.nav-link.active .nav-icon-purple[b-awgiacakvh] { background: #8B5CF6; color: white; }
.nav-link.active .nav-icon-green[b-awgiacakvh] { background: #22C55E; color: white; }
.nav-link.active .nav-icon-yellow[b-awgiacakvh] { background: #EAB308; color: white; }
.nav-link.active .nav-icon-orange[b-awgiacakvh] { background: #F97316; color: white; }
.nav-link.active .nav-icon-indigo[b-awgiacakvh] { background: #6366F1; color: white; }
.nav-link.active .nav-icon-teal[b-awgiacakvh] { background: #14B8A6; color: white; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-c96w57ef9e],
.components-reconnect-repeated-attempt-visible[b-c96w57ef9e],
.components-reconnect-failed-visible[b-c96w57ef9e],
.components-reconnect-header[b-c96w57ef9e],
.components-pause-visible[b-c96w57ef9e],
.components-resume-failed-visible[b-c96w57ef9e],
.components-rejoining-animation[b-c96w57ef9e] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-retrying[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-failed[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-c96w57ef9e],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-header[b-c96w57ef9e] {
    display: block;
}

.components-reconnect-failed-message[b-c96w57ef9e] {
    color: var(--text-primary, #071A39);
    line-height: 1.5;
}

.components-reconnect-failed-actions[b-c96w57ef9e] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1rem;
}

.components-reconnect-failed-actions .components-reconnect-btn-primary[b-c96w57ef9e],
.components-reconnect-failed-actions .components-reconnect-btn-secondary[b-c96w57ef9e] {
    flex: 1 1 10rem;
    min-width: 10rem;
    height: 2.75rem;
}

@media (max-width: 420px) {
    .components-reconnect-failed-actions .components-reconnect-btn-primary[b-c96w57ef9e],
    .components-reconnect-failed-actions .components-reconnect-btn-secondary[b-c96w57ef9e] {
        flex-basis: 100%;
        min-width: 100%;
    }
}

.components-reconnect-header[b-c96w57ef9e] {
    width: 100%;
    margin: -2rem -2rem 0 -2rem;
    padding: 1rem 2rem;
    background: var(--zanura-marine, #071A39);
    color: #F5F7FA;
    font-weight: 600;
    font-size: 1.05rem;
    text-align: center;
    border-radius: 1rem 1rem 0 0;
    letter-spacing: 0.02em;
}

.components-reconnect-btn-primary[b-c96w57ef9e] {
    background: var(--zanura-primary, #1E90FF) !important;
    color: white !important;
}

.components-reconnect-btn-secondary[b-c96w57ef9e] {
    background: transparent !important;
    color: var(--zanura-marine, #071A39) !important;
    border: 2px solid var(--zanura-marine, #071A39);
}

.components-reconnect-btn-secondary:hover[b-c96w57ef9e] {
    background: rgba(7, 26, 57, 0.08) !important;
}


#components-reconnect-modal[b-c96w57ef9e] {
    background-color: var(--bg-secondary, #F5F7FA);
    width: 22rem;
    max-width: 90vw;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.2);
    border: 1px solid var(--border-primary, #E2E8F0);
    color: var(--text-primary, #071A39);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-c96w57ef9e 0.5s both;
}

#components-reconnect-modal[open][b-c96w57ef9e]{
    opacity: 1;
    animation: components-reconnect-modal-slideUp-b-c96w57ef9e 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-c96w57ef9e 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

#components-reconnect-modal[b-c96w57ef9e]::backdrop {
    background-color: rgba(7, 26, 57, 0.5);
    animation: components-reconnect-modal-fadeInOpacity-b-c96w57ef9e 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-c96w57ef9e {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-c96w57ef9e {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-c96w57ef9e {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-c96w57ef9e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-c96w57ef9e] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-c96w57ef9e] {
    border: 0;
    background-color: transparent;
    color: var(--text-primary, #071A39);
    padding: 0.5rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: background-color 0.2s;
}

#components-reconnect-modal .components-reconnect-btn-primary:hover[b-c96w57ef9e] {
    background-color: var(--zanura-primary-dark, #1873CC) !important;
}

#components-reconnect-modal .components-reconnect-btn-primary:active[b-c96w57ef9e] {
    background-color: var(--zanura-primary-dark, #1873CC) !important;
}

.components-rejoining-animation[b-c96w57ef9e] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-c96w57ef9e] {
        position: absolute;
        border: 3px solid var(--zanura-primary, #1E90FF);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-c96w57ef9e 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-c96w57ef9e] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-c96w57ef9e {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/ServiceLayout.razor.rz.scp.css */
.service-layout[b-b0ppo0lsc2] {
    --primary: #071A39;
    --accent: #1E90FF;
    --bg-light: #F5F7FA;
    --text-dark: #1F2937;
    --text-muted: #6B7280;
    --sider-width: 280px;
    --header-height: 60px;
    --footer-height: 48px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Poppins', sans-serif;
}

/* Header fixe */
.service-header[b-b0ppo0lsc2] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    background: var(--primary);
    z-index: 1000;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
}

.header-content[b-b0ppo0lsc2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.header-left[b-b0ppo0lsc2] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.back-btn[b-b0ppo0lsc2] {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: background 0.2s;
}

.back-btn:hover[b-b0ppo0lsc2] {
    background: rgba(255, 255, 255, 0.2);
}

.back-btn svg[b-b0ppo0lsc2] {
    width: 20px;
    height: 20px;
}

.logo-mini[b-b0ppo0lsc2] {
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary);
    overflow: hidden;
}

.logo-mini.logo-image[b-b0ppo0lsc2] {
    padding: 0;
}

.logo-mini img[b-b0ppo0lsc2] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header-titles h1[b-b0ppo0lsc2] {
    font-size: 1.125rem;
    font-weight: 600;
    color: white;
    margin: 0;
    letter-spacing: 0.1em;
}

.header-right[b-b0ppo0lsc2] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.context-badges[b-b0ppo0lsc2] {
    display: flex;
    gap: 0.5rem;
}

.badge[b-b0ppo0lsc2] {
    padding: 0.375rem 0.75rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    font-size: 0.75rem;
    color: white;
}

.logout-btn[b-b0ppo0lsc2] {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: background 0.2s;
}

.logout-btn:hover[b-b0ppo0lsc2] {
    background: rgba(239, 68, 68, 0.8);
}

.logout-btn svg[b-b0ppo0lsc2] {
    width: 20px;
    height: 20px;
}

/* Body avec Sider et Main */
.service-body[b-b0ppo0lsc2] {
    display: flex;
    margin-top: var(--header-height);
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
}

/* Sider */
.service-sider[b-b0ppo0lsc2] {
    position: fixed;
    left: 0;
    top: var(--header-height);
    bottom: var(--footer-height);
    width: var(--sider-width);
    background: var(--primary);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.sider-header[b-b0ppo0lsc2] {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.sider-icon[b-b0ppo0lsc2] {
    width: 48px;
    height: 48px;
    background: var(--accent);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sider-icon :deep(svg)[b-b0ppo0lsc2] {
    width: 24px;
    height: 24px;
    color: white;
}

.sider-titles h2[b-b0ppo0lsc2] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: white;
    margin: 0;
}

.sider-titles p[b-b0ppo0lsc2] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0.25rem 0 0 0;
}

.sider-nav[b-b0ppo0lsc2] {
    flex: 1;
    padding: 1rem 0;
    overflow-y: auto;
}

/* Styles pour les menus injectés */
.sider-nav :deep(.menu-section)[b-b0ppo0lsc2] {
    padding: 0 1rem;
    margin-bottom: 1rem;
}

.sider-nav :deep(.menu-label)[b-b0ppo0lsc2] {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.5rem 0.75rem;
}

.sider-nav :deep(.menu-item)[b-b0ppo0lsc2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
    margin-bottom: 0.25rem;
}

.sider-nav :deep(.menu-item:hover)[b-b0ppo0lsc2] {
    background: rgba(255, 255, 255, 0.1);
    color: white;
}

.sider-nav :deep(.menu-item.active)[b-b0ppo0lsc2] {
    background: var(--accent);
    color: white;
}

.sider-nav :deep(.menu-item svg)[b-b0ppo0lsc2] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Main Content */
.service-main[b-b0ppo0lsc2] {
    flex: 1;
    margin-left: var(--sider-width);
    background: var(--bg-light);
    display: flex;
    flex-direction: column;
}

.breadcrumb-nav[b-b0ppo0lsc2] {
    background: white;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.breadcrumb[b-b0ppo0lsc2] {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
}

.breadcrumb a[b-b0ppo0lsc2] {
    color: var(--text-muted);
    text-decoration: none;
}

.breadcrumb a:hover[b-b0ppo0lsc2] {
    color: var(--accent);
}

.breadcrumb .separator[b-b0ppo0lsc2] {
    color: var(--text-muted);
}

.breadcrumb .active[b-b0ppo0lsc2] {
    color: var(--text-dark);
    font-weight: 500;
}

.main-content[b-b0ppo0lsc2] {
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto;
}

/* Footer fixe */
.service-footer[b-b0ppo0lsc2] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--footer-height);
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.service-footer p[b-b0ppo0lsc2] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.75rem;
    margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
    .service-sider[b-b0ppo0lsc2] {
        width: 240px;
    }

    .service-main[b-b0ppo0lsc2] {
        margin-left: 240px;
    }
}

@media (max-width: 768px) {
    .service-sider[b-b0ppo0lsc2] {
        transform: translateX(-100%);
        transition: transform 0.3s;
    }

    .service-sider.open[b-b0ppo0lsc2] {
        transform: translateX(0);
    }

    .service-main[b-b0ppo0lsc2] {
        margin-left: 0;
    }

    .context-badges[b-b0ppo0lsc2] {
        display: none;
    }
}
/* /Components/Layout/ServicesLayout.razor.rz.scp.css */
.services-layout[b-50r4sixs19] {
    --primary: #071A39;
    --accent: #1E90FF;
    --bg-light: #F5F7FA;
    --header-height: 60px;
    --footer-height: 48px;
    --sider-width: 280px;
    --text-dark: #1F2937;
    --text-muted: #6B7280;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Poppins', sans-serif;
}

/* Header fixe */
.services-header[b-50r4sixs19] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    background: var(--primary);
    z-index: 1000;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
}

.header-content[b-50r4sixs19] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.header-left[b-50r4sixs19] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.back-btn[b-50r4sixs19] {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: background 0.2s;
}

.back-btn:hover[b-50r4sixs19] {
    background: rgba(255, 255, 255, 0.2);
}

.back-btn svg[b-50r4sixs19] {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.logo-mini[b-50r4sixs19] {
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary);
    overflow: hidden;
}

.logo-mini.logo-image[b-50r4sixs19] {
    padding: 0;
}

.logo-mini img[b-50r4sixs19] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header-titles h1[b-50r4sixs19] {
    font-size: 1.125rem;
    font-weight: 600;
    color: white;
    margin: 0;
    letter-spacing: 0.1em;
}

.header-right[b-50r4sixs19] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.context-badges[b-50r4sixs19] {
    display: flex;
    gap: 0.5rem;
}

.badge[b-50r4sixs19] {
    padding: 0.375rem 0.75rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    font-size: 0.75rem;
    color: white;
}

.user-info[b-50r4sixs19] {
    display: flex;
    align-items: center;
}

.user-badge[b-50r4sixs19] {
    width: 36px;
    height: 36px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.user-badge svg[b-50r4sixs19] {
    width: 18px;
    height: 18px;
    display: block;
    flex-shrink: 0;
}

.logout-btn[b-50r4sixs19] {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: background 0.2s;
}

.logout-btn:hover[b-50r4sixs19] {
    background: rgba(239, 68, 68, 0.8);
}

.logout-btn svg[b-50r4sixs19] {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

/* Body */
.services-body[b-50r4sixs19] {
    flex: 1;
    margin-top: var(--header-height);
    margin-bottom: var(--footer-height);
    background: var(--bg-light);
}

/* Charte graphique commune à tous les services (Élève, Inscription, Utilisateurs, Finance, Paramétrage, Classes, Paiement) */
.services-body[b-50r4sixs19]  .service-wrapper {
    display: flex;
    min-height: calc(100vh - 108px);
}

.services-body[b-50r4sixs19]  .service-sider {
    position: fixed;
    left: 0;
    top: 60px;
    bottom: var(--footer-height);
    width: var(--sider-width);
    background: var(--primary);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    z-index: 100;
}

.services-body[b-50r4sixs19]  .sider-header {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.services-body[b-50r4sixs19]  .sider-icon {
    width: 48px;
    height: 48px;
    background: var(--accent);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.services-body[b-50r4sixs19]  .sider-icon svg {
    width: 24px;
    height: 24px;
    color: white;
}

.services-body[b-50r4sixs19]  .sider-titles h2 {
    font-size: 0.9375rem;
    font-weight: 600;
    color: white;
    margin: 0;
}

.services-body[b-50r4sixs19]  .sider-titles p {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0.25rem 0 0 0;
}

.services-body[b-50r4sixs19]  .sider-nav {
    flex: 1;
    padding: 1rem 0;
    overflow-y: auto;
}

.services-body[b-50r4sixs19]  .menu-section {
    padding: 0 1rem;
    margin-bottom: 1rem;
}

.services-body[b-50r4sixs19]  .menu-label {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.5rem 0.75rem;
}

.services-body[b-50r4sixs19]  .menu-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
    margin-bottom: 0.25rem;
}

.services-body[b-50r4sixs19]  .menu-item:hover {
    background: rgba(255, 255, 255, 0.1);
    color: white;
}

.services-body[b-50r4sixs19]  .menu-item.active {
    background: var(--accent);
    color: white;
}

.services-body[b-50r4sixs19]  .menu-item svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.services-body[b-50r4sixs19]  .menu-badge {
    margin-left: auto;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
}

.services-body[b-50r4sixs19]  .menu-badge.green {
    background: #10B981;
    color: white;
}

.services-body[b-50r4sixs19]  .menu-badge.blue {
    background: var(--accent);
    color: white;
}

.services-body[b-50r4sixs19]  .menu-badge.red {
    background: #EF4444;
    color: white;
}

.services-body[b-50r4sixs19]  .menu-badge.orange {
    background: #F59E0B;
    color: white;
}

.services-body[b-50r4sixs19]  .menu-badge.indigo {
    background: var(--accent);
    color: white;
}

.services-body[b-50r4sixs19]  .sider-balance {
    padding: 1rem 1.5rem;
    background: rgba(30, 144, 255, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.services-body[b-50r4sixs19]  .balance-label {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.services-body[b-50r4sixs19]  .balance-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--accent);
}

.services-body[b-50r4sixs19]  .sider-stats {
    padding: 1rem 1.5rem;
    display: flex;
    gap: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Uniquement dans le sider : évite d'écraser .stat-value / .stat-label sur fond clair (ex. Rapport répartition). */
.services-body[b-50r4sixs19]  .sider-stats .stat-mini {
    flex: 1;
    text-align: center;
    padding: 0.5rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
}

.services-body[b-50r4sixs19]  .sider-stats .stat-value {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    color: white;
}

.services-body[b-50r4sixs19]  .sider-stats .stat-label {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
}

.services-body[b-50r4sixs19]  .sider-context {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.services-body[b-50r4sixs19]  .context-badge {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
}

.services-body[b-50r4sixs19]  .service-main {
    flex: 1;
    margin-left: var(--sider-width);
    background: var(--bg-light);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.services-body[b-50r4sixs19]  .breadcrumb-nav {
    background: white;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.services-body[b-50r4sixs19]  .breadcrumb {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
}

.services-body[b-50r4sixs19]  .breadcrumb a {
    color: var(--text-muted);
    text-decoration: none;
}

.services-body[b-50r4sixs19]  .breadcrumb a:hover {
    color: var(--accent);
}

.services-body[b-50r4sixs19]  .breadcrumb .separator {
    color: var(--text-muted);
}

.services-body[b-50r4sixs19]  .breadcrumb .active {
    color: var(--text-dark);
    font-weight: 500;
}

.services-body[b-50r4sixs19]  .main-content {
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto;
}

@media (max-width: 1024px) {
    .services-body[b-50r4sixs19]  .service-sider {
        width: 240px;
    }
    .services-body[b-50r4sixs19]  .service-main {
        margin-left: 240px;
    }
}

@media (max-width: 768px) {
    .services-body[b-50r4sixs19]  .service-sider {
        transform: translateX(-100%);
        transition: transform 0.3s;
    }
    .services-body[b-50r4sixs19]  .service-main {
        margin-left: 0;
    }
}

/* Footer fixe */
.services-footer[b-50r4sixs19] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--footer-height);
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.services-footer p[b-50r4sixs19] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.75rem;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .context-badges[b-50r4sixs19] {
        display: none;
    }
}
/* /Components/Layout/ServicesPageLayout.razor.rz.scp.css */
.services-page-layout[b-7kgf03h2kh] {
    --primary: #071A39;
    --accent: #1E90FF;
    --success: #10B981;
    --warning: #F59E0B;
    --bg-light: #F5F7FA;
    --text-dark: #1F2937;
    --text-muted: #6B7280;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--bg-light);
    font-family: 'Poppins', sans-serif;
}
/* /Components/Pages/Auth/AccessDenied.razor.rz.scp.css */
.accessdenied-page[b-2d6j8pdmf4] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 2rem;
    font-family: 'Poppins', sans-serif;
}

.accessdenied-card[b-2d6j8pdmf4] {
    max-width: 560px;
    width: 100%;
    background: var(--bg-primary, #F5F7FA);
    border: 1px solid var(--border-primary, #E5E7EB);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(7, 26, 57, 0.08);
    color: var(--text-primary, #071A39);
}

.accessdenied-icon[b-2d6j8pdmf4] {
    width: 56px;
    height: 56px;
    color: #1E90FF;
    margin-bottom: 1rem;
}

.accessdenied-icon svg[b-2d6j8pdmf4] {
    width: 100%;
    height: 100%;
}

.accessdenied-title[b-2d6j8pdmf4] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-dark, #071A39);
    margin-bottom: 0.5rem;
}

.accessdenied-code[b-2d6j8pdmf4] {
    font-size: 1.1rem;
    color: var(--primary-dark, #071A39);
    margin-bottom: 1rem;
}

.accessdenied-code strong[b-2d6j8pdmf4] {
    font-family: ui-monospace, monospace;
    color: #1E90FF;
    letter-spacing: 0.02em;
}

.accessdenied-message[b-2d6j8pdmf4] {
    color: #4B5563;
    line-height: 1.6;
    margin-bottom: 0.75rem;
}

.accessdenied-admin-msg[b-2d6j8pdmf4] {
    color: #6B7280;
    font-size: 0.9375rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.accessdenied-actions[b-2d6j8pdmf4] {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.btn-primary[b-2d6j8pdmf4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background: #1E90FF;
    color: white;
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.btn-primary:hover[b-2d6j8pdmf4] {
    background: #1873CC;
}

.btn-secondary[b-2d6j8pdmf4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    background: white;
    color: #071A39;
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: 8px;
    border: 1px solid #E5E7EB;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.btn-secondary:hover[b-2d6j8pdmf4] {
    background: #F5F7FA;
    border-color: #1E90FF;
    color: #1E90FF;
}

.btn-icon[b-2d6j8pdmf4] {
    width: 1.25rem;
    height: 1.25rem;
}
/* /Components/Pages/Auth/ChangePasswordRequired.razor.rz.scp.css */
/* Charte graphique : 60% Bleu Marine, 30% Blanc, 10% Bleu Électrique */
.change-password-container[b-951jp4iff7] {
    --primary-dark: #071A39;
    --primary-light: #F5F7FA;
    --accent: #1E90FF;
    --accent-hover: #1873CC;
    --success: #10B981;
    --danger: #EF4444;
    --text-muted: #6B7280;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: var(--primary-dark);
    font-family: 'Poppins', sans-serif;
}

.wave-background[b-951jp4iff7] {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.wave[b-951jp4iff7] {
    position: absolute;
    width: 200%;
    height: 200%;
    opacity: 0.5;
    border-radius: 40%;
}

.wave-1[b-951jp4iff7] {
    background: linear-gradient(180deg, var(--accent) 0%, transparent 70%);
    top: -120%;
    left: -50%;
    animation: wave-rotate-b-951jp4iff7 25s linear infinite;
}

.wave-2[b-951jp4iff7] {
    background: linear-gradient(180deg, rgba(30, 144, 255, 0.3) 0%, transparent 70%);
    top: -130%;
    left: -30%;
    animation: wave-rotate-b-951jp4iff7 30s linear infinite reverse;
}

.wave-3[b-951jp4iff7] {
    background: linear-gradient(180deg, rgba(7, 26, 57, 0.8) 0%, transparent 70%);
    top: -140%;
    left: -40%;
    animation: wave-rotate-b-951jp4iff7 20s linear infinite;
}

@keyframes wave-rotate-b-951jp4iff7 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.particles[b-951jp4iff7] {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.particle[b-951jp4iff7] {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--accent);
    border-radius: 50%;
    opacity: 0.3;
    animation: float-particle-b-951jp4iff7 15s infinite ease-in-out;
}

.particle:nth-child(1)[b-951jp4iff7] { left: 10%; top: 20%; animation-delay: 0s; animation-duration: 20s; }
.particle:nth-child(2)[b-951jp4iff7] { left: 20%; top: 80%; animation-delay: -3s; animation-duration: 18s; }
.particle:nth-child(3)[b-951jp4iff7] { left: 30%; top: 40%; animation-delay: -5s; animation-duration: 22s; }
.particle:nth-child(4)[b-951jp4iff7] { left: 40%; top: 60%; animation-delay: -7s; animation-duration: 25s; }
.particle:nth-child(5)[b-951jp4iff7] { left: 50%; top: 30%; animation-delay: -9s; animation-duration: 19s; }
.particle:nth-child(6)[b-951jp4iff7] { left: 60%; top: 70%; animation-delay: -11s; animation-duration: 23s; }
.particle:nth-child(7)[b-951jp4iff7] { left: 70%; top: 50%; animation-delay: -13s; animation-duration: 17s; }
.particle:nth-child(8)[b-951jp4iff7] { left: 80%; top: 25%; animation-delay: -15s; animation-duration: 21s; }
.particle:nth-child(9)[b-951jp4iff7] { left: 90%; top: 85%; animation-delay: -17s; animation-duration: 24s; }
.particle:nth-child(10)[b-951jp4iff7] { left: 15%; top: 55%; animation-delay: -19s; animation-duration: 26s; }

@keyframes float-particle-b-951jp4iff7 {
    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.3; }
    25% { transform: translateY(-30px) translateX(10px); opacity: 0.6; }
    50% { transform: translateY(-10px) translateX(-10px); opacity: 0.4; }
    75% { transform: translateY(-40px) translateX(5px); opacity: 0.5; }
}

.change-password-content[b-951jp4iff7] {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 850px;
    padding: 1.5rem;
}

/* Carte : layout horizontal comme Login */
.change-password-card[b-951jp4iff7] {
    display: flex;
    flex-direction: row;
    background: white;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    animation: card-appear-b-951jp4iff7 0.6s ease-out;
}

@keyframes card-appear-b-951jp4iff7 {
    0% { opacity: 0; transform: translateY(30px) scale(0.95); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Section Logo - Gauche (Bleu Marine) */
.logo-section[b-951jp4iff7] {
    flex: 0 0 45%;
    background: linear-gradient(135deg, var(--primary-dark) 0%, #0D2D5E 100%);
    padding: 2.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.logo-section[b-951jp4iff7]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231E90FF' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity: 0.5;
}

.logo-inner[b-951jp4iff7] {
    position: relative;
    z-index: 1;
    text-align: center;
}

.logo-circle[b-951jp4iff7] {
    width: 80px;
    height: 80px;
    background: white;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.logo-letter[b-951jp4iff7] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-dark);
}

.brand-title[b-951jp4iff7] {
    font-size: 2rem;
    font-weight: 700;
    color: white;
    letter-spacing: 0.2em;
    margin: 0;
}

.brand-subtitle[b-951jp4iff7] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--accent);
    letter-spacing: 0.3em;
    margin: 0;
}

.brand-tagline[b-951jp4iff7] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}

.features-list[b-951jp4iff7] {
    text-align: left;
    margin-top: 1rem;
}

.feature-item[b-951jp4iff7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}

.feature-item svg[b-951jp4iff7] {
    width: 16px;
    height: 16px;
    color: var(--accent);
    flex-shrink: 0;
}

/* Section Formulaire - Droite */
.form-section[b-951jp4iff7] {
    flex: 0 0 55%;
    padding: 2.5rem 2rem;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.form-title[b-951jp4iff7] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin: 0 0 0.25rem 0;
    text-align: center;
}

.form-subtitle[b-951jp4iff7] {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0 0 1.5rem 0;
    text-align: center;
}

.input-group[b-951jp4iff7] {
    margin-bottom: 1.25rem;
}

.input-label[b-951jp4iff7] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin-bottom: 0.5rem;
}

.input-wrapper[b-951jp4iff7] {
    position: relative;
}

.input-icon[b-951jp4iff7] {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    color: #9CA3AF;
    transition: color 0.2s;
}

.input-field[b-951jp4iff7] {
    width: 100%;
    padding: 0.875rem 1rem 0.875rem 3rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    transition: all 0.2s;
    background: #F9FAFB;
}

.input-field:focus[b-951jp4iff7] {
    outline: none;
    border-color: var(--accent);
    background: white;
    box-shadow: 0 0 0 4px rgba(30, 144, 255, 0.1);
}

.input-wrapper:focus-within .input-icon[b-951jp4iff7] {
    color: var(--accent);
}

.validation-error[b-951jp4iff7] {
    display: block;
    color: var(--danger);
    font-size: 0.8rem;
    margin-top: 0.5rem;
}

.password-strength-bar[b-951jp4iff7] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.strength-segments[b-951jp4iff7] {
    display: flex;
    gap: 4px;
}

.strength-segments .segment[b-951jp4iff7] {
    width: 2rem;
    height: 4px;
    border-radius: 2px;
    background: #E5E7EB;
    transition: background 0.2s;
}

.strength-segments .segment.strength-faible[b-951jp4iff7] { background: #EF4444; }
.strength-segments .segment.strength-juste[b-951jp4iff7] { background: #F59E0B; }
.strength-segments .segment.strength-plus-fort[b-951jp4iff7] { background: var(--accent); }
.strength-segments .segment.strength-tres-fort[b-951jp4iff7] { background: var(--success); }

.strength-label[b-951jp4iff7] {
    font-size: 0.8125rem;
    font-weight: 600;
}

.strength-label.strength-faible[b-951jp4iff7] { color: #EF4444; }
.strength-label.strength-juste[b-951jp4iff7] { color: #F59E0B; }
.strength-label.strength-plus-fort[b-951jp4iff7] { color: var(--accent); }
.strength-label.strength-tres-fort[b-951jp4iff7] { color: var(--success); }

.password-help-link[b-951jp4iff7] {
    margin: 0 0 1rem 0;
}

.link-button[b-951jp4iff7] {
    background: none;
    border: none;
    padding: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    color: var(--accent);
    text-decoration: underline;
    cursor: pointer;
    display: inline;
}

.password-help-link a.link-button[b-951jp4iff7] {
    text-decoration: underline;
}

.link-button:hover[b-951jp4iff7] {
    color: var(--accent-hover);
}

/* Modal aide mot de passe - charte Zanura */
.password-help-overlay[b-951jp4iff7] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(7, 26, 57, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    font-family: 'Poppins', sans-serif;
}

.password-help-modal[b-951jp4iff7] {
    background: var(--primary-light, #F5F7FA);
    border-radius: 12px;
    max-width: 480px;
    width: 100%;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(7, 26, 57, 0.35);
    border: 1px solid rgba(7, 26, 57, 0.1);
    display: flex;
    flex-direction: column;
    margin: auto;
}

.password-help-header[b-951jp4iff7] {
    flex-shrink: 0;
    background: var(--primary-dark, #071A39);
    color: white;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.password-help-title[b-951jp4iff7] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    flex: 1;
}

.password-help-close[b-951jp4iff7] {
    background: none;
    border: none;
    color: white;
    padding: 0.25rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.password-help-close svg[b-951jp4iff7] {
    width: 1.25rem;
    height: 1.25rem;
}

.password-help-body[b-951jp4iff7] {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    color: var(--primary-dark, #071A39);
}

.password-help-intro[b-951jp4iff7] {
    margin: 0 0 1.25rem 0;
    font-size: 0.9375rem;
    color: var(--text-muted, #6B7280);
}

.password-help-section[b-951jp4iff7] {
    margin-bottom: 1.25rem;
}

.password-help-section:last-of-type[b-951jp4iff7] {
    margin-bottom: 0;
}

.password-help-section-title[b-951jp4iff7] {
    margin: 0 0 0.5rem 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--primary-dark, #071A39);
    padding-bottom: 0.25rem;
    border-bottom: 2px solid var(--accent, #1E90FF);
}

.password-help-section ul[b-951jp4iff7] {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.6;
}

.password-help-section li[b-951jp4iff7] {
    margin-bottom: 0.35rem;
}

.password-help-footer[b-951jp4iff7] {
    flex-shrink: 0;
    padding: 1rem 1.5rem;
    background: white;
    border-top: 1px solid rgba(7, 26, 57, 0.08);
    display: flex;
    justify-content: flex-end;
}

.password-help-btn-close[b-951jp4iff7] {
    padding: 0.625rem 1.25rem;
    background: var(--accent, #1E90FF);
    color: white;
    border: none;
    border-radius: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
}

.password-help-btn-close:hover[b-951jp4iff7] {
    background: var(--accent-hover, #1873CC);
}

/* Bouton CTA Bleu Électrique (charte) */
.submit-button[b-951jp4iff7] {
    width: 100%;
    padding: 1rem;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(30, 144, 255, 0.4);
}

.submit-button:hover:not(:disabled)[b-951jp4iff7] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 144, 255, 0.5);
}

.submit-button:disabled[b-951jp4iff7] {
    opacity: 0.7;
    cursor: not-allowed;
}

.button-arrow[b-951jp4iff7] {
    width: 1.25rem;
    height: 1.25rem;
}

.spinner[b-951jp4iff7] {
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: authcpr-spin-b-951jp4iff7 1s linear infinite;
}

@keyframes authcpr-spin-b-951jp4iff7 {
    to { transform: rotate(360deg); }
}

.form-footer[b-951jp4iff7] {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
    text-align: center;
}

.form-footer p[b-951jp4iff7] {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0;
}

/* Responsive : empiler comme Login */
@media (max-width: 768px) {
    .change-password-card[b-951jp4iff7] {
        flex-direction: column;
    }

    .logo-section[b-951jp4iff7],
    .form-section[b-951jp4iff7] {
        flex: none;
        width: 100%;
    }

    .logo-section[b-951jp4iff7] {
        padding: 2rem 1.5rem;
    }

    .form-section[b-951jp4iff7] {
        padding: 2rem 1.5rem;
    }

    .change-password-content[b-951jp4iff7] {
        max-width: 440px;
    }

    .features-list[b-951jp4iff7] {
        display: none;
    }
}

@media (max-width: 480px) {
    .change-password-content[b-951jp4iff7] {
        padding: 1rem;
    }

    .logo-section[b-951jp4iff7] {
        padding: 1.5rem 1rem;
    }

    .form-section[b-951jp4iff7] {
        padding: 1.5rem 1rem;
    }

    .brand-title[b-951jp4iff7] {
        font-size: 1.5rem;
    }

    .logo-circle[b-951jp4iff7] {
        width: 60px;
        height: 60px;
    }

    .logo-letter[b-951jp4iff7] {
        font-size: 1.75rem;
    }
}
/* /Components/Pages/Auth/Login.razor.rz.scp.css */
/* Variables (isolation CSS) */
/* Container principal */
.login-container[b-c7w9as210z] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: var(--primary-dark);
    font-family: 'Poppins', sans-serif;
}

/* Animation des vagues */
.wave-background[b-c7w9as210z] {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.wave[b-c7w9as210z] {
    position: absolute;
    width: 200%;
    height: 200%;
    opacity: 0.5;
    border-radius: 40%;
}

.wave-1[b-c7w9as210z] {
    background: linear-gradient(180deg, var(--accent) 0%, transparent 70%);
    top: -120%;
    left: -50%;
    animation: wave-rotate-b-c7w9as210z 25s linear infinite;
}

.wave-2[b-c7w9as210z] {
    background: linear-gradient(180deg, rgba(30, 144, 255, 0.3) 0%, transparent 70%);
    top: -130%;
    left: -30%;
    animation: wave-rotate-b-c7w9as210z 30s linear infinite reverse;
}

.wave-3[b-c7w9as210z] {
    background: linear-gradient(180deg, rgba(7, 26, 57, 0.8) 0%, transparent 70%);
    top: -140%;
    left: -40%;
    animation: wave-rotate-b-c7w9as210z 20s linear infinite;
}

@keyframes wave-rotate-b-c7w9as210z {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Particules flottantes */
.particles[b-c7w9as210z] {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.particle[b-c7w9as210z] {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--accent);
    border-radius: 50%;
    opacity: 0.3;
    animation: float-particle-b-c7w9as210z 15s infinite ease-in-out;
}

.particle:nth-child(1)[b-c7w9as210z] { left: 10%; top: 20%; animation-delay: 0s; animation-duration: 20s; }
.particle:nth-child(2)[b-c7w9as210z] { left: 20%; top: 80%; animation-delay: -3s; animation-duration: 18s; }
.particle:nth-child(3)[b-c7w9as210z] { left: 30%; top: 40%; animation-delay: -5s; animation-duration: 22s; }
.particle:nth-child(4)[b-c7w9as210z] { left: 40%; top: 60%; animation-delay: -7s; animation-duration: 25s; }
.particle:nth-child(5)[b-c7w9as210z] { left: 50%; top: 30%; animation-delay: -9s; animation-duration: 19s; }
.particle:nth-child(6)[b-c7w9as210z] { left: 60%; top: 70%; animation-delay: -11s; animation-duration: 23s; }
.particle:nth-child(7)[b-c7w9as210z] { left: 70%; top: 50%; animation-delay: -13s; animation-duration: 17s; }
.particle:nth-child(8)[b-c7w9as210z] { left: 80%; top: 25%; animation-delay: -15s; animation-duration: 21s; }
.particle:nth-child(9)[b-c7w9as210z] { left: 90%; top: 85%; animation-delay: -17s; animation-duration: 24s; }
.particle:nth-child(10)[b-c7w9as210z] { left: 15%; top: 55%; animation-delay: -19s; animation-duration: 26s; }

@keyframes float-particle-b-c7w9as210z {
    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.3; }
    25% { transform: translateY(-30px) translateX(10px); opacity: 0.6; }
    50% { transform: translateY(-10px) translateX(-10px); opacity: 0.4; }
    75% { transform: translateY(-40px) translateX(5px); opacity: 0.5; }
}

/* Contenu */
.login-content[b-c7w9as210z] {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 850px;
    padding: 1.5rem;
}

/* Carte de connexion - Layout horizontal */
.login-card[b-c7w9as210z] {
    display: flex;
    flex-direction: row;
    background: white;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    animation: card-appear-b-c7w9as210z 0.6s ease-out;
}

@keyframes card-appear-b-c7w9as210z {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Section Logo - Gauche */
.logo-section[b-c7w9as210z] {
    flex: 0 0 45%;
    background: linear-gradient(135deg, var(--primary-dark) 0%, #0D2D5E 100%);
    padding: 2.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.logo-section[b-c7w9as210z]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231E90FF' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity: 0.5;
}

.logo-inner[b-c7w9as210z] {
    position: relative;
    z-index: 1;
    text-align: center;
}

.logo-circle[b-c7w9as210z] {
    width: 80px;
    height: 80px;
    background: white;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    animation: logo-bounce-b-c7w9as210z 2s ease-in-out infinite;
}

@keyframes logo-bounce-b-c7w9as210z {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.logo-letter[b-c7w9as210z] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-dark);
}

.brand-title[b-c7w9as210z] {
    font-size: 2rem;
    font-weight: 700;
    color: white;
    letter-spacing: 0.2em;
    margin: 0;
}

.brand-subtitle[b-c7w9as210z] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--accent);
    letter-spacing: 0.3em;
    margin: 0;
}

.brand-tagline[b-c7w9as210z] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}

/* Features list */
.features-list[b-c7w9as210z] {
    text-align: left;
    margin-top: 1rem;
}

.feature-item[b-c7w9as210z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}

.feature-item svg[b-c7w9as210z] {
    width: 16px;
    height: 16px;
    color: var(--accent);
    flex-shrink: 0;
}

/* Section Formulaire - Droite */
.form-section[b-c7w9as210z] {
    flex: 0 0 55%;
    padding: 2.5rem 2rem;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.form-title[b-c7w9as210z] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin: 0 0 0.25rem 0;
    text-align: center;
}

.form-subtitle[b-c7w9as210z] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0 0 1.5rem 0;
    text-align: center;
}

/* Alerte erreur */
.error-alert[b-c7w9as210z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    border-radius: 12px;
    color: #DC2626;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
}

.error-icon[b-c7w9as210z] {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

/* Alerte succès */
.success-alert[b-c7w9as210z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: #ECFDF5;
    border: 1px solid #A7F3D0;
    border-radius: 12px;
    color: #059669;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
}

.success-icon[b-c7w9as210z] {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

/* Groupes d'input */
.input-group[b-c7w9as210z] {
    margin-bottom: 1.25rem;
}

.input-label[b-c7w9as210z] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin-bottom: 0.5rem;
}

.input-wrapper[b-c7w9as210z] {
    position: relative;
}

.input-icon[b-c7w9as210z] {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    color: #9CA3AF;
    transition: color 0.2s;
}

.input-field[b-c7w9as210z] {
    width: 100%;
    padding: 0.875rem 1rem 0.875rem 3rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    transition: all 0.2s;
    background: #F9FAFB;
}

.input-field:focus[b-c7w9as210z] {
    outline: none;
    border-color: var(--accent);
    background: white;
    box-shadow: 0 0 0 4px rgba(30, 144, 255, 0.1);
}

.input-field:focus + .input-icon[b-c7w9as210z],
.input-wrapper:focus-within .input-icon[b-c7w9as210z] {
    color: var(--accent);
}

.input-field[b-c7w9as210z]::placeholder {
    color: #9CA3AF;
}

/* Options row */
.options-row[b-c7w9as210z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.checkbox-label[b-c7w9as210z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #4B5563;
    cursor: pointer;
}

.checkbox-input[b-c7w9as210z] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--accent);
    cursor: pointer;
}

.forgot-link[b-c7w9as210z] {
    font-size: 0.875rem;
    color: var(--accent);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.forgot-link:hover[b-c7w9as210z] {
    color: var(--accent-hover);
    text-decoration: underline;
}

/* Bouton de connexion */
.login-button[b-c7w9as210z] {
    width: 100%;
    padding: 1rem;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(30, 144, 255, 0.4);
}

.login-button:hover[b-c7w9as210z] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 144, 255, 0.5);
}

.login-button:active[b-c7w9as210z] {
    transform: translateY(0);
}

.button-arrow[b-c7w9as210z] {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.3s;
}

.login-button:hover .button-arrow[b-c7w9as210z] {
    transform: translateX(4px);
}

.login-button .login-button-loading[b-c7w9as210z] {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.login-button .login-button-spinner[b-c7w9as210z] {
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: login-spin-b-c7w9as210z 0.7s linear infinite;
}

@keyframes login-spin-b-c7w9as210z {
    to { transform: rotate(360deg); }
}

.login-button.loading .login-button-text[b-c7w9as210z],
.login-button.loading .button-arrow[b-c7w9as210z] {
    display: none;
}

.login-button.loading .login-button-loading[b-c7w9as210z] {
    display: flex;
}

.login-button.loading:hover[b-c7w9as210z] {
    transform: none;
}

.login-button:disabled[b-c7w9as210z] {
    cursor: not-allowed;
    opacity: 0.95;
}

/* Footer dans le formulaire */
.form-footer[b-c7w9as210z] {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
    text-align: center;
}

.form-footer p[b-c7w9as210z] {
    font-size: 0.75rem;
    color: #6B7280;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .login-card[b-c7w9as210z] {
        flex-direction: column;
    }

    .logo-section[b-c7w9as210z],
    .form-section[b-c7w9as210z] {
        flex: none;
        width: 100%;
    }

    .logo-section[b-c7w9as210z] {
        padding: 2rem 1.5rem;
    }

    .form-section[b-c7w9as210z] {
        padding: 2rem 1.5rem;
    }

    .login-content[b-c7w9as210z] {
        max-width: 440px;
    }

    .features-list[b-c7w9as210z] {
        display: none;
    }
}

@media (max-width: 480px) {
    .login-content[b-c7w9as210z] {
        padding: 1rem;
    }

    .logo-section[b-c7w9as210z] {
        padding: 1.5rem 1rem;
    }

    .form-section[b-c7w9as210z] {
        padding: 1.5rem 1rem;
    }

    .brand-title[b-c7w9as210z] {
        font-size: 1.5rem;
    }

    .logo-circle[b-c7w9as210z] {
        width: 60px;
        height: 60px;
    }

    .logo-letter[b-c7w9as210z] {
        font-size: 1.75rem;
    }

    .options-row[b-c7w9as210z] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Pages/Auth/LoginSuccess.razor.rz.scp.css */
/* Variables (isolation CSS) */
/* Container principal */
.login-container[b-41jrxa73s8] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: var(--primary-dark);
    font-family: 'Poppins', sans-serif;
}

/* Animation des vagues */
.wave-background[b-41jrxa73s8] {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.wave[b-41jrxa73s8] {
    position: absolute;
    width: 200%;
    height: 200%;
    opacity: 0.5;
    border-radius: 40%;
}

.wave-1[b-41jrxa73s8] {
    background: linear-gradient(180deg, var(--accent) 0%, transparent 70%);
    top: -120%;
    left: -50%;
    animation: wave-rotate-b-41jrxa73s8 25s linear infinite;
}

.wave-2[b-41jrxa73s8] {
    background: linear-gradient(180deg, rgba(30, 144, 255, 0.3) 0%, transparent 70%);
    top: -130%;
    left: -30%;
    animation: wave-rotate-b-41jrxa73s8 30s linear infinite reverse;
}

.wave-3[b-41jrxa73s8] {
    background: linear-gradient(180deg, rgba(7, 26, 57, 0.8) 0%, transparent 70%);
    top: -140%;
    left: -40%;
    animation: wave-rotate-b-41jrxa73s8 20s linear infinite;
}

@keyframes wave-rotate-b-41jrxa73s8 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Particules flottantes */
.particles[b-41jrxa73s8] {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.particle[b-41jrxa73s8] {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--accent);
    border-radius: 50%;
    opacity: 0.3;
    animation: float-particle-b-41jrxa73s8 15s infinite ease-in-out;
}

.particle:nth-child(1)[b-41jrxa73s8] { left: 10%; top: 20%; animation-delay: 0s; animation-duration: 20s; }
.particle:nth-child(2)[b-41jrxa73s8] { left: 20%; top: 80%; animation-delay: -3s; animation-duration: 18s; }
.particle:nth-child(3)[b-41jrxa73s8] { left: 30%; top: 40%; animation-delay: -5s; animation-duration: 22s; }
.particle:nth-child(4)[b-41jrxa73s8] { left: 40%; top: 60%; animation-delay: -7s; animation-duration: 25s; }
.particle:nth-child(5)[b-41jrxa73s8] { left: 50%; top: 30%; animation-delay: -9s; animation-duration: 19s; }
.particle:nth-child(6)[b-41jrxa73s8] { left: 60%; top: 70%; animation-delay: -11s; animation-duration: 23s; }
.particle:nth-child(7)[b-41jrxa73s8] { left: 70%; top: 50%; animation-delay: -13s; animation-duration: 17s; }
.particle:nth-child(8)[b-41jrxa73s8] { left: 80%; top: 25%; animation-delay: -15s; animation-duration: 21s; }
.particle:nth-child(9)[b-41jrxa73s8] { left: 90%; top: 85%; animation-delay: -17s; animation-duration: 24s; }
.particle:nth-child(10)[b-41jrxa73s8] { left: 15%; top: 55%; animation-delay: -19s; animation-duration: 26s; }

@keyframes float-particle-b-41jrxa73s8 {
    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.3; }
    25% { transform: translateY(-30px) translateX(10px); opacity: 0.6; }
    50% { transform: translateY(-10px) translateX(-10px); opacity: 0.4; }
    75% { transform: translateY(-40px) translateX(5px); opacity: 0.5; }
}

/* Contenu */
.login-content[b-41jrxa73s8] {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 900px;
    padding: 1.5rem;
}

/* Carte de connexion - Layout horizontal */
.login-card[b-41jrxa73s8] {
    display: flex;
    flex-direction: row;
    background: white;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    animation: card-appear-b-41jrxa73s8 0.6s ease-out;
}

@keyframes card-appear-b-41jrxa73s8 {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Section Logo - Gauche */
.logo-section[b-41jrxa73s8] {
    flex: 0 0 45%;
    background: linear-gradient(135deg, var(--primary-dark) 0%, #0D2D5E 100%);
    padding: 2.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.logo-section[b-41jrxa73s8]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231E90FF' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity: 0.5;
}

.logo-inner[b-41jrxa73s8] {
    position: relative;
    z-index: 1;
    text-align: center;
}

.logo-circle[b-41jrxa73s8] {
    width: 80px;
    height: 80px;
    background: white;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    animation: logo-bounce-b-41jrxa73s8 2s ease-in-out infinite;
}

.logo-circle.school-initial[b-41jrxa73s8] {
    background: linear-gradient(135deg, var(--accent), #0066CC);
}

.logo-circle.school-initial .logo-letter[b-41jrxa73s8] {
    color: white;
}

@keyframes logo-bounce-b-41jrxa73s8 {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.logo-letter[b-41jrxa73s8] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-dark);
}

/* Logo de l'école */
.school-logo-wrapper[b-41jrxa73s8] {
    width: 100px;
    height: 100px;
    background: white;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    animation: logo-bounce-b-41jrxa73s8 2s ease-in-out infinite;
    padding: 0.5rem;
}

.school-logo[b-41jrxa73s8] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.brand-title[b-41jrxa73s8] {
    font-size: 2rem;
    font-weight: 700;
    color: white;
    letter-spacing: 0.2em;
    margin: 0;
}

.brand-title.school-name[b-41jrxa73s8] {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    line-height: 1.3;
    max-width: 250px;
}

.brand-subtitle[b-41jrxa73s8] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--accent);
    letter-spacing: 0.3em;
    margin: 0;
}

.brand-subtitle.school-motto[b-41jrxa73s8] {
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    font-style: italic;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 0.25rem;
}

.brand-tagline[b-41jrxa73s8] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}

/* Features list */
.features-list[b-41jrxa73s8] {
    text-align: left;
    margin-top: 1rem;
}

.feature-item[b-41jrxa73s8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}

.feature-item svg[b-41jrxa73s8] {
    width: 16px;
    height: 16px;
    color: var(--accent);
    flex-shrink: 0;
}

/* Badge de licence */
.licence-badge[b-41jrxa73s8] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding: 0.75rem 1rem;
    background: rgba(30, 144, 255, 0.15);
    border: 1px solid rgba(30, 144, 255, 0.3);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.75rem;
}

.licence-badge svg[b-41jrxa73s8] {
    width: 16px;
    height: 16px;
    color: var(--accent);
    flex-shrink: 0;
}

.licence-badge strong[b-41jrxa73s8] {
    color: var(--accent);
}

/* Section Formulaire - Droite */
.form-section[b-41jrxa73s8] {
    flex: 0 0 55%;
    padding: 2.5rem 2rem;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Icône de succès animée */
.success-icon-wrapper[b-41jrxa73s8] {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

.success-icon[b-41jrxa73s8] {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--success, #10B981), #059669);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: success-pulse-b-41jrxa73s8 2s ease-in-out infinite;
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4);
}

@keyframes success-pulse-b-41jrxa73s8 {
    0%, 100% { transform: scale(1); box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4); }
    50% { transform: scale(1.05); box-shadow: 0 12px 35px rgba(16, 185, 129, 0.5); }
}

.checkmark[b-41jrxa73s8] {
    width: 40px;
    height: 40px;
}

.checkmark-circle[b-41jrxa73s8] {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: white;
    fill: none;
    animation: stroke-anim-b-41jrxa73s8 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
    animation-delay: 0.3s;
}

.checkmark-check[b-41jrxa73s8] {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    stroke: white;
    stroke-width: 3;
    stroke-linecap: round;
    animation: stroke-anim-b-41jrxa73s8 0.3s cubic-bezier(0.65, 0, 0.45, 1) forwards;
    animation-delay: 0.8s;
}

@keyframes stroke-anim-b-41jrxa73s8 {
    100% { stroke-dashoffset: 0; }
}

.form-title[b-41jrxa73s8] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin: 0 0 0.25rem 0;
    text-align: center;
}

.form-subtitle[b-41jrxa73s8] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0 0 1rem 0;
    text-align: center;
}

.form-subtitle strong[b-41jrxa73s8] {
    color: var(--accent);
}

/* Badge de rôle */
.role-badge[b-41jrxa73s8] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, var(--primary-dark), #0D2D5E);
    color: white;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    margin: 0 auto 1.25rem;
    width: fit-content;
}

.role-badge svg[b-41jrxa73s8] {
    width: 16px;
    height: 16px;
}

/* Cartes d'info */
.info-card[b-41jrxa73s8] {
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    align-items: center;
}

.info-card.success-card-info[b-41jrxa73s8] {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.info-card.warning-card-info[b-41jrxa73s8] {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.info-icon[b-41jrxa73s8] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.info-icon.success[b-41jrxa73s8] {
    background: var(--success, #10B981);
    color: white;
}

.info-icon.warning[b-41jrxa73s8] {
    background: var(--warning, #F59E0B);
    color: white;
}

.info-icon svg[b-41jrxa73s8] {
    width: 20px;
    height: 20px;
}

.info-content[b-41jrxa73s8] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.info-label[b-41jrxa73s8] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-value[b-41jrxa73s8] {
    font-size: 0.875rem;
    color: var(--primary-dark);
}

.first-login-badge[b-41jrxa73s8] {
    display: inline-block;
    background: linear-gradient(135deg, var(--accent), #0066CC);
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}

/* Loading state */
.loading-state[b-41jrxa73s8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    color: #6B7280;
}

.spinner[b-41jrxa73s8] {
    width: 40px;
    height: 40px;
    border: 3px solid var(--primary-light);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: authok-spin-b-41jrxa73s8 1s linear infinite;
}

@keyframes authok-spin-b-41jrxa73s8 {
    to { transform: rotate(360deg); }
}

/* Bouton de connexion */
.login-button[b-41jrxa73s8] {
    width: 100%;
    padding: 1rem;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(30, 144, 255, 0.4);
    text-decoration: none;
    margin-top: 0.5rem;
}

.login-button:hover[b-41jrxa73s8] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 144, 255, 0.5);
}

.login-button:active[b-41jrxa73s8] {
    transform: translateY(0);
}

.login-button:disabled[b-41jrxa73s8] {
    cursor: wait;
    opacity: 0.9;
}

.login-button .button-spinner[b-41jrxa73s8] {
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: authok-spin-b-41jrxa73s8 0.8s linear infinite;
}

.button-arrow[b-41jrxa73s8] {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.3s;
}

.login-button:hover .button-arrow[b-41jrxa73s8] {
    transform: translateX(4px);
}

/* Footer dans le formulaire */
.form-footer[b-41jrxa73s8] {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
    text-align: center;
}

.form-footer p[b-41jrxa73s8] {
    font-size: 0.75rem;
    color: #6B7280;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .login-card[b-41jrxa73s8] {
        flex-direction: column;
    }

    .logo-section[b-41jrxa73s8],
    .form-section[b-41jrxa73s8] {
        flex: none;
        width: 100%;
    }

    .logo-section[b-41jrxa73s8] {
        padding: 2rem 1.5rem;
    }

    .form-section[b-41jrxa73s8] {
        padding: 2rem 1.5rem;
    }

    .login-content[b-41jrxa73s8] {
        max-width: 440px;
    }

    .features-list[b-41jrxa73s8] {
        display: none;
    }

    .brand-title.school-name[b-41jrxa73s8] {
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .login-content[b-41jrxa73s8] {
        padding: 1rem;
    }

    .logo-section[b-41jrxa73s8] {
        padding: 1.5rem 1rem;
    }

    .form-section[b-41jrxa73s8] {
        padding: 1.5rem 1rem;
    }

    .brand-title[b-41jrxa73s8] {
        font-size: 1.5rem;
    }

    .logo-circle[b-41jrxa73s8] {
        width: 60px;
        height: 60px;
    }

    .logo-letter[b-41jrxa73s8] {
        font-size: 1.75rem;
    }

    .info-card[b-41jrxa73s8] {
        flex-direction: column;
        text-align: center;
    }

    .info-icon[b-41jrxa73s8] {
        margin: 0 auto;
    }

    .licence-badge[b-41jrxa73s8] {
        flex-direction: column;
        text-align: center;
    }
}
/* /Components/Pages/Error.razor.rz.scp.css */
.error-page[b-db4fzos8gb] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 2rem;
    font-family: 'Poppins', sans-serif;
}

.error-card[b-db4fzos8gb] {
    max-width: 780px;
    width: 100%;
    background: var(--bg-primary, #F5F7FA);
    border: 1px solid var(--border-primary, #E5E7EB);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(7, 26, 57, 0.08);
    color: var(--text-primary, #071A39);
}

.error-icon[b-db4fzos8gb] {
    width: 56px;
    height: 56px;
    color: #DC2626;
    margin-bottom: 1rem;
}

.error-icon svg[b-db4fzos8gb] {
    width: 100%;
    height: 100%;
}

.error-title[b-db4fzos8gb] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-dark, #071A39);
    margin-bottom: 0.5rem;
}

.error-code[b-db4fzos8gb] {
    font-size: 1.1rem;
    color: var(--primary-dark, #071A39);
    margin-bottom: 1rem;
}

.error-code strong[b-db4fzos8gb],
.error-message strong[b-db4fzos8gb] {
    font-family: ui-monospace, monospace;
    color: #DC2626;
    letter-spacing: 0.02em;
}

.error-message[b-db4fzos8gb] {
    color: #4B5563;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.error-dev-section[b-db4fzos8gb] {
    background: rgba(7, 26, 57, 0.04);
    border: 1px solid rgba(7, 26, 57, 0.1);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    text-align: left;
}

.error-dev-title[b-db4fzos8gb] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary-dark, #071A39);
    margin-bottom: 0.75rem;
}

.error-dev-section p[b-db4fzos8gb] {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
    word-break: break-word;
}

.error-dev-section code[b-db4fzos8gb] {
    font-size: 0.8rem;
    background: rgba(0,0,0,0.06);
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
}

.error-dev-value[b-db4fzos8gb] {
    color: #DC2626;
    font-weight: 600;
}

.error-stack-details[b-db4fzos8gb] {
    margin-top: 0.75rem;
}

.error-stack-details summary[b-db4fzos8gb] {
    cursor: pointer;
    font-weight: 600;
    color: var(--primary-dark, #071A39);
}

.error-stack[b-db4fzos8gb] {
    margin-top: 0.5rem;
    padding: 0.75rem;
    background: rgba(0,0,0,0.06);
    border-radius: 6px;
    font-size: 0.75rem;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.error-actions[b-db4fzos8gb] {
    margin-top: 1rem;
}

.btn-primary[b-db4fzos8gb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background: #1E90FF;
    color: white;
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.btn-primary:hover[b-db4fzos8gb] {
    background: #1873CC;
}
/* /Components/Pages/MonProfil/Index.razor.rz.scp.css */
/* Variables (isolation CSS) */
.profil-container[b-dodp392t7g] {
    min-height: 100vh;
    background: var(--primary-light);
    font-family: 'Poppins', sans-serif;
}

/* Header */
.profil-header[b-dodp392t7g] {
    position: relative;
    padding: 2rem;
    background: var(--primary-dark);
    overflow: hidden;
}

.header-background[b-dodp392t7g] {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.header-background .wave[b-dodp392t7g] {
    position: absolute;
    width: 200%;
    height: 200%;
    opacity: 0.3;
    border-radius: 40%;
}

.header-background .wave-1[b-dodp392t7g] {
    background: linear-gradient(180deg, var(--accent) 0%, transparent 70%);
    top: -150%;
    left: -50%;
    animation: wave-rotate-b-dodp392t7g 25s linear infinite;
}

.header-background .wave-2[b-dodp392t7g] {
    background: linear-gradient(180deg, rgba(30, 144, 255, 0.3) 0%, transparent 70%);
    top: -160%;
    left: -30%;
    animation: wave-rotate-b-dodp392t7g 30s linear infinite reverse;
}

@keyframes wave-rotate-b-dodp392t7g {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.header-content[b-dodp392t7g] {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}

.back-link[b-dodp392t7g] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
    transition: color 0.2s;
}

.back-link:hover[b-dodp392t7g] {
    color: white;
}

.back-link svg[b-dodp392t7g] {
    width: 18px;
    height: 18px;
}

.header-info[b-dodp392t7g] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.avatar-wrapper[b-dodp392t7g] {
    position: relative;
}

.avatar-img[b-dodp392t7g], .avatar-placeholder[b-dodp392t7g] {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 4px solid white;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.avatar-img[b-dodp392t7g] {
    object-fit: cover;
}

.avatar-placeholder[b-dodp392t7g] {
    background: linear-gradient(135deg, var(--accent), #0066CC);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2rem;
    font-weight: 600;
}

.avatar-edit[b-dodp392t7g] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 32px;
    height: 32px;
    background: var(--accent);
    border: 2px solid white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s;
}

.avatar-edit:hover[b-dodp392t7g] {
    transform: scale(1.1);
}

.avatar-edit svg[b-dodp392t7g] {
    width: 16px;
    height: 16px;
    color: white;
}

.user-info h1[b-dodp392t7g] {
    color: white;
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0;
}

.user-role[b-dodp392t7g] {
    color: var(--accent);
    font-size: 0.875rem;
    font-weight: 500;
    margin: 0.25rem 0;
}

.user-email[b-dodp392t7g] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.875rem;
    margin: 0;
}

/* Stats */
.stats-row[b-dodp392t7g] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    max-width: 1200px;
    margin: -2rem auto 1.5rem;
    padding: 0 2rem;
    position: relative;
    z-index: 2;
}

.stat-card[b-dodp392t7g] {
    background: white;
    border-radius: 16px;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.stat-icon[b-dodp392t7g] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-icon.success[b-dodp392t7g] { background: rgba(16, 185, 129, 0.1); color: var(--success); }
.stat-icon.warning[b-dodp392t7g] { background: rgba(245, 158, 11, 0.1); color: var(--warning); }
.stat-icon.info[b-dodp392t7g] { background: rgba(30, 144, 255, 0.1); color: var(--accent); }

.stat-icon svg[b-dodp392t7g] {
    width: 24px;
    height: 24px;
}

.stat-content[b-dodp392t7g] {
    display: flex;
    flex-direction: column;
}

.stat-value[b-dodp392t7g] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-dark);
}

.stat-label[b-dodp392t7g] {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Tabs */
.section-tabs[b-dodp392t7g] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    gap: 0.5rem;
    border-bottom: 2px solid #E5E7EB;
    overflow-x: auto;
}

.tab-btn[b-dodp392t7g] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 0.2s;
    white-space: nowrap;
}

.tab-btn:hover[b-dodp392t7g] {
    color: var(--accent);
}

.tab-btn.active[b-dodp392t7g] {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.tab-btn svg[b-dodp392t7g] {
    width: 18px;
    height: 18px;
}

/* Content */
.section-content[b-dodp392t7g] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem 2rem 2rem;
}

.content-card[b-dodp392t7g] {
    background: white;
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.card-header[b-dodp392t7g] {
    margin-bottom: 1.5rem;
}

.card-header h2[b-dodp392t7g] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
}

.card-header p[b-dodp392t7g] {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0.25rem 0 0;
}

/* Alerts */
.alert[b-dodp392t7g] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
}

.alert svg[b-dodp392t7g] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert.success[b-dodp392t7g] {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.2);
    color: #059669;
}

.alert.error[b-dodp392t7g] {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
    color: #DC2626;
}

/* Form */
.form-grid[b-dodp392t7g] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.form-group[b-dodp392t7g] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group label[b-dodp392t7g] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-dark);
}

.form-group input[b-dodp392t7g] {
    padding: 0.875rem 1rem;
    border: 2px solid #E5E7EB;
    border-radius: 10px;
    font-size: 0.9375rem;
    transition: all 0.2s;
}

.form-group input:focus[b-dodp392t7g] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(30, 144, 255, 0.1);
}

.form-actions[b-dodp392t7g] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #E5E7EB;
}

.btn-primary[b-dodp392t7g], .btn-secondary[b-dodp392t7g], .btn-danger-outline[b-dodp392t7g] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
}

.btn-primary[b-dodp392t7g] {
    background: linear-gradient(135deg, var(--accent), var(--accent-hover));
    color: white;
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3);
}

.btn-primary:hover:not(:disabled)[b-dodp392t7g] {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(30, 144, 255, 0.4);
}

.btn-primary:disabled[b-dodp392t7g] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-secondary[b-dodp392t7g] {
    background: #F3F4F6;
    color: var(--text-dark);
}

.btn-secondary:hover[b-dodp392t7g] {
    background: #E5E7EB;
}

.btn-danger-outline[b-dodp392t7g] {
    background: transparent;
    border: 2px solid var(--danger);
    color: var(--danger);
}

.btn-danger-outline:hover[b-dodp392t7g] {
    background: var(--danger);
    color: white;
}

.spinner-small[b-dodp392t7g] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: profil-spin-b-dodp392t7g 0.8s linear infinite;
}

@keyframes profil-spin-b-dodp392t7g {
    to { transform: rotate(360deg); }
}

/* Photo section */
.photo-upload-section[b-dodp392t7g] {
    display: flex;
    gap: 2rem;
    align-items: center;
    flex-wrap: wrap;
}

.current-photo[b-dodp392t7g] {
    width: 150px;
    height: 150px;
    border-radius: 16px;
    overflow: hidden;
    background: #F3F4F6;
    flex-shrink: 0;
}

.current-photo img[b-dodp392t7g] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.no-photo[b-dodp392t7g] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    gap: 0.5rem;
}

.no-photo svg[b-dodp392t7g] {
    width: 48px;
    height: 48px;
}

.upload-area[b-dodp392t7g] {
    flex: 1;
    min-width: 200px;
}

.file-input[b-dodp392t7g] {
    display: none;
}

.upload-label[b-dodp392t7g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem;
    border: 2px dashed #D1D5DB;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.upload-label:hover[b-dodp392t7g] {
    border-color: var(--accent);
    background: rgba(30, 144, 255, 0.05);
}

.upload-label svg[b-dodp392t7g] {
    width: 40px;
    height: 40px;
    color: var(--accent);
}

.upload-label span[b-dodp392t7g] {
    font-weight: 500;
    color: var(--text-dark);
}

.upload-label small[b-dodp392t7g] {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.photo-actions[b-dodp392t7g] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #E5E7EB;
}

/* Connexion section */
.connexion-stats[b-dodp392t7g] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.connexion-stat-item[b-dodp392t7g] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: #F9FAFB;
    border-radius: 12px;
}

.connexion-stat-item.warning[b-dodp392t7g] {
    background: rgba(245, 158, 11, 0.1);
}

.connexion-icon[b-dodp392t7g] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #E5E7EB;
    color: var(--text-muted);
}

.connexion-icon.success[b-dodp392t7g] { background: var(--success); color: white; }
.connexion-icon.warning[b-dodp392t7g] { background: var(--warning); color: white; }
.connexion-icon.info[b-dodp392t7g] { background: var(--accent); color: white; }

.connexion-icon svg[b-dodp392t7g] {
    width: 22px;
    height: 22px;
}

.connexion-details[b-dodp392t7g] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.connexion-label[b-dodp392t7g] {
    font-size: 0.75rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.connexion-value[b-dodp392t7g] {
    font-size: 0.9375rem;
    color: var(--text-dark);
}

.connexion-value.muted[b-dodp392t7g] {
    color: var(--text-muted);
    font-style: italic;
}

.security-tips[b-dodp392t7g] {
    margin-top: 2rem;
    padding: 1.5rem;
    background: rgba(30, 144, 255, 0.05);
    border-radius: 12px;
    border: 1px solid rgba(30, 144, 255, 0.1);
}

.security-tips h3[b-dodp392t7g] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 1rem;
}

.security-tips ul[b-dodp392t7g] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.security-tips li[b-dodp392t7g] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--text-dark);
}

.security-tips li svg[b-dodp392t7g] {
    width: 18px;
    height: 18px;
    color: var(--accent);
    flex-shrink: 0;
}

/* Password section */
.password-form[b-dodp392t7g] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 500px;
}

.password-input-wrapper[b-dodp392t7g] {
    position: relative;
}

.password-input-wrapper input[b-dodp392t7g] {
    width: 100%;
    padding-right: 3rem;
}

.toggle-password[b-dodp392t7g] {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0.25rem;
}

.toggle-password:hover[b-dodp392t7g] {
    color: var(--accent);
}

.toggle-password svg[b-dodp392t7g] {
    width: 20px;
    height: 20px;
}

.password-strength[b-dodp392t7g] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 0.5rem;
}

.strength-bars[b-dodp392t7g] {
    display: flex;
    gap: 4px;
    flex: 1;
}

.strength-bar[b-dodp392t7g] {
    height: 4px;
    flex: 1;
    background: #E5E7EB;
    border-radius: 2px;
    transition: all 0.2s;
}

.strength-bar.active.weak[b-dodp392t7g] { background: var(--danger); }
.strength-bar.active.fair[b-dodp392t7g] { background: var(--warning); }
.strength-bar.active.good[b-dodp392t7g] { background: #84CC16; }
.strength-bar.active.strong[b-dodp392t7g] { background: var(--success); }

.strength-text[b-dodp392t7g] {
    font-size: 0.75rem;
    font-weight: 500;
}

.strength-text.weak[b-dodp392t7g] { color: var(--danger); }
.strength-text.fair[b-dodp392t7g] { color: var(--warning); }
.strength-text.good[b-dodp392t7g] { color: #84CC16; }
.strength-text.strong[b-dodp392t7g] { color: var(--success); }

.password-requirements[b-dodp392t7g] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.requirement[b-dodp392t7g] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.requirement svg[b-dodp392t7g] {
    width: 16px;
    height: 16px;
}

.requirement.valid[b-dodp392t7g] {
    color: var(--success);
}

.field-error[b-dodp392t7g] {
    color: var(--danger);
    font-size: 0.8rem;
    margin-top: 0.25rem;
}

/* Responsive */
@media (max-width: 768px) {
    .profil-header[b-dodp392t7g] {
        padding: 1.5rem;
    }

    .header-info[b-dodp392t7g] {
        flex-direction: column;
        text-align: center;
    }

    .stats-row[b-dodp392t7g] {
        grid-template-columns: 1fr;
        padding: 0 1rem;
    }

    .section-tabs[b-dodp392t7g] {
        padding: 0 1rem;
    }

    .tab-btn[b-dodp392t7g] {
        padding: 0.75rem 1rem;
        font-size: 0.8rem;
    }

    .section-content[b-dodp392t7g] {
        padding: 1rem;
    }

    .content-card[b-dodp392t7g] {
        padding: 1.5rem;
    }

    .photo-upload-section[b-dodp392t7g] {
        flex-direction: column;
    }

    .password-requirements[b-dodp392t7g] {
        grid-template-columns: 1fr;
    }

    .form-actions[b-dodp392t7g] {
        flex-direction: column;
    }

    .form-actions button[b-dodp392t7g] {
        width: 100%;
    }
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
.notfound-page[b-f4cknu28mw] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 2rem;
    font-family: 'Poppins', sans-serif;
}

.notfound-card[b-f4cknu28mw] {
    max-width: 560px;
    width: 100%;
    background: var(--bg-primary, #F5F7FA);
    border: 1px solid var(--border-primary, #E5E7EB);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(7, 26, 57, 0.08);
    color: var(--text-primary, #071A39);
}

.notfound-icon[b-f4cknu28mw] {
    width: 56px;
    height: 56px;
    color: #1E90FF;
    margin-bottom: 1rem;
}

.notfound-icon svg[b-f4cknu28mw] {
    width: 100%;
    height: 100%;
}

.notfound-title[b-f4cknu28mw] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-dark, #071A39);
    margin-bottom: 0.5rem;
}

.notfound-code[b-f4cknu28mw] {
    font-size: 1.1rem;
    color: var(--primary-dark, #071A39);
    margin-bottom: 1rem;
}

.notfound-code strong[b-f4cknu28mw] {
    font-family: ui-monospace, monospace;
    color: #1E90FF;
    letter-spacing: 0.02em;
}

.notfound-message[b-f4cknu28mw] {
    color: #4B5563;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.notfound-dev-section[b-f4cknu28mw] {
    background: rgba(7, 26, 57, 0.04);
    border: 1px solid rgba(7, 26, 57, 0.1);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    text-align: left;
}

.notfound-dev-section code[b-f4cknu28mw] {
    font-size: 0.875rem;
    background: rgba(0,0,0,0.06);
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    word-break: break-all;
}

.notfound-actions[b-f4cknu28mw] {
    margin-top: 1rem;
}

.btn-primary[b-f4cknu28mw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background: #1E90FF;
    color: white;
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.btn-primary:hover[b-f4cknu28mw] {
    background: #1873CC;
}
/* /Components/Pages/Paiements/Details.razor.rz.scp.css */
.paiement-detail-page[b-iak1j8h9g0] {
    min-height: calc(100vh - 120px);
    padding: 1rem 1rem 2.5rem;
    max-width: 1100px;
    margin: 0 auto;
    background: #F5F7FA;
}

.detail-empty-card[b-iak1j8h9g0] {
    max-width: 28rem;
    margin: 3rem auto;
    padding: 2.5rem;
    text-align: center;
    background: white;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 24px rgba(7, 26, 57, 0.06);
}

.detail-hero[b-iak1j8h9g0] {
    background: linear-gradient(135deg, #071A39 0%, #0d2a5c 100%);
    color: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.5rem 1.75rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 8px 32px rgba(7, 26, 57, 0.2);
}

.detail-hero-top[b-iak1j8h9g0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.detail-back[b-iak1j8h9g0] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
}

.detail-back:hover[b-iak1j8h9g0] {
    color: #fff;
}

.detail-cta-print[b-iak1j8h9g0] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1E90FF;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
}

.detail-cta-print:hover[b-iak1j8h9g0] {
    filter: brightness(1.05);
}

.detail-kicker[b-iak1j8h9g0] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 0 0.25rem;
}

.detail-title[b-iak1j8h9g0] {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
    line-height: 1.2;
}

.detail-subtitle[b-iak1j8h9g0] {
    margin: 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.8);
}

.detail-stats[b-iak1j8h9g0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.detail-stat[b-iak1j8h9g0] {
    border-radius: 12px;
    padding: 1.1rem 1.25rem;
    color: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.detail-stat--paye[b-iak1j8h9g0] {
    background: linear-gradient(135deg, #16a34a 0%, #059669 100%);
}

.detail-stat--net[b-iak1j8h9g0] {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

.detail-stat--reste-solde[b-iak1j8h9g0] {
    background: linear-gradient(135deg, #64748b 0%, #475569 100%);
}

.detail-stat--reste-impaye[b-iak1j8h9g0] {
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
}

.detail-stat-label[b-iak1j8h9g0] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.92;
    margin-bottom: 0.35rem;
}

.detail-stat-value[b-iak1j8h9g0] {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.2;
}

.detail-stat-hint[b-iak1j8h9g0] {
    display: block;
    font-size: 0.75rem;
    margin-top: 0.5rem;
    opacity: 0.9;
}

.detail-grid[b-iak1j8h9g0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.detail-card[b-iak1j8h9g0] {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 2px 12px rgba(7, 26, 57, 0.05);
    overflow: hidden;
}

.detail-card--muted[b-iak1j8h9g0] {
    background: #f8fafc;
    margin-bottom: 1.25rem;
}

.detail-card-title[b-iak1j8h9g0] {
    margin: 0;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    font-weight: 700;
    color: #071A39;
    border-bottom: 1px solid #eef2f7;
    background: #fafbfc;
}

.detail-card-body[b-iak1j8h9g0] {
    padding: 1.25rem;
}

.detail-eleve-row[b-iak1j8h9g0] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.detail-avatar[b-iak1j8h9g0] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9999px;
    background: rgba(30, 144, 255, 0.15);
    color: #1E90FF;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.detail-eleve-name[b-iak1j8h9g0] {
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.15rem;
}

.detail-eleve-mat[b-iak1j8h9g0] {
    font-size: 0.8rem;
    color: #6b7280;
    font-family: ui-monospace, monospace;
    margin: 0;
}

.detail-dl[b-iak1j8h9g0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
    margin: 0;
}

.detail-dl--full[b-iak1j8h9g0] {
    grid-template-columns: 1fr;
}

.detail-dl dt[b-iak1j8h9g0] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b7280;
    margin: 0 0 0.2rem;
}

.detail-dl dd[b-iak1j8h9g0] {
    margin: 0;
    font-weight: 600;
    color: #111827;
}

.detail-mono[b-iak1j8h9g0] {
    font-family: ui-monospace, monospace;
}

.detail-mono.accent[b-iak1j8h9g0] {
    color: #1E90FF;
}

.detail-motif[b-iak1j8h9g0] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #eef2f7;
}

.detail-motif-label[b-iak1j8h9g0] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    margin: 0 0 0.35rem;
}

.detail-motif-text[b-iak1j8h9g0] {
    margin: 0;
    color: #374151;
    line-height: 1.5;
}

.detail-link-btn[b-iak1j8h9g0] {
    display: block;
    margin-top: 1rem;
    text-align: center;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    color: #071A39;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
}

.detail-link-btn:hover[b-iak1j8h9g0] {
    border-color: #1E90FF;
    color: #1E90FF;
}

.detail-tech-grid[b-iak1j8h9g0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 0;
}

.detail-tech-grid dt[b-iak1j8h9g0] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #64748b;
    margin: 0 0 0.2rem;
}

.detail-tech-grid dd[b-iak1j8h9g0] {
    margin: 0;
    font-size: 0.85rem;
    color: #334155;
}

.detail-tech-details[b-iak1j8h9g0] {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px dashed #cbd5e1;
}

.detail-tech-details summary[b-iak1j8h9g0] {
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    list-style: none;
}

.detail-tech-details summary[b-iak1j8h9g0]::-webkit-details-marker {
    display: none;
}

.detail-tech-details[open] summary[b-iak1j8h9g0] {
    margin-bottom: 0.75rem;
}

.detail-tech-grid--ids[b-iak1j8h9g0] {
    margin-top: 0.5rem;
}

.detail-mono-xs[b-iak1j8h9g0] {
    font-family: ui-monospace, monospace;
    font-size: 0.7rem;
    word-break: break-all;
}

.detail-actions[b-iak1j8h9g0] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    align-items: center;
}

.detail-btn-primary[b-iak1j8h9g0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1.25rem;
    background: #1E90FF;
    color: #fff;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 8px;
    text-decoration: none;
}

.detail-btn-primary:hover[b-iak1j8h9g0] {
    filter: brightness(1.05);
}

.detail-btn-secondary[b-iak1j8h9g0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1.25rem;
    border: 1px solid #cbd5e1;
    color: #071A39;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 8px;
    text-decoration: none;
    background: #fff;
}

.detail-btn-secondary:hover[b-iak1j8h9g0] {
    border-color: #1E90FF;
    color: #1E90FF;
}
/* /Components/Pages/Paiements/Recu.razor.rz.scp.css */
.recu-shell[b-2v12zu3yjd] {
    min-height: calc(100vh - 120px);
    padding: 1rem 1rem 2rem;
    background: var(--bg-light, #F5F7FA);
}

.recu-page-with-sider[b-2v12zu3yjd] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: flex-start;
    max-width: 1080px;
    margin: 0 auto;
}

.recu-sider[b-2v12zu3yjd] {
    flex: 0 0 260px;
    max-width: 100%;
    background: linear-gradient(180deg, #071A39 0%, #0d2a5c 100%);
    color: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.35rem;
    box-shadow: 0 8px 28px rgba(7, 26, 57, 0.18);
}

.recu-sider-title[b-2v12zu3yjd] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 0 1rem;
    font-weight: 700;
}

.recu-sider-dl[b-2v12zu3yjd] {
    margin: 0 0 1.25rem;
}

.recu-sider-dl > div[b-2v12zu3yjd] {
    margin-bottom: 0.85rem;
}

.recu-sider-dl dt[b-2v12zu3yjd] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 0 0.2rem;
    font-weight: 600;
}

.recu-sider-dl dd[b-2v12zu3yjd] {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
}

.recu-sider-mono[b-2v12zu3yjd] {
    font-family: ui-monospace, monospace;
    font-size: 0.72rem;
    word-break: break-all;
}

.recu-sider-link[b-2v12zu3yjd] {
    display: block;
    text-align: center;
    padding: 0.5rem 0.75rem;
    background: #1E90FF;
    color: #fff !important;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
}

.recu-sider-link:hover[b-2v12zu3yjd] {
    filter: brightness(1.06);
}

.recu-main-area[b-2v12zu3yjd] {
    flex: 1;
    min-width: 280px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 900px) {
    .recu-page-with-sider[b-2v12zu3yjd] {
        flex-direction: column;
    }

    .recu-sider[b-2v12zu3yjd] {
        flex: 1 1 auto;
        width: 100%;
    }

    .recu-main-area[b-2v12zu3yjd] {
        max-width: 100%;
    }
}

@media print {
    .no-print[b-2v12zu3yjd] {
        display: none !important;
    }

    body[b-2v12zu3yjd] {
        background: white !important;
    }

    .recu-shell[b-2v12zu3yjd] {
        min-height: auto;
        padding: 0;
        background: white !important;
    }
}
/* /Components/Pages/Services/Classes/ClassesDashboard.razor.rz.scp.css */
.stat-card[b-ywg7z94j2q] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 12px;
    color: white;
}

.gradient-amber[b-ywg7z94j2q] {
    background: linear-gradient(135deg, #F59E0B, #D97706);
}

.gradient-blue[b-ywg7z94j2q] {
    background: linear-gradient(135deg, #3B82F6, #2563EB);
}

.gradient-green[b-ywg7z94j2q] {
    background: linear-gradient(135deg, #10B981, #059669);
}

.gradient-purple[b-ywg7z94j2q] {
    background: linear-gradient(135deg, #8B5CF6, #7C3AED);
}

.stat-icon[b-ywg7z94j2q] {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-ywg7z94j2q] {
    width: 24px;
    height: 24px;
}

.stat-content[b-ywg7z94j2q] {
    display: flex;
    flex-direction: column;
}

.stat-label[b-ywg7z94j2q] {
    font-size: 0.75rem;
    opacity: 0.9;
}

.stat-value[b-ywg7z94j2q] {
    font-size: 1.5rem;
    font-weight: 700;
}

.btn-refresh[b-ywg7z94j2q] {
    padding: 0.5rem;
    border-radius: 8px;
    color: #6B7280;
    transition: all 0.2s;
}

.btn-refresh:hover[b-ywg7z94j2q] {
    background: #F3F4F6;
    color: #F59E0B;
}

.card[b-ywg7z94j2q] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.card-header[b-ywg7z94j2q] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.card-body[b-ywg7z94j2q] {
    padding: 1.25rem;
}

/* Cycles Chart */
.cycles-chart[b-ywg7z94j2q] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.cycle-item[b-ywg7z94j2q] {
    padding: 1rem;
    background: #F9FAFB;
    border-radius: 10px;
}

.cycle-header[b-ywg7z94j2q] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.cycle-emoji[b-ywg7z94j2q] {
    font-size: 1.25rem;
}

.cycle-name[b-ywg7z94j2q] {
    font-weight: 600;
    color: #1F2937;
    flex: 1;
}

.cycle-count[b-ywg7z94j2q] {
    font-weight: 600;
    color: #6B7280;
}

.cycle-bar[b-ywg7z94j2q] {
    height: 8px;
    background: #E5E7EB;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.bar-fill[b-ywg7z94j2q] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s;
}

.bar-fill.maternelle[b-ywg7z94j2q] { background: linear-gradient(to right, #EC4899, #F472B6); }
.bar-fill.primaire[b-ywg7z94j2q] { background: linear-gradient(to right, #F59E0B, #FBBF24); }
.bar-fill.secondaire[b-ywg7z94j2q] { background: linear-gradient(to right, #8B5CF6, #A78BFA); }
.bar-fill.default[b-ywg7z94j2q] { background: linear-gradient(to right, #6B7280, #9CA3AF); }

.cycle-details[b-ywg7z94j2q] {
    display: flex;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #9CA3AF;
}

/* Sections List */
.sections-list[b-ywg7z94j2q] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.section-item[b-ywg7z94j2q] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.section-info[b-ywg7z94j2q] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.section-badge[b-ywg7z94j2q] {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.75rem;
    color: white;
}

.section-badge.cycle-maternelle[b-ywg7z94j2q] { background: linear-gradient(135deg, #EC4899, #F472B6); }
.section-badge.cycle-primaire[b-ywg7z94j2q] { background: linear-gradient(135deg, #F59E0B, #FBBF24); }
.section-badge.cycle-secondaire[b-ywg7z94j2q] { background: linear-gradient(135deg, #8B5CF6, #A78BFA); }

.section-stats[b-ywg7z94j2q] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
}

.effectif-bar[b-ywg7z94j2q] {
    width: 80px;
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
}

.effectif-bar .fill[b-ywg7z94j2q] {
    height: 100%;
    background: #10B981;
    border-radius: 3px;
}

.effectif-bar .fill.warning[b-ywg7z94j2q] {
    background: #EF4444;
}

.effectif-text[b-ywg7z94j2q] {
    font-size: 0.7rem;
    color: #6B7280;
}

/* Niveaux Grid */
.niveaux-grid[b-ywg7z94j2q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
    padding: 1.25rem;
}

.niveau-card[b-ywg7z94j2q] {
    padding: 1rem;
    border-radius: 10px;
    background: #F9FAFB;
    border-left: 4px solid #E5E7EB;
    position: relative;
    transition: all 0.2s;
}

.niveau-card:hover[b-ywg7z94j2q] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.niveau-card.cycle-maternelle[b-ywg7z94j2q] { border-left-color: #EC4899; }
.niveau-card.cycle-primaire[b-ywg7z94j2q] { border-left-color: #F59E0B; }
.niveau-card.cycle-secondaire[b-ywg7z94j2q] { border-left-color: #8B5CF6; }

.niveau-header[b-ywg7z94j2q] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.niveau-code[b-ywg7z94j2q] {
    font-weight: 700;
    font-size: 0.875rem;
    color: #1F2937;
}

.niveau-cycle[b-ywg7z94j2q] {
    font-size: 0.65rem;
    padding: 0.125rem 0.375rem;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 4px;
    color: #6B7280;
}

.niveau-name[b-ywg7z94j2q] {
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
}

.niveau-stats[b-ywg7z94j2q] {
    display: flex;
    gap: 1rem;
}

.niveau-stat[b-ywg7z94j2q] {
    display: flex;
    flex-direction: column;
}

.niveau-stat .value[b-ywg7z94j2q] {
    font-size: 1rem;
    font-weight: 700;
    color: #1F2937;
}

.niveau-stat .label[b-ywg7z94j2q] {
    font-size: 0.65rem;
    color: #9CA3AF;
}

.inactive-badge[b-ywg7z94j2q] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    padding: 0.125rem 0.375rem;
    background: #FEE2E2;
    color: #DC2626;
    font-size: 0.6rem;
    border-radius: 4px;
    font-weight: 500;
}
/* /Components/Pages/Services/Classes/HierarchieClasses.razor.rz.scp.css */
.btn-outline-sm[b-4ukq32atd1] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #6B7280;
    transition: all 0.2s;
}

.btn-outline-sm:hover[b-4ukq32atd1] {
    border-color: #1E90FF;
    color: #1E90FF;
}

/* Hierarchy Tree */
.hierarchy-tree[b-4ukq32atd1] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cycle-node[b-4ukq32atd1] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.cycle-node.maternelle[b-4ukq32atd1] { border-left: 4px solid #EC4899; }
.cycle-node.primaire[b-4ukq32atd1] { border-left: 4px solid #F59E0B; }
.cycle-node.secondaire[b-4ukq32atd1] { border-left: 4px solid #8B5CF6; }

.cycle-header[b-4ukq32atd1] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    cursor: pointer;
    transition: background 0.2s;
}

.cycle-header:hover[b-4ukq32atd1] {
    background: #F9FAFB;
}

.expand-btn[b-4ukq32atd1] {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    transition: all 0.2s;
}

.expand-btn svg[b-4ukq32atd1] {
    width: 16px;
    height: 16px;
}

.expand-btn:hover[b-4ukq32atd1] {
    background: #E5E7EB;
}

.expand-btn.small[b-4ukq32atd1] {
    width: 24px;
    height: 24px;
}

.expand-btn.small svg[b-4ukq32atd1] {
    width: 14px;
    height: 14px;
}

.cycle-emoji[b-4ukq32atd1] {
    font-size: 1.5rem;
}

.cycle-name[b-4ukq32atd1] {
    font-weight: 600;
    font-size: 1.125rem;
    color: #071A39;
    flex: 1;
}

.cycle-stats[b-4ukq32atd1] {
    display: flex;
    gap: 1rem;
}

.cycle-stats .stat[b-4ukq32atd1] {
    font-size: 0.75rem;
    color: #6B7280;
    padding: 0.25rem 0.5rem;
    background: #F3F4F6;
    border-radius: 4px;
}

.cycle-nouveau-btn[b-4ukq32atd1] {
    margin-left: auto;
    padding: 0.5rem 0.75rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #071A39 0%, #1E90FF 100%);
    color: #fff;
    font-weight: 600;
    font-size: 0.75rem;
    border: 2px solid transparent;
    transition: transform 0.15s, box-shadow 0.2s;
    cursor: pointer;
    white-space: nowrap;
}

.cycle-nouveau-btn:hover[b-4ukq32atd1] {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(30, 144, 255, 0.25);
}

/* Niveaux Container */
.niveaux-container[b-4ukq32atd1] {
    padding: 0 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.niveau-node[b-4ukq32atd1] {
    background: #F9FAFB;
    border-radius: 8px;
    overflow: hidden;
}

.niveau-header[b-4ukq32atd1] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background 0.2s;
}

.niveau-header:hover[b-4ukq32atd1] {
    background: #F3F4F6;
}

.niveau-badge[b-4ukq32atd1] {
    font-weight: 700;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    background: white;
    border-radius: 4px;
    color: #374151;
}

.niveau-info[b-4ukq32atd1] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.niveau-name[b-4ukq32atd1] {
    font-weight: 500;
    color: #374151;
}

.inactive-tag[b-4ukq32atd1] {
    font-size: 0.65rem;
    padding: 0.125rem 0.375rem;
    background: #FEE2E2;
    color: #DC2626;
    border-radius: 4px;
}

.niveau-stats[b-4ukq32atd1] {
    display: flex;
    gap: 0.5rem;
}

.stat-badge[b-4ukq32atd1] {
    font-size: 0.7rem;
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    font-weight: 500;
}

.stat-badge.sections[b-4ukq32atd1] {
    background: #DBEAFE;
    color: #2563EB;
}

.stat-badge.eleves[b-4ukq32atd1] {
    background: #D1FAE5;
    color: #059669;
}

.action-link[b-4ukq32atd1] {
    font-size: 0.75rem;
    color: #1E90FF;
    font-weight: 500;
}

.action-link:hover[b-4ukq32atd1] {
    text-decoration: underline;
}

/* Sections Container */
.sections-container[b-4ukq32atd1] {
    padding: 0.5rem 1rem 0.75rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.section-node[b-4ukq32atd1] {
    display: flex;
    align-items: center;
}

.connector[b-4ukq32atd1] {
    width: 20px;
    height: 20px;
    border-left: 2px solid #E5E7EB;
    border-bottom: 2px solid #E5E7EB;
    border-radius: 0 0 0 8px;
    margin-right: 0.5rem;
}

.section-content[b-4ukq32atd1] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: white;
    border-radius: 6px;
    border: 1px solid #E5E7EB;
}

.section-badge[b-4ukq32atd1] {
    font-weight: 600;
    font-size: 0.7rem;
    padding: 0.125rem 0.375rem;
    background: #F3F4F6;
    border-radius: 4px;
    color: #374151;
}

.section-name[b-4ukq32atd1] {
    flex: 1;
    font-size: 0.8rem;
    color: #4B5563;
}

.section-effectif[b-4ukq32atd1] {
    font-size: 0.7rem;
    color: #9CA3AF;
}

.section-link[b-4ukq32atd1] {
    font-size: 0.7rem;
    color: #1E90FF;
}

.section-link:hover[b-4ukq32atd1] {
    text-decoration: underline;
}

/* Empty State */
.empty-state[b-4ukq32atd1] {
    text-align: center;
    padding: 4rem 2rem;
    background: white;
    border-radius: 16px;
}

.empty-icon[b-4ukq32atd1] {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: rgba(30, 144, 255, 0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.empty-icon svg[b-4ukq32atd1] {
    width: 40px;
    height: 40px;
    color: #1E90FF;
}

.empty-state h3[b-4ukq32atd1] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #071A39;
    margin: 0 0 0.5rem;
}

.empty-state p[b-4ukq32atd1] {
    color: #6B7280;
    margin: 0 0 1.5rem;
}

.btn-primary-amber[b-4ukq32atd1] {
    background: linear-gradient(135deg, #071A39 0%, #1E90FF 100%);
    color: white;
    padding: 0.625rem 1.25rem;
    border-radius: 8px;
    font-weight: 500;
    display: inline-flex;
    text-decoration: none;
}
/* /Components/Pages/Services/Classes/Index.razor.rz.scp.css */
.sider-stats[b-1u0hh29fe8] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}
/* /Components/Pages/Services/Classes/NiveauxList.razor.rz.scp.css */
/* Charte: CTA = Bleu Électrique #1E90FF */
.btn-primary-amber[b-lc693wn8zx] {
    background: #1E90FF;
    color: white;
    padding: 0.625rem 1.25rem;
    border-radius: 8px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s;
    text-decoration: none;
}

.btn-primary-amber:hover[b-lc693wn8zx] {
    background: #1a7ee6;
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.4);
    transform: translateY(-1px);
}

/* Cycle Tabs */
.cycle-tabs[b-lc693wn8zx] {
    display: flex;
    gap: 0.5rem;
    background: white;
    padding: 0.5rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow-x: auto;
}

.cycle-tab[b-lc693wn8zx] {
    padding: 0.625rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6B7280;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    transition: all 0.2s;
}

.cycle-tab:hover[b-lc693wn8zx] {
    background: #F3F4F6;
}

/* Charte: onglet actif "Tous" = Bleu Électrique #1E90FF */
.cycle-tab.active[b-lc693wn8zx] {
    background: #1E90FF;
    color: white;
}

.cycle-tab.active.maternelle[b-lc693wn8zx] { background: linear-gradient(135deg, #EC4899, #F472B6); }
.cycle-tab.active.primaire[b-lc693wn8zx] { background: linear-gradient(135deg, #F59E0B, #FBBF24); }
.cycle-tab.active.educationbase[b-lc693wn8zx] { background: linear-gradient(135deg, #3B82F6, #60A5FA); }
.cycle-tab.active.humanite[b-lc693wn8zx] { background: linear-gradient(135deg, #8B5CF6, #A78BFA); }

.tab-count[b-lc693wn8zx] {
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    font-size: 0.7rem;
    background: rgba(0, 0, 0, 0.1);
}

.cycle-tab.active .tab-count[b-lc693wn8zx] {
    background: rgba(255, 255, 255, 0.25);
}

/* Niveaux List */
.niveaux-list[b-lc693wn8zx] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.niveau-item[b-lc693wn8zx] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #E5E7EB;
    transition: all 0.2s;
}

.niveau-item:hover[b-lc693wn8zx] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.niveau-item.maternelle[b-lc693wn8zx] { border-left-color: #EC4899; }
.niveau-item.primaire[b-lc693wn8zx] { border-left-color: #F59E0B; }
.niveau-item.educationbase[b-lc693wn8zx] { border-left-color: #3B82F6; }
.niveau-item.humanite[b-lc693wn8zx] { border-left-color: #8B5CF6; }

.niveau-item.inactive[b-lc693wn8zx] {
    opacity: 0.6;
}

.niveau-left[b-lc693wn8zx] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.niveau-icon[b-lc693wn8zx] {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F3F4F6;
    flex-shrink: 0;
}

.niveau-item.maternelle .niveau-icon[b-lc693wn8zx] { background: linear-gradient(135deg, #FDF2F8, #FCE7F3); }
.niveau-item.primaire .niveau-icon[b-lc693wn8zx] { background: linear-gradient(135deg, #FFFBEB, #FEF3C7); }
.niveau-item.educationbase .niveau-icon[b-lc693wn8zx] { background: linear-gradient(135deg, #EFF6FF, #DBEAFE); }
.niveau-item.humanite .niveau-icon[b-lc693wn8zx] { background: linear-gradient(135deg, #F5F3FF, #EDE9FE); }

.niveau-code[b-lc693wn8zx] {
    font-weight: 700;
    font-size: 1rem;
    color: #1F2937;
}

.niveau-info[b-lc693wn8zx] {
    flex: 1;
    min-width: 0;
}

.niveau-name[b-lc693wn8zx] {
    font-weight: 600;
    font-size: 1rem;
    color: #1F2937;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}

.status-badge[b-lc693wn8zx] {
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 500;
}

.status-badge.inactive[b-lc693wn8zx] {
    background: #FEE2E2;
    color: #DC2626;
}

.niveau-meta[b-lc693wn8zx] {
    display: flex;
    gap: 1rem;
    margin-top: 0.375rem;
}

.meta-item[b-lc693wn8zx] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: #6B7280;
}

.meta-item svg[b-lc693wn8zx] {
    width: 14px;
    height: 14px;
}

.niveau-center[b-lc693wn8zx] {
    display: flex;
    gap: 1.5rem;
}

.stat-box[b-lc693wn8zx] {
    text-align: center;
    padding: 0.5rem 1rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.stat-box .stat-value[b-lc693wn8zx] {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2937;
}

.stat-box .stat-label[b-lc693wn8zx] {
    display: block;
    font-size: 0.65rem;
    color: #9CA3AF;
    text-transform: uppercase;
}

.niveau-right[b-lc693wn8zx] {
    display: flex;
    gap: 0.375rem;
}

.action-btn[b-lc693wn8zx] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    transition: all 0.2s;
}

.action-btn svg[b-lc693wn8zx] {
    width: 18px;
    height: 18px;
}

.action-btn:hover[b-lc693wn8zx] {
    background: #F3F4F6;
    color: #1F2937;
}

.action-btn.warning:hover[b-lc693wn8zx] {
    background: #FEF3C7;
    color: #D97706;
}

.action-btn.success:hover[b-lc693wn8zx] {
    background: #D1FAE5;
    color: #059669;
}

/* Empty State */
.empty-state[b-lc693wn8zx] {
    text-align: center;
    padding: 4rem 2rem;
    background: white;
    border-radius: 16px;
}

.empty-icon[b-lc693wn8zx] {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: #FEF3C7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.empty-icon svg[b-lc693wn8zx] {
    width: 40px;
    height: 40px;
    color: #F59E0B;
}

.empty-state h3[b-lc693wn8zx] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 0.5rem;
}

.empty-state p[b-lc693wn8zx] {
    color: #6B7280;
    margin: 0 0 1.5rem;
}
/* /Components/Pages/Services/Classes/NouveauNiveau.razor.rz.scp.css */
.form-card[b-7tqqp35293] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.form-body[b-7tqqp35293] {
    padding: 1.5rem;
}

/* Cycle Selector */
.cycle-selector[b-7tqqp35293] {
    margin-bottom: 1.5rem;
}

.cycle-selector > label[b-7tqqp35293] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.75rem;
}

.cycle-options[b-7tqqp35293] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
}

.cycle-option[b-7tqqp35293] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.25rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    background: white;
    transition: all 0.2s;
    cursor: pointer;
}

.cycle-option:hover[b-7tqqp35293] {
    border-color: #D1D5DB;
    background: #F9FAFB;
}

.cycle-option.active[b-7tqqp35293] {
    border-color: currentColor;
}

.cycle-option.active.maternelle[b-7tqqp35293] {
    border-color: #EC4899;
    background: #FDF2F8;
}

.cycle-option.active.primaire[b-7tqqp35293] {
    border-color: #F59E0B;
    background: #FFFBEB;
}

.cycle-option.active.educationbase[b-7tqqp35293] {
    border-color: #0EA5E9;
    background: #F0F9FF;
}

.cycle-option.active.humanites[b-7tqqp35293] {
    border-color: #8B5CF6;
    background: #F5F3FF;
}

.cycle-emoji[b-7tqqp35293] {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.cycle-name[b-7tqqp35293] {
    font-weight: 500;
    color: #374151;
}

/* Form Groups */
.form-group[b-7tqqp35293] {
    margin-bottom: 1.25rem;
}

.form-group label[b-7tqqp35293] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-group label.required[b-7tqqp35293]::after {
    content: " *";
    color: #EF4444;
}

.form-group input[b-7tqqp35293],
.form-group select[b-7tqqp35293],
.form-group textarea[b-7tqqp35293] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-group input:focus[b-7tqqp35293],
.form-group select:focus[b-7tqqp35293],
.form-group textarea:focus[b-7tqqp35293] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.12);
}

.form-group input.error[b-7tqqp35293],
.form-group select.error[b-7tqqp35293] {
    border-color: #EF4444;
}

.error-message[b-7tqqp35293] {
    display: block;
    font-size: 0.75rem;
    color: #EF4444;
    margin-top: 0.375rem;
}

.hint[b-7tqqp35293] {
    display: block;
    font-size: 0.75rem;
    color: #9CA3AF;
    margin-top: 0.375rem;
}

.form-row[b-7tqqp35293] {
    display: flex;
    gap: 1rem;
}

/* Checkbox Group */
.checkbox-group[b-7tqqp35293] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.checkbox-label[b-7tqqp35293] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: #374151;
    cursor: pointer;
}

.checkbox-label input[b-7tqqp35293] {
    width: 18px;
    height: 18px;
}

/* Preview Card */
.preview-card[b-7tqqp35293] {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
}

.preview-card.maternelle[b-7tqqp35293] { border-color: #FBCFE8; }
.preview-card.primaire[b-7tqqp35293] { border-color: #FDE68A; }
.preview-card.educationbase[b-7tqqp35293] { border-color: #BAE6FD; }
.preview-card.humanites[b-7tqqp35293] { border-color: #DDD6FE; }

.preview-header[b-7tqqp35293] {
    padding: 0.5rem 1rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #6B7280;
    background: #F9FAFB;
}

.preview-body[b-7tqqp35293] {
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.preview-badge[b-7tqqp35293] {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    background: #F3F4F6;
}

.preview-card.maternelle .preview-badge[b-7tqqp35293] { background: #FCE7F3; color: #BE185D; }
.preview-card.primaire .preview-badge[b-7tqqp35293] { background: #FEF3C7; color: #B45309; }
.preview-card.educationbase .preview-badge[b-7tqqp35293] { background: #E0F2FE; color: #0284C7; }
.preview-card.humanites .preview-badge[b-7tqqp35293] { background: #EDE9FE; color: #6D28D9; }

.preview-info[b-7tqqp35293] {
    display: flex;
    flex-direction: column;
}

.preview-name[b-7tqqp35293] {
    font-weight: 600;
    color: #1F2937;
}

.preview-cycle[b-7tqqp35293] {
    font-size: 0.75rem;
    color: #6B7280;
}

/* Form Footer */
.form-footer[b-7tqqp35293] {
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    background: #F9FAFB;
}

.btn-secondary[b-7tqqp35293] {
    padding: 0.75rem 1.5rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #374151;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-secondary:hover[b-7tqqp35293] {
    background: #F3F4F6;
}

.btn-primary-amber[b-7tqqp35293] {
    background: linear-gradient(135deg, #071A39 0%, #1E90FF 100%);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-primary-amber:hover:not(:disabled)[b-7tqqp35293] {
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.4);
}

.btn-primary-amber:disabled[b-7tqqp35293] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* /Components/Pages/Services/Classes/NouvelleSection.razor.rz.scp.css */
.form-card[b-6f7zw0g7rw] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.form-body[b-6f7zw0g7rw] {
    padding: 1.5rem;
}

.form-group[b-6f7zw0g7rw] {
    margin-bottom: 1.25rem;
}

.form-group label[b-6f7zw0g7rw] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-group label.required[b-6f7zw0g7rw]::after {
    content: " *";
    color: #EF4444;
}

.form-group input[b-6f7zw0g7rw],
.form-group select[b-6f7zw0g7rw] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-group input:focus[b-6f7zw0g7rw],
.form-group select:focus[b-6f7zw0g7rw] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.15);
}

.form-group input.error[b-6f7zw0g7rw],
.form-group select.error[b-6f7zw0g7rw] {
    border-color: #EF4444;
}

.error-message[b-6f7zw0g7rw] {
    display: block;
    font-size: 0.75rem;
    color: #EF4444;
    margin-top: 0.375rem;
}

.hint[b-6f7zw0g7rw] {
    display: block;
    font-size: 0.75rem;
    color: #9CA3AF;
    margin-top: 0.375rem;
}

.form-row[b-6f7zw0g7rw] {
    display: flex;
    gap: 1rem;
}

.checkbox-group[b-6f7zw0g7rw] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.checkbox-label[b-6f7zw0g7rw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: #374151;
    cursor: pointer;
}

.checkbox-label input[b-6f7zw0g7rw] {
    width: 18px;
    height: 18px;
}

/* Preview Card */
.preview-card[b-6f7zw0g7rw] {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
}

.preview-card.maternelle[b-6f7zw0g7rw] { border-color: #FBCFE8; }
.preview-card.primaire[b-6f7zw0g7rw] { border-color: #FDE68A; }
.preview-card.educationbase[b-6f7zw0g7rw] { border-color: #BAE6FD; }
.preview-card.humanites[b-6f7zw0g7rw] { border-color: #DDD6FE; }

.preview-header[b-6f7zw0g7rw] {
    padding: 0.5rem 1rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #6B7280;
    background: #F9FAFB;
}

.preview-body[b-6f7zw0g7rw] {
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.preview-badge[b-6f7zw0g7rw] {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
    background: #F3F4F6;
}

.preview-card.maternelle .preview-badge[b-6f7zw0g7rw] { background: #FCE7F3; color: #BE185D; }
.preview-card.primaire .preview-badge[b-6f7zw0g7rw] { background: #FEF3C7; color: #B45309; }
.preview-card.educationbase .preview-badge[b-6f7zw0g7rw] { background: #E0F2FE; color: #0284C7; }
.preview-card.humanites .preview-badge[b-6f7zw0g7rw] { background: #EDE9FE; color: #6D28D9; }

.preview-info[b-6f7zw0g7rw] {
    display: flex;
    flex-direction: column;
}

.preview-name[b-6f7zw0g7rw] {
    font-weight: 600;
    color: #1F2937;
}

.preview-details[b-6f7zw0g7rw] {
    font-size: 0.75rem;
    color: #6B7280;
}

.preview-capacity[b-6f7zw0g7rw] {
    font-size: 0.7rem;
    color: #9CA3AF;
}

.form-footer[b-6f7zw0g7rw] {
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    background: #F9FAFB;
}

/* Charte graphique : Bleu Électrique #1E90FF (CTA) */
.btn-outline-charte[b-6f7zw0g7rw] {
    padding: 0.75rem 1.5rem;
    border: 1px solid #1E90FF;
    border-radius: 8px;
    color: #1E90FF;
    font-weight: 500;
    background: white;
    transition: all 0.2s;
}

.btn-outline-charte:hover[b-6f7zw0g7rw] {
    background: rgba(30, 144, 255, 0.08);
}

.btn-primary-charte[b-6f7zw0g7rw] {
    background: #1E90FF;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    border: none;
    transition: all 0.2s;
}

.btn-primary-charte:hover:not(:disabled)[b-6f7zw0g7rw] {
    background: #1873DD;
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.4);
}

.btn-primary-charte:disabled[b-6f7zw0g7rw] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* /Components/Pages/Services/Classes/RapportEffectifsClasses.razor.rz.scp.css */
.btn-export[b-u5aa7pz56l], .btn-print[b-u5aa7pz56l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-export[b-u5aa7pz56l] {
    background: linear-gradient(135deg, #10B981, #059669);
    color: white;
}

.btn-export:hover[b-u5aa7pz56l] {
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
}

.btn-print[b-u5aa7pz56l] {
    background: white;
    border: 1px solid #D1D5DB;
    color: #374151;
}

.btn-print:hover[b-u5aa7pz56l] {
    background: #F9FAFB;
}

.btn-export svg[b-u5aa7pz56l], .btn-print svg[b-u5aa7pz56l] {
    width: 18px;
    height: 18px;
}

/* Summary Cards */
.summary-cards[b-u5aa7pz56l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.summary-card[b-u5aa7pz56l] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.summary-icon[b-u5aa7pz56l] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.summary-icon svg[b-u5aa7pz56l] {
    width: 24px;
    height: 24px;
    color: white;
}

.summary-icon.amber[b-u5aa7pz56l] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.summary-icon.blue[b-u5aa7pz56l] { background: linear-gradient(135deg, #3B82F6, #2563EB); }
.summary-icon.pink[b-u5aa7pz56l] { background: linear-gradient(135deg, #EC4899, #DB2777); }
.summary-icon.green[b-u5aa7pz56l] { background: linear-gradient(135deg, #10B981, #059669); }

.summary-content[b-u5aa7pz56l] {
    display: flex;
    flex-direction: column;
}

.summary-value[b-u5aa7pz56l] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
}

.summary-label[b-u5aa7pz56l] {
    font-size: 0.75rem;
    color: #6B7280;
}

/* Rapport Cycle */
.rapport-cycle[b-u5aa7pz56l] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.cycle-header[b-u5aa7pz56l] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    color: white;
}

.cycle-header.maternelle[b-u5aa7pz56l] { background: linear-gradient(135deg, #EC4899, #DB2777); }
.cycle-header.primaire[b-u5aa7pz56l] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.cycle-header.educationbase[b-u5aa7pz56l] { background: linear-gradient(135deg, #0EA5E9, #0284C7); }
.cycle-header.humanites[b-u5aa7pz56l] { background: linear-gradient(135deg, #8B5CF6, #7C3AED); }

.cycle-emoji[b-u5aa7pz56l] {
    font-size: 1.25rem;
}

.cycle-name[b-u5aa7pz56l] {
    font-weight: 600;
    font-size: 1rem;
    flex: 1;
}

.cycle-total[b-u5aa7pz56l] {
    font-size: 0.875rem;
    opacity: 0.9;
}

.rapport-table[b-u5aa7pz56l] {
    width: 100%;
    border-collapse: collapse;
}

.rapport-table th[b-u5aa7pz56l] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    background: #F9FAFB;
    text-transform: uppercase;
}

.rapport-table td[b-u5aa7pz56l] {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    border-bottom: 1px solid #F3F4F6;
}

.rapport-table tfoot td[b-u5aa7pz56l] {
    background: #F9FAFB;
    border-top: 2px solid #E5E7EB;
}

.section-badge[b-u5aa7pz56l] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    background: #F3F4F6;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #374151;
}

.taux-container[b-u5aa7pz56l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.taux-bar[b-u5aa7pz56l] {
    flex: 1;
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
}

.taux-fill[b-u5aa7pz56l] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s;
}

.taux-fill.normal[b-u5aa7pz56l] { background: #10B981; }
.taux-fill.warning[b-u5aa7pz56l] { background: #F59E0B; }
.taux-fill.critical[b-u5aa7pz56l] { background: #EF4444; }

.taux-value[b-u5aa7pz56l] {
    font-size: 0.75rem;
    font-weight: 500;
    min-width: 35px;
}

.taux-value.normal[b-u5aa7pz56l] { color: #10B981; }
.taux-value.warning[b-u5aa7pz56l] { color: #F59E0B; }
.taux-value.critical[b-u5aa7pz56l] { color: #EF4444; }

/* Chart Card */
.chart-card[b-u5aa7pz56l] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.chart-card h3[b-u5aa7pz56l] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1rem;
}

.chart-bars[b-u5aa7pz56l] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.chart-bar-item[b-u5aa7pz56l] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.bar-label[b-u5aa7pz56l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 120px;
}

.bar-label .emoji[b-u5aa7pz56l] {
    font-size: 1.25rem;
}

.bar-label .name[b-u5aa7pz56l] {
    font-weight: 500;
    color: #374151;
}

.bar-track[b-u5aa7pz56l] {
    flex: 1;
    height: 24px;
    background: #F3F4F6;
    border-radius: 6px;
    overflow: hidden;
}

.bar-fill[b-u5aa7pz56l] {
    height: 100%;
    border-radius: 6px;
    transition: width 0.5s;
}

.bar-fill.maternelle[b-u5aa7pz56l] { background: linear-gradient(to right, #EC4899, #F472B6); }
.bar-fill.primaire[b-u5aa7pz56l] { background: linear-gradient(to right, #F59E0B, #FBBF24); }
.bar-fill.educationbase[b-u5aa7pz56l] { background: linear-gradient(to right, #0EA5E9, #38BDF8); }
.bar-fill.humanites[b-u5aa7pz56l] { background: linear-gradient(to right, #8B5CF6, #A78BFA); }

.bar-value[b-u5aa7pz56l] {
    width: 100px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    text-align: right;
}
/* /Components/Pages/Services/Classes/RapportRepartition.razor.rz.scp.css */
.btn-export[b-rkpl7wlb2y] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #F59E0B, #D97706);
    color: white;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-export:hover[b-rkpl7wlb2y] {
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}

.btn-export svg[b-rkpl7wlb2y] {
    width: 18px;
    height: 18px;
}

.chart-card[b-rkpl7wlb2y] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.chart-card h3[b-rkpl7wlb2y] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1.25rem;
}

/* Gender Chart */
.gender-chart[b-rkpl7wlb2y] {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.donut-container[b-rkpl7wlb2y] {
    position: relative;
    width: 150px;
    height: 150px;
}

.donut-ring[b-rkpl7wlb2y] {
    width: 100%;
    height: 100%;
}

.donut-ring svg[b-rkpl7wlb2y] {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.donut-segment[b-rkpl7wlb2y] {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
}

.donut-segment.girls[b-rkpl7wlb2y] {
    stroke: #EC4899;
}

.donut-segment.boys[b-rkpl7wlb2y] {
    stroke: #3B82F6;
}

.donut-center[b-rkpl7wlb2y] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.donut-center .total[b-rkpl7wlb2y] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
}

.donut-center .label[b-rkpl7wlb2y] {
    font-size: 0.75rem;
    color: #6B7280;
}

.gender-legend[b-rkpl7wlb2y] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.legend-item[b-rkpl7wlb2y] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.legend-dot[b-rkpl7wlb2y] {
    width: 16px;
    height: 16px;
    border-radius: 4px;
}

.legend-item.boys .legend-dot[b-rkpl7wlb2y] {
    background: linear-gradient(135deg, #3B82F6, #2563EB);
}

.legend-item.girls .legend-dot[b-rkpl7wlb2y] {
    background: linear-gradient(135deg, #EC4899, #DB2777);
}

.legend-info[b-rkpl7wlb2y] {
    display: flex;
    flex-direction: column;
}

.legend-label[b-rkpl7wlb2y] {
    font-weight: 500;
    color: #374151;
}

.legend-value[b-rkpl7wlb2y] {
    font-size: 0.8rem;
    color: #6B7280;
}

/* Age Chart */
.age-chart[b-rkpl7wlb2y] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.age-row[b-rkpl7wlb2y] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.age-label[b-rkpl7wlb2y] {
    width: 80px;
    font-size: 0.8rem;
    color: #374151;
}

.age-bar-container[b-rkpl7wlb2y] {
    flex: 1;
    height: 20px;
    background: #F3F4F6;
    border-radius: 4px;
    overflow: hidden;
}

.age-bar[b-rkpl7wlb2y] {
    height: 100%;
    background: linear-gradient(to right, #F59E0B, #FBBF24);
    border-radius: 4px;
    transition: width 0.5s;
}

.age-value[b-rkpl7wlb2y] {
    width: 80px;
    font-size: 0.8rem;
    color: #6B7280;
    text-align: right;
}

/* Communes Grid */
.communes-grid[b-rkpl7wlb2y] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

.commune-item[b-rkpl7wlb2y] {
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.commune-header[b-rkpl7wlb2y] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.commune-name[b-rkpl7wlb2y] {
    font-weight: 500;
    color: #374151;
}

.commune-count[b-rkpl7wlb2y] {
    font-size: 0.75rem;
    color: #6B7280;
}

.commune-bar[b-rkpl7wlb2y] {
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
}

.commune-bar .bar-fill[b-rkpl7wlb2y] {
    height: 100%;
    background: linear-gradient(to right, #F59E0B, #FBBF24);
    border-radius: 3px;
}

/* Stat Cards */
.stat-card[b-rkpl7wlb2y] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.stat-header[b-rkpl7wlb2y] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.stat-emoji[b-rkpl7wlb2y] {
    font-size: 1.25rem;
}

.stat-title[b-rkpl7wlb2y] {
    font-size: 0.8rem;
    color: #6B7280;
}

.stat-value[b-rkpl7wlb2y] {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: #071A39;
}

.stat-detail[b-rkpl7wlb2y] {
    display: block;
    font-size: 0.75rem;
    color: #374151;
    margin-top: 0.25rem;
}
/* /Components/Pages/Services/Classes/SectionsList.razor.rz.scp.css */
/* Charte Zanura : 60% Bleu Marine #071A39, 30% Blanc #F5F7FA, 10% Bleu Électrique #1E90FF */
.sections-list-page[b-ovpmtcqisq] {
    --zanura-marine: #071A39;
    --zanura-blanc: #F5F7FA;
    --zanura-electric: #1E90FF;
    --zanura-electric-hover: #1873CC;
    --zanura-electric-soft: rgba(30, 144, 255, 0.12);
    --text-dark: #071A39;
    --text-muted: #6B7280;
    color: var(--text-dark);
}

.sections-list-page .filters-card[b-ovpmtcqisq],
.sections-list-page .filters-card *[b-ovpmtcqisq] {
    color: inherit;
}

.sections-list-page .filter-item input[b-ovpmtcqisq],
.sections-list-page .filter-item select[b-ovpmtcqisq] {
    color: var(--text-dark);
    background: #fff;
}

.sections-list-page .filter-item input[b-ovpmtcqisq]::placeholder {
    color: #9CA3AF;
}

.sections-list-page .stats-row[b-ovpmtcqisq] {
    color: var(--text-dark);
}

.sections-list-page .section-card[b-ovpmtcqisq] {
    color: var(--text-dark);
}

.btn-primary-charte[b-ovpmtcqisq] {
    background: var(--zanura-electric);
    color: #fff;
    padding: 0.625rem 1.25rem;
    border-radius: 8px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: background 0.2s, box-shadow 0.2s, transform 0.15s;
    text-decoration: none;
    border: 2px solid transparent;
}

.btn-primary-charte:hover[b-ovpmtcqisq] {
    background: var(--zanura-electric-hover);
    box-shadow: 0 4px 14px rgba(30, 144, 255, 0.45);
    transform: translateY(-1px);
}

.btn-primary-charte:active[b-ovpmtcqisq] {
    background: var(--zanura-marine);
    box-shadow: 0 2px 8px rgba(7, 26, 57, 0.35);
}

.filters-card[b-ovpmtcqisq] {
    background: #fff;
    padding: 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(7, 26, 57, 0.08);
    border: 1px solid rgba(7, 26, 57, 0.06);
    transition: box-shadow 0.2s;
}

.filters-card:hover[b-ovpmtcqisq] {
    box-shadow: 0 4px 16px rgba(30, 144, 255, 0.12);
}

.filters-grid[b-ovpmtcqisq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.cycle-create-row[b-ovpmtcqisq] {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

.filter-item label[b-ovpmtcqisq] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--zanura-marine);
    margin-bottom: 0.375rem;
}

.filter-item input[b-ovpmtcqisq],
.filter-item select[b-ovpmtcqisq] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.filter-item input:hover[b-ovpmtcqisq],
.filter-item select:hover[b-ovpmtcqisq] {
    border-color: rgba(30, 144, 255, 0.45);
}

.filter-item input:focus[b-ovpmtcqisq],
.filter-item select:focus[b-ovpmtcqisq] {
    outline: none;
    border-color: var(--zanura-electric);
    box-shadow: 0 0 0 3px var(--zanura-electric-soft);
}

.sections-list-page .stats-row[b-ovpmtcqisq] {
    display: flex;
    gap: 1rem;
    background: var(--zanura-blanc);
    padding: 1rem 1.5rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(7, 26, 57, 0.06);
    border: 1px solid rgba(7, 26, 57, 0.05);
}

.sections-list-page .stat-item[b-ovpmtcqisq] {
    flex: 1;
    text-align: center;
    padding: 0.5rem 1rem;
    border-right: 1px solid rgba(7, 26, 57, 0.08);
}

.sections-list-page .stat-item:last-child[b-ovpmtcqisq] {
    border-right: none;
}

.sections-list-page .stat-item .stat-value[b-ovpmtcqisq] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--zanura-marine);
}

.sections-list-page .stat-item .stat-value--accent[b-ovpmtcqisq] {
    color: var(--zanura-electric);
}

.sections-list-page .stat-item .stat-value--full[b-ovpmtcqisq] {
    color: #B91C1C;
}

.sections-list-page .stat-item .stat-label[b-ovpmtcqisq] {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.sections-grid[b-ovpmtcqisq] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.section-card[b-ovpmtcqisq] {
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(7, 26, 57, 0.08);
    border: 1px solid rgba(7, 26, 57, 0.06);
    border-top: 4px solid #E5E7EB;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.section-card:hover[b-ovpmtcqisq] {
    box-shadow: 0 8px 24px rgba(30, 144, 255, 0.18);
    transform: translateY(-2px);
    border-color: rgba(30, 144, 255, 0.25);
}

.section-card.maternelle[b-ovpmtcqisq] { border-top-color: #EC4899; }
.section-card.primaire[b-ovpmtcqisq] { border-top-color: #F59E0B; }
.section-card.educationbase[b-ovpmtcqisq] { border-top-color: #0EA5E9; }
.section-card.humanites[b-ovpmtcqisq] { border-top-color: #8B5CF6; }

.section-card.full[b-ovpmtcqisq] {
    background: #FEF2F2;
}

.section-header[b-ovpmtcqisq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.section-badge[b-ovpmtcqisq] {
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.25rem 0.625rem;
    border-radius: 6px;
    background: var(--zanura-blanc);
    color: var(--zanura-marine);
}

.section-card.maternelle .section-badge[b-ovpmtcqisq] { background: #FDF2F8; color: #BE185D; }
.section-card.primaire .section-badge[b-ovpmtcqisq] { background: #FFFBEB; color: #B45309; }
.section-card.educationbase .section-badge[b-ovpmtcqisq] { background: #E0F2FE; color: #0284C7; }
.section-card.humanites .section-badge[b-ovpmtcqisq] { background: #F5F3FF; color: #6D28D9; }

.section-cycle[b-ovpmtcqisq] {
    font-size: 0.7rem;
    color: var(--text-muted);
}

.section-name[b-ovpmtcqisq] {
    font-weight: 600;
    color: var(--zanura-marine);
    margin: 0 0 0.25rem;
}

.section-niveau[b-ovpmtcqisq] {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin: 0 0 1rem;
}

.section-effectif[b-ovpmtcqisq] {
    margin-bottom: 0.75rem;
}

.effectif-bar[b-ovpmtcqisq] {
    height: 8px;
    background: var(--zanura-blanc);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.375rem;
    border: 1px solid rgba(7, 26, 57, 0.06);
}

.effectif-fill[b-ovpmtcqisq] {
    height: 100%;
    background: linear-gradient(90deg, var(--zanura-marine) 0%, var(--zanura-electric) 100%);
    border-radius: 4px;
    transition: width 0.3s;
}

.effectif-fill.warning[b-ovpmtcqisq] {
    background: linear-gradient(90deg, #B45309 0%, #F59E0B 100%);
}

.effectif-fill.full[b-ovpmtcqisq] {
    background: #DC2626;
}

.effectif-text[b-ovpmtcqisq] {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
    font-size: 0.8rem;
}

.effectif-text .current[b-ovpmtcqisq] {
    font-weight: 700;
    color: var(--zanura-marine);
}

.effectif-text .separator[b-ovpmtcqisq],
.effectif-text .max[b-ovpmtcqisq] {
    color: var(--text-muted);
}

.section-titulaire[b-ovpmtcqisq] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: 0.75rem;
}

.section-titulaire svg[b-ovpmtcqisq] {
    width: 14px;
    height: 14px;
}

.section-actions[b-ovpmtcqisq] {
    display: flex;
    gap: 0.375rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(7, 26, 57, 0.08);
}

.action-btn[b-ovpmtcqisq] {
    flex: 1;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.action-btn svg[b-ovpmtcqisq] {
    width: 16px;
    height: 16px;
}

.action-btn:hover[b-ovpmtcqisq] {
    background: var(--zanura-electric);
    color: #fff;
}

.action-btn:focus-visible[b-ovpmtcqisq] {
    outline: 2px solid var(--zanura-electric);
    outline-offset: 2px;
}

.action-btn:active[b-ovpmtcqisq] {
    background: var(--zanura-marine);
    color: #fff;
}

.empty-state[b-ovpmtcqisq] {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--zanura-blanc);
    border-radius: 16px;
    border: 1px dashed rgba(30, 144, 255, 0.35);
}

.empty-icon[b-ovpmtcqisq] {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: var(--zanura-electric-soft);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(30, 144, 255, 0.2);
}

.empty-icon svg[b-ovpmtcqisq] {
    width: 40px;
    height: 40px;
    color: var(--zanura-electric);
}

.empty-state h3[b-ovpmtcqisq] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--zanura-marine);
    margin: 0 0 0.5rem;
}

.empty-state p[b-ovpmtcqisq] {
    color: var(--text-muted);
    margin: 0 0 1.5rem;
}
/* /Components/Pages/Services/Finance/CaisseDashboard.razor.rz.scp.css */
.stat-card[b-ku8gk8va8e] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 12px;
    color: white;
}

.gradient-purple[b-ku8gk8va8e] {
    background: linear-gradient(135deg, #8B5CF6, #7C3AED);
}

.gradient-green[b-ku8gk8va8e] {
    background: linear-gradient(135deg, #10B981, #059669);
}

.gradient-red[b-ku8gk8va8e] {
    background: linear-gradient(135deg, #EF4444, #DC2626);
}

.gradient-blue[b-ku8gk8va8e] {
    background: linear-gradient(135deg, #3B82F6, #2563EB);
}

.stat-icon[b-ku8gk8va8e] {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-ku8gk8va8e] {
    width: 24px;
    height: 24px;
}

.stat-content[b-ku8gk8va8e] {
    display: flex;
    flex-direction: column;
}

.stat-label[b-ku8gk8va8e] {
    font-size: 0.75rem;
    opacity: 0.9;
}

.stat-value[b-ku8gk8va8e] {
    font-size: 1.5rem;
    font-weight: 700;
}

.btn-refresh[b-ku8gk8va8e] {
    padding: 0.5rem;
    border-radius: 8px;
    color: #6B7280;
    transition: all 0.2s;
}

.btn-refresh:hover[b-ku8gk8va8e] {
    background: #F3F4F6;
    color: #8B5CF6;
}

.card[b-ku8gk8va8e] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.card-header[b-ku8gk8va8e] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.card-body[b-ku8gk8va8e] {
    padding: 1.25rem;
}

/* Chart Styles */
.chart-container[b-ku8gk8va8e] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    height: 200px;
    padding: 1rem 0;
}

.chart-bar-group[b-ku8gk8va8e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
}

.chart-bars[b-ku8gk8va8e] {
    display: flex;
    gap: 4px;
    height: 160px;
    align-items: flex-end;
}

.bar[b-ku8gk8va8e] {
    width: 20px;
    border-radius: 4px 4px 0 0;
    transition: height 0.3s ease;
    min-height: 4px;
}

.bar-entree[b-ku8gk8va8e] {
    background: linear-gradient(to top, #10B981, #34D399);
}

.bar-sortie[b-ku8gk8va8e] {
    background: linear-gradient(to top, #EF4444, #F87171);
}

.chart-label[b-ku8gk8va8e] {
    font-size: 0.75rem;
    color: #6B7280;
}

.chart-legend[b-ku8gk8va8e] {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
}

.legend-item[b-ku8gk8va8e] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #6B7280;
}

.legend-dot[b-ku8gk8va8e] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

/* Caisse List */
.caisse-list[b-ku8gk8va8e] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.caisse-item[b-ku8gk8va8e] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.caisse-info[b-ku8gk8va8e] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.caisse-status[b-ku8gk8va8e] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.caisse-status.active[b-ku8gk8va8e] {
    background: #10B981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.caisse-status.inactive[b-ku8gk8va8e] {
    background: #9CA3AF;
}

.caisse-solde[b-ku8gk8va8e] {
    text-align: right;
}
/* /Components/Pages/Services/Finance/CaissesList.razor.rz.scp.css */
.caisse-card[b-ukpoauqny2] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    transition: all 0.2s ease;
    border-left: 4px solid #e5e7eb;
}
.caisse-card.active[b-ukpoauqny2] { border-left-color: #10b981; }
.caisse-card.no-session[b-ukpoauqny2] { border-left-color: #f59e0b; }
.caisse-card.inactive[b-ukpoauqny2] { border-left-color: #9ca3af; opacity: 0.7; }
.caisse-card:hover[b-ukpoauqny2] { box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
    
.caisse-card-header[b-ukpoauqny2] { display: flex; align-items: center; gap: 12px; padding: 16px; background: #f9fafb; }
.caisse-icon[b-ukpoauqny2] { width: 48px; height: 48px; background: #eef2ff; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.caisse-icon svg[b-ukpoauqny2] { width: 24px; height: 24px; color: #6366f1; }
.caisse-info[b-ukpoauqny2] { flex: 1; }
.caisse-info h3[b-ukpoauqny2] { font-weight: 600; color: #1f2937; }
.caisse-info p[b-ukpoauqny2] { font-size: 0.875rem; color: #6b7280; }
    
.status-badge[b-ukpoauqny2] { padding: 4px 10px; border-radius: 9999px; font-size: 0.75rem; font-weight: 500; }
.status-badge.green[b-ukpoauqny2] { background: #d1fae5; color: #065f46; }
.status-badge.yellow[b-ukpoauqny2] { background: #fef3c7; color: #92400e; }
.status-badge.gray[b-ukpoauqny2] { background: #f3f4f6; color: #4b5563; }
    
.caisse-card-body[b-ukpoauqny2] { padding: 16px; }
.solde-grid[b-ukpoauqny2] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 12px; }
.solde-item[b-ukpoauqny2] { background: #f9fafb; padding: 12px; border-radius: 8px; text-align: center; }
.solde-item.highlight[b-ukpoauqny2] { background: #eef2ff; }
.solde-label[b-ukpoauqny2] { display: block; font-size: 0.75rem; color: #6b7280; margin-bottom: 4px; }
.solde-value[b-ukpoauqny2] { font-size: 1.25rem; font-weight: 700; color: #1f2937; }
    
.stats-row[b-ukpoauqny2] { display: flex; justify-content: space-around; padding-top: 12px; border-top: 1px solid #e5e7eb; }
.stat-item[b-ukpoauqny2] { display: flex; align-items: center; gap: 6px; }
.stat-icon-small[b-ukpoauqny2] { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.stat-icon-small svg[b-ukpoauqny2] { width: 12px; height: 12px; }
.stat-icon-small.green[b-ukpoauqny2] { background: #d1fae5; color: #059669; }
.stat-icon-small.red[b-ukpoauqny2] { background: #fee2e2; color: #dc2626; }
.stat-icon-small.blue[b-ukpoauqny2] { background: #dbeafe; color: #2563eb; }
.stat-text[b-ukpoauqny2] { font-size: 0.875rem; color: #374151; }
    
.caisse-card-footer[b-ukpoauqny2] { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: #f9fafb; border-top: 1px solid #e5e7eb; }
.created-date[b-ukpoauqny2] { font-size: 0.75rem; color: #9ca3af; }
.action-buttons[b-ukpoauqny2] { display: flex; gap: 8px; }
.action-btn[b-ukpoauqny2] { width: 32px; height: 32px; border-radius: 8px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; background: #f3f4f6; color: #6b7280; transition: all 0.2s; }
.action-btn:hover[b-ukpoauqny2] { background: #e5e7eb; }
.action-btn svg[b-ukpoauqny2] { width: 16px; height: 16px; }
.action-btn.success[b-ukpoauqny2] { background: #d1fae5; color: #059669; }
.action-btn.success:hover[b-ukpoauqny2] { background: #a7f3d0; }
.action-btn.warning[b-ukpoauqny2] { background: #fef3c7; color: #d97706; }
.action-btn.warning:hover[b-ukpoauqny2] { background: #fde68a; }
    
.modal-overlay[b-ukpoauqny2] { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 50; }
.modal-content[b-ukpoauqny2] { background: white; border-radius: 16px; max-width: 480px; width: 90%; max-height: 90vh; overflow-y: auto; }
.modal-content.success[b-ukpoauqny2] { border-top: 4px solid #10b981; }
.modal-content.warning[b-ukpoauqny2] { border-top: 4px solid #f59e0b; }
.modal-header[b-ukpoauqny2] { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #e5e7eb; }
.modal-header h2[b-ukpoauqny2] { font-size: 1.25rem; font-weight: 600; }
.modal-close[b-ukpoauqny2] { width: 32px; height: 32px; border-radius: 8px; border: none; background: #f3f4f6; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.modal-close svg[b-ukpoauqny2] { width: 16px; height: 16px; }
.modal-body[b-ukpoauqny2] { padding: 20px; }
.modal-footer[b-ukpoauqny2] { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 20px; background: #f9fafb; }
    
.form-group[b-ukpoauqny2] { margin-bottom: 16px; }
.form-group label[b-ukpoauqny2] { display: block; font-size: 0.875rem; font-weight: 500; margin-bottom: 6px; color: #374151; }
.form-group input[b-ukpoauqny2], .form-group select[b-ukpoauqny2], .form-group textarea[b-ukpoauqny2] { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 0.875rem; }
.form-group input:focus[b-ukpoauqny2], .form-group select:focus[b-ukpoauqny2], .form-group textarea:focus[b-ukpoauqny2] { outline: none; border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,0.1); }
.form-row[b-ukpoauqny2] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
    
.warning-box[b-ukpoauqny2] { display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: #fffbeb; border-radius: 8px; margin-bottom: 16px; }
.warning-box svg[b-ukpoauqny2] { width: 24px; height: 24px; color: #f59e0b; flex-shrink: 0; }
.info-box[b-ukpoauqny2] { padding: 16px; background: #f0fdf4; border-radius: 8px; margin-bottom: 16px; }
    
.cloture-summary[b-ukpoauqny2] { background: #f9fafb; border-radius: 8px; padding: 16px; margin-bottom: 16px; }
.summary-row[b-ukpoauqny2] { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #e5e7eb; }
.summary-row:last-child[b-ukpoauqny2] { border-bottom: none; }
.summary-row.total[b-ukpoauqny2] { font-weight: 600; padding-top: 12px; margin-top: 8px; border-top: 2px solid #e5e7eb; }
    
.error-message[b-ukpoauqny2] { display: flex; align-items: center; gap: 8px; padding: 12px; background: #fef2f2; color: #dc2626; border-radius: 8px; font-size: 0.875rem; }
    
/* Charte graphique : Bleu Électrique #1E90FF (CTA) */
.btn-primary-charte[b-ukpoauqny2] { background: #1E90FF; color: white; padding: 10px 20px; border-radius: 8px; border: none; cursor: pointer; font-weight: 500; }
.btn-primary-charte:hover[b-ukpoauqny2] { background: #1873CC; }
.btn-primary-charte:disabled[b-ukpoauqny2] { opacity: 0.6; cursor: not-allowed; }
.btn-secondary[b-ukpoauqny2] { background: #f3f4f6; color: #374151; padding: 10px 20px; border-radius: 8px; border: none; cursor: pointer; }
.btn-secondary:hover[b-ukpoauqny2] { background: #e5e7eb; }
.btn-success[b-ukpoauqny2] { background: #10b981; color: white; padding: 10px 20px; border-radius: 8px; border: none; cursor: pointer; }
.btn-success:hover[b-ukpoauqny2] { background: #059669; }
.btn-warning[b-ukpoauqny2] { background: #f59e0b; color: white; padding: 10px 20px; border-radius: 8px; border: none; cursor: pointer; }
.btn-warning:hover[b-ukpoauqny2] { background: #d97706; }
    
.stat-mini[b-ukpoauqny2] { background: white; padding: 16px; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); text-align: center; }
.stat-mini-value[b-ukpoauqny2] { display: block; font-size: 1.5rem; font-weight: 700; }
.stat-mini-label[b-ukpoauqny2] { font-size: 0.75rem; color: #6b7280; }
    
.empty-state[b-ukpoauqny2] { text-align: center; padding: 60px 20px; background: white; border-radius: 16px; }
.empty-icon[b-ukpoauqny2] { width: 80px; height: 80px; margin: 0 auto 20px; background: #f3f4f6; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.empty-icon svg[b-ukpoauqny2] { width: 40px; height: 40px; color: #9ca3af; }
.empty-state h3[b-ukpoauqny2] { font-size: 1.25rem; font-weight: 600; margin-bottom: 8px; }
.empty-state p[b-ukpoauqny2] { color: #6b7280; margin-bottom: 20px; }
/* /Components/Pages/Services/Finance/CaissesListStats.razor.rz.scp.css */
.stats-grid[b-vousv8784p] {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
}
@media (min-width: 768px) {
    .stats-grid[b-vousv8784p] { grid-template-columns: repeat(4, 1fr); }
}
.stat-mini[b-vousv8784p] {
    background: white;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    text-align: center;
}
.stat-mini-value[b-vousv8784p] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
}
.stat-mini-label[b-vousv8784p] {
    display: block;
    font-size: 0.75rem;
    color: #6B7280;
    margin-top: 0.25rem;
}
.text-green-600[b-vousv8784p] { color: #059669; }
.text-yellow-600[b-vousv8784p] { color: #D97706; }
.text-gray-500[b-vousv8784p] { color: #6B7280; }
/* /Components/Pages/Services/Finance/ClotureCaisse.razor.rz.scp.css */
.info-banner[b-64gmld3lnm] { display: flex; gap: 16px; padding: 16px; background: linear-gradient(135deg, #dbeafe, #e0e7ff); border-radius: 12px; }
.info-banner svg[b-64gmld3lnm] { width: 24px; height: 24px; color: #3b82f6; flex-shrink: 0; }
    
.section-title[b-64gmld3lnm] { display: flex; align-items: center; gap: 12px; margin-top: 24px; }
.section-title h2[b-64gmld3lnm] { font-size: 1.125rem; font-weight: 600; color: #1f2937; }
.badge[b-64gmld3lnm] { padding: 4px 12px; border-radius: 9999px; font-size: 0.75rem; font-weight: 500; background: #dbeafe; color: #1d4ed8; }
.badge.gray[b-64gmld3lnm] { background: #f3f4f6; color: #6b7280; }
    
.cloture-grid[b-64gmld3lnm] { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 20px; margin-top: 16px; }
    
.cloture-card[b-64gmld3lnm] { background: white; border-radius: 16px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); overflow: hidden; border: 2px solid transparent; transition: all 0.2s; }
.cloture-card:hover[b-64gmld3lnm] { border-color: #6366f1; }
.cloture-card.selected[b-64gmld3lnm] { border-color: #6366f1; box-shadow: 0 4px 12px rgba(99,102,241,0.2); }
    
.cloture-header[b-64gmld3lnm] { display: flex; align-items: center; gap: 12px; padding: 16px; background: #f9fafb; }
.caisse-icon[b-64gmld3lnm] { width: 48px; height: 48px; background: #eef2ff; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.caisse-icon svg[b-64gmld3lnm] { width: 24px; height: 24px; color: #6366f1; }
.caisse-info[b-64gmld3lnm] { flex: 1; }
.caisse-info h3[b-64gmld3lnm] { font-weight: 600; color: #1f2937; }
.caisse-info p[b-64gmld3lnm] { font-size: 0.875rem; color: #6b7280; }
.status-dot[b-64gmld3lnm] { width: 12px; height: 12px; border-radius: 50%; }
.status-dot.active[b-64gmld3lnm] { background: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,0.2); }
    
.cloture-body[b-64gmld3lnm] { padding: 16px; }
.summary-grid[b-64gmld3lnm] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.summary-item[b-64gmld3lnm] { background: #f9fafb; padding: 12px; border-radius: 8px; }
.summary-item.highlight[b-64gmld3lnm] { background: #eef2ff; }
.summary-item .label[b-64gmld3lnm] { display: block; font-size: 0.75rem; color: #6b7280; margin-bottom: 4px; }
.summary-item .value[b-64gmld3lnm] { font-size: 1rem; font-weight: 600; color: #1f2937; }
    
.operations-count[b-64gmld3lnm] { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #e5e7eb; color: #6b7280; font-size: 0.875rem; }
.operations-count svg[b-64gmld3lnm] { width: 18px; height: 18px; }
    
.cloture-footer[b-64gmld3lnm] { padding: 16px; background: #f9fafb; border-top: 1px solid #e5e7eb; }
.btn-cloture[b-64gmld3lnm] { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; background: linear-gradient(135deg, #f59e0b, #d97706); color: white; border: none; border-radius: 10px; font-weight: 500; cursor: pointer; transition: all 0.2s; }
.btn-cloture:hover[b-64gmld3lnm] { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(245,158,11,0.3); }
.btn-cloture svg[b-64gmld3lnm] { width: 20px; height: 20px; }
    
.empty-state-small[b-64gmld3lnm] { display: flex; align-items: center; gap: 12px; padding: 24px; background: #f0fdf4; border-radius: 12px; color: #15803d; }
.empty-state-small svg[b-64gmld3lnm] { width: 32px; height: 32px; }
    
.caisses-fermees[b-64gmld3lnm] { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.caisse-fermee-item[b-64gmld3lnm] { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: #f9fafb; border-radius: 8px; }
.caisse-icon-small[b-64gmld3lnm] { width: 32px; height: 32px; background: #e5e7eb; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.caisse-icon-small svg[b-64gmld3lnm] { width: 16px; height: 16px; color: #6b7280; }
    
.modal-overlay[b-64gmld3lnm] { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 50; }
.modal-content[b-64gmld3lnm] { background: white; border-radius: 16px; max-width: 500px; width: 90%; max-height: 90vh; overflow-y: auto; }
.modal-content.success[b-64gmld3lnm] { text-align: center; padding: 40px; }
.modal-cloture-rapport[b-64gmld3lnm] { max-width: 520px; }
.cloture-print-body[b-64gmld3lnm] { background: #f9fafb; border-radius: 12px; padding: 16px; margin-top: 8px; text-align: left; }
.cloture-rapport-table td[b-64gmld3lnm] { border-bottom: 1px solid #e5e7eb; }
.btn-print-cloture[b-64gmld3lnm] { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; background: white; border: 2px solid #6366f1; color: #4f46e5; border-radius: 8px; font-weight: 500; cursor: pointer; }
.btn-print-cloture:hover[b-64gmld3lnm] { background: #eef2ff; }
.modal-header[b-64gmld3lnm] { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #e5e7eb; }
.modal-header h2[b-64gmld3lnm] { font-size: 1.25rem; font-weight: 600; }
.modal-close[b-64gmld3lnm] { width: 32px; height: 32px; border-radius: 8px; border: none; background: #f3f4f6; cursor: pointer; font-size: 1.25rem; }
.modal-body[b-64gmld3lnm] { padding: 20px; }
.modal-footer[b-64gmld3lnm] { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 20px; background: #f9fafb; }
    
.confirmation-summary[b-64gmld3lnm] { background: #f9fafb; border-radius: 12px; padding: 20px; margin-bottom: 20px; }
.caisse-name[b-64gmld3lnm] { display: flex; align-items: center; gap: 12px; font-size: 1.125rem; font-weight: 600; margin-bottom: 16px; }
.caisse-name svg[b-64gmld3lnm] { width: 24px; height: 24px; color: #6366f1; }
.summary-details[b-64gmld3lnm] { border-top: 1px solid #e5e7eb; padding-top: 16px; }
.detail-row[b-64gmld3lnm] { display: flex; justify-content: space-between; padding: 8px 0; }
.detail-row.green span:last-child[b-64gmld3lnm] { color: #059669; }
.detail-row.red span:last-child[b-64gmld3lnm] { color: #dc2626; }
.detail-row.total[b-64gmld3lnm] { font-weight: 600; border-top: 2px solid #e5e7eb; padding-top: 12px; margin-top: 8px; }
    
.form-group[b-64gmld3lnm] { margin-bottom: 16px; }
.form-group label[b-64gmld3lnm] { display: block; font-size: 0.875rem; font-weight: 500; margin-bottom: 6px; }
.form-group textarea[b-64gmld3lnm] { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 0.875rem; resize: none; }
.form-group textarea:focus[b-64gmld3lnm] { outline: none; border-color: #6366f1; }
    
.confirmation-check[b-64gmld3lnm] { padding: 12px; background: #fffbeb; border-radius: 8px; }
.confirmation-check label[b-64gmld3lnm] { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.confirmation-check input[b-64gmld3lnm] { width: 18px; height: 18px; }
    
.error-message[b-64gmld3lnm] { padding: 12px; background: #fef2f2; color: #dc2626; border-radius: 8px; margin-top: 12px; }
    
.success-content[b-64gmld3lnm] { padding: 20px; }
.success-icon[b-64gmld3lnm] { width: 80px; height: 80px; margin: 0 auto 20px; background: #d1fae5; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.success-icon svg[b-64gmld3lnm] { width: 40px; height: 40px; color: #059669; }
.success-content h3[b-64gmld3lnm] { font-size: 1.25rem; font-weight: 600; margin-bottom: 8px; }
.success-content p[b-64gmld3lnm] { color: #6b7280; }
    
.btn-secondary[b-64gmld3lnm] { background: #f3f4f6; color: #374151; padding: 10px 20px; border-radius: 8px; border: none; cursor: pointer; }
.btn-warning[b-64gmld3lnm] { background: #f59e0b; color: white; padding: 10px 20px; border-radius: 8px; border: none; cursor: pointer; }
.btn-warning:disabled[b-64gmld3lnm] { opacity: 0.6; cursor: not-allowed; }
.btn-success[b-64gmld3lnm] { background: #10b981; color: white; padding: 10px 20px; border-radius: 8px; border: none; cursor: pointer; }
/* /Components/Pages/Services/Finance/NouveauMouvementCaisse.razor.rz.scp.css */
.form-card[b-2gd7opr2n6] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

/* Type Selector */
.type-selector[b-2gd7opr2n6] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    padding: 1.5rem;
    background: #F9FAFB;
    border-bottom: 1px solid #E5E7EB;
}

.type-btn[b-2gd7opr2n6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.25rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    background: white;
    transition: all 0.2s;
    cursor: pointer;
}

.type-btn:hover[b-2gd7opr2n6] {
    border-color: #D1D5DB;
}

.type-btn.active.entree[b-2gd7opr2n6] {
    border-color: #10B981;
    background: #ECFDF5;
}

.type-btn.active.sortie[b-2gd7opr2n6] {
    border-color: #EF4444;
    background: #FEF2F2;
}

.type-icon[b-2gd7opr2n6] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F3F4F6;
    margin-bottom: 0.75rem;
    transition: all 0.2s;
}

.type-btn.active.entree .type-icon[b-2gd7opr2n6] {
    background: #10B981;
    color: white;
}

.type-btn.active.sortie .type-icon[b-2gd7opr2n6] {
    background: #EF4444;
    color: white;
}

.type-icon svg[b-2gd7opr2n6] {
    width: 24px;
    height: 24px;
}

.type-label[b-2gd7opr2n6] {
    font-weight: 600;
    color: #1F2937;
    margin-bottom: 0.25rem;
}

.type-desc[b-2gd7opr2n6] {
    font-size: 0.75rem;
    color: #6B7280;
}

/* Form Body */
.form-body[b-2gd7opr2n6] {
    padding: 1.5rem;
}

.form-group[b-2gd7opr2n6] {
    margin-bottom: 1.25rem;
}

.form-group label[b-2gd7opr2n6] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-group label.required[b-2gd7opr2n6]::after {
    content: " *";
    color: #EF4444;
}

.form-group input[b-2gd7opr2n6],
.form-group select[b-2gd7opr2n6],
.form-group textarea[b-2gd7opr2n6] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-group input:focus[b-2gd7opr2n6],
.form-group select:focus[b-2gd7opr2n6],
.form-group textarea:focus[b-2gd7opr2n6] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.2);
}

.form-group input.error[b-2gd7opr2n6],
.form-group select.error[b-2gd7opr2n6],
.form-group textarea.error[b-2gd7opr2n6] {
    border-color: #EF4444;
}

.error-message[b-2gd7opr2n6] {
    display: block;
    font-size: 0.75rem;
    color: #EF4444;
    margin-top: 0.375rem;
}

.hint[b-2gd7opr2n6] {
    display: block;
    font-size: 0.75rem;
    color: #9CA3AF;
    margin-top: 0.375rem;
}

.form-row[b-2gd7opr2n6] {
    display: flex;
    gap: 1rem;
}

.input-with-addon[b-2gd7opr2n6] {
    display: flex;
}

.input-with-addon input[b-2gd7opr2n6] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    flex: 1;
}

.input-with-addon .addon[b-2gd7opr2n6] {
    width: 80px;
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    background: #F9FAFB;
}

/* File Input */
.file-input[b-2gd7opr2n6] {
    position: relative;
}

.file-label[b-2gd7opr2n6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem;
    border: 2px dashed #D1D5DB;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.file-label:hover[b-2gd7opr2n6] {
    border-color: #1E90FF;
    background: #EFF6FF;
}

.file-label svg[b-2gd7opr2n6] {
    width: 32px;
    height: 32px;
    color: #9CA3AF;
    margin-bottom: 0.5rem;
}

.file-label span[b-2gd7opr2n6] {
    font-size: 0.875rem;
    color: #6B7280;
}

/* Recap Card */
.recap-card[b-2gd7opr2n6] {
    padding: 1rem;
    border-radius: 8px;
    background: #F9FAFB;
    border-left: 4px solid #E5E7EB;
}

.recap-card.entree[b-2gd7opr2n6] {
    background: #ECFDF5;
    border-left-color: #10B981;
}

.recap-card.sortie[b-2gd7opr2n6] {
    background: #FEF2F2;
    border-left-color: #EF4444;
}

.recap-card h4[b-2gd7opr2n6] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.75rem;
}

.recap-rows[b-2gd7opr2n6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.recap-row[b-2gd7opr2n6] {
    display: flex;
    justify-content: space-between;
    font-size: 0.875rem;
    color: #374151;
}

.recap-row.total[b-2gd7opr2n6] {
    padding-top: 0.75rem;
    margin-top: 0.5rem;
    border-top: 1px solid #E5E7EB;
    font-weight: 600;
    font-size: 1rem;
}

.warning-note[b-2gd7opr2n6] {
    margin-top: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: #FFFBEB;
    border-radius: 6px;
    font-size: 0.75rem;
    color: #92400E;
}

/* Form Footer */
.form-footer[b-2gd7opr2n6] {
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    background: #F9FAFB;
}

.btn-secondary[b-2gd7opr2n6] {
    padding: 0.75rem 1.5rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #374151;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-secondary:hover[b-2gd7opr2n6] {
    background: #F3F4F6;
}

/* Charte graphique : Bleu Électrique #1E90FF (CTA) */
.btn-primary-charte[b-2gd7opr2n6] {
    background: #1E90FF;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
}

.btn-primary-charte:hover:not(:disabled)[b-2gd7opr2n6] {
    background: #1873CC;
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.35);
    transform: translateY(-1px);
}

.btn-primary-charte:disabled[b-2gd7opr2n6] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Success Modal */
.modal-overlay[b-2gd7opr2n6] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content.success[b-2gd7opr2n6] {
    background: white;
    padding: 2.5rem;
    border-radius: 16px;
    text-align: center;
    max-width: 400px;
    width: 90%;
}

.success-icon[b-2gd7opr2n6] {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: #ECFDF5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.success-icon svg[b-2gd7opr2n6] {
    width: 40px;
    height: 40px;
    color: #10B981;
}

.modal-content.success h2[b-2gd7opr2n6] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 0.5rem;
}

.modal-content.success p[b-2gd7opr2n6] {
    color: #6B7280;
    margin: 0 0 1.5rem;
}

.success-actions[b-2gd7opr2n6] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
}
/* /Components/Pages/Services/Finance/OperationsCaisse.razor.rz.scp.css */
/* Charte graphique : Bleu Électrique #1E90FF (CTA) */
.btn-primary-charte[b-10sdhhlflo] {
    background: #1E90FF;
    color: white;
    padding: 0.625rem 1.25rem;
    border-radius: 8px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
}

.btn-primary-charte:hover[b-10sdhhlflo] {
    background: #1873CC;
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.35);
    transform: translateY(-1px);
}

/* Filtres */
.filters-card[b-10sdhhlflo] {
    background: white;
    padding: 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.filters-grid[b-10sdhhlflo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.filter-item label[b-10sdhhlflo] {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6B7280;
    margin-bottom: 0.375rem;
}

.filter-item input[b-10sdhhlflo],
.filter-item select[b-10sdhhlflo] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.filter-item input:focus[b-10sdhhlflo],
.filter-item select:focus[b-10sdhhlflo] {
    outline: none;
    border-color: #8B5CF6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

/* Summary Cards */
.summary-cards[b-10sdhhlflo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
}

.summary-card[b-10sdhhlflo] {
    background: white;
    padding: 1rem;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #E5E7EB;
}

.summary-card.green[b-10sdhhlflo] { border-left-color: #10B981; }
.summary-card.red[b-10sdhhlflo] { border-left-color: #EF4444; }
.summary-card.purple[b-10sdhhlflo] { border-left-color: #8B5CF6; }

.summary-label[b-10sdhhlflo] {
    display: block;
    font-size: 0.75rem;
    color: #6B7280;
}

.summary-value[b-10sdhhlflo] {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2937;
    margin-top: 0.25rem;
}

/* Operations Table */
.operations-table[b-10sdhhlflo] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.operations-table table[b-10sdhhlflo] {
    border-collapse: collapse;
}

.operations-table th[b-10sdhhlflo] {
    padding: 0.875rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    background: #F9FAFB;
    border-bottom: 1px solid #E5E7EB;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.operations-table td[b-10sdhhlflo] {
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
    border-bottom: 1px solid #F3F4F6;
    vertical-align: middle;
}

.operations-table tr:hover[b-10sdhhlflo] {
    background: #F9FAFB;
}

.row-entree[b-10sdhhlflo] {
    border-left: 3px solid #10B981;
}

.row-sortie[b-10sdhhlflo] {
    border-left: 3px solid #EF4444;
}

.date-cell[b-10sdhhlflo] {
    display: flex;
    flex-direction: column;
}

.date-day[b-10sdhhlflo] {
    font-weight: 500;
    color: #1F2937;
}

.date-time[b-10sdhhlflo] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.caisse-name[b-10sdhhlflo] {
    font-weight: 500;
    color: #374151;
}

.type-badge[b-10sdhhlflo] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.type-badge svg[b-10sdhhlflo] {
    width: 14px;
    height: 14px;
}

.type-badge.entree[b-10sdhhlflo] {
    background: #D1FAE5;
    color: #059669;
}

.type-badge.sortie[b-10sdhhlflo] {
    background: #FEE2E2;
    color: #DC2626;
}

.description[b-10sdhhlflo] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #4B5563;
}

.reference[b-10sdhhlflo] {
    font-family: monospace;
    font-size: 0.75rem;
    color: #6B7280;
}

.montant[b-10sdhhlflo] {
    font-weight: 600;
}

.solde-apres[b-10sdhhlflo] {
    color: #6B7280;
}

.actions[b-10sdhhlflo] {
    display: flex;
    gap: 0.25rem;
}

.action-btn[b-10sdhhlflo] {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    transition: all 0.2s;
}

.action-btn svg[b-10sdhhlflo] {
    width: 16px;
    height: 16px;
}

.action-btn:hover[b-10sdhhlflo] {
    background: #F3F4F6;
    color: #8B5CF6;
}

/* Pagination */
.pagination[b-10sdhhlflo] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1rem;
    border-top: 1px solid #E5E7EB;
}

.page-btn[b-10sdhhlflo] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    transition: all 0.2s;
}

.page-btn svg[b-10sdhhlflo] {
    width: 18px;
    height: 18px;
}

.page-btn:hover:not(:disabled)[b-10sdhhlflo] {
    background: #8B5CF6;
    color: white;
}

.page-btn:disabled[b-10sdhhlflo] {
    opacity: 0.5;
    cursor: not-allowed;
}

.page-info[b-10sdhhlflo] {
    font-size: 0.875rem;
    color: #6B7280;
}

/* Empty State */
.empty-state[b-10sdhhlflo] {
    text-align: center;
    padding: 4rem 2rem;
}

.empty-state svg[b-10sdhhlflo] {
    width: 64px;
    height: 64px;
    color: #D1D5DB;
    margin: 0 auto 1rem;
}

.empty-state h3[b-10sdhhlflo] {
    font-size: 1rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.5rem;
}

.empty-state p[b-10sdhhlflo] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0;
}

/* Modal */
.modal-overlay[b-10sdhhlflo] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.modal-content[b-10sdhhlflo] {
    background: white;
    border-radius: 16px;
    width: 100%;
    max-width: 500px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
}

.modal-header[b-10sdhhlflo] {
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    color: white;
}

.modal-header.bg-green-500[b-10sdhhlflo] {
    background: linear-gradient(135deg, #10B981, #059669);
}

.modal-header.bg-red-500[b-10sdhhlflo] {
    background: linear-gradient(135deg, #EF4444, #DC2626);
}

.modal-title-icon[b-10sdhhlflo] {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-title-icon svg[b-10sdhhlflo] {
    width: 24px;
    height: 24px;
}

.modal-title-text[b-10sdhhlflo] {
    flex: 1;
}

.modal-title-text h2[b-10sdhhlflo] {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
}

.modal-title-text p[b-10sdhhlflo] {
    font-size: 0.75rem;
    opacity: 0.9;
    margin: 0.25rem 0 0;
}

.modal-close[b-10sdhhlflo] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.modal-close:hover[b-10sdhhlflo] {
    opacity: 1;
    background: rgba(255, 255, 255, 0.1);
}

.modal-close svg[b-10sdhhlflo] {
    width: 20px;
    height: 20px;
}

.modal-body[b-10sdhhlflo] {
    padding: 1.25rem;
}

.detail-grid[b-10sdhhlflo] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.detail-item[b-10sdhhlflo] {
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.detail-item.full[b-10sdhhlflo] {
    grid-column: 1 / -1;
}

.detail-label[b-10sdhhlflo] {
    display: block;
    font-size: 0.7rem;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
}

.detail-value[b-10sdhhlflo] {
    display: block;
    font-size: 0.9375rem;
    color: #1F2937;
    font-weight: 500;
}

.montant-lg[b-10sdhhlflo] {
    font-size: 1.25rem;
    font-weight: 700;
}

.modal-footer[b-10sdhhlflo] {
    padding: 1rem 1.25rem;
    border-top: 1px solid #E5E7EB;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

.btn-secondary[b-10sdhhlflo] {
    padding: 0.5rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #374151;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-secondary:hover[b-10sdhhlflo] {
    background: #F3F4F6;
}

/* Impression mouvement (hors écran sur la page ; visible dans la fenêtre d’impression) */
.operation-caisse-print-doc[b-10sdhhlflo] {
    position: fixed;
    left: -10000px; /* hors écran côté UI */
    top: 0;
    width: 420px;
    padding: 1.5rem;
    background: #fff;
    color: #1f2937;
    font-family: 'Poppins', system-ui, sans-serif;
    font-size: 14px;
    box-sizing: border-box;
}

/* Quand le navigateur imprime (fenêtre créée par printElement), on remet le bloc "en page". */
@media print {
    .operation-caisse-print-doc[b-10sdhhlflo] {
        position: static;
        left: auto !important;
        top: auto !important;
        width: 100%;
        padding: 0;
    }
}

.operation-caisse-print-doc .ocp-header[b-10sdhhlflo] {
    border-bottom: 3px solid #071A39;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

.operation-caisse-print-doc .ocp-header h1[b-10sdhhlflo] {
    margin: 0;
    font-size: 1.25rem;
    color: #071A39;
}

.operation-caisse-print-doc .ocp-ref[b-10sdhhlflo] {
    margin: 0.35rem 0 0;
    font-family: ui-monospace, monospace;
    font-size: 0.85rem;
    color: #6b7280;
}

.operation-caisse-print-doc .ocp-table[b-10sdhhlflo] {
    width: 100%;
    border-collapse: collapse;
}

.operation-caisse-print-doc .ocp-table th[b-10sdhhlflo],
.operation-caisse-print-doc .ocp-table td[b-10sdhhlflo] {
    text-align: left;
    padding: 0.5rem 0;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
}

.operation-caisse-print-doc .ocp-table th[b-10sdhhlflo] {
    width: 42%;
    color: #6b7280;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.operation-caisse-print-doc .ocp-montant-entree[b-10sdhhlflo] {
    color: #059669;
    font-weight: 700;
    font-size: 1.1rem;
}

.operation-caisse-print-doc .ocp-montant-sortie[b-10sdhhlflo] {
    color: #dc2626;
    font-weight: 700;
    font-size: 1.1rem;
}

.operation-caisse-print-doc .ocp-school[b-10sdhhlflo] {
    margin-bottom: 1rem;
    border-bottom: 2px solid #071A39;
    padding-bottom: 0.75rem;
}

.operation-caisse-print-doc .ocp-school-name[b-10sdhhlflo] {
    font-weight: 800;
    color: #071A39;
    font-size: 1.15rem;
    margin-bottom: 0.25rem;
}

.operation-caisse-print-doc .ocp-school-address[b-10sdhhlflo] {
    font-size: 0.85rem;
    color: #6b7280;
}

.operation-caisse-print-doc .ocp-footer-signatures[b-10sdhhlflo] {
    margin-top: 1.4rem;
}

.operation-caisse-print-doc .ocp-sig-grid[b-10sdhhlflo] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: end;
}

.operation-caisse-print-doc .ocp-sig-cell[b-10sdhhlflo] {
    text-align: left;
}

.operation-caisse-print-doc .ocp-sig-label[b-10sdhhlflo] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 700;
    display: block;
    margin-bottom: 0.35rem;
}

.operation-caisse-print-doc .ocp-sig-line[b-10sdhhlflo] {
    height: 1px;
    background: #cbd5e1;
    margin-bottom: 0.25rem;
}

.operation-caisse-print-doc .ocp-sig-name[b-10sdhhlflo] {
    font-size: 0.9rem;
    color: #1f2937;
    font-weight: 600;
}
/* /Components/Pages/Services/Finance/RapportAnnuelCaisse.razor.rz.scp.css */
.year-select[b-o7ecpmbyk6] {
    padding: 0.625rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    background: white;
}

.btn-export[b-o7ecpmbyk6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: linear-gradient(135deg, #8B5CF6, #7C3AED);
    color: white;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-export:hover[b-o7ecpmbyk6] {
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.btn-export svg[b-o7ecpmbyk6] {
    width: 18px;
    height: 18px;
}

/* KPI Grid */
.kpi-grid[b-o7ecpmbyk6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.kpi-card[b-o7ecpmbyk6] {
    background: white;
    padding: 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.kpi-card.main[b-o7ecpmbyk6] {
    grid-column: span 2;
    background: linear-gradient(135deg, #071A39, #0F2D5C);
    color: white;
}

.kpi-header[b-o7ecpmbyk6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.kpi-icon[b-o7ecpmbyk6] {
    font-size: 1.25rem;
}

.kpi-title[b-o7ecpmbyk6] {
    font-size: 0.75rem;
    font-weight: 500;
    opacity: 0.8;
}

.kpi-value[b-o7ecpmbyk6] {
    font-size: 2rem;
    font-weight: 700;
}

.kpi-card.main .kpi-value[b-o7ecpmbyk6] {
    color: #A78BFA;
}

.kpi-comparison[b-o7ecpmbyk6] {
    margin-top: 0.5rem;
}

.trend[b-o7ecpmbyk6] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.trend.up[b-o7ecpmbyk6] {
    background: rgba(16, 185, 129, 0.2);
    color: #10B981;
}

.trend.down[b-o7ecpmbyk6] {
    background: rgba(239, 68, 68, 0.2);
    color: #EF4444;
}

/* Chart */
.chart-card[b-o7ecpmbyk6] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.chart-header[b-o7ecpmbyk6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.chart-header h3[b-o7ecpmbyk6] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.chart-legend[b-o7ecpmbyk6] {
    display: flex;
    gap: 1rem;
}

.legend-item[b-o7ecpmbyk6] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: #6B7280;
}

.dot[b-o7ecpmbyk6] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.dot.green[b-o7ecpmbyk6] { background: #10B981; }
.dot.red[b-o7ecpmbyk6] { background: #EF4444; }
.dot.purple[b-o7ecpmbyk6] { background: #8B5CF6; }

.chart-area[b-o7ecpmbyk6] {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    padding: 1.5rem 1rem;
    height: 250px;
}

.month-column[b-o7ecpmbyk6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}

.column-container[b-o7ecpmbyk6] {
    position: relative;
    height: 180px;
    display: flex;
    align-items: flex-end;
}

.bar-group[b-o7ecpmbyk6] {
    display: flex;
    gap: 2px;
}

.bar[b-o7ecpmbyk6] {
    width: 12px;
    border-radius: 2px 2px 0 0;
    transition: height 0.3s;
}

.bar.recettes[b-o7ecpmbyk6] { background: linear-gradient(to top, #10B981, #34D399); }
.bar.depenses[b-o7ecpmbyk6] { background: linear-gradient(to top, #EF4444, #F87171); }

.solde-point[b-o7ecpmbyk6] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid white;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.solde-point.positive[b-o7ecpmbyk6] { background: #8B5CF6; }
.solde-point.negative[b-o7ecpmbyk6] { background: #EF4444; }

.month-label[b-o7ecpmbyk6] {
    font-size: 0.7rem;
    color: #9CA3AF;
    margin-top: 0.5rem;
}

/* Analysis Grid */
.analysis-grid[b-o7ecpmbyk6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 1rem;
}

.analysis-card[b-o7ecpmbyk6] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.analysis-card h3[b-o7ecpmbyk6] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1rem;
}

/* Donut Chart (simplified) */
.donut-chart[b-o7ecpmbyk6] {
    position: relative;
    width: 150px;
    height: 150px;
    margin: 0 auto 1rem;
}

.donut-center[b-o7ecpmbyk6] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.donut-total[b-o7ecpmbyk6] {
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    color: #1F2937;
}

.donut-label[b-o7ecpmbyk6] {
    font-size: 0.7rem;
    color: #9CA3AF;
}

.legend-list[b-o7ecpmbyk6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.legend-row[b-o7ecpmbyk6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
}

.legend-color[b-o7ecpmbyk6] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
}

.legend-name[b-o7ecpmbyk6] {
    flex: 1;
    color: #374151;
}

.legend-value[b-o7ecpmbyk6] {
    color: #6B7280;
}

.legend-percent[b-o7ecpmbyk6] {
    font-weight: 500;
    color: #1F2937;
    min-width: 40px;
    text-align: right;
}

/* Comparison */
.comparison-chart[b-o7ecpmbyk6] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.comparison-row[b-o7ecpmbyk6] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.year-label[b-o7ecpmbyk6] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #374151;
    min-width: 60px;
}

.comparison-bars[b-o7ecpmbyk6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.comp-bar[b-o7ecpmbyk6] {
    height: 18px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 0.5rem;
    transition: width 0.5s;
}

.comp-bar.recettes[b-o7ecpmbyk6] { background: linear-gradient(to right, #10B981, #34D399); }
.comp-bar.depenses[b-o7ecpmbyk6] { background: linear-gradient(to right, #EF4444, #F87171); }

.bar-value[b-o7ecpmbyk6] {
    font-size: 0.65rem;
    color: white;
    font-weight: 500;
}

.comparison-legend[b-o7ecpmbyk6] {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
}

/* Summary Table */
.summary-table-card[b-o7ecpmbyk6] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.summary-table-card h3[b-o7ecpmbyk6] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1rem;
}

.summary-table[b-o7ecpmbyk6] {
    width: 100%;
    border-collapse: collapse;
}

.summary-table th[b-o7ecpmbyk6] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    background: #F9FAFB;
    text-transform: uppercase;
}

.summary-table td[b-o7ecpmbyk6] {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    border-bottom: 1px solid #F3F4F6;
}

.summary-table tfoot td[b-o7ecpmbyk6] {
    background: #F9FAFB;
    border-top: 2px solid #E5E7EB;
}

.evolution-badge[b-o7ecpmbyk6] {
    display: inline-block;
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
}

.evolution-badge.up[b-o7ecpmbyk6] {
    background: #D1FAE5;
    color: #059669;
}

.evolution-badge.down[b-o7ecpmbyk6] {
    background: #FEE2E2;
    color: #DC2626;
}

@media (max-width: 768px) {
    .kpi-card.main[b-o7ecpmbyk6] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Services/Finance/RapportJournalierCaisse.razor.rz.scp.css */
.date-selector[b-ba6hoh8mt9] {
    display: flex;
    align-items: center;
    background: white;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.date-btn[b-ba6hoh8mt9] {
    padding: 0.625rem;
    color: #6B7280;
    transition: all 0.2s;
}

.date-btn:hover:not(:disabled)[b-ba6hoh8mt9] {
    background: #F3F4F6;
    color: #8B5CF6;
}

.date-btn:disabled[b-ba6hoh8mt9] {
    opacity: 0.5;
    cursor: not-allowed;
}

.date-btn svg[b-ba6hoh8mt9] {
    width: 18px;
    height: 18px;
}

.date-input[b-ba6hoh8mt9] {
    border: none;
    padding: 0.625rem 0.75rem;
    font-size: 0.875rem;
    color: #1F2937;
    font-weight: 500;
}

.date-input:focus[b-ba6hoh8mt9] {
    outline: none;
}

.btn-print[b-ba6hoh8mt9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: white;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #374151;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.btn-print:hover[b-ba6hoh8mt9] {
    background: #F9FAFB;
    border-color: #8B5CF6;
    color: #8B5CF6;
}

.btn-print svg[b-ba6hoh8mt9] {
    width: 18px;
    height: 18px;
}

/*
 * Espacement vertical : flex + gap (insensible à l’effondrement des marges, et prioritaire vs Tailwind CDN).
 */
.finance-rapport-screen-stack[b-ba6hoh8mt9] {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

/* Stats Grid */
.stats-grid[b-ba6hoh8mt9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 0;
    flex-shrink: 0;
}

.stat-card[b-ba6hoh8mt9] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 12px;
    color: white;
}

.stat-card.green[b-ba6hoh8mt9] {
    background: linear-gradient(135deg, #10B981, #059669);
}

.stat-card.red[b-ba6hoh8mt9] {
    background: linear-gradient(135deg, #EF4444, #DC2626);
}

.stat-card.blue[b-ba6hoh8mt9] {
    background: linear-gradient(135deg, #3B82F6, #2563EB);
}

.stat-card.purple[b-ba6hoh8mt9] {
    background: linear-gradient(135deg, #8B5CF6, #7C3AED);
}

.stat-icon[b-ba6hoh8mt9] {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-ba6hoh8mt9] {
    width: 24px;
    height: 24px;
}

.stat-content[b-ba6hoh8mt9] {
    display: flex;
    flex-direction: column;
}

.stat-label[b-ba6hoh8mt9] {
    font-size: 0.75rem;
    opacity: 0.9;
}

.stat-value[b-ba6hoh8mt9] {
    font-size: 1.5rem;
    font-weight: 700;
}

/* Caisse Report */
.caisse-report[b-ba6hoh8mt9] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 0;
    flex-shrink: 0;
}

.caisse-report-header[b-ba6hoh8mt9] {
    background: linear-gradient(135deg, #071A39, #0F2D5C);
    padding: 1rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.caisse-title[b-ba6hoh8mt9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: white;
}

.caisse-icon[b-ba6hoh8mt9] {
    width: 40px;
    height: 40px;
    background: rgba(139, 92, 246, 0.3);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.caisse-icon svg[b-ba6hoh8mt9] {
    width: 20px;
    height: 20px;
}

.caisse-title h2[b-ba6hoh8mt9] {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
}

.caisse-soldes[b-ba6hoh8mt9] {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: white;
}

.solde-item .label[b-ba6hoh8mt9] {
    display: block;
    font-size: 0.7rem;
    opacity: 0.7;
}

.solde-item .value[b-ba6hoh8mt9] {
    font-weight: 600;
}

.solde-separator[b-ba6hoh8mt9] {
    opacity: 0.5;
    font-size: 1.25rem;
}

/* Table */
.mouvements-table[b-ba6hoh8mt9] {
    width: 100%;
    border-collapse: collapse;
}

.mouvements-table th[b-ba6hoh8mt9] {
    padding: 0.875rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    background: #F9FAFB;
    border-bottom: 1px solid #E5E7EB;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mouvements-table td[b-ba6hoh8mt9] {
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
    border-bottom: 1px solid #F3F4F6;
}

.mouvements-table tbody tr:hover[b-ba6hoh8mt9] {
    background: #F9FAFB;
}

.mouvements-table tfoot td[b-ba6hoh8mt9] {
    padding: 1rem;
    background: #F9FAFB;
    border-top: 2px solid #E5E7EB;
}

.type-badge[b-ba6hoh8mt9] {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 500;
}

.type-badge.entree[b-ba6hoh8mt9] {
    background: #D1FAE5;
    color: #059669;
}

.type-badge.sortie[b-ba6hoh8mt9] {
    background: #FEE2E2;
    color: #DC2626;
}

.description[b-ba6hoh8mt9] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #4B5563;
}

.reference[b-ba6hoh8mt9] {
    font-family: monospace;
    font-size: 0.75rem;
    color: #9CA3AF;
}

.no-movements[b-ba6hoh8mt9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 3rem;
    color: #9CA3AF;
}

.no-movements svg[b-ba6hoh8mt9] {
    width: 48px;
    height: 48px;
}

/* Global Summary (marge top gérée par .finance-rapport-screen-stack gap) */
.global-summary[b-ba6hoh8mt9] {
    background: linear-gradient(135deg, #F5F3FF, #EDE9FE);
    border: 1px solid #DDD6FE;
    border-radius: 12px;
    padding: 1.5rem;
    margin-top: 0;
    box-shadow: 0 2px 8px rgba(91, 33, 182, 0.08);
    flex-shrink: 0;
}

.global-summary--stacked[b-ba6hoh8mt9] {
    border-top: 3px solid #c4b5fd;
    padding-top: 1.25rem;
}

.global-summary h3[b-ba6hoh8mt9] {
    font-size: 1rem;
    font-weight: 600;
    color: #5B21B6;
    margin: 0 0 1rem;
}

.summary-grid[b-ba6hoh8mt9] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.summary-row[b-ba6hoh8mt9] {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(139, 92, 246, 0.2);
}

.summary-row:last-child[b-ba6hoh8mt9] {
    border-bottom: none;
}

.summary-row .label[b-ba6hoh8mt9] {
    color: #6B7280;
}

.summary-row .value[b-ba6hoh8mt9] {
    font-weight: 600;
    color: #1F2937;
}

.summary-row.total[b-ba6hoh8mt9] {
    padding-top: 1rem;
    margin-top: 0.5rem;
    border-top: 2px solid rgba(139, 92, 246, 0.3);
    font-size: 1.125rem;
}

.summary-row.total .label[b-ba6hoh8mt9] {
    color: #5B21B6;
}

/* Empty State */
.empty-state[b-ba6hoh8mt9] {
    text-align: center;
    padding: 4rem 2rem;
    background: white;
    border-radius: 12px;
}

.empty-state svg[b-ba6hoh8mt9] {
    width: 64px;
    height: 64px;
    color: #D1D5DB;
    margin: 0 auto 1rem;
}

.empty-state h3[b-ba6hoh8mt9] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.5rem;
}

.empty-state p[b-ba6hoh8mt9] {
    color: #6B7280;
    margin: 0;
}
/* /Components/Pages/Services/Finance/RapportMensuelCaisse.razor.rz.scp.css */
.finance-rapport-screen-stack[b-dlqtzer7kt] {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.month-selector[b-dlqtzer7kt] {
    display: flex;
    gap: 0.5rem;
}

.month-selector select[b-dlqtzer7kt] {
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    background: white;
}

.btn-export[b-dlqtzer7kt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: linear-gradient(135deg, #8B5CF6, #7C3AED);
    color: white;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-export:hover[b-dlqtzer7kt] {
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.btn-export svg[b-dlqtzer7kt] {
    width: 18px;
    height: 18px;
}

/* Stats Grid */
.stats-grid[b-dlqtzer7kt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.stat-card[b-dlqtzer7kt] {
    background: white;
    padding: 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.stat-card.highlight[b-dlqtzer7kt] {
    background: linear-gradient(135deg, #F5F3FF, #EDE9FE);
    border: 1px solid #DDD6FE;
}

.stat-header[b-dlqtzer7kt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.stat-title[b-dlqtzer7kt] {
    font-size: 0.75rem;
    font-weight: 500;
    color: #374151;
}

.stat-trend[b-dlqtzer7kt] {
    font-size: 0.7rem;
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
}

.stat-trend.up[b-dlqtzer7kt] {
    background: #D1FAE5;
    color: #059669;
}

.stat-trend.down[b-dlqtzer7kt] {
    background: #FEE2E2;
    color: #DC2626;
}

.stat-value[b-dlqtzer7kt] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827 !important;
}

.stat-card .stat-value.text-green-600[b-dlqtzer7kt] {
    color: #059669 !important;
}

.stat-card .stat-value.text-red-600[b-dlqtzer7kt] {
    color: #DC2626 !important;
}

.stat-card .stat-value.text-purple-600[b-dlqtzer7kt] {
    color: #5B21B6 !important;
}

.stat-card.highlight .stat-value[b-dlqtzer7kt] {
    color: #5B21B6 !important;
}

.stat-subtitle[b-dlqtzer7kt],
.stat-subtitle.text-gray-500[b-dlqtzer7kt] {
    font-size: 0.75rem;
    margin-top: 0.5rem;
    color: #4B5563 !important;
}

.stat-bar[b-dlqtzer7kt] {
    height: 4px;
    background: #E5E7EB;
    border-radius: 2px;
    margin-top: 0.75rem;
    overflow: hidden;
}

.bar-fill[b-dlqtzer7kt] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.5s;
}

.bar-fill.green[b-dlqtzer7kt] { background: #10B981; }
.bar-fill.red[b-dlqtzer7kt] { background: #EF4444; }

/* Chart */
.chart-card[b-dlqtzer7kt] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.chart-header[b-dlqtzer7kt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.chart-header h3[b-dlqtzer7kt] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.chart-legend[b-dlqtzer7kt] {
    display: flex;
    gap: 1rem;
}

.legend-item[b-dlqtzer7kt] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: #6B7280;
}

.dot[b-dlqtzer7kt] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.dot.green[b-dlqtzer7kt] { background: #10B981; }
.dot.red[b-dlqtzer7kt] { background: #EF4444; }

.chart-area[b-dlqtzer7kt] {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    padding: 1.25rem;
    height: 200px;
}

.chart-column[b-dlqtzer7kt] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.column-bars[b-dlqtzer7kt] {
    display: flex;
    gap: 1px;
    align-items: flex-end;
    flex: 1;
}

.bar[b-dlqtzer7kt] {
    width: 6px;
    border-radius: 2px 2px 0 0;
    transition: height 0.3s;
    min-height: 2px;
}

.bar.entree[b-dlqtzer7kt] { background: #10B981; }
.bar.sortie[b-dlqtzer7kt] { background: #EF4444; }

.column-label[b-dlqtzer7kt] {
    font-size: 0.6rem;
    color: #9CA3AF;
    margin-top: 0.25rem;
}

/* Detail Grid */
.detail-grid[b-dlqtzer7kt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 1rem;
}

.detail-card[b-dlqtzer7kt] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.detail-card h3[b-dlqtzer7kt] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1rem;
}

.week-list[b-dlqtzer7kt] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.week-item[b-dlqtzer7kt] {
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.week-header[b-dlqtzer7kt] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.week-label[b-dlqtzer7kt] {
    font-weight: 500;
    color: #374151;
}

.week-dates[b-dlqtzer7kt] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.week-values[b-dlqtzer7kt] {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.week-bar[b-dlqtzer7kt] {
    display: flex;
    height: 6px;
    border-radius: 3px;
    overflow: hidden;
}

.bar-segment.entree[b-dlqtzer7kt] { background: #10B981; }
.bar-segment.sortie[b-dlqtzer7kt] { background: #EF4444; }

.caisse-list[b-dlqtzer7kt] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.caisse-item[b-dlqtzer7kt] {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.caisse-info[b-dlqtzer7kt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.caisse-icon[b-dlqtzer7kt] {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #8B5CF6, #7C3AED);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.caisse-icon svg[b-dlqtzer7kt] {
    width: 18px;
    height: 18px;
    color: white;
}

.caisse-name[b-dlqtzer7kt] {
    font-weight: 500;
    color: #374151;
    margin: 0;
}

.caisse-operations[b-dlqtzer7kt] {
    font-size: 0.75rem;
    color: #9CA3AF;
    margin: 0;
}

.caisse-montant[b-dlqtzer7kt] {
    text-align: right;
}

.caisse-montant .montant[b-dlqtzer7kt] {
    font-weight: 600;
    margin: 0;
}

.caisse-montant .detail[b-dlqtzer7kt] {
    font-size: 0.7rem;
    margin: 0;
}

/* Table */
.table-card[b-dlqtzer7kt] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.table-header[b-dlqtzer7kt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.table-header h3[b-dlqtzer7kt] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.table-filters select[b-dlqtzer7kt] {
    padding: 0.375rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 6px;
    font-size: 0.8rem;
}

.data-table[b-dlqtzer7kt] {
    width: 100%;
    border-collapse: collapse;
}

.data-table th[b-dlqtzer7kt] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    background: #F9FAFB;
    text-transform: uppercase;
}

.data-table td[b-dlqtzer7kt] {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    border-bottom: 1px solid #F3F4F6;
}

.type-badge[b-dlqtzer7kt] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 500;
}

.type-badge.entree[b-dlqtzer7kt] {
    background: #D1FAE5;
    color: #059669;
}

.type-badge.sortie[b-dlqtzer7kt] {
    background: #FEE2E2;
    color: #DC2626;
}

.description[b-dlqtzer7kt] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.table-footer[b-dlqtzer7kt] {
    padding: 0.75rem 1rem;
    text-align: center;
    font-size: 0.75rem;
    color: #6B7280;
    background: #F9FAFB;
}
/* /Components/Pages/Services/Index.razor.rz.scp.css */
.services-page[b-knbyjl09ak] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Main Content */
.services-main[b-knbyjl09ak] {
    flex: 1;
    padding: 2rem;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

.services-intro[b-knbyjl09ak] {
    text-align: center;
    margin-bottom: 2rem;
}

.services-intro h2[b-knbyjl09ak] {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-dark, #1F2937);
    margin: 0 0 0.5rem 0;
}

.services-intro p[b-knbyjl09ak] {
    color: var(--text-muted, #6B7280);
    margin: 0;
}

/* Services Grid */
.services-grid[b-knbyjl09ak] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}

/* Alerte licence expire bientôt (sous le fil d'Ariane) */
.licence-expiry-alert[b-knbyjl09ak] {
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: 1400px;
    margin: 0 auto 1rem auto;
    padding: 1rem 1.25rem;
    background: #FFF8E6;
    border: 1px solid #FFEBAD;
    border-radius: 10px;
    box-sizing: border-box;
}

.licence-expiry-icon[b-knbyjl09ak] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    color: #FFB300;
}

.licence-expiry-icon svg[b-knbyjl09ak] {
    width: 100%;
    height: 100%;
}

.licence-expiry-content[b-knbyjl09ak] {
    flex: 1;
}

.licence-expiry-content h3[b-knbyjl09ak] {
    font-size: 1rem;
    font-weight: 700;
    color: #333;
    margin: 0 0 0.25rem 0;
}

.licence-expiry-content p[b-knbyjl09ak] {
    font-size: 0.875rem;
    color: #666;
    margin: 0;
}

.licence-expiry-link[b-knbyjl09ak] {
    flex-shrink: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #2ECC71;
    text-decoration: none;
}

.licence-expiry-link:hover[b-knbyjl09ak] {
    text-decoration: underline;
}

/* Alerte système */
.system-alert[b-knbyjl09ak] {
    max-width: 1400px;
    margin: 0 auto 1rem auto;
    padding: 0 2rem;
}

.system-alert > div:first-child[b-knbyjl09ak] {
    display: none;
}

.system-alert[b-knbyjl09ak] {
    background: linear-gradient(135deg, #FEF3C7, #FDE68A);
    border: 1px solid #F59E0B;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin: 1rem 2rem;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
}

.alert-icon[b-knbyjl09ak] {
    width: 48px;
    height: 48px;
    background: #F59E0B;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.alert-icon svg[b-knbyjl09ak] {
    width: 24px;
    height: 24px;
    color: white;
}

.alert-content h3[b-knbyjl09ak] {
    margin: 0 0 0.5rem 0;
    color: #92400E;
    font-size: 1rem;
    font-weight: 600;
}

.alert-content p[b-knbyjl09ak] {
    margin: 0 0 0.75rem 0;
    color: #78350F;
    font-size: 0.875rem;
}

.alert-link[b-knbyjl09ak] {
    color: #D97706;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.875rem;
}

.alert-link:hover[b-knbyjl09ak] {
    color: #B45309;
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 768px) {
    .services-main[b-knbyjl09ak] {
        padding: 1rem;
    }

    .services-grid[b-knbyjl09ak] {
        grid-template-columns: 1fr;
    }

    .system-alert[b-knbyjl09ak] {
        margin: 1rem;
        flex-direction: column;
        text-align: center;
    }

    .alert-icon[b-knbyjl09ak] {
        margin: 0 auto;
    }
}
/* /Components/Pages/Services/Inscription/AffectationsDefinitives.razor.rz.scp.css */
.affectations-page[b-5u1vk4dbn5] { max-width: 1000px; }
.page-header h1[b-5u1vk4dbn5] { font-size: 1.35rem; margin: 0 0 0.25rem 0; color: var(--text-dark, #1F2937); }
.page-header p[b-5u1vk4dbn5] { margin: 0 0 1rem 0; color: var(--text-muted, #6B7280); font-size: 0.9rem; }
.filters-bar[b-5u1vk4dbn5] { display: flex; gap: 1rem; align-items: flex-end; margin-bottom: 1rem; }
.form-group.niveau-filter[b-5u1vk4dbn5] { display: flex; flex-direction: column; gap: 0.375rem; margin: 0; }
.form-group.niveau-filter label[b-5u1vk4dbn5] { font-size: 0.875rem; font-weight: 500; color: var(--text-dark, #1F2937); margin: 0; }
.form-group.niveau-filter .searchable-niveau-select[b-5u1vk4dbn5] { min-width: 220px; }
.btn-refresh[b-5u1vk4dbn5] { padding: 0.5rem 1rem; background: #F3F4F6; border: 1px solid #E5E7EB; border-radius: 8px; cursor: pointer; font-size: 0.875rem; }
.btn-refresh:hover[b-5u1vk4dbn5] { background: #E5E7EB; }
.loading[b-5u1vk4dbn5] { padding: 2rem; text-align: center; color: var(--text-muted); }
.empty-state[b-5u1vk4dbn5] { background: white; border-radius: 12px; padding: 2rem; text-align: center; border: 1px solid #E5E7EB; }
.empty-state .muted[b-5u1vk4dbn5] { color: var(--text-muted); font-size: 0.875rem; margin-top: 0.5rem; }
/* Keep rounded card while allowing section dropdown to expand outside table bounds. */
.table-card[b-5u1vk4dbn5] { background: white; border-radius: 12px; border: 1px solid #E5E7EB; overflow: visible; }
.data-table[b-5u1vk4dbn5] { width: 100%; border-collapse: collapse; }
.data-table th[b-5u1vk4dbn5], .data-table td[b-5u1vk4dbn5] { padding: 0.75rem 1rem; text-align: left; border-bottom: 1px solid #F3F4F6; }
.data-table th[b-5u1vk4dbn5] { background: #F9FAFB; font-size: 0.75rem; font-weight: 600; color: #6B7280; text-transform: uppercase; }
.section-select[b-5u1vk4dbn5] { min-width: 180px; padding: 0.4rem 0.5rem; border-radius: 6px; border: 1px solid #D1D5DB; font-size: 0.875rem; }
.btn-affect[b-5u1vk4dbn5] { padding: 0.4rem 0.75rem; background: var(--accent, #1E90FF); color: white; border: none; border-radius: 6px; font-size: 0.8rem; cursor: pointer; }
.btn-affect:hover:not(:disabled)[b-5u1vk4dbn5] { filter: brightness(1.05); }
.btn-affect:disabled[b-5u1vk4dbn5] { opacity: 0.6; cursor: not-allowed; }
.section-empty-hint[b-5u1vk4dbn5] { margin: 0.35rem 0 0 0; font-size: 0.72rem; color: #B45309; max-width: 260px; line-height: 1.35; }
.alert[b-5u1vk4dbn5] { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; border-radius: 8px; margin-bottom: 1rem; }
.alert.error[b-5u1vk4dbn5] { background: #FEE2E2; color: #991B1B; }
.alert.success[b-5u1vk4dbn5] { background: #D1FAE5; color: #065F46; }
.alert-close[b-5u1vk4dbn5] { background: none; border: none; cursor: pointer; font-size: 1.2rem; opacity: 0.8; }
/* /Components/Pages/Services/Inscription/Index.razor.rz.scp.css */
.page-header h1[b-qrmckwh6ck] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 0.5rem 0;
}

.page-header p[b-qrmckwh6ck] {
    color: var(--text-muted);
    margin: 0 0 1.5rem 0;
}

/* Liens vers Paramétrage / Classes : pas d’état active sur cette page */
.menu-item-external.active[b-qrmckwh6ck] {
    background: transparent;
    color: inherit;
}
/* /Components/Pages/Services/Inscription/InscriptionDashboard.razor.rz.scp.css */
.loading-container[b-qcgylf56za] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
}

.spinner[b-qcgylf56za] {
    width: 48px;
    height: 48px;
    border: 3px solid #E5E7EB;
    border-top-color: var(--accent, #1E90FF);
    border-radius: 50%;
    animation: insdash-spin-b-qcgylf56za 1s linear infinite;
}

@keyframes insdash-spin-b-qcgylf56za {
    to { transform: rotate(360deg); }
}

.loading-container p[b-qcgylf56za] {
    margin-top: 1rem;
    color: var(--text-muted, #6B7280);
}

/* Stats Grid */
.stats-grid[b-qcgylf56za] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.stat-card[b-qcgylf56za] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    color: #1F2937;
}

.stat-card.primary[b-qcgylf56za] {
    background: linear-gradient(135deg, #3B82F6, #1D4ED8);
    color: white;
}

.stat-card.primary .stat-label[b-qcgylf56za] {
    color: rgba(255, 255, 255, 0.8);
}

.stat-card:not(.primary) .stat-value[b-qcgylf56za] {
    color: #1F2937;
}

.stat-card:not(.primary) .stat-label[b-qcgylf56za] {
    color: #6B7280;
}

.stat-icon[b-qcgylf56za] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-qcgylf56za] {
    width: 24px;
    height: 24px;
}

.stat-card.primary .stat-icon[b-qcgylf56za] {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.stat-icon.green[b-qcgylf56za] { background: linear-gradient(135deg, #10B981, #059669); color: white; }
.stat-icon.blue[b-qcgylf56za] { background: linear-gradient(135deg, #3B82F6, #1D4ED8); color: white; }
.stat-icon.orange[b-qcgylf56za] { background: linear-gradient(135deg, #F59E0B, #D97706); color: white; }

.stat-content[b-qcgylf56za] {
    display: flex;
    flex-direction: column;
}

.stat-value[b-qcgylf56za] {
    font-size: 1.75rem;
    font-weight: 700;
}

.stat-label[b-qcgylf56za] {
    font-size: 0.8rem;
    color: var(--text-muted, #6B7280);
}

.stat-evolution[b-qcgylf56za] {
    width: 100%;
    font-size: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.stat-evolution.positive[b-qcgylf56za] { color: #10B981; }
.stat-evolution.negative[b-qcgylf56za] { color: #EF4444; }

.stat-card.primary .stat-evolution[b-qcgylf56za] {
    color: rgba(255, 255, 255, 0.9);
}

.evolution-label[b-qcgylf56za] {
    margin-left: 0.25rem;
    opacity: 0.7;
}

/* Sections */
.section[b-qcgylf56za] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.section-title[b-qcgylf56za] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-dark, #1F2937);
    margin: 0 0 1rem 0;
}

/* Quick Actions */
.quick-actions[b-qcgylf56za] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.action-btn[b-qcgylf56za] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.action-btn svg[b-qcgylf56za] {
    width: 18px;
    height: 18px;
}

.action-btn.primary[b-qcgylf56za] {
    background: var(--accent, #1E90FF);
    color: white;
}

.action-btn.primary:hover[b-qcgylf56za] {
    background: #1873CC;
}

.action-btn.secondary[b-qcgylf56za] {
    background: #F3F4F6;
    color: #374151;
}

.action-btn.secondary:hover[b-qcgylf56za] {
    background: #E5E7EB;
}

/* Sections List */
.sections-list[b-qcgylf56za] {
    max-height: 300px;
    overflow-y: auto;
}

.section-item[b-qcgylf56za] {
    padding: 0.75rem 0;
    border-bottom: 1px solid #F3F4F6;
}

.section-item:last-child[b-qcgylf56za] {
    border-bottom: none;
}

.section-info[b-qcgylf56za] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.section-name[b-qcgylf56za] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-dark, #1F2937);
}

.section-count[b-qcgylf56za] {
    font-size: 0.75rem;
    color: var(--text-muted, #6B7280);
}

.progress-bar[b-qcgylf56za] {
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
}

.progress-fill[b-qcgylf56za] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s;
}

.progress-fill.green[b-qcgylf56za] { background: #10B981; }
.progress-fill.orange[b-qcgylf56za] { background: #F59E0B; }
.progress-fill.red[b-qcgylf56za] { background: #EF4444; }

/* Sections Grid */
.sections-grid[b-qcgylf56za] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1rem;
}

.section-btn[b-qcgylf56za] {
    padding: 1rem;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
}

.section-btn:hover:not(.disabled)[b-qcgylf56za] {
    border-color: var(--accent, #1E90FF);
    background: #EFF6FF;
}

.section-btn.disabled[b-qcgylf56za] {
    opacity: 0.5;
    cursor: not-allowed;
}

.section-btn-name[b-qcgylf56za] {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--text-dark, #1F2937);
}

.section-btn-count[b-qcgylf56za] {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted, #6B7280);
    margin-top: 0.25rem;
}

.section-btn-full[b-qcgylf56za] {
    display: block;
    font-size: 0.7rem;
    color: #EF4444;
    margin-top: 0.25rem;
}

.empty-message[b-qcgylf56za] {
    text-align: center;
    color: var(--text-muted, #6B7280);
    padding: 2rem;
}
/* /Components/Pages/Services/Inscription/InscriptionIndividuelle.razor.rz.scp.css */
.inscription-form[b-v3iw6jl8v0] {
    max-width: 900px;
}

.form-header h1[b-v3iw6jl8v0] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-dark, #1F2937);
    margin: 0 0 0.25rem 0;
}

.form-header p[b-v3iw6jl8v0] {
    color: var(--text-muted, #6B7280);
    margin: 0 0 1.5rem 0;
}

/* Alerts */
.alert[b-v3iw6jl8v0] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.alert svg[b-v3iw6jl8v0] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.alert.success[b-v3iw6jl8v0] {
    background: #ECFDF5;
    border: 1px solid #A7F3D0;
    color: #065F46;
}

.alert.error[b-v3iw6jl8v0] {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #991B1B;
}

.alert-content[b-v3iw6jl8v0] {
    display: flex;
    gap: 0.75rem;
    flex: 1;
}

.alert-title[b-v3iw6jl8v0] {
    font-weight: 500;
    margin: 0;
}

.alert-details[b-v3iw6jl8v0] {
    font-size: 0.875rem;
    margin: 0.25rem 0 0 0;
}

.alert-actions[b-v3iw6jl8v0] {
    display: flex;
    gap: 1rem;
    margin-left: auto;
}

.alert-link[b-v3iw6jl8v0] {
    font-size: 0.875rem;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    color: inherit;
}

.alert-close[b-v3iw6jl8v0] {
    background: none;
    border: none;
    font-size: 1.25rem;
    cursor: pointer;
    color: inherit;
    margin-left: auto;
}

/* Form Sections */
.form-section[b-v3iw6jl8v0] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.section-header[b-v3iw6jl8v0] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-dark, #1F2937);
}

.step-number[b-v3iw6jl8v0] {
    width: 28px;
    height: 28px;
    background: var(--accent, #1E90FF);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
}

.badge-optional[b-v3iw6jl8v0] {
    font-size: 0.7rem;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    background: #FEF3C7;
    color: #92400E;
    border-radius: 4px;
    margin-left: auto;
}

.badge-obligatoire[b-v3iw6jl8v0] {
    font-size: 0.7rem;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    background: #DBEAFE;
    color: #1E40AF;
    border-radius: 4px;
    margin-left: auto;
}

/* Form Grid */
.form-grid[b-v3iw6jl8v0] {
    display: grid;
    gap: 1rem;
}

.form-grid.cols-2[b-v3iw6jl8v0] { grid-template-columns: repeat(2, 1fr); }
.form-grid.cols-3[b-v3iw6jl8v0] { grid-template-columns: repeat(3, 1fr); }

.form-group[b-v3iw6jl8v0] {
    display: flex;
    flex-direction: column;
}

.form-group.full-width[b-v3iw6jl8v0] {
    margin-top: 1rem;
}

.form-group label[b-v3iw6jl8v0] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-muted, #6B7280);
    margin-bottom: 0.375rem;
}

.form-group input[b-v3iw6jl8v0],
.form-group select[b-v3iw6jl8v0],
.form-group textarea[b-v3iw6jl8v0] {
    padding: 0.625rem 0.875rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: border-color 0.2s;
}

.form-hint[b-v3iw6jl8v0] {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: var(--text-muted, #6B7280);
}

.form-group input:focus[b-v3iw6jl8v0],
.form-group select:focus[b-v3iw6jl8v0],
.form-group textarea:focus[b-v3iw6jl8v0] {
    outline: none;
    border-color: var(--accent, #1E90FF);
}

/* Parents Grid */
.parents-grid[b-v3iw6jl8v0] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.parent-section h3[b-v3iw6jl8v0],
.tuteur-section h3[b-v3iw6jl8v0] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-muted, #6B7280);
    margin: 0 0 1rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.tuteur-section[b-v3iw6jl8v0] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #E5E7EB;
}

/* Payment Section */
.payment-section[b-v3iw6jl8v0] {
    border: 2px solid #FCD34D;
}

.frais-info[b-v3iw6jl8v0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F9FAFB;
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.frais-libelle[b-v3iw6jl8v0] {
    font-weight: 500;
    margin: 0;
}

.frais-code[b-v3iw6jl8v0] {
    font-size: 0.8rem;
    color: var(--text-muted, #6B7280);
    margin: 0.25rem 0 0 0;
}

.frais-montant[b-v3iw6jl8v0] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--accent, #1E90FF);
    margin: 0;
}

.checkbox-group[b-v3iw6jl8v0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.checkbox-group input[b-v3iw6jl8v0] {
    width: 16px;
    height: 16px;
}

.checkbox-group label[b-v3iw6jl8v0] {
    font-size: 0.875rem;
    color: var(--text-dark, #1F2937);
}

.payment-fields[b-v3iw6jl8v0] {
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
}

/* Form Actions */
.form-actions[b-v3iw6jl8v0] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 1.5rem;
}

.btn-primary[b-v3iw6jl8v0],
.btn-secondary[b-v3iw6jl8v0] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    border: none;
}

.btn-primary[b-v3iw6jl8v0] {
    background: var(--accent, #1E90FF);
    color: white;
}

.btn-primary:hover:not(:disabled)[b-v3iw6jl8v0] {
    background: #1873CC;
}

.btn-primary:disabled[b-v3iw6jl8v0] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-secondary[b-v3iw6jl8v0] {
    background: #F3F4F6;
    color: #374151;
}

.btn-secondary:hover[b-v3iw6jl8v0] {
    background: #E5E7EB;
}

.btn-primary svg[b-v3iw6jl8v0],
.btn-secondary svg[b-v3iw6jl8v0] {
    width: 18px;
    height: 18px;
}

.spinner-small[b-v3iw6jl8v0] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: insind-spin-b-v3iw6jl8v0 1s linear infinite;
}

@keyframes insind-spin-b-v3iw6jl8v0 {
    to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid.cols-2[b-v3iw6jl8v0],
    .form-grid.cols-3[b-v3iw6jl8v0] {
        grid-template-columns: 1fr;
    }

    .parents-grid[b-v3iw6jl8v0] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Services/Inscription/InscriptionLots.razor.rz.scp.css */
.import-form[b-owad4692yy] {
    max-width: 900px;
}

.form-header h1[b-owad4692yy] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-dark, #1F2937);
    margin: 0 0 0.25rem 0;
}

.form-header p[b-owad4692yy] {
    color: var(--text-muted, #6B7280);
    margin: 0 0 1.5rem 0;
}

/* Alerts */
.alert[b-owad4692yy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.alert.error[b-owad4692yy] {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #991B1B;
}

.alert svg[b-owad4692yy] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert-close[b-owad4692yy] {
    background: none;
    border: none;
    font-size: 1.25rem;
    cursor: pointer;
    color: inherit;
    margin-left: auto;
}

/* Form Sections */
.form-section[b-owad4692yy] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.section-header[b-owad4692yy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-dark, #1F2937);
}

.step-number[b-owad4692yy] {
    width: 28px;
    height: 28px;
    background: var(--accent, #1E90FF);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
}

/* Form Grid */
.form-grid[b-owad4692yy] {
    display: grid;
    gap: 1rem;
}

.form-grid.cols-2[b-owad4692yy] { grid-template-columns: repeat(2, 1fr); }

.form-group[b-owad4692yy] {
    display: flex;
    flex-direction: column;
}

.form-group label[b-owad4692yy] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-muted, #6B7280);
    margin-bottom: 0.375rem;
}

.form-group select[b-owad4692yy] {
    padding: 0.625rem 0.875rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.form-hint[b-owad4692yy] {
    display: block;
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: var(--text-muted, #6B7280);
    line-height: 1.35;
}

/* Modèle Box */
.modele-box[b-owad4692yy] {
    background: #F9FAFB;
    padding: 1.25rem;
    border-radius: 8px;
}

.modele-description[b-owad4692yy] {
    font-size: 0.875rem;
    color: var(--text-muted, #6B7280);
    margin: 0 0 1rem 0;
}

/* Classe dédiée : évite le conflit avec app.css .btn-outline:hover (fond bleu + notre color bleu = texte invisible). */
.import-lots-btn-model[b-owad4692yy] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: #fff;
    color: #1F2937;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background-color 0.2s;
}

.import-lots-btn-model:hover[b-owad4692yy] {
    background: rgba(30, 144, 255, 0.08);
    border-color: #1E90FF;
    color: #1873CC;
}

.import-lots-btn-model:focus-visible[b-owad4692yy] {
    outline: 2px solid #1E90FF;
    outline-offset: 2px;
}

.import-lots-btn-model svg[b-owad4692yy] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    stroke: currentColor;
}

.modele-colonnes[b-owad4692yy] {
    margin-top: 1rem;
}

.modele-colonnes-title[b-owad4692yy] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-muted, #6B7280);
    margin: 0 0 0.5rem 0;
}

.modele-colonnes code[b-owad4692yy] {
    display: block;
    padding: 0.5rem;
    background: #E5E7EB;
    border-radius: 4px;
    font-size: 0.75rem;
    word-break: break-all;
}

/* Upload Zone */
.upload-zone[b-owad4692yy] {
    border: 2px dashed #E5E7EB;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    transition: border-color 0.2s;
}

.upload-zone:hover[b-owad4692yy] {
    border-color: var(--accent, #1E90FF);
}

.upload-zone.has-file[b-owad4692yy] {
    border-color: var(--accent, #1E90FF);
    background: #EFF6FF;
}

.upload-input[b-owad4692yy] {
    display: none;
}

.upload-label[b-owad4692yy] {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.upload-label svg[b-owad4692yy] {
    width: 48px;
    height: 48px;
    color: #9CA3AF;
    margin-bottom: 1rem;
}

.upload-label p[b-owad4692yy] {
    margin: 0;
    color: var(--text-muted, #6B7280);
}

.upload-label .file-name[b-owad4692yy] {
    color: var(--accent, #1E90FF);
    font-weight: 500;
}

.upload-label .file-size[b-owad4692yy] {
    font-size: 0.8rem;
}

.upload-hint[b-owad4692yy] {
    font-size: 0.8rem;
}

/* Form Actions */
.form-actions[b-owad4692yy] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 1.5rem;
}

.btn-primary[b-owad4692yy],
.btn-secondary[b-owad4692yy] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    border: none;
}

.btn-primary[b-owad4692yy] {
    background: var(--accent, #1E90FF);
    color: white;
}

.btn-primary:hover:not(:disabled)[b-owad4692yy] {
    background: #1873CC;
}

.btn-primary:disabled[b-owad4692yy] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-secondary[b-owad4692yy] {
    background: #F3F4F6;
    color: #374151;
}

.btn-secondary:hover[b-owad4692yy] {
    background: #E5E7EB;
}

.btn-primary svg[b-owad4692yy] {
    width: 18px;
    height: 18px;
}

.spinner-small[b-owad4692yy] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: inslots-spin-b-owad4692yy 1s linear infinite;
}

@keyframes inslots-spin-b-owad4692yy {
    to { transform: rotate(360deg); }
}

/* Results */
.results-stats[b-owad4692yy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.results-stats--two[b-owad4692yy] {
    grid-template-columns: repeat(2, 1fr);
    max-width: 520px;
}

.apercu-intro[b-owad4692yy] {
    font-size: 0.875rem;
    color: var(--text-muted, #6B7280);
    margin: 0 0 1rem 0;
    line-height: 1.5;
}

.apercu-table[b-owad4692yy] {
    max-height: min(55vh, 480px);
    overflow: auto;
}

.result-stat[b-owad4692yy] {
    background: #F9FAFB;
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
}

.result-stat.success[b-owad4692yy] {
    background: #ECFDF5;
}

.result-stat.error[b-owad4692yy] {
    background: #FEF2F2;
}

.result-value[b-owad4692yy] {
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-dark, #1F2937);
}

.result-stat.success .result-value[b-owad4692yy] { color: #059669; }
.result-stat.error .result-value[b-owad4692yy] { color: #DC2626; }

.result-label[b-owad4692yy] {
    font-size: 0.8rem;
    color: var(--text-muted, #6B7280);
}

.results-table-container[b-owad4692yy] {
    overflow-x: auto;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
}

.results-table[b-owad4692yy] {
    width: 100%;
    border-collapse: collapse;
}

.results-table th[b-owad4692yy],
.results-table td[b-owad4692yy] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.875rem;
}

.results-table th[b-owad4692yy] {
    background: #F9FAFB;
    font-weight: 500;
    color: var(--text-muted, #6B7280);
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}

.results-table tr[b-owad4692yy] {
    border-bottom: 1px solid #E5E7EB;
}

.results-table tr.row-error[b-owad4692yy] {
    background: #FEF2F2;
}

.status-badge[b-owad4692yy] {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
}

.status-badge.success[b-owad4692yy] {
    background: #D1FAE5;
    color: #065F46;
}

.status-badge.error[b-owad4692yy] {
    background: #FEE2E2;
    color: #991B1B;
}

.monospace[b-owad4692yy] {
    font-family: monospace;
}

.error-message[b-owad4692yy] {
    color: #DC2626;
    font-size: 0.8rem;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid.cols-2[b-owad4692yy] {
        grid-template-columns: 1fr;
    }

    .results-stats[b-owad4692yy] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Services/Inscription/InscriptionParClasse.razor.rz.scp.css */
.loading-container[b-pq9el93st2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
}

.spinner[b-pq9el93st2] {
    width: 48px;
    height: 48px;
    border: 3px solid #E5E7EB;
    border-top-color: var(--accent, #1E90FF);
    border-radius: 50%;
    animation: inspc-spin-b-pq9el93st2 1s linear infinite;
}

@keyframes inspc-spin-b-pq9el93st2 {
    to { transform: rotate(360deg); }
}

.loading-container p[b-pq9el93st2] {
    margin-top: 1rem;
    color: var(--text-muted, #6B7280);
}

/* Filters */
.filters-box[b-pq9el93st2] {
    background: white;
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.filter-group[b-pq9el93st2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.filter-group label[b-pq9el93st2] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-muted, #6B7280);
}

.filter-group select[b-pq9el93st2] {
    padding: 0.5rem 1rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    min-width: 200px;
}

/* Table */
.classes-table-container[b-pq9el93st2] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 1rem;
}

.classes-table[b-pq9el93st2] {
    width: 100%;
    border-collapse: collapse;
}

.classes-table th[b-pq9el93st2],
.classes-table td[b-pq9el93st2] {
    padding: 0.875rem 1rem;
    text-align: left;
}

.classes-table th[b-pq9el93st2] {
    background: #F9FAFB;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted, #6B7280);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.classes-table tr[b-pq9el93st2] {
    border-bottom: 1px solid #E5E7EB;
}

.classes-table tr:last-child[b-pq9el93st2] {
    border-bottom: none;
}

.classe-name[b-pq9el93st2] {
    font-weight: 500;
    color: var(--text-dark, #1F2937);
}

.count-cell[b-pq9el93st2] {
    font-weight: 600;
    color: var(--accent, #1E90FF);
}

.available-badge[b-pq9el93st2] {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background: #D1FAE5;
    color: #065F46;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.full-badge[b-pq9el93st2] {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background: #FEE2E2;
    color: #991B1B;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.progress-cell[b-pq9el93st2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.progress-bar-mini[b-pq9el93st2] {
    width: 60px;
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
}

.progress-fill[b-pq9el93st2] {
    height: 100%;
    border-radius: 3px;
}

.progress-fill.green[b-pq9el93st2] { background: #10B981; }
.progress-fill.orange[b-pq9el93st2] { background: #F59E0B; }
.progress-fill.red[b-pq9el93st2] { background: #EF4444; }

.progress-percent[b-pq9el93st2] {
    font-size: 0.8rem;
    color: var(--text-muted, #6B7280);
    min-width: 35px;
}

.action-link[b-pq9el93st2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #EFF6FF;
    border-radius: 6px;
    color: var(--accent, #1E90FF);
    transition: all 0.2s;
}

.action-link:hover[b-pq9el93st2] {
    background: var(--accent, #1E90FF);
    color: white;
}

.action-link svg[b-pq9el93st2] {
    width: 16px;
    height: 16px;
}

.empty-cell[b-pq9el93st2] {
    text-align: center;
    color: var(--text-muted, #6B7280);
    padding: 2rem !important;
}

/* Summary */
.summary-grid[b-pq9el93st2] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.summary-item[b-pq9el93st2] {
    background: white;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.summary-label[b-pq9el93st2] {
    font-size: 0.8rem;
    color: var(--text-muted, #6B7280);
}

.summary-value[b-pq9el93st2] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-dark, #1F2937);
}

.summary-value.available[b-pq9el93st2] {
    color: #10B981;
}

/* Responsive */
@media (max-width: 1024px) {
    .summary-grid[b-pq9el93st2] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .summary-grid[b-pq9el93st2] {
        grid-template-columns: 1fr;
    }

    .classes-table-container[b-pq9el93st2] {
        overflow-x: auto;
    }
}
/* /Components/Pages/Services/Paiement/AntidatesPaiement.razor.rz.scp.css */
.antidates-page[b-d4bovhjwmq] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Info Banner */
.info-banner[b-d4bovhjwmq] {
    display: flex;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    border-radius: 12px;
}

.info-banner svg[b-d4bovhjwmq] {
    width: 24px;
    height: 24px;
    color: #D97706;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.info-banner strong[b-d4bovhjwmq] { color: #92400E; }
.info-banner p[b-d4bovhjwmq] { font-size: 0.875rem; color: #A16207; margin: 0.25rem 0 0; }

/* Filter Tabs */
.filter-tabs[b-d4bovhjwmq] {
    display: flex;
    gap: 0.5rem;
    background: white;
    padding: 0.5rem;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    width: fit-content;
}

.filter-tabs button[b-d4bovhjwmq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border: none;
    background: none;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6B7280;
    cursor: pointer;
    transition: all 0.15s;
}

.filter-tabs button:hover[b-d4bovhjwmq] { background: #F3F4F6; }
.filter-tabs button.active[b-d4bovhjwmq] { background: var(--primary, #071A39); color: white; }
.filter-tabs button.active .badge[b-d4bovhjwmq] { background: white; color: var(--primary, #071A39); }

.filter-tabs .badge[b-d4bovhjwmq] {
    padding: 0.125rem 0.5rem;
    background: #F59E0B;
    color: white;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
}

/* Loading */
.loading-container[b-d4bovhjwmq] {
    display: flex;
    justify-content: center;
    padding: 4rem;
    background: white;
    border-radius: 12px;
}

.spinner[b-d4bovhjwmq] {
    width: 36px;
    height: 36px;
    border: 3px solid #E5E7EB;
    border-top-color: #10B981;
    border-radius: 50%;
    animation: payanti-spin-b-d4bovhjwmq 0.8s linear infinite;
}

@keyframes payanti-spin-b-d4bovhjwmq { to { transform: rotate(360deg); } }

/* Empty State */
.empty-state[b-d4bovhjwmq] {
    text-align: center;
    padding: 4rem 2rem;
    background: white;
    border-radius: 12px;
}

.empty-state svg[b-d4bovhjwmq] { width: 64px; height: 64px; color: #D1D5DB; margin-bottom: 1rem; }
.empty-state p[b-d4bovhjwmq] { color: #6B7280; margin: 0; }

/* List Card */
.list-card[b-d4bovhjwmq] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.table-wrapper[b-d4bovhjwmq] { overflow-x: auto; }

table[b-d4bovhjwmq] { width: 100%; border-collapse: collapse; }

th[b-d4bovhjwmq], td[b-d4bovhjwmq] { padding: 0.75rem 1rem; text-align: left; font-size: 0.875rem; }
th[b-d4bovhjwmq] { background: #F9FAFB; font-weight: 600; color: #4B5563; border-bottom: 1px solid #E5E7EB; }
td[b-d4bovhjwmq] { border-bottom: 1px solid #F3F4F6; }
tr:hover td[b-d4bovhjwmq] { background: #F9FAFB; }

.text-right[b-d4bovhjwmq] { text-align: right; }

.receipt-number[b-d4bovhjwmq] { font-family: monospace; font-weight: 500; }

.student-cell[b-d4bovhjwmq] { display: flex; flex-direction: column; }
.student-cell .name[b-d4bovhjwmq] { font-weight: 500; }
.student-cell .matricule[b-d4bovhjwmq] { font-size: 0.75rem; color: #6B7280; }

.amount[b-d4bovhjwmq] { font-weight: 600; }

.date-antidate[b-d4bovhjwmq] { color: #D97706; font-weight: 500; }
.date-encode[b-d4bovhjwmq] { display: block; font-size: 0.8rem; }
.encode-par[b-d4bovhjwmq] { display: block; font-size: 0.7rem; color: #6B7280; }

.status-approved[b-d4bovhjwmq] { display: flex; flex-direction: column; gap: 0.25rem; }
.approved-by[b-d4bovhjwmq] { font-size: 0.7rem; color: #6B7280; }

.status-badge[b-d4bovhjwmq] {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-badge.success[b-d4bovhjwmq] { background: #D1FAE5; color: #065F46; }
.status-badge.warning[b-d4bovhjwmq] { background: #FEF3C7; color: #92400E; }

.actions-cell[b-d4bovhjwmq] { display: flex; gap: 0.25rem; }

.action-btn[b-d4bovhjwmq] {
    padding: 0.5rem;
    border: none;
    border-radius: 8px;
    background: none;
    cursor: pointer;
    transition: all 0.15s;
}

.action-btn:disabled[b-d4bovhjwmq] { opacity: 0.5; cursor: not-allowed; }
.action-btn svg[b-d4bovhjwmq] { width: 18px; height: 18px; }

.action-btn.green[b-d4bovhjwmq] { color: #10B981; }
.action-btn.green:hover:not(:disabled)[b-d4bovhjwmq] { background: #D1FAE5; }

.action-btn.red[b-d4bovhjwmq] { color: #EF4444; }
.action-btn.red:hover:not(:disabled)[b-d4bovhjwmq] { background: #FEE2E2; }

/* Modal */
.modal-overlay[b-d4bovhjwmq] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.modal[b-d4bovhjwmq] {
    background: white;
    border-radius: 16px;
    max-width: 420px;
    width: 100%;
    overflow: hidden;
}

.modal-header[b-d4bovhjwmq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.modal-header h2[b-d4bovhjwmq] { font-size: 1.125rem; margin: 0; }
.close-btn[b-d4bovhjwmq] { background: none; border: none; font-size: 1.25rem; color: #9CA3AF; cursor: pointer; }

.modal-body[b-d4bovhjwmq] { padding: 1.5rem; }

.form-group[b-d4bovhjwmq] { display: flex; flex-direction: column; gap: 0.5rem; }
.form-group label[b-d4bovhjwmq] { font-size: 0.875rem; font-weight: 500; }
.required[b-d4bovhjwmq] { color: #EF4444; }

.form-group textarea[b-d4bovhjwmq] {
    padding: 0.75rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    resize: vertical;
}

.form-group textarea:focus[b-d4bovhjwmq] {
    outline: none;
    border-color: var(--accent, #1E90FF);
}

.modal-footer[b-d4bovhjwmq] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #E5E7EB;
}

.btn-secondary[b-d4bovhjwmq], .btn-danger[b-d4bovhjwmq] {
    padding: 0.625rem 1.25rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-secondary[b-d4bovhjwmq] {
    background: white;
    border: 1px solid #E5E7EB;
    color: #4B5563;
}

.btn-secondary:hover[b-d4bovhjwmq] { background: #F9FAFB; }

.btn-danger[b-d4bovhjwmq] {
    background: #EF4444;
    border: none;
    color: white;
}

.btn-danger:hover:not(:disabled)[b-d4bovhjwmq] { background: #DC2626; }
.btn-danger:disabled[b-d4bovhjwmq] { opacity: 0.5; cursor: not-allowed; }
/* /Components/Pages/Services/Paiement/ArrieresPaiement.razor.rz.scp.css */
.arrieres-page[b-52216yksdv] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.filters-card[b-52216yksdv] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.filters-card h3[b-52216yksdv] { margin: 0 0 1rem; font-size: 1rem; font-weight: 600; color: #071A39; }
.filters-grid[b-52216yksdv] { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.filter-group label[b-52216yksdv] { display: block; font-size: 0.8rem; font-weight: 500; color: #4B5563; margin-bottom: 0.25rem; }
.filter-group .input[b-52216yksdv] { width: 100%; padding: 0.5rem 0.75rem; border: 1px solid #E5E7EB; border-radius: 8px; font-size: 0.875rem; }
.filter-hint[b-52216yksdv] { font-size: 0.7rem; color: #6B7280; margin: 0.25rem 0 0; }
.required[b-52216yksdv] { color: #EF4444; }

.frais-amounts[b-52216yksdv] { display: flex; flex-direction: column; align-items: flex-end; gap: 0.25rem; }
.btn-payer-frais[b-52216yksdv] {
    display: inline-block;
    margin-top: 0.25rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: #1E90FF;
    background: #EFF6FF;
    border-radius: 6px;
    text-decoration: none;
}
.btn-payer-frais:hover[b-52216yksdv] { background: #DBEAFE; color: #1873CC; }

/* Stats Row */
.stats-row[b-52216yksdv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.stat-card[b-52216yksdv] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.stat-card.red[b-52216yksdv] { border-left: 4px solid #EF4444; }
.stat-card.orange[b-52216yksdv] { border-left: 4px solid #F59E0B; }
.stat-card.blue[b-52216yksdv] { border-left: 4px solid #3B82F6; }

.stat-icon[b-52216yksdv] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-52216yksdv] { width: 22px; height: 22px; }

.stat-card.red .stat-icon[b-52216yksdv] { background: #FEE2E2; color: #EF4444; }
.stat-card.orange .stat-icon[b-52216yksdv] { background: #FEF3C7; color: #F59E0B; }
.stat-card.blue .stat-icon[b-52216yksdv] { background: #DBEAFE; color: #3B82F6; }

.stat-content[b-52216yksdv] { display: flex; flex-direction: column; }
.stat-value[b-52216yksdv] { font-size: 1.5rem; font-weight: 700; color: #1F2937; line-height: 1; }
.stat-currency[b-52216yksdv] { font-size: 0.8rem; font-weight: 600; color: #6B7280; }
.stat-label[b-52216yksdv] { font-size: 0.8rem; color: #6B7280; margin-top: 0.25rem; }

/* Forcer la lisibilité du texte des stats (override layout) */
.arrieres-page .stat-card .stat-value[b-52216yksdv] { color: #071A39; }
.arrieres-page .stat-card .stat-currency[b-52216yksdv] { color: #374151; }
.arrieres-page .stat-card .stat-label[b-52216yksdv] { color: #374151; }

/* Loading */
.loading-container[b-52216yksdv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4rem;
    background: white;
    border-radius: 12px;
    color: #6B7280;
}

.spinner[b-52216yksdv] {
    width: 36px;
    height: 36px;
    border: 3px solid #E5E7EB;
    border-top-color: #10B981;
    border-radius: 50%;
    animation: payarr-spin-b-52216yksdv 0.8s linear infinite;
    margin-bottom: 1rem;
}

@keyframes payarr-spin-b-52216yksdv { to { transform: rotate(360deg); } }

/* Empty State */
.empty-state[b-52216yksdv] {
    text-align: center;
    padding: 4rem 2rem;
    background: white;
    border-radius: 12px;
}

.empty-state.success svg[b-52216yksdv] { color: #10B981; }
.empty-state svg[b-52216yksdv] { width: 64px; height: 64px; margin-bottom: 1rem; }
.empty-state h3[b-52216yksdv] { font-size: 1.125rem; color: #1F2937; margin: 0 0 0.5rem; }
.empty-state p[b-52216yksdv] { color: #6B7280; margin: 0; }

/* List Card */
.list-card[b-52216yksdv] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.list-header[b-52216yksdv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.list-header h2[b-52216yksdv] { font-size: 1rem; font-weight: 600; margin: 0; }

.btn-action[b-52216yksdv] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    background: var(--accent, #1E90FF);
    color: white;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    transition: transform 0.15s, background 0.2s;
}

.btn-action:hover[b-52216yksdv] { transform: translateY(-1px); background: #1873CC; }
.btn-action svg[b-52216yksdv] { width: 14px; height: 14px; }

/* Table */
.table-wrapper[b-52216yksdv] { overflow-x: auto; }

table[b-52216yksdv] { width: 100%; border-collapse: collapse; }

th[b-52216yksdv], td[b-52216yksdv] { padding: 0.75rem 1rem; text-align: left; font-size: 0.875rem; }
th[b-52216yksdv] { background: #F9FAFB; font-weight: 600; color: #4B5563; border-bottom: 1px solid #E5E7EB; }
td[b-52216yksdv] { border-bottom: 1px solid #F3F4F6; }
tr:hover td[b-52216yksdv] { background: #F9FAFB; }

.text-right[b-52216yksdv] { text-align: right; }

.student-cell[b-52216yksdv] { display: flex; align-items: center; gap: 0.75rem; }
.avatar[b-52216yksdv] { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 0.875rem; }
.avatar.red[b-52216yksdv] { background: #FEE2E2; color: #EF4444; }
.student-cell .info[b-52216yksdv] { display: flex; flex-direction: column; }
.student-cell .name[b-52216yksdv] { font-weight: 500; }
.student-cell .matricule[b-52216yksdv] { font-size: 0.75rem; color: #6B7280; }

.amount[b-52216yksdv] { font-weight: 500; }
.amount.green[b-52216yksdv] { color: #10B981; }
.amount.red[b-52216yksdv] { color: #EF4444; }
.amount.bold[b-52216yksdv] { font-weight: 700; }

.actions-cell[b-52216yksdv] { display: flex; gap: 0.25rem; }

.action-btn[b-52216yksdv] {
    padding: 0.375rem;
    border-radius: 6px;
    border: none;
    background: none;
    color: #9CA3AF;
    cursor: pointer;
    transition: all 0.15s;
}

.action-btn:hover[b-52216yksdv] { background: #F3F4F6; color: #4B5563; }
.action-btn.primary[b-52216yksdv] { color: var(--accent, #1E90FF); }
.action-btn.primary:hover[b-52216yksdv] { background: #DBEAFE; color: #1873CC; }
.action-btn svg[b-52216yksdv] { width: 16px; height: 16px; }

/* Pagination */
.pagination[b-52216yksdv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
}

.pagination-info[b-52216yksdv] { font-size: 0.8rem; color: #6B7280; }

.pagination-buttons[b-52216yksdv] { display: flex; gap: 0.5rem; }
.pagination-buttons button[b-52216yksdv] {
    padding: 0.5rem 1rem;
    border: 1px solid #E5E7EB;
    background: white;
    border-radius: 6px;
    font-size: 0.8rem;
    cursor: pointer;
}

.pagination-buttons button:hover:not(:disabled)[b-52216yksdv] { border-color: var(--accent, #1E90FF); }
.pagination-buttons button:disabled[b-52216yksdv] { opacity: 0.5; cursor: not-allowed; }

/* Modal */
.modal-overlay[b-52216yksdv] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.modal[b-52216yksdv] {
    background: white;
    border-radius: 16px;
    max-width: 480px;
    width: 100%;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.modal-header[b-52216yksdv] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.modal-header h2[b-52216yksdv] { font-size: 1.125rem; margin: 0; }
.modal-header p[b-52216yksdv] { font-size: 0.8rem; color: #6B7280; margin: 0.25rem 0 0; }
.close-btn[b-52216yksdv] { background: none; border: none; font-size: 1.25rem; color: #9CA3AF; cursor: pointer; }
.close-btn:hover[b-52216yksdv] { color: #4B5563; }

.modal-body[b-52216yksdv] {
    padding: 1.5rem;
    overflow-y: auto;
}

.modal-body h3[b-52216yksdv] { font-size: 0.9rem; font-weight: 600; margin: 0 0 1rem; }

.frais-list[b-52216yksdv] { display: flex; flex-direction: column; gap: 0.75rem; }

.frais-item[b-52216yksdv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.frais-info[b-52216yksdv] { display: flex; flex-direction: column; }
.frais-name[b-52216yksdv] { font-weight: 500; font-size: 0.875rem; }
.frais-year[b-52216yksdv] { font-size: 0.75rem; color: #6B7280; }

.frais-amounts[b-52216yksdv] { text-align: right; }
.frais-reste[b-52216yksdv] { display: block; font-weight: 600; color: #EF4444; }
.frais-total[b-52216yksdv] { font-size: 0.75rem; color: #6B7280; }

.total-box[b-52216yksdv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.5rem;
    padding: 1rem;
    background: #FEE2E2;
    border-radius: 10px;
    border: 1px solid #FECACA;
}

.total-box span:first-child[b-52216yksdv] { font-weight: 500; color: #991B1B; }
.total-amount[b-52216yksdv] { font-size: 1.25rem; font-weight: 700; color: #EF4444; }

.modal-footer[b-52216yksdv] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #E5E7EB;
}

.btn-secondary[b-52216yksdv] {
    padding: 0.625rem 1.25rem;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    cursor: pointer;
}

.btn-secondary:hover[b-52216yksdv] { background: #F9FAFB; }

.btn-primary[b-52216yksdv] {
    padding: 0.625rem 1.25rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn-primary:hover[b-52216yksdv] { background: var(--zanura-primary-dark, #1873CC); }
/* /Components/Pages/Services/Paiement/ConsulterPaiements.razor.rz.scp.css */
.consulter-paiements[b-oy3t8scqjj] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.consulter-page-header[b-oy3t8scqjj] {
    margin: 0;
    padding: 0 0 0.25rem;
}

.consulter-page-title[b-oy3t8scqjj] {
    margin: 0 0 0.35rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    letter-spacing: -0.02em;
}

.consulter-page-subtitle[b-oy3t8scqjj] {
    margin: 0;
    font-size: 0.9375rem;
    color: #6b7280;
    line-height: 1.45;
}

/* Filters */
.filters-card[b-oy3t8scqjj] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.filters-grid[b-oy3t8scqjj] {
    display: grid;
    grid-template-columns: 2fr repeat(4, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

@media (max-width: 1200px) {
    .filters-grid[b-oy3t8scqjj] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .filters-grid[b-oy3t8scqjj] {
        grid-template-columns: 1fr 1fr;
    }
}

.filter-group[b-oy3t8scqjj] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.filter-group label[b-oy3t8scqjj] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #6B7280;
}

.filter-group select[b-oy3t8scqjj],
.filter-group input[type="date"][b-oy3t8scqjj] {
    padding: 0.5rem 0.75rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    background: white;
}

.filter-group select:focus[b-oy3t8scqjj],
.filter-group input:focus[b-oy3t8scqjj] {
    outline: none;
    border-color: var(--accent, #1E90FF);
}

.search-input[b-oy3t8scqjj] {
    position: relative;
}

.search-input svg[b-oy3t8scqjj] {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: #9CA3AF;
}

.search-input input[b-oy3t8scqjj] {
    width: 100%;
    padding: 0.5rem 0.75rem 0.5rem 2.25rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.btn-reset[b-oy3t8scqjj] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    background: #F3F4F6;
    border: none;
    border-radius: 8px;
    font-size: 0.8rem;
    color: #4B5563;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-reset:hover[b-oy3t8scqjj] { background: #E5E7EB; }
.btn-reset svg[b-oy3t8scqjj] { width: 14px; height: 14px; }

/* Quick Stats */
.quick-stats[b-oy3t8scqjj] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 640px) {
    .quick-stats[b-oy3t8scqjj] { grid-template-columns: repeat(2, 1fr); }
}

.quick-stat[b-oy3t8scqjj] {
    background: white;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.375rem;
    min-height: 5.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-left: 4px solid;
}

.quick-stat.blue[b-oy3t8scqjj] { border-color: #3B82F6; }
.quick-stat.green[b-oy3t8scqjj] { border-color: #10B981; }
.quick-stat.yellow[b-oy3t8scqjj] { border-color: #F59E0B; }
.quick-stat.red[b-oy3t8scqjj] { border-color: #EF4444; }

.qs-value[b-oy3t8scqjj] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #111827;
}

.qs-label[b-oy3t8scqjj] {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
    color: #374151;
    letter-spacing: 0.02em;
}

/* List Card */
.list-card[b-oy3t8scqjj] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.list-header[b-oy3t8scqjj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.list-header h2[b-oy3t8scqjj] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: #1F2937;
}

.list-header .count[b-oy3t8scqjj] {
    font-size: 0.8rem;
    color: #6B7280;
}

.loading[b-oy3t8scqjj] {
    display: flex;
    justify-content: center;
    padding: 3rem;
}

.spinner[b-oy3t8scqjj] {
    width: 36px;
    height: 36px;
    border: 3px solid #E5E7EB;
    border-top-color: #10B981;
    border-radius: 50%;
    animation: paylist-spin-b-oy3t8scqjj 0.8s linear infinite;
}

@keyframes paylist-spin-b-oy3t8scqjj { to { transform: rotate(360deg); } }

/* Table */
.table-wrapper[b-oy3t8scqjj] {
    overflow-x: auto;
}

table[b-oy3t8scqjj] {
    width: 100%;
    border-collapse: collapse;
}

th[b-oy3t8scqjj], td[b-oy3t8scqjj] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.875rem;
}

th[b-oy3t8scqjj] {
    background: #F9FAFB;
    font-weight: 600;
    color: #4B5563;
    border-bottom: 1px solid #E5E7EB;
    white-space: nowrap;
}

td[b-oy3t8scqjj] {
    border-bottom: 1px solid #F3F4F6;
    color: #1F2937;
}

tr:hover td[b-oy3t8scqjj] { background: #F9FAFB; }

.text-right[b-oy3t8scqjj] { text-align: right; }

.receipt-number[b-oy3t8scqjj] {
    font-family: monospace;
    font-weight: 600;
    color: var(--accent, #1E90FF);
}

.badge[b-oy3t8scqjj] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 500;
    margin-left: 0.5rem;
}

.badge-yellow[b-oy3t8scqjj] { background: #FEF3C7; color: #92400E; }

.date-main[b-oy3t8scqjj] { display: block; font-weight: 500; }
.date-time[b-oy3t8scqjj] { display: block; font-size: 0.75rem; color: #6B7280; }

.student-cell[b-oy3t8scqjj] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.avatar[b-oy3t8scqjj] {
    width: 32px;
    height: 32px;
    background: #EFF6FF;
    color: #3B82F6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 600;
}

.student-cell .info[b-oy3t8scqjj] { display: flex; flex-direction: column; }
.student-cell .name[b-oy3t8scqjj] { font-weight: 500; }
.student-cell .matricule[b-oy3t8scqjj] { font-size: 0.75rem; color: #6B7280; }

.frais-code[b-oy3t8scqjj] {
    display: inline-block;
    background: #F3F4F6;
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    font-family: monospace;
    font-size: 0.75rem;
    margin-right: 0.375rem;
}

.frais-libelle[b-oy3t8scqjj] { color: #6B7280; }

.amount[b-oy3t8scqjj] { display: block; font-weight: 600; }
.amount-converted[b-oy3t8scqjj] { display: block; font-size: 0.75rem; color: #6B7280; }

.status-badge[b-oy3t8scqjj] {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-success[b-oy3t8scqjj] { background: #D1FAE5; color: #065F46; }
.status-warning[b-oy3t8scqjj] { background: #FEF3C7; color: #92400E; }
.status-danger[b-oy3t8scqjj] { background: #FEE2E2; color: #991B1B; }
.status-default[b-oy3t8scqjj] { background: #F3F4F6; color: #4B5563; }

.actions-cell[b-oy3t8scqjj] {
    display: flex;
    gap: 0.25rem;
}

.action-btn[b-oy3t8scqjj] {
    padding: 0.375rem;
    border-radius: 6px;
    color: #9CA3AF;
    transition: all 0.15s;
}

.action-btn:hover[b-oy3t8scqjj] { background: #F3F4F6; color: #4B5563; }
.action-btn.print:hover[b-oy3t8scqjj] { background: #D1FAE5; color: #059669; }
.action-btn svg[b-oy3t8scqjj] { width: 16px; height: 16px; }

/* Empty State */
.empty-state[b-oy3t8scqjj] {
    text-align: center;
    padding: 4rem 2rem;
}

.empty-state svg[b-oy3t8scqjj] {
    width: 64px;
    height: 64px;
    color: #D1D5DB;
    margin-bottom: 1rem;
}

.empty-state p[b-oy3t8scqjj] {
    color: #6B7280;
    margin-bottom: 1.5rem;
}

.btn-primary[b-oy3t8scqjj] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border-radius: 10px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.15s;
}

.btn-primary:hover[b-oy3t8scqjj] { background: var(--zanura-primary-dark, #1873CC); transform: translateY(-1px); }
/* /Components/Pages/Services/Paiement/NouveauPaiement.razor.rz.scp.css */
.session-caisse-banner[b-6u3tn9z2f1] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
    background: #fffbeb;
    border: 2px solid #f59e0b;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(245, 158, 11, 0.12);
}

.session-caisse-banner-icon[b-6u3tn9z2f1] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #f59e0b;
    color: #fff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.session-caisse-banner-body[b-6u3tn9z2f1] {
    flex: 1;
    min-width: 0;
}

.session-caisse-banner-body strong[b-6u3tn9z2f1] { color: #92400e; }

.session-caisse-banner-body p[b-6u3tn9z2f1] {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #78350f;
}

.session-caisse-banner-hint[b-6u3tn9z2f1] {
    font-size: 0.85rem !important;
    color: #92400e !important;
}

.session-caisse-btn[b-6u3tn9z2f1] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.75rem;
    padding: 0.5rem 1rem;
    background: #1E90FF;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 8px;
    text-decoration: none;
}

.session-caisse-btn:hover[b-6u3tn9z2f1] {
    filter: brightness(1.05);
}

.session-caisse-action[b-6u3tn9z2f1] {
    margin: -0.5rem 0 1rem;
}

.nouveau-paiement[b-6u3tn9z2f1] {
    max-width: 1200px;
}

.loading-container[b-6u3tn9z2f1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 4rem;
    color: var(--text-muted, #6B7280);
}

.spinner[b-6u3tn9z2f1], .search-spinner[b-6u3tn9z2f1], .btn-spinner[b-6u3tn9z2f1] {
    width: 24px;
    height: 24px;
    border: 2px solid #E5E7EB;
    border-top-color: #10B981;
    border-radius: 50%;
    animation: paynew-spin-b-6u3tn9z2f1 0.8s linear infinite;
}

.search-spinner[b-6u3tn9z2f1] { width: 18px; height: 18px; }
.btn-spinner[b-6u3tn9z2f1] { width: 16px; height: 16px; border-width: 2px; border-top-color: white; }

@keyframes paynew-spin-b-6u3tn9z2f1 { to { transform: rotate(360deg); } }

/* Alerts */
.alert[b-6u3tn9z2f1] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.alert svg[b-6u3tn9z2f1] { width: 20px; height: 20px; flex-shrink: 0; }
.alert button[b-6u3tn9z2f1] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: 0.7; }
.alert button:hover[b-6u3tn9z2f1] { opacity: 1; }

.alert-error[b-6u3tn9z2f1] {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #991B1B;
}

.alert-success[b-6u3tn9z2f1] {
    background: #F0FDF4;
    border: 1px solid #BBF7D0;
    color: #166534;
}

.input.readonly[b-6u3tn9z2f1] { background: #F3F4F6; cursor: not-allowed; }
.hint-text[b-6u3tn9z2f1] { font-size: 0.75rem; color: #6B7280; margin-top: 0.25rem; display: block; }
.mode-arrieres-hint[b-6u3tn9z2f1] { margin: 0 0 0.75rem; font-size: 0.875rem; color: #4B5563; }
.selected-student.locked .clear-btn[b-6u3tn9z2f1] { display: none; }

/* Form Layout */
.form-layout[b-6u3tn9z2f1] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 1.5rem;
}

@media (max-width: 1024px) {
    .form-layout[b-6u3tn9z2f1] {
        grid-template-columns: 1fr;
    }
    .form-sidebar[b-6u3tn9z2f1] { order: -1; }
}

/* Form Sections */
.form-section[b-6u3tn9z2f1] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.section-header[b-6u3tn9z2f1] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.section-header h2[b-6u3tn9z2f1] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--text-dark, #1F2937);
}

.section-icon[b-6u3tn9z2f1] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-icon svg[b-6u3tn9z2f1] { width: 18px; height: 18px; color: white; }
.section-icon.blue[b-6u3tn9z2f1] { background: linear-gradient(135deg, #3B82F6, #1D4ED8); }
.section-icon.green[b-6u3tn9z2f1] { background: linear-gradient(135deg, #10B981, #059669); }

/* Search */
.search-box[b-6u3tn9z2f1] {
    position: relative;
    margin-bottom: 1rem;
}

.search-box input[b-6u3tn9z2f1] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.search-box input:focus[b-6u3tn9z2f1] {
    outline: none;
    border-color: var(--accent, #1E90FF);
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.1);
}

.search-box .search-spinner[b-6u3tn9z2f1] {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.search-results[b-6u3tn9z2f1] {
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    max-height: 200px;
    overflow-y: auto;
    margin-bottom: 1rem;
}

.result-item[b-6u3tn9z2f1] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    border-bottom: 1px solid #F3F4F6;
    transition: background 0.15s;
}

.result-item:last-child[b-6u3tn9z2f1] { border-bottom: none; }
.result-item:hover[b-6u3tn9z2f1] { background: #F9FAFB; }
.result-item.selected[b-6u3tn9z2f1] { background: #EFF6FF; border-left: 3px solid var(--accent, #1E90FF); }

.result-avatar[b-6u3tn9z2f1] {
    width: 36px;
    height: 36px;
    background: #E5E7EB;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
}

.result-info[b-6u3tn9z2f1] { flex: 1; }
.result-name[b-6u3tn9z2f1] { display: block; font-weight: 500; font-size: 0.875rem; }
.result-meta[b-6u3tn9z2f1] { display: block; font-size: 0.75rem; color: #6B7280; }

.result-badge[b-6u3tn9z2f1] {
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 500;
}

.badge-green[b-6u3tn9z2f1] { background: #D1FAE5; color: #065F46; }
.badge-yellow[b-6u3tn9z2f1] { background: #FEF3C7; color: #92400E; }
.badge-blue[b-6u3tn9z2f1] { background: #DBEAFE; color: #1E40AF; }
.badge-gray[b-6u3tn9z2f1] { background: #F3F4F6; color: #4B5563; }

/* Selected Student */
.selected-student[b-6u3tn9z2f1] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
    border-radius: 10px;
    border: 1px solid #93C5FD;
}

.student-avatar[b-6u3tn9z2f1] {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #3B82F6, #1D4ED8);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

.student-info[b-6u3tn9z2f1] { flex: 1; }
.student-name[b-6u3tn9z2f1] { display: block; font-weight: 600; font-size: 0.9375rem; color: #1F2937; }
.student-meta[b-6u3tn9z2f1] { display: block; font-size: 0.8rem; color: #6B7280; }

.clear-btn[b-6u3tn9z2f1] {
    background: none;
    border: none;
    color: #9CA3AF;
    cursor: pointer;
    font-size: 1.25rem;
    padding: 0.25rem;
}

.clear-btn:hover[b-6u3tn9z2f1] { color: #4B5563; }

.mb-3[b-6u3tn9z2f1] { margin-bottom: 0.75rem; }
.mt-2[b-6u3tn9z2f1] { margin-top: 0.5rem; }
.mt-3[b-6u3tn9z2f1] { margin-top: 0.75rem; }
.input-sm[b-6u3tn9z2f1] { padding: 0.35rem 0.5rem; font-size: 0.875rem; }
.panier-list[b-6u3tn9z2f1] { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; }
.panier-item[b-6u3tn9z2f1] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem; background: #F9FAFB; border-radius: 8px; border: 1px solid #E5E7EB; }
.panier-check[b-6u3tn9z2f1] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; flex: 1; }
.panier-check input[b-6u3tn9z2f1] { width: 1rem; height: 1rem; }
.panier-libelle[b-6u3tn9z2f1] { font-weight: 500; font-size: 0.9rem; }
.panier-montant[b-6u3tn9z2f1] { display: flex; flex-direction: column; align-items: flex-end; gap: 0.25rem; }
.panier-reste[b-6u3tn9z2f1] { font-size: 0.75rem; color: #6B7280; }
.panier-montant-label[b-6u3tn9z2f1] { font-size: 0.7rem; font-weight: 500; color: #374151; }
.panier-input-montant[b-6u3tn9z2f1] { width: 130px; text-align: right; }
.panier-warning[b-6u3tn9z2f1] { font-size: 0.7rem; color: #D97706; }
.panier-total[b-6u3tn9z2f1] { display: flex; justify-content: space-between; align-items: center; padding: 1rem; background: #D1FAE5; border-radius: 10px; border: 1px solid #A7F3D0; font-size: 1rem; }
.panier-total strong[b-6u3tn9z2f1] { color: #047857; }

/* Form Grid */
.form-grid[b-6u3tn9z2f1] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 640px) {
    .form-grid[b-6u3tn9z2f1] { grid-template-columns: 1fr; }
}

.form-group[b-6u3tn9z2f1] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.form-group.full-width[b-6u3tn9z2f1] { grid-column: 1 / -1; }

.form-group label[b-6u3tn9z2f1] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.required[b-6u3tn9z2f1] { color: #EF4444; }

.input[b-6u3tn9z2f1] {
    padding: 0.625rem 0.75rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.input:focus[b-6u3tn9z2f1] {
    outline: none;
    border-color: var(--accent, #1E90FF);
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.1);
}

.input-with-suffix[b-6u3tn9z2f1] {
    display: flex;
}

.input-with-suffix .input[b-6u3tn9z2f1] {
    flex: 1;
    border-right: none;
    border-radius: 8px 0 0 8px;
}

.suffix-select[b-6u3tn9z2f1] {
    padding: 0.625rem;
    border: 1px solid #E5E7EB;
    border-radius: 0 8px 8px 0;
    background: #F9FAFB;
    font-weight: 500;
    color: #4B5563;
}

.error-text[b-6u3tn9z2f1] { color: #EF4444; font-size: 0.75rem; }
.warning-text[b-6u3tn9z2f1] { color: #D97706; font-size: 0.75rem; }

/* Arriérés Section */
.arrieres-section[b-6u3tn9z2f1] {
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    border-radius: 10px;
    padding: 1rem;
    margin-top: 1rem;
}

.checkbox-label[b-6u3tn9z2f1] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.875rem;
    color: #92400E;
}

.arrieres-select[b-6u3tn9z2f1] {
    margin-top: 1rem;
}

.arrieres-select label[b-6u3tn9z2f1] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #92400E;
    margin-bottom: 0.375rem;
}

.option-multiple.mt-3[b-6u3tn9z2f1] { margin-top: 1rem; }
.option-multiple.mb-3[b-6u3tn9z2f1] { margin-bottom: 1rem; }
.btn-link-multiple[b-6u3tn9z2f1] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    background: none;
    border: none;
    font-size: 0.875rem;
    color: var(--accent, #1E90FF);
    cursor: pointer;
    text-decoration: none;
}
.btn-link-multiple:hover[b-6u3tn9z2f1] {
    text-decoration: underline;
}
.btn-link-multiple svg[b-6u3tn9z2f1] {
    width: 18px;
    height: 18px;
}

/* Form Actions */
.form-actions[b-6u3tn9z2f1] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1rem;
}

.btn-primary[b-6u3tn9z2f1], .btn-secondary[b-6u3tn9z2f1] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-primary[b-6u3tn9z2f1] {
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
}

.btn-primary:hover:not(:disabled)[b-6u3tn9z2f1] {
    background: var(--zanura-primary-dark, #1873CC);
    transform: translateY(-1px);
}

.btn-primary:disabled[b-6u3tn9z2f1] { opacity: 0.7; cursor: not-allowed; }

.btn-primary svg[b-6u3tn9z2f1] { width: 18px; height: 18px; }

.btn-secondary[b-6u3tn9z2f1] {
    background: white;
    color: #4B5563;
    border: 1px solid #E5E7EB;
}

.btn-secondary:hover[b-6u3tn9z2f1] {
    background: #F9FAFB;
}

/* Recap Card */
/* /Components/Pages/Services/Paiement/NouveauPaiementRecap.razor.rz.scp.css */
.recap-card[b-1fclutfgc5] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    overflow: hidden;
}
.recap-header[b-1fclutfgc5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    background: #F9FAFB;
    border-bottom: 1px solid #E5E7EB;
    font-weight: 600;
    font-size: 0.9375rem;
    color: #1F2937;
}
.recap-header svg[b-1fclutfgc5] { width: 18px; height: 18px; flex-shrink: 0; }
.recap-body[b-1fclutfgc5] { padding: 1.25rem; }
.recap-row[b-1fclutfgc5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
}
.recap-row .label[b-1fclutfgc5] { color: #6B7280; font-size: 0.875rem; }
.recap-row .value[b-1fclutfgc5] { font-weight: 500; font-size: 0.875rem; color: #1F2937; }
.recap-row .value.amount[b-1fclutfgc5] { color: #10B981; font-size: 1.125rem; font-weight: 700; }
.recap-row.highlight[b-1fclutfgc5] {
    background: #F0FDF4;
    margin: 0 -1.25rem;
    padding: 0.75rem 1.25rem;
}
.recap-row.small .label[b-1fclutfgc5], .recap-row.small .value[b-1fclutfgc5] { font-size: 0.8rem; }
.recap-divider[b-1fclutfgc5] {
    height: 1px;
    background: #E5E7EB;
    margin: 0.5rem 0;
}
.recap-empty[b-1fclutfgc5] {
    text-align: center;
    padding: 2rem 1rem;
    color: #9CA3AF;
}
.recap-empty svg[b-1fclutfgc5] {
    width: 48px;
    height: 48px;
    margin: 0 auto 0.75rem;
    opacity: 0.5;
}
.taux-section[b-1fclutfgc5] {
    padding: 1rem 1.25rem;
    background: #F9FAFB;
    border-top: 1px solid #E5E7EB;
}
.taux-title[b-1fclutfgc5] {
    display: block;
    font-size: 0.75rem;
    color: #6B7280;
    margin-bottom: 0.5rem;
}
.taux-row[b-1fclutfgc5] {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    padding: 0.25rem 0;
}
.taux-row span:last-child[b-1fclutfgc5] { font-weight: 500; }
/* /Components/Pages/Services/Paiement/PaiementDashboard.razor.rz.scp.css */
.loading-container[b-aame3mkear] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
}

.spinner[b-aame3mkear] {
    width: 48px;
    height: 48px;
    border: 3px solid #E5E7EB;
    border-top-color: var(--accent, #1E90FF);
    border-radius: 50%;
    animation: paydash-spin-b-aame3mkear 1s linear infinite;
}

@keyframes paydash-spin-b-aame3mkear {
    to { transform: rotate(360deg); }
}

.loading-container p[b-aame3mkear] {
    margin-top: 1rem;
    color: var(--text-muted, #6B7280);
}

/* Stats Grid */
.stats-grid[b-aame3mkear] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.stat-card[b-aame3mkear] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.stat-card.primary[b-aame3mkear] {
    background: var(--accent, #1E90FF);
    color: white;
}

.stat-icon[b-aame3mkear] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-aame3mkear] {
    width: 24px;
    height: 24px;
}

.stat-card.primary .stat-icon[b-aame3mkear] {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.stat-icon.green[b-aame3mkear] { background: var(--accent, #1E90FF); color: white; }
.stat-icon.orange[b-aame3mkear] { background: linear-gradient(135deg, #F59E0B, #D97706); color: white; }
.stat-icon.red[b-aame3mkear] { background: linear-gradient(135deg, #EF4444, #DC2626); color: white; }

.stat-content[b-aame3mkear] {
    display: flex;
    flex-direction: column;
}

.stat-value[b-aame3mkear] {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
    color: #111827;
}

.stat-card.primary .stat-value[b-aame3mkear] {
    color: #fff;
}

/* Cartes blanches : forcer la lisibilité du texte (évite override layout) */
.paiement-dashboard .stat-card:not(.primary) .stat-value[b-aame3mkear],
.paiement-dashboard .stat-card:not(.primary) .stat-currency[b-aame3mkear] {
    color: #071A39;
}

.paiement-dashboard .stat-card:not(.primary) .stat-label[b-aame3mkear] {
    color: #374151;
}

.stat-currency[b-aame3mkear] {
    font-size: 0.875rem;
    font-weight: 600;
    opacity: 0.9;
    color: #111827;
}

.stat-card.primary .stat-currency[b-aame3mkear] {
    color: #fff;
}

.stat-label[b-aame3mkear] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #374151;
    margin-top: 0.25rem;
}

.stat-card.primary .stat-label[b-aame3mkear] {
    color: rgba(255, 255, 255, 0.95);
}

/* Financial Summary */
.financial-summary[b-aame3mkear] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.summary-card[b-aame3mkear] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.summary-card h3[b-aame3mkear] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: #111827;
}

.summary-rows[b-aame3mkear] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.summary-row[b-aame3mkear] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #F3F4F6;
}

.summary-row:last-child[b-aame3mkear] {
    border-bottom: none;
}

.summary-row.highlight[b-aame3mkear] {
    background: #F9FAFB;
    margin: 0.5rem -0.75rem -0.75rem -0.75rem;
    padding: 0.75rem;
    border-radius: 0 0 8px 8px;
}

.summary-row .label[b-aame3mkear] {
    color: #374151;
    font-size: 0.875rem;
}

.summary-row .value[b-aame3mkear] {
    font-weight: 600;
    font-size: 1rem;
    color: #111827;
}

.summary-row .value.positive[b-aame3mkear] { color: #10B981; }
.summary-row .value.negative[b-aame3mkear] { color: #EF4444; }

/* Week Chart */
.week-chart[b-aame3mkear] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    height: 150px;
    gap: 0.5rem;
    padding-top: 1rem;
}

.bar-container[b-aame3mkear] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.bar[b-aame3mkear] {
    width: 100%;
    max-width: 40px;
    background: linear-gradient(180deg, #10B981, #059669);
    border-radius: 4px 4px 0 0;
    position: relative;
    transition: height 0.3s ease;
    margin-top: auto;
}

.bar:hover[b-aame3mkear] {
    background: linear-gradient(180deg, #059669, #047857);
}

.bar-tooltip[b-aame3mkear] {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary, #071A39);
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.7rem;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.bar:hover .bar-tooltip[b-aame3mkear] {
    opacity: 1;
}

.bar-label[b-aame3mkear] {
    font-size: 0.7rem;
    color: #374151;
    margin-top: 0.5rem;
}

/* Section */
.section[b-aame3mkear] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.section-header[b-aame3mkear] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.section-title[b-aame3mkear] {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 1rem 0;
}

.section-header .section-title[b-aame3mkear] {
    margin: 0;
}

.view-all[b-aame3mkear] {
    font-size: 0.875rem;
    color: var(--accent, #1E90FF);
    text-decoration: none;
}

.view-all:hover[b-aame3mkear] {
    text-decoration: underline;
}

/* Quick Actions */
.quick-actions[b-aame3mkear] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.action-btn[b-aame3mkear] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.action-btn svg[b-aame3mkear] {
    width: 18px;
    height: 18px;
}

.action-btn.primary[b-aame3mkear] {
    background: var(--accent, #1E90FF);
    color: white;
}

.action-btn.primary:hover[b-aame3mkear] {
    background: #1873CC;
    transform: translateY(-1px);
}

.action-btn.secondary[b-aame3mkear] {
    background: #F3F4F6;
    color: #374151;
    border: 1px solid #E5E7EB;
}

.action-btn.secondary:hover[b-aame3mkear] {
    background: #E5E7EB;
    border-color: var(--accent, #1E90FF);
    color: var(--accent, #1E90FF);
}

/* Payments List */
.payments-list[b-aame3mkear] {
    display: flex;
    flex-direction: column;
}

.payment-item[b-aame3mkear] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid #F3F4F6;
}

.payment-item:last-child[b-aame3mkear] {
    border-bottom: none;
}

.payment-info[b-aame3mkear] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.payment-avatar[b-aame3mkear] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    background: #E5E7EB;
    color: #6B7280;
}

.payment-avatar.validated[b-aame3mkear] {
    background: #D1FAE5;
    color: #059669;
}

.payment-avatar.pending[b-aame3mkear] {
    background: #FEF3C7;
    color: #D97706;
}

.payment-details[b-aame3mkear] {
    display: flex;
    flex-direction: column;
}

.payment-name[b-aame3mkear] {
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--text-dark, #1F2937);
}

.payment-meta[b-aame3mkear] {
    font-size: 0.75rem;
    color: var(--text-muted, #6B7280);
}

.payment-amount[b-aame3mkear] {
    text-align: right;
}

.payment-amount .amount[b-aame3mkear] {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    color: #10B981;
}

.payment-amount .time[b-aame3mkear] {
    display: block;
    font-size: 0.7rem;
    color: var(--text-muted, #6B7280);
}

/* Frais Breakdown */
.frais-breakdown[b-aame3mkear] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.frais-item[b-aame3mkear] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.frais-info[b-aame3mkear] {
    width: 200px;
    flex-shrink: 0;
}

.frais-name[b-aame3mkear] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-dark, #1F2937);
}

.frais-count[b-aame3mkear] {
    display: block;
    font-size: 0.7rem;
    color: var(--text-muted, #6B7280);
}

.frais-bar-container[b-aame3mkear] {
    flex: 1;
    height: 8px;
    background: #E5E7EB;
    border-radius: 4px;
    overflow: hidden;
}

.frais-bar[b-aame3mkear] {
    height: 100%;
    background: linear-gradient(90deg, #10B981, #059669);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.frais-amount[b-aame3mkear] {
    width: 120px;
    text-align: right;
    font-weight: 600;
    font-size: 0.875rem;
    color: #10B981;
}

.empty-message[b-aame3mkear] {
    text-align: center;
    color: var(--text-muted, #6B7280);
    padding: 2rem;
}
/* /Components/Pages/Services/Paiement/RapportPaiements.razor.rz.scp.css */
.rapport-page[b-cci8evl06o] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Filters Card */
.filters-card[b-cci8evl06o] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.filters-card h3[b-cci8evl06o] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 1rem;
    color: #1F2937;
}

.filters-grid[b-cci8evl06o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.filter-group[b-cci8evl06o] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.filter-group label[b-cci8evl06o] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #6B7280;
}

.filter-group select[b-cci8evl06o],
.filter-group input[b-cci8evl06o] {
    padding: 0.5rem 0.75rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.filter-group select:focus[b-cci8evl06o],
.filter-group input:focus[b-cci8evl06o] {
    outline: none;
    border-color: var(--accent, #1E90FF);
}

.export-actions[b-cci8evl06o] {
    display: flex;
    gap: 0.75rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
}

.btn-export[b-cci8evl06o] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #F3F4F6;
    border: none;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 500;
    color: #4B5563;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-export:hover[b-cci8evl06o] { background: #E5E7EB; }
.btn-export svg[b-cci8evl06o] { width: 16px; height: 16px; }

/* Loading */
.loading-container[b-cci8evl06o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4rem;
    background: white;
    border-radius: 12px;
    color: #6B7280;
}

.spinner[b-cci8evl06o] {
    width: 36px;
    height: 36px;
    border: 3px solid #E5E7EB;
    border-top-color: var(--zanura-primary, #1E90FF);
    border-radius: 50%;
    animation: payrep-spin-b-cci8evl06o 0.8s linear infinite;
    margin-bottom: 1rem;
}

@keyframes payrep-spin-b-cci8evl06o { to { transform: rotate(360deg); } }

/* Summary Grid */
.summary-grid[b-cci8evl06o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.summary-card[b-cci8evl06o] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.summary-card.primary[b-cci8evl06o] {
    background: var(--zanura-primary, #1E90FF);
    color: white;
}

.summary-card.primary .summary-label[b-cci8evl06o] {
    color: rgba(255, 255, 255, 0.8);
}

.summary-icon[b-cci8evl06o] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.summary-icon svg[b-cci8evl06o] { width: 24px; height: 24px; }

.summary-card.primary .summary-icon[b-cci8evl06o] { background: rgba(255, 255, 255, 0.2); }
.summary-icon.blue[b-cci8evl06o] { background: #DBEAFE; color: #3B82F6; }
.summary-icon.green[b-cci8evl06o] { background: #D1FAE5; color: #10B981; }
.summary-icon.purple[b-cci8evl06o] { background: #EDE9FE; color: #8B5CF6; }

.summary-content[b-cci8evl06o] { display: flex; flex-direction: column; }
.summary-value[b-cci8evl06o] { font-size: 1.5rem; font-weight: 700; line-height: 1; }
.summary-currency[b-cci8evl06o] { font-size: 0.8rem; font-weight: 600; opacity: 0.8; }
.summary-label[b-cci8evl06o] { font-size: 0.8rem; color: #6B7280; margin-top: 0.25rem; }

/* Report Section */
.report-section[b-cci8evl06o] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.report-section h3[b-cci8evl06o] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 1rem;
    color: #1F2937;
}

.table-wrapper[b-cci8evl06o] { overflow-x: auto; }

table[b-cci8evl06o] { width: 100%; border-collapse: collapse; }

th[b-cci8evl06o], td[b-cci8evl06o] { padding: 0.75rem 1rem; text-align: left; font-size: 0.875rem; }
th[b-cci8evl06o] { background: #F9FAFB; font-weight: 600; color: #4B5563; }
td[b-cci8evl06o] { border-bottom: 1px solid #F3F4F6; }
tfoot th[b-cci8evl06o] { background: #F3F4F6; }

.text-right[b-cci8evl06o] { text-align: right; }
.text-center[b-cci8evl06o] { text-align: center; }
.text-muted[b-cci8evl06o] { color: #9CA3AF; }
.font-bold[b-cci8evl06o] { font-weight: 600; }

.percentage-cell[b-cci8evl06o] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: flex-end;
}

.percentage-bar[b-cci8evl06o] {
    height: 6px;
    background: var(--zanura-primary, #1E90FF);
    border-radius: 3px;
    max-width: 100px;
}

/* Devise Cards */
.devise-cards[b-cci8evl06o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
}

.devise-card[b-cci8evl06o] {
    background: #F9FAFB;
    border-radius: 10px;
    padding: 1rem;
    text-align: center;
    border: 1px solid #E5E7EB;
}

.devise-code[b-cci8evl06o] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #6B7280;
    margin-bottom: 0.5rem;
}

.devise-amount[b-cci8evl06o] {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2937;
}

.devise-count[b-cci8evl06o] {
    display: block;
    font-size: 0.75rem;
    color: #9CA3AF;
    margin-top: 0.25rem;
}
/* /Components/Pages/Services/Parametrage/AnneesScolaires.razor.rz.scp.css */
.page-container[b-adu3279qfx] {
    max-width: 1200px;
    margin: 0 auto;
}

.page-header[b-adu3279qfx] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.page-title[b-adu3279qfx] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #071A39;
    margin: 0;
}

.page-subtitle[b-adu3279qfx] {
    color: #4A5568;
    margin: 0.25rem 0 0;
}

.btn-primary[b-adu3279qfx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-primary:hover:not(:disabled)[b-adu3279qfx] {
    transform: translateY(-1px);
    background: var(--zanura-primary-dark, #1873CC);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3);
}

.btn-primary:disabled[b-adu3279qfx] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.btn-primary svg[b-adu3279qfx] {
    width: 18px;
    height: 18px;
}

.btn-secondary[b-adu3279qfx] {
    padding: 0.75rem 1.25rem;
    background: #FFFFFF;
    color: #071A39;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-secondary:hover[b-adu3279qfx] {
    background: #F5F7FA;
}

.alert[b-adu3279qfx] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.alert svg[b-adu3279qfx] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert span[b-adu3279qfx] {
    flex: 1;
}

.alert button[b-adu3279qfx] {
    background: none;
    border: none;
    opacity: 0.7;
    cursor: pointer;
    font-size: 1rem;
}

.alert.success[b-adu3279qfx] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #6EE7B7;
}

.alert.error[b-adu3279qfx] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

.loading-container[b-adu3279qfx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #6B7280;
}

.loading-spinner[b-adu3279qfx] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #1E90FF;
    border-radius: 50%;
    animation: asc-spin-b-adu3279qfx 1s linear infinite;
}

@keyframes asc-spin-b-adu3279qfx {
    to { transform: rotate(360deg); }
}

.active-year-card[b-adu3279qfx] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    background: #FFFFFF;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    border-left: 6px solid #1E90FF;
    margin-bottom: 1.5rem;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.06);
}

.active-badge[b-adu3279qfx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #071A39;
    color: white;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
}

.active-badge svg[b-adu3279qfx] {
    width: 16px;
    height: 16px;
}

.active-year-info[b-adu3279qfx] {
    display: flex;
    flex-direction: column;
}

.active-year-label[b-adu3279qfx] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #071A39;
}

.active-year-detail[b-adu3279qfx] {
    font-size: 0.875rem;
    color: #4A5568;
}

.table-card[b-adu3279qfx] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.04);
}

.data-table[b-adu3279qfx] {
    width: 100%;
    border-collapse: collapse;
}

.data-table th[b-adu3279qfx] {
    padding: 1rem 1.25rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #4A5568;
    background: #F5F7FA;
    border-bottom: 1px solid #E2E8F0;
}

.data-table td[b-adu3279qfx] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #F3F4F6;
    color: #374151;
}

.data-table tr:last-child td[b-adu3279qfx] {
    border-bottom: none;
}

.data-table tr.active-row[b-adu3279qfx] {
    background: rgba(30, 144, 255, 0.06);
}

.year-cell[b-adu3279qfx] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.year-label[b-adu3279qfx] {
    font-weight: 600;
    color: #1F2937;
}

.badge[b-adu3279qfx] {
    padding: 0.125rem 0.5rem;
    border-radius: 50px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
}

.badge.active[b-adu3279qfx] {
    background: rgba(30, 144, 255, 0.12);
    color: #071A39;
}

.status-badge[b-adu3279qfx] {
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-badge.active[b-adu3279qfx] {
    background: rgba(30, 144, 255, 0.12);
    color: #071A39;
}

.status-badge.past[b-adu3279qfx] {
    background: #F3F4F6;
    color: #4A5568;
}

.status-badge.future[b-adu3279qfx] {
    background: rgba(30, 144, 255, 0.12);
    color: #071A39;
}

.text-right[b-adu3279qfx] {
    text-align: right;
}

.action-buttons[b-adu3279qfx] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.btn-action[b-adu3279qfx] {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-action svg[b-adu3279qfx] {
    width: 18px;
    height: 18px;
}

.btn-action.activate[b-adu3279qfx] {
    background: #F5F7FA;
    color: #071A39;
    border: 1px solid rgba(30, 144, 255, 0.35);
}

.btn-action.activate:hover[b-adu3279qfx] {
    background: rgba(30, 144, 255, 0.10);
}

.btn-action.edit[b-adu3279qfx] {
    background: #F5F7FA;
    color: #071A39;
    border: 1px solid #E2E8F0;
}

.btn-action.edit:hover[b-adu3279qfx] {
    background: rgba(7, 26, 57, 0.06);
}

.empty-row[b-adu3279qfx] {
    padding: 3rem !important;
}

.empty-state[b-adu3279qfx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #9CA3AF;
}

.empty-state svg[b-adu3279qfx] {
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
}

.empty-state p[b-adu3279qfx] {
    margin: 0 0 1rem;
    color: #6B7280;
}

.btn-create-empty[b-adu3279qfx] {
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #071A39, #1E90FF);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
}

.modal-overlay[b-adu3279qfx] {
    position: fixed;
    inset: 0;
    background: rgba(7, 26, 57, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content[b-adu3279qfx] {
    width: 100%;
    max-width: 480px;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(7, 26, 57, 0.25);
    margin: 1rem;
}

.modal-header[b-adu3279qfx] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E2E8F0;
    background: #F5F7FA;
    border-radius: 16px 16px 0 0;
}

.modal-header h3[b-adu3279qfx] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #071A39;
    margin: 0;
}

.modal-close[b-adu3279qfx] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #9CA3AF;
    transition: all 0.2s;
}

.modal-close:hover[b-adu3279qfx] {
    background: #F3F4F6;
    color: #374151;
}

.modal-close svg[b-adu3279qfx] {
    width: 20px;
    height: 20px;
}

.modal-body[b-adu3279qfx] {
    padding: 1.5rem;
}

.modal-footer[b-adu3279qfx] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #E2E8F0;
    background: #F5F7FA;
    border-radius: 0 0 16px 16px;
}

.form-group[b-adu3279qfx] {
    margin-bottom: 1rem;
}

.form-group label[b-adu3279qfx] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-input[b-adu3279qfx] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-input:focus[b-adu3279qfx] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.form-row[b-adu3279qfx] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.checkbox-label[b-adu3279qfx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.checkbox-label input[type="checkbox"][b-adu3279qfx] {
    width: 18px;
    height: 18px;
    accent-color: #14B8A6;
}

.spinner[b-adu3279qfx] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: asc-spin-b-adu3279qfx 0.8s linear infinite;
    margin-right: 0.5rem;
}
/* /Components/Pages/Services/Parametrage/CategoriesEleves.razor.rz.scp.css */
.page-container[b-gdk7b0wwkf] {
    max-width: 1200px;
    margin: 0 auto;
}

.page-header[b-gdk7b0wwkf] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.header-actions[b-gdk7b0wwkf] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.filter-toggle[b-gdk7b0wwkf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #6B7280;
    cursor: pointer;
}

.filter-toggle input[type="checkbox"][b-gdk7b0wwkf] {
    width: 16px;
    height: 16px;
    accent-color: #14B8A6;
}

.page-title[b-gdk7b0wwkf] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.page-subtitle[b-gdk7b0wwkf] {
    color: #6B7280;
    margin: 0.25rem 0 0;
}

.btn-primary[b-gdk7b0wwkf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-primary:hover:not(:disabled)[b-gdk7b0wwkf] {
    transform: translateY(-1px);
    background: var(--zanura-primary-dark, #1873CC);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3);
}

.btn-primary:disabled[b-gdk7b0wwkf] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-primary svg[b-gdk7b0wwkf] {
    width: 18px;
    height: 18px;
}

/* Alerts */
.alert[b-gdk7b0wwkf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.alert svg[b-gdk7b0wwkf] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert span[b-gdk7b0wwkf] {
    flex: 1;
}

.alert button[b-gdk7b0wwkf] {
    background: none;
    border: none;
    opacity: 0.7;
    cursor: pointer;
    font-size: 1rem;
}

.alert.success[b-gdk7b0wwkf] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #6EE7B7;
}

.alert.error[b-gdk7b0wwkf] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FECACA;
}

/* Loading */
.loading-container[b-gdk7b0wwkf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #6B7280;
}

.loading-spinner[b-gdk7b0wwkf] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #14B8A6;
    border-radius: 50%;
    animation: catel-spin-b-gdk7b0wwkf 1s linear infinite;
}

@keyframes catel-spin-b-gdk7b0wwkf {
    to { transform: rotate(360deg); }
}

/* Categories Grid */
.categories-grid[b-gdk7b0wwkf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.category-card[b-gdk7b0wwkf] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    overflow: hidden;
    transition: all 0.2s;
}

.category-card.inactive[b-gdk7b0wwkf] {
    opacity: 0.7;
    background: #F9FAFB;
}

.category-card.inactive .category-name[b-gdk7b0wwkf] {
    color: #9CA3AF;
}

.inactive-badge[b-gdk7b0wwkf] {
    padding: 0.25rem 0.5rem;
    background: #FEE2E2;
    color: #DC2626;
    border-radius: 50px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
}

.category-card:hover[b-gdk7b0wwkf] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.category-header[b-gdk7b0wwkf] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid #F3F4F6;
}

.category-icon[b-gdk7b0wwkf] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.category-icon svg[b-gdk7b0wwkf] {
    width: 24px;
    height: 24px;
}

.category-info[b-gdk7b0wwkf] {
    display: flex;
    flex-direction: column;
}

.category-code[b-gdk7b0wwkf] {
    font-size: 0.7rem;
    color: #9CA3AF;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.category-name[b-gdk7b0wwkf] {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1F2937;
}

.category-body[b-gdk7b0wwkf] {
    padding: 1.25rem;
}

.category-desc[b-gdk7b0wwkf] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0 0 1rem;
}

.category-reduction[b-gdk7b0wwkf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: #F0FDF4;
    border-radius: 10px;
}

.reduction-label[b-gdk7b0wwkf] {
    font-size: 0.75rem;
    color: #059669;
}

.reduction-value[b-gdk7b0wwkf] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #059669;
}

.category-footer[b-gdk7b0wwkf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-top: 1px solid #F3F4F6;
    background: #F9FAFB;
}

.category-stats[b-gdk7b0wwkf] {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.stats-value[b-gdk7b0wwkf] {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1F2937;
}

.stats-label[b-gdk7b0wwkf] {
    font-size: 0.75rem;
    color: #6B7280;
}

.footer-actions[b-gdk7b0wwkf] {
    display: flex;
    gap: 0.5rem;
}

.btn-edit[b-gdk7b0wwkf], .btn-deactivate[b-gdk7b0wwkf], .btn-activate[b-gdk7b0wwkf] {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-edit[b-gdk7b0wwkf] {
    background: #EFF6FF;
    color: #1E40AF;
}

.btn-edit:hover[b-gdk7b0wwkf] {
    background: #DBEAFE;
}

.btn-deactivate[b-gdk7b0wwkf] {
    background: #FEE2E2;
    color: #DC2626;
}

.btn-deactivate:hover[b-gdk7b0wwkf] {
    background: #FECACA;
}

.btn-activate[b-gdk7b0wwkf] {
    background: #D1FAE5;
    color: #059669;
}

.btn-activate:hover[b-gdk7b0wwkf] {
    background: #A7F3D0;
}

.btn-edit svg[b-gdk7b0wwkf] {
    width: 18px;
    height: 18px;
}

/* Empty Card */
.empty-card[b-gdk7b0wwkf] {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    background: white;
    border-radius: 16px;
    border: 2px dashed #D1D5DB;
    color: #9CA3AF;
}

.empty-card svg[b-gdk7b0wwkf] {
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
}

.empty-card p[b-gdk7b0wwkf] {
    margin: 0 0 1rem;
    color: #6B7280;
}

.btn-create[b-gdk7b0wwkf] {
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #14B8A6, #0D9488);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
}

/* Info Card */
.info-card[b-gdk7b0wwkf] {
    display: flex;
    gap: 1rem;
    padding: 1.25rem;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 12px;
}

.info-icon[b-gdk7b0wwkf] {
    width: 40px;
    height: 40px;
    background: #1E40AF;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.info-icon svg[b-gdk7b0wwkf] {
    width: 20px;
    height: 20px;
}

.info-content h4[b-gdk7b0wwkf] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E40AF;
    margin: 0 0 0.25rem;
}

.info-content p[b-gdk7b0wwkf] {
    font-size: 0.8rem;
    color: #3B82F6;
    margin: 0;
    line-height: 1.5;
}

/* Modal */
.modal-overlay[b-gdk7b0wwkf] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content[b-gdk7b0wwkf] {
    width: 100%;
    max-width: 480px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    margin: 1rem;
}

.modal-header[b-gdk7b0wwkf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.modal-header h3[b-gdk7b0wwkf] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.modal-close[b-gdk7b0wwkf] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #9CA3AF;
}

.modal-close:hover[b-gdk7b0wwkf] {
    background: #F3F4F6;
    color: #374151;
}

.modal-close svg[b-gdk7b0wwkf] {
    width: 20px;
    height: 20px;
}

.modal-body[b-gdk7b0wwkf] {
    padding: 1.5rem;
}

.modal-footer[b-gdk7b0wwkf] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    background: #F9FAFB;
    border-radius: 0 0 16px 16px;
}

.btn-secondary[b-gdk7b0wwkf] {
    padding: 0.75rem 1.25rem;
    background: white;
    color: #374151;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
}

.btn-secondary:hover[b-gdk7b0wwkf] {
    background: #F9FAFB;
}

/* Form */
.form-group[b-gdk7b0wwkf] {
    margin-bottom: 1rem;
}

.form-group label[b-gdk7b0wwkf] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-input[b-gdk7b0wwkf] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-input:focus[b-gdk7b0wwkf] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.form-hint[b-gdk7b0wwkf] {
    font-size: 0.75rem;
    color: #9CA3AF;
    margin: 0.5rem 0 0;
}

.validation-message[b-gdk7b0wwkf] {
    font-size: 0.75rem;
    color: #DC2626;
    margin-top: 0.25rem;
}

/* Reduction Preview */
.reduction-preview[b-gdk7b0wwkf] {
    background: #F0FDF4;
    border: 1px solid #6EE7B7;
    border-radius: 10px;
    padding: 1rem;
    margin-top: 1rem;
}

.preview-label[b-gdk7b0wwkf] {
    font-size: 0.75rem;
    color: #059669;
    display: block;
    margin-bottom: 0.5rem;
}

.preview-calc[b-gdk7b0wwkf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.preview-original[b-gdk7b0wwkf] {
    font-size: 0.875rem;
    color: #6B7280;
    text-decoration: line-through;
}

.preview-arrow[b-gdk7b0wwkf] {
    color: #9CA3AF;
}

.preview-reduced[b-gdk7b0wwkf] {
    font-size: 1.125rem;
    font-weight: 700;
    color: #059669;
}

.preview-savings[b-gdk7b0wwkf] {
    font-size: 0.75rem;
    color: #059669;
    background: #D1FAE5;
    padding: 0.25rem 0.5rem;
    border-radius: 50px;
}

.spinner[b-gdk7b0wwkf] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: catel-spin-b-gdk7b0wwkf 0.8s linear infinite;
}
/* /Components/Pages/Services/Parametrage/ConfigEcole.razor.rz.scp.css */
.page-container[b-b0mlvv5wkw] {
    max-width: 1200px;
    margin: 0 auto;
}

.page-header[b-b0mlvv5wkw] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.page-title[b-b0mlvv5wkw] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.page-subtitle[b-b0mlvv5wkw] {
    color: #6B7280;
    margin: 0.25rem 0 0;
}
    
.btn-primary[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(135deg, #1E90FF, #1a7ae8);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 8px rgba(30, 144, 255, 0.3);
}
    
.btn-primary:hover[b-b0mlvv5wkw] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.4);
}
    
.btn-primary svg[b-b0mlvv5wkw] {
    width: 18px;
    height: 18px;
}
    
/* Alerts */
.alert[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
}
    
.alert svg[b-b0mlvv5wkw] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
    
.alert-success[b-b0mlvv5wkw] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #6EE7B7;
}
    
.alert-error[b-b0mlvv5wkw] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}
    
/* Empty State */
.empty-state[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    background: white;
    border-radius: 16px;
    border: 2px dashed #E5E7EB;
    text-align: center;
}
    
.empty-icon[b-b0mlvv5wkw] {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #F3F4F6, #E5E7EB);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
    
.empty-icon svg[b-b0mlvv5wkw] {
    width: 40px;
    height: 40px;
    color: #9CA3AF;
}
    
.empty-title[b-b0mlvv5wkw] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 0.75rem;
}
    
.empty-description[b-b0mlvv5wkw] {
    color: #6B7280;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 2rem;
    max-width: 400px;
}
    
.btn-large[b-b0mlvv5wkw] {
    padding: 1rem 2rem;
    font-size: 1rem;
}

/* Loading */
.loading-container[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #6B7280;
}

.loading-spinner[b-b0mlvv5wkw] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #14B8A6;
    border-radius: 50%;
    animation: cfgecole-spin-b-b0mlvv5wkw 1s linear infinite;
}

@keyframes cfgecole-spin-b-b0mlvv5wkw {
    to { transform: rotate(360deg); }
}

/* Layout */
.config-layout[b-b0mlvv5wkw] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 1.5rem;
}

/* Profile Card - Charte graphique : Bleu Marine #071A39, accent Bleu Électrique #1E90FF */
.profile-card[b-b0mlvv5wkw] {
    background: linear-gradient(135deg, #071A39 0%, #0d2847 100%);
    border-radius: 16px;
    padding: 2rem;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(30, 144, 255, 0.2);
}

.profile-header[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.logo-container[b-b0mlvv5wkw] {
    position: relative;
}

.school-logo[b-b0mlvv5wkw] {
    width: 80px;
    height: 80px;
    border-radius: 16px;
    object-fit: cover;
    border: 3px solid rgba(30, 144, 255, 0.3);
}

.logo-placeholder[b-b0mlvv5wkw] {
    width: 80px;
    height: 80px;
    border-radius: 16px;
    background: rgba(30, 144, 255, 0.15);
    border: 3px solid rgba(30, 144, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.8);
}

.logo-placeholder svg[b-b0mlvv5wkw] {
    width: 32px;
    height: 32px;
}

.btn-change-logo[b-b0mlvv5wkw] {
    position: absolute;
    bottom: -4px;
    right: -4px;
    width: 28px;
    height: 28px;
    background: white;
    border: none;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.btn-change-logo svg[b-b0mlvv5wkw] {
    width: 14px;
    height: 14px;
    color: #374151;
}

.profile-info[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.school-name[b-b0mlvv5wkw] {
    font-size: 1.5rem;
    font-weight: 700;
    color: white;
    margin: 0;
}

.group-badge[b-b0mlvv5wkw] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: rgba(30, 144, 255, 0.25);
    color: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(30, 144, 255, 0.4);
    border-radius: 50px;
    font-size: 0.75rem;
    width: fit-content;
}

/* Section Cards */
.section-card[b-b0mlvv5wkw] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    margin-bottom: 1.5rem;
}

.section-header[b-b0mlvv5wkw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #F3F4F6;
}

.section-title[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.section-title svg[b-b0mlvv5wkw] {
    width: 18px;
    height: 18px;
    color: #6B7280;
}

.btn-edit-section[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    background: none;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    font-size: 0.75rem;
    color: #6B7280;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-edit-section:hover[b-b0mlvv5wkw] {
    background: #F9FAFB;
    color: #374151;
}

.btn-edit-section svg[b-b0mlvv5wkw] {
    width: 14px;
    height: 14px;
}

.section-body[b-b0mlvv5wkw] {
    padding: 1.25rem;
}

.info-grid[b-b0mlvv5wkw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.info-item[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.info-item.full[b-b0mlvv5wkw] {
    grid-column: 1 / -1;
}

.info-label[b-b0mlvv5wkw] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.info-value[b-b0mlvv5wkw] {
    font-size: 0.875rem;
    color: #1F2937;
    font-weight: 500;
}

/* Inscription & Réinscription - bloc dédié */
.config-inscription-card[b-b0mlvv5wkw] {
    border-left: 4px solid #1E90FF;
    background: linear-gradient(to bottom, #F8FAFC 0%, #FFFFFF 2rem);
}

.config-inscription-header[b-b0mlvv5wkw] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.config-inscription-title-block[b-b0mlvv5wkw] {
    flex: 1;
    min-width: 200px;
}

.config-inscription-title[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 1rem;
    font-weight: 700;
    color: #071A39;
    margin: 0 0 0.375rem 0;
}

.config-inscription-icon[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(30, 144, 255, 0.12);
    border-radius: 10px;
    color: #1E90FF;
}

.config-inscription-icon svg[b-b0mlvv5wkw] {
    width: 20px;
    height: 20px;
}

.config-inscription-desc[b-b0mlvv5wkw] {
    font-size: 0.8125rem;
    color: #6B7280;
    line-height: 1.45;
    margin: 0;
}

.config-inscription-save-hint[b-b0mlvv5wkw] {
    font-size: 0.78rem;
    line-height: 1.45;
    margin: 0.5rem 0 0 0;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.12);
    color: #92400e;
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.config-inscription-save-hint.muted[b-b0mlvv5wkw] {
    background: #F3F4F6;
    color: #6B7280;
    border-color: #E5E7EB;
}

.config-inscription-option.disabled[b-b0mlvv5wkw] {
    opacity: 0.72;
}

.btn-config-inscription-save[b-b0mlvv5wkw] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    background: linear-gradient(135deg, #1E90FF, #1a7ae8);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 8px rgba(30, 144, 255, 0.25);
}

.btn-config-inscription-save:hover:not(:disabled)[b-b0mlvv5wkw] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.35);
}

.btn-config-inscription-save:disabled[b-b0mlvv5wkw] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-config-inscription-save svg[b-b0mlvv5wkw] {
    width: 18px;
    height: 18px;
}

.config-inscription-spinner[b-b0mlvv5wkw] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: cfgecole-spin-b-b0mlvv5wkw 0.8s linear infinite;
}

.config-inscription-body[b-b0mlvv5wkw] {
    padding: 1.5rem 1.5rem;
}

.config-inscription-group[b-b0mlvv5wkw] {
    margin-bottom: 1.5rem;
}

.config-inscription-group:last-of-type[b-b0mlvv5wkw] {
    margin-bottom: 0;
}

.config-inscription-group-title[b-b0mlvv5wkw] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #1E90FF;
    margin-bottom: 0.75rem;
    padding-bottom: 0.25rem;
}

.config-inscription-option[b-b0mlvv5wkw] {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s;
}

.config-inscription-option:last-child[b-b0mlvv5wkw] {
    margin-bottom: 0;
}

.config-inscription-option:hover[b-b0mlvv5wkw] {
    background: #F5F7FA;
}

.config-inscription-option input[b-b0mlvv5wkw] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.config-inscription-switch[b-b0mlvv5wkw] {
    flex-shrink: 0;
    width: 44px;
    height: 24px;
    background: #E5E7EB;
    border-radius: 12px;
    position: relative;
    transition: background 0.2s;
}

.config-inscription-switch[b-b0mlvv5wkw]::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 2px;
    top: 2px;
    background: white;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s;
}

.config-inscription-option input:checked + .config-inscription-switch[b-b0mlvv5wkw] {
    background: #1E90FF;
}

.config-inscription-option input:checked + .config-inscription-switch[b-b0mlvv5wkw]::after {
    transform: translateX(20px);
}

.config-inscription-label[b-b0mlvv5wkw] {
    font-size: 0.875rem;
    color: #374151;
    line-height: 1.4;
    padding-top: 2px;
}

.config-inscription-alert[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: 10px;
    margin-top: 1.25rem;
    font-size: 0.8125rem;
}

.config-inscription-alert.success[b-b0mlvv5wkw] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #6EE7B7;
}

.config-inscription-alert.error[b-b0mlvv5wkw] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

.config-inscription-alert-close[b-b0mlvv5wkw] {
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: inherit;
    opacity: 0.8;
    font-size: 1rem;
    line-height: 1;
}

.config-inscription-alert-close:hover[b-b0mlvv5wkw] {
    opacity: 1;
}

/* Aside */
.config-aside[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Status Card */
.status-card[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem;
    border-radius: 16px;
    text-align: center;
}

.status-card.valid[b-b0mlvv5wkw] {
    background: linear-gradient(135deg, #D1FAE5, #A7F3D0);
    border: 1px solid #6EE7B7;
}

.status-card.warning[b-b0mlvv5wkw] {
    background: linear-gradient(135deg, #FEF3C7, #FDE68A);
    border: 1px solid #FCD34D;
}

.status-icon[b-b0mlvv5wkw] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.valid .status-icon[b-b0mlvv5wkw] {
    background: #065F46;
    color: white;
}

.warning .status-icon[b-b0mlvv5wkw] {
    background: #92400E;
    color: white;
}

.status-icon svg[b-b0mlvv5wkw] {
    width: 24px;
    height: 24px;
}

.status-content[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

.status-label[b-b0mlvv5wkw] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.valid .status-label[b-b0mlvv5wkw] { color: #047857; }
.warning .status-label[b-b0mlvv5wkw] { color: #B45309; }

.status-value[b-b0mlvv5wkw] {
    font-size: 1.25rem;
    font-weight: 700;
}

.valid .status-value[b-b0mlvv5wkw] { color: #065F46; }
.warning .status-value[b-b0mlvv5wkw] { color: #92400E; }

.status-detail[b-b0mlvv5wkw] {
    font-size: 0.75rem;
}

.valid .status-detail[b-b0mlvv5wkw] { color: #059669; }
.warning .status-detail[b-b0mlvv5wkw] { color: #D97706; }

.status-link[b-b0mlvv5wkw] {
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
}

.valid .status-link[b-b0mlvv5wkw] { color: #047857; }
.warning .status-link[b-b0mlvv5wkw] { color: #B45309; }

/* Actions Card */
.actions-card[b-b0mlvv5wkw] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.25rem;
}

.actions-title[b-b0mlvv5wkw] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1rem;
}

.actions-list[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.action-btn[b-b0mlvv5wkw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    font-size: 0.8rem;
    color: #374151;
    cursor: pointer;
    transition: all 0.2s;
    text-align: left;
}

.action-btn:hover[b-b0mlvv5wkw] {
    background: #F3F4F6;
    border-color: #14B8A6;
    color: #0D9488;
}

.action-btn svg[b-b0mlvv5wkw] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
    
.action-btn-danger[b-b0mlvv5wkw] {
    border-color: #FCA5A5;
    color: #DC2626;
}
    
.action-btn-danger:hover[b-b0mlvv5wkw] {
    background: #FEE2E2;
    border-color: #EF4444;
    color: #B91C1C;
}

/* Configurer le niveau scolaire */
.niveaux-config-card[b-b0mlvv5wkw] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.25rem;
    scroll-margin-top: 120px;
}
.niveaux-config-title[b-b0mlvv5wkw] { font-size: 0.875rem; font-weight: 600; color: #1F2937; margin: 0 0 0.5rem; }
.niveaux-config-desc[b-b0mlvv5wkw] { font-size: 0.8125rem; color: #6B7280; margin: 0 0 1rem; }
.niveaux-config-empty[b-b0mlvv5wkw] { padding: 1rem; text-align: center; }
.niveaux-config-empty .btn-small[b-b0mlvv5wkw] { margin-top: 0.5rem; }
.niveaux-config-list[b-b0mlvv5wkw] { display: flex; flex-direction: column; gap: 0.75rem; }
.niveaux-config-row[b-b0mlvv5wkw] { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem; background: #F9FAFB; border-radius: 8px; }
.niveaux-config-year[b-b0mlvv5wkw] { display: flex; align-items: center; gap: 0.5rem; }
.niveaux-config-year .year-libelle[b-b0mlvv5wkw] { font-weight: 500; color: #111827; }
.niveaux-config-year .badge.active[b-b0mlvv5wkw] { background: #D1FAE5; color: #065F46; }
.niveaux-config-year .badge.cloturee[b-b0mlvv5wkw] { background: #FEE2E2; color: #991B1B; }
.niveaux-config-year .badge[b-b0mlvv5wkw] { font-size: 0.7rem; padding: 0.2rem 0.5rem; border-radius: 4px; }
.niveaux-config-actions .text-muted[b-b0mlvv5wkw] { font-size: 0.8rem; color: #9CA3AF; }
.niveaux-dialog-hint[b-b0mlvv5wkw] { font-size: 0.875rem; color: #6B7280; margin: 0 0 1rem; }
.niveaux-dialog-list[b-b0mlvv5wkw] { display: flex; flex-direction: column; gap: 0.5rem; max-height: 320px; overflow-y: auto; }
.niveaux-dialog-item[b-b0mlvv5wkw] { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; cursor: pointer; }
.niveaux-dialog-item .niveau-nom[b-b0mlvv5wkw] { font-weight: 500; flex: 1; }
.niveaux-dialog-item .niveau-code[b-b0mlvv5wkw] { font-size: 0.8rem; color: #6B7280; }
.niveaux-dialog-item .niveau-cycle[b-b0mlvv5wkw] { font-size: 0.75rem; color: #9CA3AF; }

/* Sceau Card */
.sceau-card[b-b0mlvv5wkw] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.25rem;
}

.sceau-title[b-b0mlvv5wkw] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1rem;
}

.sceau-preview[b-b0mlvv5wkw] {
    aspect-ratio: 1;
    border-radius: 12px;
    overflow: hidden;
    background: #F9FAFB;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sceau-preview img[b-b0mlvv5wkw] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sceau-placeholder[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    color: #9CA3AF;
}

.sceau-placeholder svg[b-b0mlvv5wkw] {
    width: 48px;
    height: 48px;
}

.sceau-placeholder span[b-b0mlvv5wkw] {
    font-size: 0.75rem;
}

@media (max-width: 1024px) {
    .config-layout[b-b0mlvv5wkw] {
        grid-template-columns: 1fr;
    }
}

/* Modals */
.modal-overlay[b-b0mlvv5wkw] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    backdrop-filter: blur(4px);
}

.modal-content[b-b0mlvv5wkw] {
    background: white;
    border-radius: 16px;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
    animation: cfgecole-modalIn-b-b0mlvv5wkw 0.3s ease;
}

.modal-small[b-b0mlvv5wkw] {
    max-width: 420px;
}

@keyframes cfgecole-modalIn-b-b0mlvv5wkw {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-b0mlvv5wkw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.modal-header h2[b-b0mlvv5wkw] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.modal-close[b-b0mlvv5wkw] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F3F4F6;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.modal-close:hover[b-b0mlvv5wkw] {
    background: #E5E7EB;
}

.modal-close svg[b-b0mlvv5wkw] {
    width: 18px;
    height: 18px;
    color: #6B7280;
}

.modal-body[b-b0mlvv5wkw] {
    padding: 1.5rem;
    overflow-y: auto;
    max-height: calc(90vh - 140px);
}

.modal-footer[b-b0mlvv5wkw] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    background: #F9FAFB;
}

/* Form */
.form-group[b-b0mlvv5wkw] {
    margin-bottom: 1rem;
}

.form-group label[b-b0mlvv5wkw] {
    display: block;
    font-size: 0.8rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.375rem;
}

.form-group .required[b-b0mlvv5wkw] {
    color: #EF4444;
}

.form-group input[b-b0mlvv5wkw],
.form-group textarea[b-b0mlvv5wkw] {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: border-color 0.2s;
}

.form-group input:focus[b-b0mlvv5wkw],
.form-group textarea:focus[b-b0mlvv5wkw] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.form-group .form-select[b-b0mlvv5wkw] {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    background: white;
}

.form-group .form-hint[b-b0mlvv5wkw] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #6B7280;
}

.form-row[b-b0mlvv5wkw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.btn-secondary[b-b0mlvv5wkw] {
    padding: 0.625rem 1.25rem;
    background: white;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    color: #374151;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-secondary:hover[b-b0mlvv5wkw] {
    background: #F9FAFB;
}

.spinner-sm[b-b0mlvv5wkw] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: cfgecole-spin-b-b0mlvv5wkw 0.8s linear infinite;
    display: inline-block;
    margin-right: 0.5rem;
}

/* Upload zone */
.upload-zone[b-b0mlvv5wkw] {
    position: relative;
    border: 2px dashed #D1D5DB;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    transition: all 0.2s;
    cursor: pointer;
}

.upload-zone:hover[b-b0mlvv5wkw] {
    border-color: #14B8A6;
    background: rgba(20, 184, 166, 0.05);
}

.upload-zone input[type="file"][b-b0mlvv5wkw] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.upload-content[b-b0mlvv5wkw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    pointer-events: none;
}

.upload-content svg[b-b0mlvv5wkw] {
    width: 48px;
    height: 48px;
    color: #9CA3AF;
}

.upload-content span[b-b0mlvv5wkw] {
    font-size: 0.875rem;
    color: #374151;
}

.upload-content small[b-b0mlvv5wkw] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.upload-preview[b-b0mlvv5wkw] {
    width: 120px;
    height: 120px;
    object-fit: contain;
    border-radius: 8px;
}
/* /Components/Pages/Services/Parametrage/ConfigSysteme.razor.rz.scp.css */
.page-container[b-ixhpq1o2z7] {
    max-width: 950px;
    margin: 0 auto;
}

.page-header[b-ixhpq1o2z7] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.page-title[b-ixhpq1o2z7] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.page-subtitle[b-ixhpq1o2z7] {
    color: #6B7280;
    margin: 0.25rem 0 0;
}

.header-badge[b-ixhpq1o2z7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #7C3AED, #5B21B6);
    color: white;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 600;
}

.loading-state[b-ixhpq1o2z7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem;
    color: #6B7280;
}

.spinner[b-ixhpq1o2z7] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #14B8A6;
    border-radius: 50%;
    animation: cfsys-spin-b-ixhpq1o2z7 1s linear infinite;
    margin-bottom: 1rem;
}

/* Config Section */
.config-section[b-ixhpq1o2z7] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.section-header[b-ixhpq1o2z7] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid #F3F4F6;
}

.section-icon[b-ixhpq1o2z7] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.section-icon.purple[b-ixhpq1o2z7] { background: linear-gradient(135deg, #8B5CF6, #7C3AED); }
.section-icon.orange[b-ixhpq1o2z7] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.section-icon.red[b-ixhpq1o2z7] { background: linear-gradient(135deg, #EF4444, #DC2626); }
.section-icon.teal[b-ixhpq1o2z7] { background: linear-gradient(135deg, #14B8A6, #0D9488); }
.section-icon.green[b-ixhpq1o2z7] { background: linear-gradient(135deg, #22C55E, #16A34A); }
.section-icon.blue[b-ixhpq1o2z7] { background: linear-gradient(135deg, #3B82F6, #2563EB); }
.section-icon.indigo[b-ixhpq1o2z7] { background: linear-gradient(135deg, #6366F1, #4F46E5); }

.section-icon svg[b-ixhpq1o2z7] {
    width: 22px;
    height: 22px;
}

.section-info[b-ixhpq1o2z7] {
    flex: 1;
}

.section-name[b-ixhpq1o2z7] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.section-desc[b-ixhpq1o2z7] {
    font-size: 0.8rem;
    color: #6B7280;
    margin: 0.25rem 0 0;
}

.section-actions[b-ixhpq1o2z7] {
    display: flex;
    gap: 0.5rem;
}

.btn-section-save[b-ixhpq1o2z7] {
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #14B8A6, #0D9488);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-section-save:hover:not(:disabled)[b-ixhpq1o2z7] {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(20, 184, 166, 0.3);
}

.btn-section-save:disabled[b-ixhpq1o2z7] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-test[b-ixhpq1o2z7] {
    padding: 0.5rem 1rem;
    background: white;
    color: #374151;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-weight: 500;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-test:hover:not(:disabled)[b-ixhpq1o2z7] {
    background: #F9FAFB;
    border-color: #14B8A6;
}

.btn-test:disabled[b-ixhpq1o2z7] {
    opacity: 0.6;
    cursor: not-allowed;
}

.section-body[b-ixhpq1o2z7] {
    padding: 1.5rem;
}

/* Config Row & Grid */
.config-row[b-ixhpq1o2z7] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.config-grid-3[b-ixhpq1o2z7] {
    display: grid;
    grid-template-columns: 1fr 120px 150px;
    gap: 1rem;
    margin-bottom: 1rem;
}

.config-field[b-ixhpq1o2z7] {
    display: flex;
    flex-direction: column;
}

.config-field.full-width[b-ixhpq1o2z7] {
    grid-column: span 2;
}

.config-field label[b-ixhpq1o2z7] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.input-text[b-ixhpq1o2z7], .input-select[b-ixhpq1o2z7] {
    padding: 0.625rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.input-text:focus[b-ixhpq1o2z7], .input-select:focus[b-ixhpq1o2z7] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.input-text.disabled[b-ixhpq1o2z7] {
    background: #F3F4F6;
    color: #6B7280;
}

.input-group[b-ixhpq1o2z7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.input-number[b-ixhpq1o2z7] {
    width: 80px;
    padding: 0.625rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    text-align: center;
}

.input-number:focus[b-ixhpq1o2z7] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.input-suffix[b-ixhpq1o2z7] {
    font-size: 0.8rem;
    color: #6B7280;
}

.input-password-group[b-ixhpq1o2z7] {
    display: flex;
    gap: 0.5rem;
}

.input-password-group .input-text[b-ixhpq1o2z7] {
    flex: 1;
}

.btn-toggle-password[b-ixhpq1o2z7] {
    padding: 0.5rem;
    background: #F3F4F6;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
}

.field-hint[b-ixhpq1o2z7] {
    font-size: 0.7rem;
    color: #9CA3AF;
    margin: 0.5rem 0 0;
}

/* Info Row */
.info-row[b-ixhpq1o2z7] {
    display: flex;
    gap: 2rem;
    padding: 1rem;
    background: #F9FAFB;
    border-radius: 8px;
    margin-top: 1rem;
}

.info-item[b-ixhpq1o2z7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.info-label[b-ixhpq1o2z7] {
    font-size: 0.8rem;
    color: #6B7280;
}

.info-value[b-ixhpq1o2z7] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #1F2937;
}

.info-value.badge[b-ixhpq1o2z7] {
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
}

.info-value.badge.docker[b-ixhpq1o2z7] {
    background: #DBEAFE;
    color: #1D4ED8;
}

.info-value.badge.local[b-ixhpq1o2z7] {
    background: #D1FAE5;
    color: #065F46;
}

code.info-value[b-ixhpq1o2z7] {
    font-family: monospace;
    background: #E5E7EB;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

/* Status Toggle */
.status-toggle[b-ixhpq1o2z7] {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #F3F4F6;
}

/* Toggle Options */
.config-toggles[b-ixhpq1o2z7] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.toggle-option[b-ixhpq1o2z7] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
}

.toggle-option.large[b-ixhpq1o2z7] {
    padding: 0.5rem 0;
}

.toggle-option input[b-ixhpq1o2z7] {
    display: none;
}

.toggle-switch[b-ixhpq1o2z7] {
    width: 44px;
    height: 24px;
    background: #D1D5DB;
    border-radius: 12px;
    position: relative;
    transition: all 0.3s;
    flex-shrink: 0;
}

.toggle-switch[b-ixhpq1o2z7]::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    top: 2px;
    left: 2px;
    transition: all 0.3s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.toggle-option input:checked + .toggle-switch[b-ixhpq1o2z7] {
    background: #14B8A6;
}

.toggle-option input:checked + .toggle-switch[b-ixhpq1o2z7]::after {
    left: 22px;
}

.toggle-label[b-ixhpq1o2z7] {
    font-size: 0.875rem;
    color: #374151;
}

/* Section Alert */
.section-alert[b-ixhpq1o2z7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    animation: cfsys-slideIn-b-ixhpq1o2z7 0.3s ease;
}

.section-alert.success[b-ixhpq1o2z7] {
    background: linear-gradient(135deg, #D1FAE5, #A7F3D0);
    color: #065F46;
    border: 1px solid #6EE7B7;
}

.section-alert.error[b-ixhpq1o2z7] {
    background: linear-gradient(135deg, #FEE2E2, #FECACA);
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

.section-alert button[b-ixhpq1o2z7] {
    background: none;
    border: none;
    opacity: 0.7;
    cursor: pointer;
    font-size: 1rem;
    padding: 0 0.25rem;
    color: inherit;
}

.section-alert button:hover[b-ixhpq1o2z7] {
    opacity: 1;
}

@keyframes cfsys-slideIn-b-ixhpq1o2z7 {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animation */
@keyframes cfsys-spin-b-ixhpq1o2z7 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
    .config-row[b-ixhpq1o2z7], .config-grid-3[b-ixhpq1o2z7] {
        grid-template-columns: 1fr;
    }

    .config-field.full-width[b-ixhpq1o2z7] {
        grid-column: span 1;
    }

    .section-header[b-ixhpq1o2z7] {
        flex-wrap: wrap;
    }

    .section-actions[b-ixhpq1o2z7] {
        width: 100%;
        justify-content: flex-end;
        margin-top: 0.5rem;
    }

    .info-row[b-ixhpq1o2z7] {
        flex-direction: column;
        gap: 0.75rem;
    }
}
/* /Components/Pages/Services/Parametrage/ConfigurerNiveauScolaire.razor.rz.scp.css */
.niveau-scolaire-config-page[b-e47yo5dnjg] {
    max-width: 960px;
    margin: 0 auto;
    padding: 1.25rem 0;
}

.niveaux-config-header[b-e47yo5dnjg] {
    margin-bottom: 1.25rem;
}

.niveaux-config-page-title[b-e47yo5dnjg] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #071A39;
    margin: 0;
}

.niveaux-config-page-subtitle[b-e47yo5dnjg] {
    color: #6B7280;
    margin: 0.35rem 0 0;
    line-height: 1.45;
    font-size: 0.9375rem;
}

.loading-container[b-e47yo5dnjg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #6B7280;
}

.loading-spinner[b-e47yo5dnjg] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #1E90FF;
    border-radius: 50%;
    animation: cnls-spin-b-e47yo5dnjg 1s linear infinite;
}

@keyframes cnls-spin-b-e47yo5dnjg {
    to { transform: rotate(360deg); }
}

.niveaux-config-empty-full[b-e47yo5dnjg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
    background: white;
    border-radius: 16px;
    border: 2px dashed #E5E7EB;
    text-align: center;
}

.empty-icon[b-e47yo5dnjg] {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #F3F4F6, #E5E7EB);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.empty-icon svg[b-e47yo5dnjg] {
    width: 40px;
    height: 40px;
    color: #9CA3AF;
    display: block;
    flex-shrink: 0;
}

.empty-title[b-e47yo5dnjg] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 0.75rem;
}

.empty-description[b-e47yo5dnjg] {
    color: #6B7280;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 2rem;
    max-width: 420px;
}

.niveaux-config-card[b-e47yo5dnjg] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.25rem;
}

.niveaux-config-list[b-e47yo5dnjg] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.niveaux-config-row[b-e47yo5dnjg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.niveaux-config-year[b-e47yo5dnjg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.niveaux-config-year .year-libelle[b-e47yo5dnjg] {
    font-weight: 500;
    color: #111827;
}

.niveaux-config-year .badge.active[b-e47yo5dnjg] {
    background: #D1FAE5;
    color: #065F46;
}

.niveaux-config-year .badge.cloturee[b-e47yo5dnjg] {
    background: #FEE2E2;
    color: #991B1B;
}

.niveaux-config-year .badge[b-e47yo5dnjg] {
    font-size: 0.7rem;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
}

.niveaux-config-actions .text-muted[b-e47yo5dnjg] {
    font-size: 0.8rem;
    color: #9CA3AF;
}

.small[b-e47yo5dnjg] {
    font-size: 0.8rem;
}

.action-btn[b-e47yo5dnjg] {
    padding: 0.5rem 0.75rem;
    border-radius: 10px;
    background: rgba(30, 144, 255, 0.08);
    color: #1E90FF;
    border: 1px solid rgba(30, 144, 255, 0.25);
    cursor: pointer;
    font-weight: 600;
    transition: background 0.2s, box-shadow 0.2s;
}

.action-btn:hover[b-e47yo5dnjg] {
    background: rgba(30, 144, 255, 0.14);
    box-shadow: 0 6px 18px rgba(30, 144, 255, 0.18);
}

.niveaux-dialog-hint[b-e47yo5dnjg] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0 0 1rem;
}

.niveaux-dialog-list[b-e47yo5dnjg] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 320px;
    overflow-y: auto;
}

.niveaux-dialog-item[b-e47yo5dnjg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    cursor: pointer;
}

.niveaux-dialog-item .niveau-nom[b-e47yo5dnjg] {
    font-weight: 500;
    flex: 1;
}

.niveaux-dialog-item .niveau-code[b-e47yo5dnjg] {
    font-size: 0.8rem;
    color: #6B7280;
}

.niveaux-dialog-item .niveau-cycle[b-e47yo5dnjg] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.modal-overlay[b-e47yo5dnjg] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    backdrop-filter: blur(4px);
}

.modal-content[b-e47yo5dnjg] {
    background: white;
    border-radius: 16px;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
    animation: cnls-modalSlideIn-b-e47yo5dnjg 0.3s ease;
}

@keyframes cnls-modalSlideIn-b-e47yo5dnjg {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header[b-e47yo5dnjg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.modal-header h2[b-e47yo5dnjg] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.modal-close[b-e47yo5dnjg] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F3F4F6;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.modal-close:hover[b-e47yo5dnjg] { background: #E5E7EB; }

.modal-close svg[b-e47yo5dnjg] {
    width: 18px;
    height: 18px;
    color: #6B7280;
    display: block;
    flex-shrink: 0;
}

.modal-body[b-e47yo5dnjg] {
    padding: 1.5rem;
    overflow-y: auto;
    max-height: calc(90vh - 140px);
}

.modal-footer[b-e47yo5dnjg] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    background: #F9FAFB;
}
/* /Components/Pages/Services/Parametrage/Devises.razor.rz.scp.css */
.page-container[b-m70yjxtc4q] {
    max-width: 1200px;
    margin: 0 auto;
}

.page-header[b-m70yjxtc4q] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.page-title[b-m70yjxtc4q] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #071A39;
    margin: 0;
}

.page-subtitle[b-m70yjxtc4q] {
    color: #4A5568;
    margin: 0.25rem 0 0;
}

.btn-primary[b-m70yjxtc4q] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-primary:hover:not(:disabled)[b-m70yjxtc4q] {
    transform: translateY(-1px);
    background: var(--zanura-primary-dark, #1873CC);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3);
}

.btn-primary:disabled[b-m70yjxtc4q] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-primary svg[b-m70yjxtc4q] {
    width: 18px;
    height: 18px;
}

/* Alerts */
.alert[b-m70yjxtc4q] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.alert svg[b-m70yjxtc4q] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert span[b-m70yjxtc4q] {
    flex: 1;
}

.alert button[b-m70yjxtc4q] {
    background: none;
    border: none;
    opacity: 0.7;
    cursor: pointer;
    font-size: 1rem;
}

.alert.success[b-m70yjxtc4q] {
    background: #F5F7FA;
    color: #071A39;
    border: 1px solid rgba(30, 144, 255, 0.35);
}

.alert.error[b-m70yjxtc4q] {
    background: #F5F7FA;
    color: #071A39;
    border: 1px solid rgba(220, 38, 38, 0.35);
}

/* Loading */
.loading-container[b-m70yjxtc4q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #4A5568;
}

.loading-spinner[b-m70yjxtc4q] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #1E90FF;
    border-radius: 50%;
    animation: devises-spin-b-m70yjxtc4q 1s linear infinite;
}

@keyframes devises-spin-b-m70yjxtc4q {
    to { transform: rotate(360deg); }
}

/* Principal Card */
.principal-card[b-m70yjxtc4q] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: #FFFFFF;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    border-left: 6px solid #1E90FF;
    margin-bottom: 1.5rem;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.06);
}

.principal-icon[b-m70yjxtc4q] {
    width: 48px;
    height: 48px;
    background: #071A39;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.principal-icon svg[b-m70yjxtc4q] {
    width: 24px;
    height: 24px;
}

.principal-info[b-m70yjxtc4q] {
    display: flex;
    flex-direction: column;
}

.principal-label[b-m70yjxtc4q] {
    font-size: 0.75rem;
    color: #4A5568;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.principal-value[b-m70yjxtc4q] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #071A39;
}

.principal-hint[b-m70yjxtc4q] {
    font-size: 0.75rem;
    color: #4A5568;
}

/* Devises Grid */
.devises-grid[b-m70yjxtc4q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.devise-card[b-m70yjxtc4q] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    overflow: hidden;
    transition: all 0.2s;
}

.devise-card:hover[b-m70yjxtc4q] {
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.10);
}

.devise-card.principale[b-m70yjxtc4q] {
    border-left: 6px solid #1E90FF;
    background: #FFFFFF;
}

.devise-header[b-m70yjxtc4q] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem;
    border-bottom: 1px solid #F3F4F6;
}

.devise-symbol[b-m70yjxtc4q] {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #071A39, #1E90FF);
    color: white;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
}

.principale .devise-symbol[b-m70yjxtc4q] {
    background: linear-gradient(135deg, #071A39, #1E90FF);
}

.devise-code[b-m70yjxtc4q] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2937;
    flex: 1;
}

.principal-badge[b-m70yjxtc4q] {
    padding: 0.25rem 0.75rem;
    background: #071A39;
    color: white;
    border-radius: 50px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
}

.devise-body[b-m70yjxtc4q] {
    padding: 1.25rem;
}

.devise-name[b-m70yjxtc4q] {
    font-size: 0.875rem;
    color: #4A5568;
    margin-bottom: 1rem;
}

.devise-rate[b-m70yjxtc4q] {
    background: #F9FAFB;
    border-radius: 10px;
    padding: 1rem;
}

.rate-label[b-m70yjxtc4q] {
    font-size: 0.7rem;
    color: #9CA3AF;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.rate-value[b-m70yjxtc4q] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.rate-number[b-m70yjxtc4q] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
}

.rate-unit[b-m70yjxtc4q] {
    font-size: 0.75rem;
    color: #6B7280;
}

.devise-footer[b-m70yjxtc4q] {
    display: flex;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid #F3F4F6;
}

.btn-edit[b-m70yjxtc4q], .btn-rate[b-m70yjxtc4q] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-edit[b-m70yjxtc4q] {
    background: #F5F7FA;
    color: #071A39;
    border: 1px solid #E2E8F0;
}

.btn-edit:hover[b-m70yjxtc4q] {
    background: rgba(7, 26, 57, 0.06);
}

.btn-rate[b-m70yjxtc4q] {
    background: #F5F7FA;
    color: #071A39;
    border: 1px solid rgba(30, 144, 255, 0.35);
}

.btn-rate:hover[b-m70yjxtc4q] {
    background: rgba(30, 144, 255, 0.10);
}

.btn-edit svg[b-m70yjxtc4q], .btn-rate svg[b-m70yjxtc4q] {
    width: 14px;
    height: 14px;
}

/* Add Card */
.add-card[b-m70yjxtc4q] {
    border: 2px dashed #D1D5DB;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    cursor: pointer;
}

.add-card:hover[b-m70yjxtc4q] {
    border-color: #1E90FF;
    background: #F5F7FA;
}

.add-content[b-m70yjxtc4q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    color: #9CA3AF;
}

.add-card:hover .add-content[b-m70yjxtc4q] {
    color: #0D9488;
}

.add-icon[b-m70yjxtc4q] {
    width: 48px;
    height: 48px;
    border: 2px solid currentColor;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.add-icon svg[b-m70yjxtc4q] {
    width: 24px;
    height: 24px;
}

/* Converter */
.converter-card[b-m70yjxtc4q] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    padding: 1.5rem;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.04);
}

.converter-title[b-m70yjxtc4q] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #071A39;
    margin: 0 0 1.25rem;
}

.converter-title svg[b-m70yjxtc4q] {
    width: 20px;
    height: 20px;
    color: #14B8A6;
}

.converter-body[b-m70yjxtc4q] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.converter-input[b-m70yjxtc4q], .converter-result[b-m70yjxtc4q] {
    flex: 1;
    display: flex;
    gap: 0.5rem;
}

.converter-input input[b-m70yjxtc4q], .converter-result span[b-m70yjxtc4q] {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 1rem;
}

.converter-input input:focus[b-m70yjxtc4q] {
    outline: none;
    border-color: #14B8A6;
}

.converter-input select[b-m70yjxtc4q], .converter-result select[b-m70yjxtc4q] {
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.875rem;
    background: white;
}

.result-value[b-m70yjxtc4q] {
    font-weight: 700;
    color: #059669;
    background: #D1FAE5 !important;
}

.converter-arrow[b-m70yjxtc4q] {
    color: #9CA3AF;
}

.converter-arrow svg[b-m70yjxtc4q] {
    width: 24px;
    height: 24px;
}

/* Modal */
.modal-overlay[b-m70yjxtc4q] {
    position: fixed;
    inset: 0;
    background: rgba(7, 26, 57, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content[b-m70yjxtc4q] {
    width: 100%;
    max-width: 420px;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(7, 26, 57, 0.25);
    margin: 1rem;
}

.modal-header[b-m70yjxtc4q] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E2E8F0;
    background: #F5F7FA;
    border-radius: 16px 16px 0 0;
}

.modal-header h3[b-m70yjxtc4q] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #071A39;
    margin: 0;
}

.modal-close[b-m70yjxtc4q] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #9CA3AF;
    transition: all 0.2s;
}

.modal-close:hover[b-m70yjxtc4q] {
    background: #F3F4F6;
    color: #374151;
}

.modal-close svg[b-m70yjxtc4q] {
    width: 20px;
    height: 20px;
}

.modal-body[b-m70yjxtc4q] {
    padding: 1.5rem;
}

.modal-footer[b-m70yjxtc4q] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #E2E8F0;
    background: #F5F7FA;
    border-radius: 0 0 16px 16px;
}

.btn-secondary[b-m70yjxtc4q] {
    padding: 0.75rem 1.25rem;
    background: #FFFFFF;
    color: #071A39;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-secondary:hover[b-m70yjxtc4q] {
    background: #F5F7FA;
}

/* Form */
.form-group[b-m70yjxtc4q] {
    margin-bottom: 1rem;
}

.form-group label[b-m70yjxtc4q] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-input[b-m70yjxtc4q] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-input:focus[b-m70yjxtc4q] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.form-input.readonly[b-m70yjxtc4q] {
    background: #F9FAFB;
    color: #6B7280;
}

.form-hint[b-m70yjxtc4q] {
    font-size: 0.75rem;
    color: #9CA3AF;
    margin: 0.5rem 0 0;
}

.validation-message[b-m70yjxtc4q] {
    font-size: 0.75rem;
    color: #DC2626;
    margin-top: 0.25rem;
}

.rate-preview[b-m70yjxtc4q] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem;
    background: #F9FAFB;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.rate-from[b-m70yjxtc4q], .rate-to[b-m70yjxtc4q] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2937;
}

.rate-equals[b-m70yjxtc4q] {
    color: #9CA3AF;
}

.spinner[b-m70yjxtc4q] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: devises-spin-b-m70yjxtc4q 0.8s linear infinite;
}
/* /Components/Pages/Services/Parametrage/FormatsImpression.razor.rz.scp.css */
.page-container[b-tn1hjukgrr] { max-width: 1100px; margin: 0 auto; }

.page-header[b-tn1hjukgrr] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    gap: 1rem;
}

.page-title[b-tn1hjukgrr] { font-size: 1.5rem; font-weight: 700; color: #1F2937; margin: 0; }
.page-subtitle[b-tn1hjukgrr] { color: #6B7280; margin: 0.25rem 0 0; }

.school-badge[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, #F0FDFA, #CCFBF1);
    border: 1px solid #99F6E4;
    border-radius: 12px;
}

.school-logo[b-tn1hjukgrr] {
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    border: 1px solid #E5E7EB;
}

.school-name[b-tn1hjukgrr] { font-weight: 600; color: #0D9488; font-size: 0.875rem; }
.school-type[b-tn1hjukgrr] { font-size: 0.7rem; color: #6B7280; }

.formats-grid[b-tn1hjukgrr] { display: grid; gap: 1.5rem; margin-bottom: 1.5rem; }

.format-card[b-tn1hjukgrr] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    overflow: hidden;
}

.format-card-extended[b-tn1hjukgrr] { border: 2px solid #3B82F6; }

.format-header[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid #F3F4F6;
}

.format-icon[b-tn1hjukgrr] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.format-icon.receipt[b-tn1hjukgrr] { background: linear-gradient(135deg, #10B981, #059669); }
.format-icon.report[b-tn1hjukgrr] { background: linear-gradient(135deg, #3B82F6, #2563EB); }
.format-icon.arriere[b-tn1hjukgrr] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.format-icon svg[b-tn1hjukgrr] { width: 24px; height: 24px; }

.format-info[b-tn1hjukgrr] { flex: 1; }
.format-name[b-tn1hjukgrr] { font-size: 1rem; font-weight: 600; color: #1F2937; margin: 0; }
.format-desc[b-tn1hjukgrr] { font-size: 0.8rem; color: #6B7280; margin: 0.25rem 0 0; }

.btn-preview[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #F3F4F6;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    color: #374151;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-preview:hover[b-tn1hjukgrr] { background: #E5E7EB; }
.btn-preview svg[b-tn1hjukgrr] { width: 16px; height: 16px; }

.format-body[b-tn1hjukgrr] { padding: 1.25rem; }

.format-section[b-tn1hjukgrr] { margin-bottom: 1.5rem; }
.format-section:last-child[b-tn1hjukgrr] { margin-bottom: 0; }

.section-label[b-tn1hjukgrr] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.75rem;
}

.format-options[b-tn1hjukgrr] { display: flex; gap: 1rem; }

.format-option[b-tn1hjukgrr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    flex: 1;
    max-width: 120px;
}

.format-option:hover[b-tn1hjukgrr] { border-color: #14B8A6; }
.format-option.selected[b-tn1hjukgrr] { border-color: #14B8A6; background: #F0FDFA; }
.format-option input[b-tn1hjukgrr] { display: none; }

.option-preview[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F3F4F6;
    border: 1px solid #D1D5DB;
    font-size: 0.7rem;
    font-weight: 600;
    color: #6B7280;
}

.option-preview.a4[b-tn1hjukgrr] { width: 50px; height: 70px; border-radius: 4px; }
.option-preview.a5[b-tn1hjukgrr] { width: 42px; height: 60px; border-radius: 4px; }
.option-preview.a4l[b-tn1hjukgrr] { width: 70px; height: 50px; border-radius: 4px; }
.option-preview.ticket[b-tn1hjukgrr] { width: 36px; height: 70px; border-radius: 4px; }

.selected .option-preview[b-tn1hjukgrr] { background: #CCFBF1; border-color: #14B8A6; color: #0D9488; }
.option-label[b-tn1hjukgrr] { font-size: 0.7rem; color: #6B7280; text-align: center; }
.selected .option-label[b-tn1hjukgrr] { color: #0D9488; font-weight: 500; }

.model-pick-intro[b-tn1hjukgrr] {
    font-size: 0.8rem;
    color: #6B7280;
    margin: 0 0 1rem;
    line-height: 1.45;
}

.model-pick-block[b-tn1hjukgrr] {
    margin-bottom: 1.25rem;
}

.model-pick-title[b-tn1hjukgrr] {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
}

.format-options.model-pair[b-tn1hjukgrr] {
    flex-wrap: wrap;
}

.format-options.model-pair .format-option[b-tn1hjukgrr] {
    max-width: none;
    flex: 1;
    min-width: 140px;
}

.format-options.model-pair .option-label[b-tn1hjukgrr] {
    text-align: center;
    line-height: 1.35;
}

.format-options.model-pair .option-label small[b-tn1hjukgrr] {
    font-weight: 400;
    color: #9CA3AF;
}

.models-grid-request[b-tn1hjukgrr] {
    margin-top: 1rem;
}

/* Models Grid */
.models-grid[b-tn1hjukgrr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

.model-card[b-tn1hjukgrr] {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    background: white;
}

.model-card:hover[b-tn1hjukgrr] { border-color: #3B82F6; box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1); }
.model-card.selected[b-tn1hjukgrr] { border-color: #3B82F6; background: #EFF6FF; }
.model-card.disabled[b-tn1hjukgrr] { opacity: 0.6; cursor: not-allowed; }
.model-card.disabled:hover[b-tn1hjukgrr] { border-color: #E5E7EB; box-shadow: none; }

.model-preview[b-tn1hjukgrr] { margin-bottom: 0.75rem; }

.model-thumbnail[b-tn1hjukgrr] {
    width: 100%;
    height: 80px;
    background: #F3F4F6;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
}

.model-thumbnail svg[b-tn1hjukgrr] { width: 40px; height: 40px; }

.model-thumbnail.style-caisse[b-tn1hjukgrr] { background: linear-gradient(135deg, #DBEAFE, #BFDBFE); color: #2563EB; }
.model-thumbnail.style-mensuel[b-tn1hjukgrr] { background: linear-gradient(135deg, #D1FAE5, #A7F3D0); color: #059669; }
.model-thumbnail.style-annuel[b-tn1hjukgrr] { background: linear-gradient(135deg, #FEF3C7, #FDE68A); color: #D97706; }
.model-thumbnail.style-paiements[b-tn1hjukgrr] { background: linear-gradient(135deg, #E0E7FF, #C7D2FE); color: #4F46E5; }
.model-thumbnail.request[b-tn1hjukgrr] { background: linear-gradient(135deg, #FCE7F3, #FBCFE8); color: #DB2777; }

.selected .model-thumbnail[b-tn1hjukgrr] { box-shadow: inset 0 0 0 2px #3B82F6; }

.model-info[b-tn1hjukgrr] { flex: 1; margin-bottom: 0.75rem; }
.model-name[b-tn1hjukgrr] { display: block; font-weight: 600; color: #1F2937; font-size: 0.875rem; }
.model-desc[b-tn1hjukgrr] { display: block; font-size: 0.7rem; color: #6B7280; margin-top: 0.25rem; }

.model-status[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.7rem;
    font-weight: 500;
    padding: 0.375rem 0.625rem;
    border-radius: 6px;
}

.model-status svg[b-tn1hjukgrr] { width: 14px; height: 14px; }

.model-status.available[b-tn1hjukgrr] { background: #D1FAE5; color: #059669; }
.model-status.coming-soon[b-tn1hjukgrr] { background: #FEF3C7; color: #D97706; }
.model-status.request-btn[b-tn1hjukgrr] { background: #FCE7F3; color: #DB2777; }

.request-model[b-tn1hjukgrr] { border-style: dashed; }
.request-model:hover[b-tn1hjukgrr] { border-color: #DB2777; background: #FDF2F8; }

/* Options Card */
.options-card[b-tn1hjukgrr] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.options-title[b-tn1hjukgrr] { font-size: 1rem; font-weight: 600; color: #1F2937; margin: 0 0 1rem; }
.options-grid[b-tn1hjukgrr] { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.option-checkbox[b-tn1hjukgrr] { display: flex; align-items: center; gap: 0.75rem; cursor: pointer; }
.option-checkbox input[b-tn1hjukgrr] { display: none; }

.checkbox-box[b-tn1hjukgrr] {
    width: 22px;
    height: 22px;
    border: 2px solid #D1D5DB;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    flex-shrink: 0;
}

.checkbox-box svg[b-tn1hjukgrr] { width: 14px; height: 14px; opacity: 0; color: white; }
.option-checkbox input:checked + .checkbox-box[b-tn1hjukgrr] { background: #14B8A6; border-color: #14B8A6; }
.option-checkbox input:checked + .checkbox-box svg[b-tn1hjukgrr] { opacity: 1; }
.checkbox-label[b-tn1hjukgrr] { font-size: 0.875rem; color: #374151; }

/* Actions */
.actions-bar[b-tn1hjukgrr] { display: flex; justify-content: flex-end; }

.btn-primary[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-primary:hover:not(:disabled)[b-tn1hjukgrr] { transform: translateY(-1px); background: var(--zanura-primary-dark, #1873CC); box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3); }
.btn-primary:disabled[b-tn1hjukgrr] { opacity: 0.7; cursor: not-allowed; }
.btn-primary svg[b-tn1hjukgrr] { width: 18px; height: 18px; }
.btn-spinner[b-tn1hjukgrr] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: fi-spin-b-tn1hjukgrr 0.8s linear infinite;
}
.btn-submit .btn-spinner[b-tn1hjukgrr] { margin-right: 0.35rem; }
@keyframes fi-spin-b-tn1hjukgrr { to { transform: rotate(360deg); } }

/* Modal */
.modal-overlay[b-tn1hjukgrr] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 2rem;
    backdrop-filter: blur(4px);
}

.modal-container[b-tn1hjukgrr] {
    background: white;
    border-radius: 16px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.modal-large[b-tn1hjukgrr] { width: 900px; max-width: 95vw; }
.modal-request[b-tn1hjukgrr] { width: 600px; max-width: 95vw; max-height: 85vh; }

.modal-header[b-tn1hjukgrr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
    background: #F9FAFB;
    flex-shrink: 0;
}

.modal-header h2[b-tn1hjukgrr] { font-size: 1.125rem; font-weight: 600; color: #1F2937; margin: 0; }

.modal-close[b-tn1hjukgrr] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    cursor: pointer;
    transition: all 0.2s;
}

.modal-close:hover[b-tn1hjukgrr] { background: #E5E7EB; color: #1F2937; }
.modal-close svg[b-tn1hjukgrr] { width: 18px; height: 18px; }

.modal-body[b-tn1hjukgrr] {
    padding: 1.5rem;
    overflow-y: auto;
    background: #F3F4F6;
    display: flex;
    justify-content: center;
}

.modal-footer[b-tn1hjukgrr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    flex-shrink: 0;
    background: #F9FAFB;
}

.preview-format[b-tn1hjukgrr] { font-size: 0.75rem; color: #6B7280; }
.modal-actions[b-tn1hjukgrr] { display: flex; gap: 0.75rem; }

.btn-secondary[b-tn1hjukgrr] {
    padding: 0.5rem 1rem;
    background: white;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #374151;
    font-weight: 500;
    cursor: pointer;
}

.btn-secondary:hover[b-tn1hjukgrr] { background: #F3F4F6; }

.btn-print[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #3B82F6, #2563EB);
    border: none;
    border-radius: 8px;
    color: white;
    font-weight: 500;
    cursor: pointer;
}

.btn-print:hover[b-tn1hjukgrr] { box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); }
.btn-print svg[b-tn1hjukgrr] { width: 16px; height: 16px; }

/* Rapport de Caisse Preview */
.preview-document[b-tn1hjukgrr] {
    background: white;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    font-family: 'Times New Roman', serif;
    width: 100%;
    max-width: 800px;
}

.doc-rapport-caisse[b-tn1hjukgrr] { min-height: 1000px; }

.rapport-header[b-tn1hjukgrr] {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #1E40AF;
}

.rapport-logo[b-tn1hjukgrr] { width: 80px; flex-shrink: 0; }
.rapport-logo img[b-tn1hjukgrr] { width: 100%; border-radius: 8px; }
.logo-placeholder-rapport[b-tn1hjukgrr] {
    width: 80px;
    height: 80px;
    background: #E5E7EB;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
}

.rapport-ecole-info[b-tn1hjukgrr] { flex: 1; }
.rapport-ecole-info h1[b-tn1hjukgrr] { font-size: 1.25rem; font-weight: 700; color: #1E40AF; margin: 0; }
.rapport-ecole-info p[b-tn1hjukgrr] { font-size: 0.75rem; color: #4B5563; margin: 0.25rem 0 0; }

.rapport-meta[b-tn1hjukgrr] { text-align: right; }
.rapport-date[b-tn1hjukgrr] { font-size: 0.8rem; color: #374151; margin: 0; }
.rapport-annee[b-tn1hjukgrr] { font-size: 0.75rem; font-weight: 600; color: #1E40AF; margin: 0.25rem 0 0; }

.rapport-titre[b-tn1hjukgrr] {
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    color: #1F2937;
    text-decoration: underline;
    margin: 1.5rem 0;
}

.rapport-section[b-tn1hjukgrr] { margin-bottom: 1.5rem; }

.section-title-blue[b-tn1hjukgrr] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E40AF;
    margin: 0 0 0.5rem;
}

.rapport-table[b-tn1hjukgrr] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.rapport-table th[b-tn1hjukgrr], .rapport-table td[b-tn1hjukgrr] {
    border: 1px solid #374151;
    padding: 0.5rem;
    text-align: left;
}

.rapport-table th[b-tn1hjukgrr] { background: #F3F4F6; font-weight: 600; }
.rapport-table.synthese th:first-child[b-tn1hjukgrr] { width: 100px; }
.rapport-table .total-row[b-tn1hjukgrr] { font-weight: 700; background: #E0E7FF; }
.rapport-table .sub-header th[b-tn1hjukgrr] { background: #E5E7EB; font-size: 0.75rem; }

.operations-header[b-tn1hjukgrr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.operations-header h3[b-tn1hjukgrr] { font-size: 1rem; font-weight: 600; color: #1F2937; margin: 0; }
.compte-label[b-tn1hjukgrr] { font-size: 0.75rem; color: #6B7280; font-style: italic; }

.sub-section-title[b-tn1hjukgrr] {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 1rem 0 0.5rem;
    padding-left: 1rem;
}

.sub-section-title.credit[b-tn1hjukgrr] { color: #1E40AF; }
.sub-section-title.debit[b-tn1hjukgrr] { color: #1E40AF; }

.taux-info[b-tn1hjukgrr] {
    font-size: 0.75rem;
    color: #6B7280;
    margin: 1.5rem 0;
}

.rapport-footer[b-tn1hjukgrr] {
    display: flex;
    justify-content: space-between;
    margin-top: 3rem;
    padding-top: 2rem;
}

.signature-block[b-tn1hjukgrr] { text-align: center; width: 200px; }
.signature-title[b-tn1hjukgrr] { font-size: 0.875rem; font-weight: 600; text-decoration: underline; margin: 0 0 3rem; }
.signature-space[b-tn1hjukgrr] { height: 50px; }

/* Legacy doc styles */
.doc-header[b-tn1hjukgrr] { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 2px solid #0D9488; }
.doc-logo[b-tn1hjukgrr] { width: 60px; height: 60px; }
.logo-placeholder[b-tn1hjukgrr] { width: 60px; height: 60px; background: #F3F4F6; border: 1px solid #E5E7EB; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.doc-school-info[b-tn1hjukgrr] { flex: 1; text-align: center; }
.doc-school-info h1[b-tn1hjukgrr] { font-size: 1.25rem; font-weight: 700; color: #0D9488; margin: 0; }
.doc-school-info p[b-tn1hjukgrr] { font-size: 0.75rem; color: #6B7280; margin: 0.25rem 0 0; }
.doc-title[b-tn1hjukgrr] { text-align: center; margin-bottom: 1.5rem; }
.doc-title h2[b-tn1hjukgrr] { font-size: 1.125rem; font-weight: 700; color: #1F2937; margin: 0; text-decoration: underline; }
.doc-content[b-tn1hjukgrr] { margin-bottom: 1.5rem; }
.doc-info-row[b-tn1hjukgrr] { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; font-size: 0.875rem; }
.doc-info-row .label[b-tn1hjukgrr] { font-weight: 600; color: #374151; min-width: 120px; }
.doc-info-row .value[b-tn1hjukgrr] { color: #1F2937; }
.doc-table[b-tn1hjukgrr] { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.8rem; }
.doc-table th[b-tn1hjukgrr], .doc-table td[b-tn1hjukgrr] { border: 1px solid #D1D5DB; padding: 0.5rem; text-align: left; }
.doc-table th[b-tn1hjukgrr] { background: #F3F4F6; font-weight: 600; }
.doc-table tfoot th[b-tn1hjukgrr] { background: #0D9488; color: white; }
.doc-warning[b-tn1hjukgrr] { background: #FEF3C7; color: #92400E; padding: 0.75rem; border-radius: 8px; text-align: center; font-weight: 700; margin-bottom: 1rem; }
.retard[b-tn1hjukgrr] { color: #DC2626; font-weight: 600; }

.preview-placeholder[b-tn1hjukgrr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    color: #9CA3AF;
}
.preview-placeholder svg[b-tn1hjukgrr] { width: 80px; height: 80px; margin-bottom: 1rem; }

/* Demande modèle personnalisé - modal (refaite from zero) */
.dm-modal[b-tn1hjukgrr] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(7, 26, 57, 0.5);
    padding: 1rem;
}

.dm-modal__box[b-tn1hjukgrr] {
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow: auto;
    background: #F5F7FA;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
}

.dm-modal__header[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: #071A39;
    color: #F5F7FA;
    border-radius: 12px 12px 0 0;
}

.dm-modal__title[b-tn1hjukgrr] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
}

.dm-modal__close[b-tn1hjukgrr] {
    background: transparent;
    border: none;
    color: #F5F7FA;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.25rem;
}

.dm-modal__close:hover[b-tn1hjukgrr] { opacity: 0.9; }

.dm-modal__body[b-tn1hjukgrr] {
    padding: 1.25rem 1.5rem;
    flex: 1;
    min-height: 0;
}

.dm-modal__intro[b-tn1hjukgrr] {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    color: #4B5563;
    line-height: 1.5;
}

.dm-modal__field[b-tn1hjukgrr] {
    margin-bottom: 1rem;
}

.dm-modal__field label[b-tn1hjukgrr] {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    color: #071A39;
    margin-bottom: 0.35rem;
}

.dm-required[b-tn1hjukgrr] { color: #DC2626; }

.dm-modal__input[b-tn1hjukgrr],
.dm-modal__textarea[b-tn1hjukgrr] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    background: white;
    box-sizing: border-box;
}

.dm-modal__input:focus[b-tn1hjukgrr],
.dm-modal__textarea:focus[b-tn1hjukgrr] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.2);
}

.dm-modal__textarea[b-tn1hjukgrr] {
    resize: vertical;
    min-height: 100px;
}

.dm-modal__error[b-tn1hjukgrr] {
    margin: 0.5rem 0 0;
    font-size: 0.8rem;
    color: #DC2626;
}

.dm-modal__alert[b-tn1hjukgrr] {
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}
.dm-modal__alert--success[b-tn1hjukgrr] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #6EE7B7;
}
.dm-modal__alert--error[b-tn1hjukgrr] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}
.dm-modal__link-wrap[b-tn1hjukgrr] { margin-top: 1rem; }
.dm-modal__link[b-tn1hjukgrr] {
    background: none;
    border: none;
    color: #1E90FF;
    text-decoration: underline;
    cursor: pointer;
    font-size: 0.875rem;
    padding: 0;
}
.dm-modal__link:hover[b-tn1hjukgrr] { color: #1a7fe6; }
.dm-modal__hint[b-tn1hjukgrr] {
    margin: 1rem 0 0;
    font-size: 0.8rem;
    color: #6B7280;
}

.dm-modal__footer[b-tn1hjukgrr] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    background: white;
    border-radius: 0 0 12px 12px;
}

.dm-modal__btn[b-tn1hjukgrr] {
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.dm-modal__btn:disabled[b-tn1hjukgrr] { opacity: 0.7; cursor: not-allowed; }

.dm-modal__btn--secondary[b-tn1hjukgrr] {
    background: #E5E7EB;
    color: #374151;
    border: 1px solid #D1D5DB;
}

.dm-modal__btn--primary[b-tn1hjukgrr] {
    background: #1E90FF;
    color: white;
    border: none;
}

.dm-modal__btn--primary:hover:not(:disabled)[b-tn1hjukgrr] {
    background: #1a7fe6;
}

.dm-modal__spinner[b-tn1hjukgrr] {
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: dm-spin-b-tn1hjukgrr 0.7s linear infinite;
}

@keyframes dm-spin-b-tn1hjukgrr { to { transform: rotate(360deg); } }

.dm-hist-fields[b-tn1hjukgrr] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.5rem 1.5rem;
    margin: 0;
}
.dm-hist-fields dt[b-tn1hjukgrr] { color: #6B7280; font-weight: 600; font-size: 0.8rem; }
.dm-hist-fields dd[b-tn1hjukgrr] { margin: 0; font-size: 0.875rem; }
.dm-desc-block[b-tn1hjukgrr] { white-space: pre-wrap; max-height: 200px; overflow-y: auto; }
.dm-statut[b-tn1hjukgrr] {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
}
.dm-statut--envoye[b-tn1hjukgrr] { background: #DBEAFE; color: #1E40AF; }
.dm-statut--traite[b-tn1hjukgrr] { background: #D1FAE5; color: #065F46; }
.dm-hist-list[b-tn1hjukgrr] { list-style: none; margin: 0; padding: 0; }
.dm-hist-item[b-tn1hjukgrr] { margin-bottom: 0.5rem; }
.dm-hist-item__btn[b-tn1hjukgrr] {
    width: 100%;
    text-align: left;
    padding: 0.75rem 1rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    background: white;
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
}
.dm-hist-item__btn:hover[b-tn1hjukgrr] { background: #F9FAFB; border-color: #1E90FF; }
.dm-hist-item__type[b-tn1hjukgrr] { flex: 1; font-weight: 500; font-size: 0.875rem; }
.dm-hist-item__date[b-tn1hjukgrr] { font-size: 0.8rem; color: #6B7280; }

/* Section Suivi des demandes (page) */
.suivi-demandes-card[b-tn1hjukgrr] {
    margin-top: 1.5rem;
}
.suivi-demandes-header[b-tn1hjukgrr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}
.suivi-demandes-title[b-tn1hjukgrr] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #071A39;
}
.btn-refresh[b-tn1hjukgrr] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    color: #1E90FF;
    background: #EFF6FF;
    border: 1px solid #93C5FD;
    border-radius: 8px;
    cursor: pointer;
}
.btn-refresh:hover[b-tn1hjukgrr] { background: #DBEAFE; }
.btn-refresh svg[b-tn1hjukgrr] { width: 14px; height: 14px; }
.suivi-demandes-body[b-tn1hjukgrr] { padding: 1rem 1.25rem; }
.suivi-demandes-empty[b-tn1hjukgrr] {
    margin: 0;
    color: #6B7280;
    font-size: 0.875rem;
}
.suivi-demandes-table-wrap[b-tn1hjukgrr] {
    overflow-x: auto;
    max-height: 400px;
    overflow-y: auto;
}
.suivi-demandes-table[b-tn1hjukgrr] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}
.suivi-demandes-table th[b-tn1hjukgrr],
.suivi-demandes-table td[b-tn1hjukgrr] {
    padding: 0.6rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid #E5E7EB;
}
.suivi-demandes-table th[b-tn1hjukgrr] {
    background: #F9FAFB;
    font-weight: 600;
    color: #374151;
}
.suivi-demandes-table tr.selected[b-tn1hjukgrr] { background: #EFF6FF; }
.suivi-demandes-table tr:hover:not(.suivi-detail-row)[b-tn1hjukgrr] { background: #F9FAFB; }
.suivi-date[b-tn1hjukgrr] { white-space: nowrap; color: #6B7280; }
.suivi-type[b-tn1hjukgrr] { max-width: 280px; }
.suivi-btn-detail[b-tn1hjukgrr] {
    background: none;
    border: none;
    color: #1E90FF;
    cursor: pointer;
    font-size: 0.8rem;
    padding: 0;
    text-decoration: underline;
}
.suivi-btn-detail:hover[b-tn1hjukgrr] { color: #1a7fe6; }
.suivi-detail-row td[b-tn1hjukgrr] { background: #F0F9FF; padding: 0; vertical-align: top; }
.suivi-detail-block[b-tn1hjukgrr] {
    padding: 1rem 1.25rem;
    border-top: 1px solid #BAE6FD;
}

.save-alert[b-tn1hjukgrr] {
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
}

.save-alert.success[b-tn1hjukgrr] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #6EE7B7;
}

.save-alert.error[b-tn1hjukgrr] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

/* Rapport Mensuel - Recap Cards */
.recap-cards[b-tn1hjukgrr] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.recap-card[b-tn1hjukgrr] {
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
}

.recap-card.recettes[b-tn1hjukgrr] {
    background: linear-gradient(135deg, #D1FAE5, #A7F3D0);
    border: 1px solid #6EE7B7;
}

.recap-card.depenses[b-tn1hjukgrr] {
    background: linear-gradient(135deg, #FEE2E2, #FECACA);
    border: 1px solid #FCA5A5;
}

.recap-card.solde[b-tn1hjukgrr] {
    background: linear-gradient(135deg, #DBEAFE, #BFDBFE);
    border: 1px solid #93C5FD;
}

.recap-label[b-tn1hjukgrr] {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.recap-card.recettes .recap-label[b-tn1hjukgrr] { color: #065F46; }
.recap-card.depenses .recap-label[b-tn1hjukgrr] { color: #991B1B; }
.recap-card.solde .recap-label[b-tn1hjukgrr] { color: #1E40AF; }

.recap-value[b-tn1hjukgrr] {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.recap-card.recettes .recap-value[b-tn1hjukgrr] { color: #047857; }
.recap-card.depenses .recap-value[b-tn1hjukgrr] { color: #DC2626; }
.recap-card.solde .recap-value[b-tn1hjukgrr] { color: #2563EB; }

.recap-usd[b-tn1hjukgrr] {
    display: block;
    font-size: 0.7rem;
    color: #6B7280;
}

/* Evolution Chart */
.evolution-chart[b-tn1hjukgrr] {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 1.5rem;
    height: 100px;
    padding: 1rem;
    background: #F9FAFB;
    border-radius: 8px;
    border: 1px solid #E5E7EB;
}

.chart-bar[b-tn1hjukgrr] {
    width: 50px;
    background: linear-gradient(180deg, #3B82F6, #2563EB);
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 0.5rem;
    min-height: 20px;
}

.chart-bar span[b-tn1hjukgrr] {
    font-size: 0.7rem;
    font-weight: 600;
    color: white;
}

.chart-legend[b-tn1hjukgrr] {
    text-align: center;
    font-size: 0.75rem;
    color: #6B7280;
    margin-top: 0.5rem;
}

/* Preview Unavailable */
.preview-unavailable[b-tn1hjukgrr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 400px;
    text-align: center;
    padding: 2rem;
}

.unavailable-icon[b-tn1hjukgrr] {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.preview-unavailable h3[b-tn1hjukgrr] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.5rem;
}

.preview-unavailable p[b-tn1hjukgrr] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0;
}

.preview-unavailable .hint[b-tn1hjukgrr] {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    background: #FEF3C7;
    border-radius: 8px;
    color: #92400E;
    font-size: 0.8rem;
}

@media (max-width: 768px) {
    .recap-cards[b-tn1hjukgrr] { grid-template-columns: 1fr; }
    .page-header[b-tn1hjukgrr] { flex-direction: column; }
    .options-grid[b-tn1hjukgrr] { grid-template-columns: 1fr; }
    .format-options[b-tn1hjukgrr] { flex-wrap: wrap; }
    .models-grid[b-tn1hjukgrr] { grid-template-columns: 1fr; }
    .modal-container[b-tn1hjukgrr] { width: 100% !important; margin: 1rem; }
}
/* /Components/Pages/Services/Parametrage/FraisScolaires.razor.rz.scp.css */
.page-container[b-l8x7tbsmvj] {
    max-width: 1200px;
    margin: 0 auto;
}

.page-header[b-l8x7tbsmvj] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.page-title[b-l8x7tbsmvj] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.page-subtitle[b-l8x7tbsmvj] {
    color: #6B7280;
    margin: 0.25rem 0 0;
}

/* Filter Card */
.filter-card[b-l8x7tbsmvj] {
    background: white;
    border-radius: 12px;
    border: 1px solid #E5E7EB;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
}

.filter-item[b-l8x7tbsmvj] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.filter-item label[b-l8x7tbsmvj] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.filter-select[b-l8x7tbsmvj] {
    padding: 0.5rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    min-width: 200px;
}

.btn-clear-filter[b-l8x7tbsmvj] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.4rem 0.75rem;
    background: #FEF2F2;
    color: #DC2626;
    border: 1px solid #FECACA;
    border-radius: 6px;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-clear-filter:hover[b-l8x7tbsmvj] {
    background: #FEE2E2;
    border-color: #F87171;
}

.stat-mini-card.filter-active[b-l8x7tbsmvj] {
    background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
    border-color: #818CF8;
}

.page-container .stat-mini-card.filter-active .stat-value[b-l8x7tbsmvj] {
    color: #4F46E5;
    font-size: 0.875rem;
}

.page-container .stat-mini-card.filter-active .stat-label[b-l8x7tbsmvj] {
    color: #6366F1;
}

/* Stats Row */
.stats-row[b-l8x7tbsmvj] {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.stat-mini-card[b-l8x7tbsmvj] {
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    min-width: 120px;
}

/* Spécificité renforcée pour surcharger le layout Services (.services-body .stat-value { color: white }) */
.page-container .stat-mini-card .stat-value[b-l8x7tbsmvj] {
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    color: #071A39;
    line-height: 1.2;
}

.page-container .stat-mini-card .stat-label[b-l8x7tbsmvj] {
    display: block;
    font-size: 0.8rem;
    font-weight: 500;
    color: #4B5563;
    margin-top: 0.25rem;
}

/* Buttons */
.btn-primary[b-l8x7tbsmvj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-primary:hover:not(:disabled)[b-l8x7tbsmvj] {
    transform: translateY(-1px);
    background: var(--zanura-primary-dark, #1873CC);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3);
}

.btn-primary:disabled[b-l8x7tbsmvj] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-primary:disabled[b-l8x7tbsmvj] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.btn-primary svg[b-l8x7tbsmvj] {
    width: 18px;
    height: 18px;
}

.btn-secondary[b-l8x7tbsmvj] {
    padding: 0.75rem 1.25rem;
    background: white;
    color: #374151;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-secondary:hover[b-l8x7tbsmvj] {
    background: #F9FAFB;
}

/* Alerts */
.alert[b-l8x7tbsmvj] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.alert svg[b-l8x7tbsmvj] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert span[b-l8x7tbsmvj] {
    flex: 1;
}

.alert button[b-l8x7tbsmvj] {
    background: none;
    border: none;
    opacity: 0.7;
    cursor: pointer;
    font-size: 1rem;
}

.alert.success[b-l8x7tbsmvj] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #6EE7B7;
}

.alert.error[b-l8x7tbsmvj] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

/* Loading */
.loading-container[b-l8x7tbsmvj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #6B7280;
}

.loading-spinner[b-l8x7tbsmvj] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #14B8A6;
    border-radius: 50%;
    animation: frais-spin-b-l8x7tbsmvj 1s linear infinite;
}

@keyframes frais-spin-b-l8x7tbsmvj {
    to { transform: rotate(360deg); }
}

/* Table */
.table-card[b-l8x7tbsmvj] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    overflow: hidden;
}

.data-table[b-l8x7tbsmvj] {
    width: 100%;
    border-collapse: collapse;
}

.data-table th[b-l8x7tbsmvj] {
    padding: 1rem 1.25rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6B7280;
    background: #F9FAFB;
    border-bottom: 1px solid #E5E7EB;
}

.data-table td[b-l8x7tbsmvj] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #F3F4F6;
    color: #374151;
    vertical-align: middle;
}

.data-table tr:last-child td[b-l8x7tbsmvj] {
    border-bottom: none;
}

.text-right[b-l8x7tbsmvj] {
    text-align: right;
}

.code-badge[b-l8x7tbsmvj] {
    font-family: monospace;
    font-weight: 600;
    color: #1E90FF;
    background: #EFF6FF;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.frais-info[b-l8x7tbsmvj] {
    display: flex;
    flex-direction: column;
}

.frais-name[b-l8x7tbsmvj] {
    font-weight: 600;
    color: #1F2937;
}

.frais-desc[b-l8x7tbsmvj] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.amount[b-l8x7tbsmvj] {
    font-weight: 600;
    color: #059669;
}

.type-badge[b-l8x7tbsmvj] {
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.7rem;
    font-weight: 600;
}

.type-badge.obligatoire[b-l8x7tbsmvj] {
    background: #FEE2E2;
    color: #DC2626;
}

.type-badge.optionnel[b-l8x7tbsmvj] {
    background: #F3F4F6;
    color: #6B7280;
}

.niveau-badge[b-l8x7tbsmvj] {
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.7rem;
    font-weight: 600;
    background: #EDE9FE;
    color: #7C3AED;
}

.niveau-badge.tous[b-l8x7tbsmvj] {
    background: #F3F4F6;
    color: #6B7280;
    font-style: italic;
}

.status-badge[b-l8x7tbsmvj] {
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-badge.actif[b-l8x7tbsmvj] {
    background: #D1FAE5;
    color: #065F46;
}

.status-badge.inactif[b-l8x7tbsmvj] {
    background: #F3F4F6;
    color: #6B7280;
}

.action-buttons[b-l8x7tbsmvj] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.btn-action[b-l8x7tbsmvj] {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-action svg[b-l8x7tbsmvj] {
    width: 18px;
    height: 18px;
}

.btn-action.edit[b-l8x7tbsmvj] {
    background: #DBEAFE;
    color: #1E40AF;
}

.btn-action.edit:hover[b-l8x7tbsmvj] {
    background: #BFDBFE;
}

/* Empty State */
.empty-row[b-l8x7tbsmvj] {
    padding: 3rem !important;
}

.empty-state[b-l8x7tbsmvj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #9CA3AF;
}

.empty-state svg[b-l8x7tbsmvj] {
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
}

.empty-state p[b-l8x7tbsmvj] {
    margin: 0 0 1rem;
    color: #6B7280;
}

.btn-create-empty[b-l8x7tbsmvj] {
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #14B8A6, #0D9488);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
}

/* Modal */
.modal-overlay[b-l8x7tbsmvj] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content[b-l8x7tbsmvj] {
    width: 100%;
    max-width: 480px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    margin: 1rem;
}

.modal-content.modal-lg[b-l8x7tbsmvj] {
    max-width: 560px;
}

.modal-header[b-l8x7tbsmvj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.modal-header h3[b-l8x7tbsmvj] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.modal-close[b-l8x7tbsmvj] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #9CA3AF;
    transition: all 0.2s;
}

.modal-close:hover[b-l8x7tbsmvj] {
    background: #F3F4F6;
    color: #374151;
}

.modal-close svg[b-l8x7tbsmvj] {
    width: 20px;
    height: 20px;
}

.modal-body[b-l8x7tbsmvj] {
    padding: 1.5rem;
}

.modal-footer[b-l8x7tbsmvj] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    background: #F9FAFB;
    border-radius: 0 0 16px 16px;
}

/* Form */
.form-group[b-l8x7tbsmvj] {
    margin-bottom: 1rem;
}

.form-group label[b-l8x7tbsmvj] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-input[b-l8x7tbsmvj] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-input:focus[b-l8x7tbsmvj] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.form-row[b-l8x7tbsmvj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.checkbox-label[b-l8x7tbsmvj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.checkbox-label input[type="checkbox"][b-l8x7tbsmvj] {
    width: 18px;
    height: 18px;
    accent-color: #14B8A6;
}

.validation-message[b-l8x7tbsmvj] {
    color: #DC2626;
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.spinner[b-l8x7tbsmvj] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: frais-spin-b-l8x7tbsmvj 0.8s linear infinite;
}

.form-hint[b-l8x7tbsmvj] {
    font-size: 0.75rem;
    color: #9CA3AF;
    margin-top: 0.25rem;
}
/* /Components/Pages/Services/Parametrage/GestionLicences.razor.rz.scp.css */
/* Charte: Bleu Marine #071A39, Blanc #F5F7FA, Bleu Électrique #1E90FF */
.page-container[b-ngv93hq39g] {
    max-width: 900px;
    margin: 0 auto;
}

.page-header[b-ngv93hq39g] {
    margin-bottom: 1.5rem;
}

.page-title[b-ngv93hq39g] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #071A39;
    margin: 0;
}

.page-subtitle[b-ngv93hq39g] {
    color: #4A5568;
    margin: 0.25rem 0 0;
}

/* Licence Active Card */
.licence-active-card[b-ngv93hq39g] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 2rem;
    border-radius: 16px;
    margin-bottom: 1.5rem;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.08);
}

.licence-active-card.valid[b-ngv93hq39g] {
    border-left: 6px solid #1E90FF;
}

.licence-active-card.expired[b-ngv93hq39g] {
    border-left: 6px solid #DC2626;
}

.licence-badge[b-ngv93hq39g] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.valid .licence-badge[b-ngv93hq39g] {
    background: #071A39;
    color: white;
}

.expired .licence-badge[b-ngv93hq39g] {
    background: #071A39;
    color: white;
}

.licence-badge svg[b-ngv93hq39g] {
    width: 28px;
    height: 28px;
}

.licence-main[b-ngv93hq39g] {
    flex: 1;
    display: flex;
    gap: 2rem;
}

.licence-type[b-ngv93hq39g], .licence-status[b-ngv93hq39g], .licence-expiry[b-ngv93hq39g], .licence-days[b-ngv93hq39g] {
    display: flex;
    flex-direction: column;
}

.type-label[b-ngv93hq39g], .status-label[b-ngv93hq39g], .expiry-label[b-ngv93hq39g], .days-label[b-ngv93hq39g] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #4A5568;
}

.valid .type-label[b-ngv93hq39g], .valid .status-label[b-ngv93hq39g], .valid .expiry-label[b-ngv93hq39g], .valid .days-label[b-ngv93hq39g] {
    color: #4A5568;
}

.expired .type-label[b-ngv93hq39g], .expired .status-label[b-ngv93hq39g], .expired .expiry-label[b-ngv93hq39g], .expired .days-label[b-ngv93hq39g] {
    color: #4A5568;
}

.type-value[b-ngv93hq39g], .status-value[b-ngv93hq39g], .expiry-value[b-ngv93hq39g] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #071A39;
}

.valid .type-value[b-ngv93hq39g], .valid .status-value[b-ngv93hq39g], .valid .expiry-value[b-ngv93hq39g] {
    color: #071A39;
}

.expired .type-value[b-ngv93hq39g], .expired .status-value[b-ngv93hq39g], .expired .expiry-value[b-ngv93hq39g] {
    color: #071A39;
}

.licence-days[b-ngv93hq39g] {
    text-align: center;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    border: 1px solid #E2E8F0;
    background: #F5F7FA;
}

.days-value[b-ngv93hq39g] {
    font-size: 1.5rem;
    font-weight: 700;
}

.valid .days-value[b-ngv93hq39g] { color: #071A39; }
.expired .days-value[b-ngv93hq39g] { color: #071A39; }

.btn-renew[b-ngv93hq39g] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: #1E90FF;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-renew:hover[b-ngv93hq39g] {
    background: #1873CC;
}

.btn-renew svg[b-ngv93hq39g] {
    width: 18px;
    height: 18px;
}

/* Limits Section */
.limits-section[b-ngv93hq39g] {
    margin-bottom: 1.5rem;
}

.limit-card[b-ngv93hq39g] {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 1.25rem;
}

.limit-card.full-width[b-ngv93hq39g] {
    width: 100%;
}

.limit-icon[b-ngv93hq39g] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.limit-icon.students[b-ngv93hq39g] { background: linear-gradient(135deg, #071A39, #1E90FF); }

.limit-icon svg[b-ngv93hq39g] {
    width: 22px;
    height: 22px;
}

.limit-content[b-ngv93hq39g] {
    flex: 1;
}

.limit-label[b-ngv93hq39g] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    display: block;
    margin-bottom: 0.5rem;
}

.limit-progress[b-ngv93hq39g] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.progress-bar[b-ngv93hq39g] {
    flex: 1;
    height: 8px;
    background: #E5E7EB;
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill[b-ngv93hq39g] {
    height: 100%;
    background: linear-gradient(90deg, #071A39, #1E90FF);
    border-radius: 4px;
    transition: width 0.3s;
}

.limit-value[b-ngv93hq39g] {
    font-size: 0.8rem;
    color: #6B7280;
    white-space: nowrap;
}

/* Add Licence Card */
.add-licence-card[b-ngv93hq39g] {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.06);
}

.add-licence-title[b-ngv93hq39g] {
    font-size: 1rem;
    font-weight: 600;
    color: #071A39;
    margin: 0 0 0.5rem;
}

.add-licence-note[b-ngv93hq39g] {
    font-size: 0.875rem;
    color: #4A5568;
    margin: 0 0 1rem;
}

.add-licence-fields[b-ngv93hq39g] {
    display: grid;
    grid-template-columns: 2fr 1fr auto;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
}

.add-licence-fields .field-group[b-ngv93hq39g] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.add-licence-fields label[b-ngv93hq39g] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.add-licence-fields .input-field[b-ngv93hq39g] {
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.add-licence-fields .input-field:focus[b-ngv93hq39g] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.2);
}

.btn-add-licence[b-ngv93hq39g] {
    padding: 0.5rem 1.25rem;
    background: #1E90FF;
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-add-licence:hover:not(:disabled)[b-ngv93hq39g] {
    background: #1873CC;
}

.btn-add-licence:disabled[b-ngv93hq39g] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* History Card */
.history-card[b-ngv93hq39g] {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 10px 25px rgba(7, 26, 57, 0.06);
}

.history-title[b-ngv93hq39g] {
    font-size: 1rem;
    font-weight: 600;
    color: #071A39;
    margin: 0 0 1rem;
}

.history-list[b-ngv93hq39g] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.history-item[b-ngv93hq39g] {
    display: flex;
    align-items: center;
    padding: 1rem;
    border-radius: 10px;
    background: #F9FAFB;
}

.history-item.current[b-ngv93hq39g] {
    background: #F0FDF4;
    border: 1px solid #6EE7B7;
}

.history-type[b-ngv93hq39g] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.history-type .type[b-ngv93hq39g] {
    font-weight: 600;
    color: #1F2937;
}

.current-badge[b-ngv93hq39g] {
    padding: 0.125rem 0.5rem;
    background: #065F46;
    color: white;
    border-radius: 50px;
    font-size: 0.65rem;
    font-weight: 600;
}

.history-dates[b-ngv93hq39g] {
    flex: 1;
    font-size: 0.875rem;
    color: #6B7280;
}

.history-status[b-ngv93hq39g] {
    text-align: right;
}

.status-active[b-ngv93hq39g] {
    color: #059669;
    font-weight: 500;
}

.status-expired[b-ngv93hq39g] {
    color: #9CA3AF;
}

.status-suspended[b-ngv93hq39g] {
    color: #DC2626;
}

@media (max-width: 768px) {
    .licence-main[b-ngv93hq39g] {
        flex-wrap: wrap;
        gap: 1rem;
    }
}
/* /Components/Pages/Services/Parametrage/GroupesEcoles.razor.rz.scp.css */
.page-container[b-x94vebrkyr] {
    max-width: 1200px;
    margin: 0 auto;
}

.page-header[b-x94vebrkyr] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.page-title[b-x94vebrkyr] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.page-subtitle[b-x94vebrkyr] {
    color: #6B7280;
    margin: 0.25rem 0 0;
}

.page-header .btn-primary[b-x94vebrkyr],
.modal-footer .btn-primary[b-x94vebrkyr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--zanura-primary, #1E90FF);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.page-header .btn-primary:hover:not(:disabled)[b-x94vebrkyr],
.modal-footer .btn-primary:hover:not(:disabled)[b-x94vebrkyr] {
    transform: translateY(-1px);
    background: var(--zanura-primary-dark, #1873CC);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3);
}

.page-header .btn-primary:disabled[b-x94vebrkyr],
.modal-footer .btn-primary:disabled[b-x94vebrkyr] {
    opacity: 0.7;
    cursor: not-allowed;
}

.page-header .btn-primary svg[b-x94vebrkyr] {
    width: 18px;
    height: 18px;
    display: block;
    flex-shrink: 0;
}

.loading-container[b-x94vebrkyr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #6B7280;
}

.loading-spinner[b-x94vebrkyr] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #14B8A6;
    border-radius: 50%;
    animation: groupes-spin-b-x94vebrkyr 1s linear infinite;
}

@keyframes groupes-spin-b-x94vebrkyr {
    to { transform: rotate(360deg); }
}

.stats-row[b-x94vebrkyr] {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.stat-mini-card[b-x94vebrkyr] {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 1rem 1.5rem;
}

.stat-icon[b-x94vebrkyr] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.stat-icon.blue[b-x94vebrkyr] { background: linear-gradient(135deg, #3B82F6, #2563EB); }
.stat-icon.green[b-x94vebrkyr] { background: linear-gradient(135deg, #10B981, #059669); }

.stat-icon svg[b-x94vebrkyr] {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.stat-content[b-x94vebrkyr] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.stat-mini-card .stat-value[b-x94vebrkyr] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937 !important;
    line-height: 1.3;
}

.stat-mini-card .stat-label[b-x94vebrkyr] {
    display: block;
    font-size: 0.75rem;
    color: #6B7280 !important;
    line-height: 1.3;
}

.groupes-grid[b-x94vebrkyr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.5rem;
}

.groupe-card[b-x94vebrkyr] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.5rem;
    transition: all 0.2s;
}

.groupe-card:hover[b-x94vebrkyr] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.groupe-header[b-x94vebrkyr] {
    margin-bottom: 0.75rem;
}

.groupe-name[b-x94vebrkyr] {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.groupe-desc[b-x94vebrkyr] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0 0 0.5rem;
}

.groupe-promoteur[b-x94vebrkyr] {
    font-size: 0.8rem;
    color: #6B7280;
    margin: 0 0 1rem;
}

.groupe-promoteur .label[b-x94vebrkyr] {
    font-weight: 600;
    color: #374151;
}

.groupe-stats[b-x94vebrkyr] {
    display: flex;
    gap: 1.5rem;
    padding: 1rem 0;
    border-top: 1px solid #F3F4F6;
    border-bottom: 1px solid #F3F4F6;
    margin-bottom: 1rem;
}

.groupe-stat[b-x94vebrkyr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: #6B7280;
}

.groupe-stat svg[b-x94vebrkyr] {
    width: 16px;
    height: 16px;
    display: block;
    flex-shrink: 0;
}

.groupe-actions[b-x94vebrkyr] {
    display: flex;
    gap: 0.5rem;
}

.btn-ecoles[b-x94vebrkyr] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem;
    background: #134E4A;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-ecoles:hover[b-x94vebrkyr] {
    background: #0F3D3A;
    color: white;
}

.btn-ecoles svg[b-x94vebrkyr] {
    width: 16px;
    height: 16px;
    display: block;
    flex-shrink: 0;
}

.empty-card[b-x94vebrkyr] {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    background: white;
    border-radius: 16px;
    border: 2px dashed #D1D5DB;
    color: #9CA3AF;
}

.empty-card svg[b-x94vebrkyr] {
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
    display: block;
    flex-shrink: 0;
}

.empty-card p[b-x94vebrkyr] {
    margin: 0 0 1rem;
    color: #6B7280;
}

.btn-create[b-x94vebrkyr] {
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #14B8A6, #0D9488);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
}

.modal-overlay[b-x94vebrkyr] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content[b-x94vebrkyr] {
    width: 100%;
    max-width: 420px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    margin: 1rem;
}

.modal-header[b-x94vebrkyr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.modal-header h3[b-x94vebrkyr] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.modal-close[b-x94vebrkyr] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #9CA3AF;
}

.modal-close:hover[b-x94vebrkyr] {
    background: #F3F4F6;
    color: #374151;
}

.modal-close svg[b-x94vebrkyr] {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.modal-body[b-x94vebrkyr] {
    padding: 1.5rem;
}

.error-msg[b-x94vebrkyr] {
    padding: 0.75rem;
    margin-bottom: 1rem;
    background: #FEE2E2;
    color: #DC2626;
    border-radius: 8px;
    font-size: 0.875rem;
}

.modal-footer[b-x94vebrkyr] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #E5E7EB;
    background: #F9FAFB;
    border-radius: 0 0 16px 16px;
}

.modal-footer .btn-secondary[b-x94vebrkyr] {
    padding: 0.75rem 1.25rem;
    background: white;
    color: #374151;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
}

.modal-footer .btn-secondary:hover[b-x94vebrkyr] {
    background: #F9FAFB;
}

.form-group[b-x94vebrkyr] {
    margin-bottom: 1rem;
}

.form-group label[b-x94vebrkyr] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.form-input[b-x94vebrkyr] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-input:focus[b-x94vebrkyr] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.modal-footer .inline-flex[b-x94vebrkyr] {
    display: inline-flex;
}

.modal-footer .gap-2[b-x94vebrkyr] {
    gap: 0.5rem;
}

.btn-spinner[b-x94vebrkyr] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: groupes-spin-b-x94vebrkyr 0.8s linear infinite;
}
/* /Components/Pages/Services/Parametrage/Index.razor.rz.scp.css */
/* Overrides Paramétrage : menu désactivé, context-badge (charte dans ServicesLayout) */
.context-badge[b-28dc31hnf9] {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    background: rgba(30, 144, 255, 0.2);
    border: 1px solid rgba(30, 144, 255, 0.3);
    border-radius: 6px;
    font-size: 0.75rem;
    color: white;
}

.menu-section.disabled-section .menu-label[b-28dc31hnf9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.lock-icon[b-28dc31hnf9] {
    font-size: 0.65rem;
}

.menu-item.disabled[b-28dc31hnf9] {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.menu-item.disabled:hover[b-28dc31hnf9] {
    background: transparent;
    color: rgba(255, 255, 255, 0.5);
}

.access-denied[b-28dc31hnf9] {
    text-align: center;
    padding: 2rem;
}

.access-denied-icon[b-28dc31hnf9] {
    display: block;
    margin: 0 auto 1rem;
    color: #dc2626;
}

.access-denied h3[b-28dc31hnf9] {
    margin: 0 0 0.5rem;
    color: #1f2937;
}

.access-denied p[b-28dc31hnf9] {
    color: #6b7280;
    margin: 0;
}
/* /Components/Pages/Services/Parametrage/ModifierFrais.razor.rz.scp.css */
.modifier-frais-container[b-f0izv9q7kz] {
    max-width: 900px;
    margin: 0 auto;
    padding: 1rem;
}

.page-header[b-f0izv9q7kz] {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.header-left[b-f0izv9q7kz] {
    flex-shrink: 0;
}

.btn-back[b-f0izv9q7kz] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #6B7280;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s;
}

.btn-back:hover[b-f0izv9q7kz] {
    color: #1E90FF;
}

.btn-back svg[b-f0izv9q7kz] {
    width: 18px;
    height: 18px;
}

.header-title[b-f0izv9q7kz] {
    flex: 1;
}

.page-title[b-f0izv9q7kz] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #071A39;
    margin: 0;
}

.page-subtitle[b-f0izv9q7kz] {
    color: #6B7280;
    font-size: 0.875rem;
    margin: 0.25rem 0 0;
}

/* Alert */
.alert[b-f0izv9q7kz] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.alert.error[b-f0izv9q7kz] {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #DC2626;
}

.alert svg[b-f0izv9q7kz] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert button[b-f0izv9q7kz] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    opacity: 0.7;
}

.alert button:hover[b-f0izv9q7kz] {
    opacity: 1;
}

/* Loading & Not Found */
.loading-container[b-f0izv9q7kz], .not-found[b-f0izv9q7kz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem;
    color: #6B7280;
    text-align: center;
}

.not-found svg[b-f0izv9q7kz] {
    width: 64px;
    height: 64px;
    color: #D1D5DB;
}

.not-found h2[b-f0izv9q7kz] {
    font-size: 1.25rem;
    color: #374151;
    margin: 0;
}

.not-found p[b-f0izv9q7kz] {
    margin: 0;
}

.loading-spinner[b-f0izv9q7kz] {
    width: 32px;
    height: 32px;
    border: 3px solid #E5E7EB;
    border-top-color: #1E90FF;
    border-radius: 50%;
    animation: modfrais-spin-b-f0izv9q7kz 0.8s linear infinite;
}

@keyframes modfrais-spin-b-f0izv9q7kz {
    to { transform: rotate(360deg); }
}

/* Form Container */
.form-container[b-f0izv9q7kz] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Form Section */
.form-section[b-f0izv9q7kz] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.section-header[b-f0izv9q7kz] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #F3F4F6;
}

.section-icon[b-f0izv9q7kz] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.section-icon svg[b-f0izv9q7kz] {
    width: 22px;
    height: 22px;
    color: #4F46E5;
}

.section-icon.money[b-f0izv9q7kz] {
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
}

.section-icon.money svg[b-f0izv9q7kz] {
    color: #059669;
}

.section-icon.affectation[b-f0izv9q7kz] {
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
}

.section-icon.affectation svg[b-f0izv9q7kz] {
    color: #D97706;
}

.section-icon.options[b-f0izv9q7kz] {
    background: linear-gradient(135deg, #F3E8FF 0%, #E9D5FF 100%);
}

.section-icon.options svg[b-f0izv9q7kz] {
    color: #7C3AED;
}

.section-title[b-f0izv9q7kz] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.section-description[b-f0izv9q7kz] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0.25rem 0 0;
}

/* Form Grid */
.form-grid[b-f0izv9q7kz] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

@media (max-width: 640px) {
    .form-grid[b-f0izv9q7kz] {
        grid-template-columns: 1fr;
    }
}

.form-group[b-f0izv9q7kz] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group.full-width[b-f0izv9q7kz] {
    grid-column: 1 / -1;
}

.form-label[b-f0izv9q7kz] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.form-label.required[b-f0izv9q7kz]::after {
    content: " *";
    color: #DC2626;
}

.form-input[b-f0izv9q7kz] {
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.9375rem;
    transition: all 0.2s;
    background: white;
}

.form-input:focus[b-f0izv9q7kz] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.1);
}

.form-input.readonly[b-f0izv9q7kz] {
    background: #F9FAFB;
    color: #6B7280;
    cursor: not-allowed;
}

.form-input[b-f0izv9q7kz]::placeholder {
    color: #9CA3AF;
}

textarea.form-input[b-f0izv9q7kz] {
    resize: vertical;
    min-height: 80px;
}

.form-hint[b-f0izv9q7kz] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.validation-message[b-f0izv9q7kz] {
    font-size: 0.75rem;
    color: #DC2626;
}

/* Montant Preview */
.montant-preview[b-f0izv9q7kz] {
    margin-top: 1rem;
    padding: 1rem;
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.preview-label[b-f0izv9q7kz] {
    font-size: 0.875rem;
    color: #065F46;
}

.preview-value[b-f0izv9q7kz] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #059669;
}

/* Options Grid */
.options-grid[b-f0izv9q7kz] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 640px) {
    .options-grid[b-f0izv9q7kz] {
        grid-template-columns: 1fr;
    }
}

.option-card[b-f0izv9q7kz] {
    display: flex;
    cursor: pointer;
    padding: 1rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    transition: all 0.2s;
}

.option-card:hover[b-f0izv9q7kz] {
    border-color: #1E90FF;
    background: #F8FAFC;
}

.option-card.selected[b-f0izv9q7kz] {
    border-color: #1E90FF;
    background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
}

.option-card input[type="checkbox"][b-f0izv9q7kz] {
    display: none;
}

.option-content[b-f0izv9q7kz] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.option-icon[b-f0izv9q7kz] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #F3F4F6;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.option-card.selected .option-icon[b-f0izv9q7kz] {
    background: #1E90FF;
}

.option-icon svg[b-f0izv9q7kz] {
    width: 24px;
    height: 24px;
    color: #6B7280;
}

.option-card.selected .option-icon svg[b-f0izv9q7kz] {
    color: white;
}

.option-text[b-f0izv9q7kz] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.option-title[b-f0izv9q7kz] {
    font-weight: 600;
    color: #1F2937;
}

.option-description[b-f0izv9q7kz] {
    font-size: 0.875rem;
    color: #6B7280;
}

/* Form Actions */
.form-actions[b-f0izv9q7kz] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
    margin-top: 1rem;
}

.btn-secondary[b-f0izv9q7kz], .btn-primary[b-f0izv9q7kz] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.btn-secondary[b-f0izv9q7kz] {
    background: white;
    color: #6B7280;
    border: 1px solid #D1D5DB;
}

.btn-secondary:hover[b-f0izv9q7kz] {
    background: #F9FAFB;
    color: #374151;
}

.btn-primary[b-f0izv9q7kz] {
    background: linear-gradient(135deg, #1E90FF 0%, #0066CC 100%);
    color: white;
    border: none;
    box-shadow: 0 2px 8px rgba(30, 144, 255, 0.3);
}

.btn-primary:hover:not(:disabled)[b-f0izv9q7kz] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.4);
}

.btn-primary:disabled[b-f0izv9q7kz] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-secondary svg[b-f0izv9q7kz], .btn-primary svg[b-f0izv9q7kz] {
    width: 18px;
    height: 18px;
}

.spinner[b-f0izv9q7kz] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: modfrais-spin-b-f0izv9q7kz 0.8s linear infinite;
}
/* /Components/Pages/Services/Parametrage/NouveauFrais.razor.rz.scp.css */
.nouveau-frais-container[b-k1b4i4f019] {
    max-width: 900px;
    margin: 0 auto;
    padding: 1rem;
}

.page-header[b-k1b4i4f019] {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.header-left[b-k1b4i4f019] {
    flex-shrink: 0;
}

.btn-back[b-k1b4i4f019] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #6B7280;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s;
}

.btn-back:hover[b-k1b4i4f019] {
    color: #1E90FF;
}

.btn-back svg[b-k1b4i4f019] {
    width: 18px;
    height: 18px;
}

.header-title[b-k1b4i4f019] {
    flex: 1;
}

.page-title[b-k1b4i4f019] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #071A39;
    margin: 0;
}

.page-subtitle[b-k1b4i4f019] {
    color: #6B7280;
    font-size: 0.875rem;
    margin: 0.25rem 0 0;
}

/* Alert */
.alert[b-k1b4i4f019] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.alert.error[b-k1b4i4f019] {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #DC2626;
}

.alert svg[b-k1b4i4f019] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert button[b-k1b4i4f019] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    opacity: 0.7;
}

.alert button:hover[b-k1b4i4f019] {
    opacity: 1;
}

/* Loading */
.loading-container[b-k1b4i4f019] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem;
    color: #6B7280;
}

.loading-spinner[b-k1b4i4f019] {
    width: 32px;
    height: 32px;
    border: 3px solid #E5E7EB;
    border-top-color: #1E90FF;
    border-radius: 50%;
    animation: nouvfrais-spin-b-k1b4i4f019 0.8s linear infinite;
}

@keyframes nouvfrais-spin-b-k1b4i4f019 {
    to { transform: rotate(360deg); }
}

/* Form Container */
.form-container[b-k1b4i4f019] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Form Section */
.form-section[b-k1b4i4f019] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.section-header[b-k1b4i4f019] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #F3F4F6;
}

.section-icon[b-k1b4i4f019] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.section-icon svg[b-k1b4i4f019] {
    width: 22px;
    height: 22px;
    color: #4F46E5;
}

.section-icon.money[b-k1b4i4f019] {
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
}

.section-icon.money svg[b-k1b4i4f019] {
    color: #059669;
}

.section-icon.affectation[b-k1b4i4f019] {
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
}

.section-icon.affectation svg[b-k1b4i4f019] {
    color: #D97706;
}

.section-icon.options[b-k1b4i4f019] {
    background: linear-gradient(135deg, #F3E8FF 0%, #E9D5FF 100%);
}

.section-icon.options svg[b-k1b4i4f019] {
    color: #7C3AED;
}

.section-title[b-k1b4i4f019] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.section-description[b-k1b4i4f019] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0.25rem 0 0;
}

/* Form Grid */
.form-grid[b-k1b4i4f019] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

@media (max-width: 640px) {
    .form-grid[b-k1b4i4f019] {
        grid-template-columns: 1fr;
    }
}

.form-group[b-k1b4i4f019] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group.full-width[b-k1b4i4f019] {
    grid-column: 1 / -1;
}

.form-label[b-k1b4i4f019] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.form-label.required[b-k1b4i4f019]::after {
    content: " *";
    color: #DC2626;
}

.form-input[b-k1b4i4f019] {
    padding: 0.75rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.9375rem;
    transition: all 0.2s;
    background: white;
}

.form-input:focus[b-k1b4i4f019] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.1);
}

.form-input[b-k1b4i4f019]::placeholder {
    color: #9CA3AF;
}

textarea.form-input[b-k1b4i4f019] {
    resize: vertical;
    min-height: 80px;
}

.form-hint[b-k1b4i4f019] {
    font-size: 0.75rem;
    color: #9CA3AF;
}

.validation-message[b-k1b4i4f019] {
    font-size: 0.75rem;
    color: #DC2626;
}

/* Montant Preview */
.montant-preview[b-k1b4i4f019] {
    margin-top: 1rem;
    padding: 1rem;
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.preview-label[b-k1b4i4f019] {
    font-size: 0.875rem;
    color: #065F46;
}

.preview-value[b-k1b4i4f019] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #059669;
}

/* Info Box */
.info-box[b-k1b4i4f019] {
    margin-top: 1.25rem;
    padding: 1rem;
    background: #F0F9FF;
    border: 1px solid #BAE6FD;
    border-radius: 10px;
    display: flex;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: #0369A1;
}

.info-box svg[b-k1b4i4f019] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Options Grid */
.options-grid[b-k1b4i4f019] {
    display: grid;
    gap: 1rem;
}

.option-card[b-k1b4i4f019] {
    display: flex;
    cursor: pointer;
    padding: 1rem;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    transition: all 0.2s;
}

.option-card:hover[b-k1b4i4f019] {
    border-color: #1E90FF;
    background: #F8FAFC;
}

.option-card.selected[b-k1b4i4f019] {
    border-color: #1E90FF;
    background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
}

.option-card input[type="checkbox"][b-k1b4i4f019] {
    display: none;
}

.option-content[b-k1b4i4f019] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.option-icon[b-k1b4i4f019] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #F3F4F6;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.option-card.selected .option-icon[b-k1b4i4f019] {
    background: #1E90FF;
}

.option-icon svg[b-k1b4i4f019] {
    width: 24px;
    height: 24px;
    color: #6B7280;
}

.option-card.selected .option-icon svg[b-k1b4i4f019] {
    color: white;
}

.option-text[b-k1b4i4f019] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.option-title[b-k1b4i4f019] {
    font-weight: 600;
    color: #1F2937;
}

.option-description[b-k1b4i4f019] {
    font-size: 0.875rem;
    color: #6B7280;
}

/* Form Actions */
.form-actions[b-k1b4i4f019] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #E5E7EB;
    margin-top: 1rem;
}

.btn-secondary[b-k1b4i4f019], .btn-primary[b-k1b4i4f019] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.btn-secondary[b-k1b4i4f019] {
    background: white;
    color: #6B7280;
    border: 1px solid #D1D5DB;
}

.btn-secondary:hover[b-k1b4i4f019] {
    background: #F9FAFB;
    color: #374151;
}

.btn-primary[b-k1b4i4f019] {
    background: linear-gradient(135deg, #1E90FF 0%, #0066CC 100%);
    color: white;
    border: none;
    box-shadow: 0 2px 8px rgba(30, 144, 255, 0.3);
}

.btn-primary:hover:not(:disabled)[b-k1b4i4f019] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.4);
}

.btn-primary:disabled[b-k1b4i4f019] {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-secondary svg[b-k1b4i4f019], .btn-primary svg[b-k1b4i4f019] {
    width: 18px;
    height: 18px;
}

.spinner[b-k1b4i4f019] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: nouvfrais-spin-b-k1b4i4f019 0.8s linear infinite;
}
/* /Components/Pages/Services/Parametrage/NouvelleEcole.razor.rz.scp.css */
.page-container[b-8i69rbxzvk] {
    max-width: 800px;
    margin: 0 auto;
}

.page-header[b-8i69rbxzvk] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.btn-back[b-8i69rbxzvk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    color: #6B7280;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-back:hover[b-8i69rbxzvk] {
    background: #F9FAFB;
    color: #374151;
}

.btn-back svg[b-8i69rbxzvk] {
    width: 18px;
    height: 18px;
}

.page-title[b-8i69rbxzvk] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.page-subtitle[b-8i69rbxzvk] {
    color: #6B7280;
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
}

/* Alert */
.alert[b-8i69rbxzvk] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
}

.alert svg[b-8i69rbxzvk] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert-error[b-8i69rbxzvk] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

/* Form Card */
.form-card[b-8i69rbxzvk] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    overflow: hidden;
}

.form-section[b-8i69rbxzvk] {
    padding: 1.5rem;
    border-bottom: 1px solid #F3F4F6;
}

.form-section:last-of-type[b-8i69rbxzvk] {
    border-bottom: none;
}

.section-title[b-8i69rbxzvk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1.25rem;
}

.section-title svg[b-8i69rbxzvk] {
    width: 20px;
    height: 20px;
    color: #14B8A6;
}

.form-grid[b-8i69rbxzvk] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.form-group[b-8i69rbxzvk] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.form-group.full-width[b-8i69rbxzvk] {
    grid-column: 1 / -1;
}

.form-group.required label[b-8i69rbxzvk]::after {
    content: " *";
    color: #EF4444;
}

.form-group label[b-8i69rbxzvk] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #374151;
}

.form-group input[b-8i69rbxzvk],
.form-group select[b-8i69rbxzvk] {
    padding: 0.625rem 0.875rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-group input:focus[b-8i69rbxzvk],
.form-group select:focus[b-8i69rbxzvk] {
    outline: none;
    border-color: #14B8A6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
}

.form-group input[b-8i69rbxzvk]::placeholder {
    color: #9CA3AF;
}

.error-text[b-8i69rbxzvk] {
    font-size: 0.75rem;
    color: #EF4444;
}

/* Form Actions */
.form-actions[b-8i69rbxzvk] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    background: #F9FAFB;
    border-top: 1px solid #E5E7EB;
}

.btn-secondary[b-8i69rbxzvk] {
    padding: 0.625rem 1.25rem;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-secondary:hover:not(:disabled)[b-8i69rbxzvk] {
    background: #F9FAFB;
}

.btn-primary[b-8i69rbxzvk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    background: var(--zanura-primary, #1E90FF);
    border: none;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    color: white;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-primary:hover:not(:disabled)[b-8i69rbxzvk] {
    transform: translateY(-1px);
    background: var(--zanura-primary-dark, #1873CC);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.3);
}

.btn-primary:disabled[b-8i69rbxzvk],
.btn-secondary:disabled[b-8i69rbxzvk] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-primary svg[b-8i69rbxzvk] {
    width: 18px;
    height: 18px;
}

.spinner[b-8i69rbxzvk] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: ne-spin-b-8i69rbxzvk 0.8s linear infinite;
}

@keyframes ne-spin-b-8i69rbxzvk {
    to { transform: rotate(360deg); }
}

@media (max-width: 640px) {
    .form-grid[b-8i69rbxzvk] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Services/Parametrage/ParametragesDashboard.razor.rz.scp.css */
.dashboard-container[b-o6r2gqnozs] {
    max-width: 1400px;
    margin: 0 auto;
}

.dashboard-header[b-o6r2gqnozs] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2rem;
}

.dashboard-title[b-o6r2gqnozs] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1F2937;
    margin: 0;
}

.dashboard-subtitle[b-o6r2gqnozs] {
    color: #6B7280;
    margin: 0.25rem 0 0;
}

.status-badge[b-o6r2gqnozs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-size: 0.875rem;
    font-weight: 500;
}

.status-badge svg[b-o6r2gqnozs] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    display: block;
}

.status-badge.valid[b-o6r2gqnozs] {
    background: #D1FAE5;
    color: #065F46;
}

.status-badge.warning[b-o6r2gqnozs] {
    background: #FEF3C7;
    color: #92400E;
}

.loading-container[b-o6r2gqnozs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
    color: #6B7280;
}

.loading-spinner[b-o6r2gqnozs] {
    width: 48px;
    height: 48px;
    border: 4px solid #E5E7EB;
    border-top-color: #14B8A6;
    border-radius: 50%;
    animation: pdash-spin-b-o6r2gqnozs 1s linear infinite;
}

@keyframes pdash-spin-b-o6r2gqnozs {
    to {
        transform: rotate(360deg);
    }
}

/* Config Cards */
.config-grid[b-o6r2gqnozs] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.config-card[b-o6r2gqnozs] {
    background: white;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    overflow: hidden;
}

.config-header[b-o6r2gqnozs] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
    background: #F9FAFB;
}

.config-title[b-o6r2gqnozs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0;
}

.config-title svg[b-o6r2gqnozs] {
    width: 18px;
    height: 18px;
    max-width: 100%;
    flex-shrink: 0;
    display: block;
    color: #6B7280;
}

.config-link[b-o6r2gqnozs] {
    font-size: 0.75rem;
    color: #14B8A6;
    text-decoration: none;
    font-weight: 500;
}

.config-link:hover[b-o6r2gqnozs] {
    text-decoration: underline;
}

.config-content[b-o6r2gqnozs] {
    padding: 1.25rem;
}

.active-year[b-o6r2gqnozs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.year-badge[b-o6r2gqnozs] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2937;
}

.year-status[b-o6r2gqnozs] {
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 500;
}

.year-status.active[b-o6r2gqnozs] {
    background: #D1FAE5;
    color: #065F46;
}

.empty-state[b-o6r2gqnozs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1rem;
    color: #9CA3AF;
}

.empty-state svg[b-o6r2gqnozs] {
    width: 32px;
    height: 32px;
    max-width: 100%;
    flex-shrink: 0;
    display: block;
    margin-bottom: 0.5rem;
}

.btn-create[b-o6r2gqnozs] {
    margin-top: 0.75rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, #14B8A6, #0D9488);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-create:hover[b-o6r2gqnozs] {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(20, 184, 166, 0.3);
}

/* Frais List */
.frais-list[b-o6r2gqnozs] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.frais-item[b-o6r2gqnozs] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #F3F4F6;
}

.frais-item:last-child[b-o6r2gqnozs] {
    border-bottom: none;
}

.frais-name[b-o6r2gqnozs] {
    font-size: 0.875rem;
    color: #374151;
}

.frais-amount[b-o6r2gqnozs] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #059669;
}

.frais-more[b-o6r2gqnozs] {
    font-size: 0.75rem;
    color: #9CA3AF;
    text-align: center;
    padding-top: 0.5rem;
}

/* Devises List */
.devises-list[b-o6r2gqnozs] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.devise-item[b-o6r2gqnozs] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: #F9FAFB;
    border-radius: 8px;
}

.devise-item.principale[b-o6r2gqnozs] {
    background: #D1FAE5;
}

.devise-info[b-o6r2gqnozs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.devise-code[b-o6r2gqnozs] {
    font-weight: 600;
    color: #1F2937;
}

.devise-symbol[b-o6r2gqnozs] {
    color: #6B7280;
}

.devise-badge[b-o6r2gqnozs] {
    font-size: 0.7rem;
    padding: 0.125rem 0.5rem;
    background: #065F46;
    color: white;
    border-radius: 50px;
}

.devise-rate[b-o6r2gqnozs] {
    font-size: 0.75rem;
    color: #6B7280;
}

/* Alerts */
.alerts-section[b-o6r2gqnozs] {
    margin-bottom: 2rem;
}

.alerts-section .section-title[b-o6r2gqnozs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 1rem;
}

.alerts-section .section-title svg[b-o6r2gqnozs] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
    color: #F59E0B;
}

.alerts-list[b-o6r2gqnozs] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.alert-item[b-o6r2gqnozs] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    border: 1px solid;
}

.alert-item.warning[b-o6r2gqnozs] {
    background: #FFFBEB;
    border-color: #FCD34D;
}

.alert-item.info[b-o6r2gqnozs] {
    background: #EFF6FF;
    border-color: #93C5FD;
}

.alert-item svg[b-o6r2gqnozs] {
    width: 24px;
    height: 24px;
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 0;
    display: block;
}

.alert-item.warning svg[b-o6r2gqnozs] {
    color: #D97706;
}

.alert-item.info svg[b-o6r2gqnozs] {
    color: #3B82F6;
}

.alert-content[b-o6r2gqnozs] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.alert-title[b-o6r2gqnozs] {
    font-weight: 600;
    color: #1F2937;
    font-size: 0.875rem;
}

.alert-message[b-o6r2gqnozs] {
    font-size: 0.75rem;
    color: #6B7280;
}

.alert-action[b-o6r2gqnozs] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #14B8A6;
    text-decoration: none;
    white-space: nowrap;
}

.alert-action:hover[b-o6r2gqnozs] {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 1200px) {
    .config-grid[b-o6r2gqnozs] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .config-grid[b-o6r2gqnozs] {
        grid-template-columns: 1fr;
    }

    .dashboard-header[b-o6r2gqnozs] {
        flex-direction: column;
        gap: 1rem;
    }
}
/* /Components/Pages/Services/Parametrage/ParametragesDashboardStats.razor.rz.scp.css */
.stats-grid[b-sxel8z354a] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem;
}

@media (max-width: 1024px) {
    .stats-grid[b-sxel8z354a] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .stats-grid[b-sxel8z354a] {
        grid-template-columns: 1fr;
    }
}

.stat-card[b-sxel8z354a] {
    background: white;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    transition: transform 0.2s, box-shadow 0.2s;
}

.stat-card:hover[b-sxel8z354a] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.stat-icon[b-sxel8z354a] {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.stat-icon svg[b-sxel8z354a] {
    width: 24px;
    height: 24px;
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 0;
    display: block;
    color: white;
}

.stat-card.teal .stat-icon[b-sxel8z354a],
.stat-card.emerald .stat-icon[b-sxel8z354a],
.stat-card.amber .stat-icon[b-sxel8z354a],
.stat-card.sky .stat-icon[b-sxel8z354a] {
    background: linear-gradient(135deg, #071A39, #1e90ff);
    color: white;
}

.stat-content[b-sxel8z354a] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.services-body .stats-grid .stat-value[b-sxel8z354a] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #071a39 !important;
    line-height: 1.2;
}

.services-body .stats-grid .stat-label[b-sxel8z354a] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #071a39 !important;
}

.services-body .stats-grid .stat-sublabel[b-sxel8z354a] {
    font-size: 0.75rem;
    color: #4a5568 !important;
}
/* /Components/Pages/Services/Parametrage/ParametragesQuickActions.razor.rz.scp.css */
.quick-actions-section[b-qnhsgg0vqq] {
    margin-bottom: 2rem;
}

.section-title[b-qnhsgg0vqq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin-bottom: 1rem;
}

.section-title svg[b-qnhsgg0vqq] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
    color: #14B8A6;
}

.quick-actions-grid[b-qnhsgg0vqq] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 1200px) {
    .quick-actions-grid[b-qnhsgg0vqq] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .quick-actions-grid[b-qnhsgg0vqq] {
        grid-template-columns: 1fr;
    }
}

.quick-action-btn[b-qnhsgg0vqq] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    text-align: left;
    transition: all 0.2s;
    cursor: pointer;
}

.quick-action-btn:hover[b-qnhsgg0vqq] {
    border-color: #14B8A6;
    box-shadow: 0 2px 8px rgba(20, 184, 166, 0.15);
}

.action-icon[b-qnhsgg0vqq] {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.action-icon svg[b-qnhsgg0vqq] {
    width: 20px;
    height: 20px;
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 0;
    display: block;
    color: white;
}

.action-icon.teal[b-qnhsgg0vqq] {
    background: linear-gradient(135deg, #14B8A6, #0D9488);
}

.action-icon.emerald[b-qnhsgg0vqq] {
    background: linear-gradient(135deg, #10B981, #059669);
}

.action-icon.amber[b-qnhsgg0vqq] {
    background: linear-gradient(135deg, #F59E0B, #D97706);
}

.action-icon.sky[b-qnhsgg0vqq] {
    background: linear-gradient(135deg, #0EA5E9, #0284C7);
}

.action-text[b-qnhsgg0vqq] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.action-title[b-qnhsgg0vqq] {
    font-weight: 600;
    font-size: 0.9375rem;
    color: #1F2937;
}

.action-desc[b-qnhsgg0vqq] {
    font-size: 0.75rem;
    color: #6B7280;
}
/* /Components/Pages/Services/Parametrage/SectionsParAnnee.razor.rz.scp.css */
.sections-par-annee[b-79trr78ntg] {
    max-width: 960px;
    margin: 0 auto;
}

.spa-header[b-79trr78ntg] {
    margin-bottom: 1.5rem;
}

.spa-title[b-79trr78ntg] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #071A39;
    margin: 0;
}

.spa-subtitle[b-79trr78ntg] {
    color: #6B7280;
    font-size: 0.9375rem;
    margin: 0.35rem 0 0;
    line-height: 1.45;
}

.spa-alert[b-79trr78ntg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    margin-bottom: 1.25rem;
}

.spa-alert svg[b-79trr78ntg] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
}

.spa-alert span[b-79trr78ntg] {
    flex: 1;
}

.spa-alert-error[b-79trr78ntg] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

.spa-alert-close[b-79trr78ntg] {
    background: none;
    border: none;
    opacity: 0.8;
    cursor: pointer;
    font-size: 1rem;
    padding: 0.25rem;
}

.spa-alert-close:hover[b-79trr78ntg] {
    opacity: 1;
}

.spa-filters-card[b-79trr78ntg] {
    background: white;
    border-radius: 14px;
    border: 1px solid #E5E7EB;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(7, 26, 57, 0.06);
}

.spa-filter-row[b-79trr78ntg] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.spa-filter-group[b-79trr78ntg] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.spa-filter-label[b-79trr78ntg] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
}

.spa-select[b-79trr78ntg] {
    min-width: 220px;
    padding: 0.6rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.9375rem;
    color: #1F2937;
    background: #F5F7FA;
}

.spa-select:focus[b-79trr78ntg] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.2);
}

.spa-loading[b-79trr78ntg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 1rem;
    color: #6B7280;
    font-size: 0.9375rem;
}

.spa-spinner[b-79trr78ntg] {
    width: 40px;
    height: 40px;
    border: 3px solid #E5E7EB;
    border-top-color: #1E90FF;
    border-radius: 50%;
    animation: spa-spin-b-79trr78ntg 0.8s linear infinite;
}

@keyframes spa-spin-b-79trr78ntg {
    to { transform: rotate(360deg); }
}

.spa-empty[b-79trr78ntg] {
    text-align: center;
    padding: 3rem 2rem;
    background: white;
    border-radius: 14px;
    border: 1px dashed #D1D5DB;
}

.spa-empty-icon[b-79trr78ntg] {
    width: 56px;
    height: 56px;
    margin: 0 auto 1rem;
    color: #9CA3AF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.spa-empty-icon svg[b-79trr78ntg] {
    width: 100%;
    height: 100%;
    display: block;
    flex-shrink: 0;
}

.spa-empty-title[b-79trr78ntg] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.35rem;
}

.spa-empty-desc[b-79trr78ntg] {
    font-size: 0.875rem;
    color: #6B7280;
    margin: 0;
}

.spa-summary[b-79trr78ntg] {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    margin-bottom: 1rem;
    padding: 0.6rem 1rem;
    background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
    border-radius: 10px;
    border: 1px solid #BFDBFE;
    font-size: 0.875rem;
}

.spa-summary-value[b-79trr78ntg] {
    font-weight: 700;
    color: #1E90FF;
}

.spa-summary-label[b-79trr78ntg] {
    color: #1E40AF;
}

.spa-summary-sep[b-79trr78ntg] {
    color: #6B7280;
    margin-left: 0.25rem;
}

.spa-summary-total[b-79trr78ntg] {
    font-weight: 600;
    color: #374151;
}

.spa-table-card[b-79trr78ntg] {
    background: white;
    border-radius: 14px;
    border: 1px solid #E5E7EB;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(7, 26, 57, 0.06);
}

.spa-table[b-79trr78ntg] {
    width: 100%;
    border-collapse: collapse;
}

.spa-table th[b-79trr78ntg] {
    padding: 0.875rem 1.25rem;
    text-align: left;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: white;
    background: #071A39;
}

.spa-th-section[b-79trr78ntg] { width: 40%; }
.spa-th-niveau[b-79trr78ntg] { width: 28%; }
.spa-th-lettre[b-79trr78ntg] { width: 12%; }
.spa-th-actif[b-79trr78ntg] { width: 20%; }

.spa-table td[b-79trr78ntg] {
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #F3F4F6;
    font-size: 0.9375rem;
    color: #374151;
}

.spa-table tbody tr:last-child td[b-79trr78ntg] {
    border-bottom: none;
}

.spa-table tbody tr:hover[b-79trr78ntg] {
    background: #F9FAFB;
}

.spa-row-active[b-79trr78ntg] {
    background: #F0FDF4 !important;
}

.spa-row-active:hover[b-79trr78ntg] {
    background: #DCFCE7 !important;
}

.spa-section-name[b-79trr78ntg] {
    font-weight: 600;
    color: #1F2937;
}

.spa-niveau-badge[b-79trr78ntg] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    background: #F5F7FA;
    color: #374151;
    border-radius: 6px;
    font-size: 0.8125rem;
    font-weight: 500;
}

.spa-td-actif[b-79trr78ntg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.spa-toggle[b-79trr78ntg] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    user-select: none;
}

.spa-toggle input[b-79trr78ntg] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.spa-toggle-slider[b-79trr78ntg] {
    position: relative;
    width: 44px;
    height: 24px;
    background: #D1D5DB;
    border-radius: 24px;
    transition: background 0.2s;
}

.spa-toggle-slider[b-79trr78ntg]::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    left: 2px;
    top: 2px;
    background: white;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    transition: transform 0.2s;
}

.spa-toggle input:checked + .spa-toggle-slider[b-79trr78ntg] {
    background: #1E90FF;
}

.spa-toggle input:checked + .spa-toggle-slider[b-79trr78ntg]::after {
    transform: translateX(20px);
}

.spa-toggle input:disabled + .spa-toggle-slider[b-79trr78ntg] {
    opacity: 0.6;
    cursor: not-allowed;
}

.spa-toggle-label[b-79trr78ntg] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6B7280;
    min-width: 28px;
}

.spa-saving[b-79trr78ntg] {
    font-size: 0.75rem;
    color: #1E90FF;
    font-style: italic;
}
/* /Components/Pages/Services/Utilisateurs/GestionRoles.razor.rz.scp.css */
.roles-grid[b-11mfm4oe4y] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.25rem;
}

.role-card[b-11mfm4oe4y] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #E5E7EB;
    transition: all 0.2s;
}

.role-card:hover[b-11mfm4oe4y] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.role-card.role-superadmin[b-11mfm4oe4y] { border-left-color: #8B5CF6; }
.role-card.role-admin[b-11mfm4oe4y] { border-left-color: #3B82F6; }
.role-card.role-chefcaisse[b-11mfm4oe4y] { border-left-color: #10B981; }
.role-card.role-caissier[b-11mfm4oe4y] { border-left-color: #F59E0B; }
.role-card.role-direction[b-11mfm4oe4y] { border-left-color: #6366F1; }
.role-card.role-secretaire[b-11mfm4oe4y] { border-left-color: #EC4899; }
.role-card.role-consultation[b-11mfm4oe4y] { border-left-color: #9CA3AF; }
.role-card.role-enseignant[b-11mfm4oe4y] { border-left-color: #14B8A6; }

.role-header[b-11mfm4oe4y] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.role-icon[b-11mfm4oe4y] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.role-icon svg[b-11mfm4oe4y] { width: 22px; height: 22px; }

.role-superadmin .role-icon[b-11mfm4oe4y] { background: #F3E8FF; color: #8B5CF6; }
.role-admin .role-icon[b-11mfm4oe4y] { background: #DBEAFE; color: #3B82F6; }
.role-chefcaisse .role-icon[b-11mfm4oe4y] { background: #D1FAE5; color: #10B981; }
.role-caissier .role-icon[b-11mfm4oe4y] { background: #FEF3C7; color: #F59E0B; }
.role-direction .role-icon[b-11mfm4oe4y] { background: #E0E7FF; color: #6366F1; }
.role-secretaire .role-icon[b-11mfm4oe4y] { background: #FCE7F3; color: #EC4899; }
.role-consultation .role-icon[b-11mfm4oe4y] { background: #F3F4F6; color: #6B7280; }
.role-enseignant .role-icon[b-11mfm4oe4y] { background: #CCFBF1; color: #14B8A6; }

.role-info[b-11mfm4oe4y] { flex: 1; min-width: 0; }
.role-name[b-11mfm4oe4y] { font-weight: 600; color: #1F2937; font-size: 1rem; }
.role-description[b-11mfm4oe4y] { font-size: 0.75rem; color: #6B7280; margin-top: 0.125rem; }

.role-level[b-11mfm4oe4y] {
    padding: 0.25rem 0.5rem;
    background: #F3F4F6;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 600;
    color: #6B7280;
}

.role-stats[b-11mfm4oe4y] {
    display: flex;
    gap: 1.5rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #E5E7EB;
    margin-bottom: 0.75rem;
}

.role-stats .stat[b-11mfm4oe4y] { text-align: center; }
.role-stats .stat-value[b-11mfm4oe4y] { display: block; font-size: 1.25rem; font-weight: 700; color: #1F2937; }
.role-stats .stat-label[b-11mfm4oe4y] { font-size: 0.65rem; color: #9CA3AF; text-transform: uppercase; }

.role-permissions h4[b-11mfm4oe4y] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.permissions-list[b-11mfm4oe4y] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.permission-badge[b-11mfm4oe4y] {
    padding: 0.25rem 0.5rem;
    background: #F3F4F6;
    border-radius: 4px;
    font-size: 0.7rem;
    color: #4B5563;
}

.permission-more[b-11mfm4oe4y] {
    padding: 0.25rem 0.5rem;
    background: #E5E7EB;
    border-radius: 4px;
    font-size: 0.7rem;
    color: #6B7280;
    font-weight: 500;
}

.role-actions[b-11mfm4oe4y] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid #E5E7EB;
}

.role-actions .action-btn[b-11mfm4oe4y] {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    transition: all 0.2s;
}

.role-actions .action-btn svg[b-11mfm4oe4y] { width: 16px; height: 16px; }
.role-actions .action-btn:hover[b-11mfm4oe4y] { background: #E0E7FF; color: #6366F1; }

/* Card */
.card[b-11mfm4oe4y] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.card-header[b-11mfm4oe4y] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.card-body[b-11mfm4oe4y] { padding: 1.25rem; }

/* Hierarchy */
.hierarchy[b-11mfm4oe4y] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.hierarchy-item[b-11mfm4oe4y] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    background: #F9FAFB;
    border-radius: 8px;
    position: relative;
}

.hierarchy-dot[b-11mfm4oe4y] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.hierarchy-dot.role-superadmin[b-11mfm4oe4y] { background: #8B5CF6; }
.hierarchy-dot.role-admin[b-11mfm4oe4y] { background: #3B82F6; }
.hierarchy-dot.role-chefcaisse[b-11mfm4oe4y] { background: #10B981; }
.hierarchy-dot.role-caissier[b-11mfm4oe4y] { background: #F59E0B; }
.hierarchy-dot.role-direction[b-11mfm4oe4y] { background: #6366F1; }
.hierarchy-dot.role-secretaire[b-11mfm4oe4y] { background: #EC4899; }
.hierarchy-dot.role-consultation[b-11mfm4oe4y] { background: #9CA3AF; }
.hierarchy-dot.role-enseignant[b-11mfm4oe4y] { background: #14B8A6; }

.hierarchy-content[b-11mfm4oe4y] { flex: 1; }
.hierarchy-name[b-11mfm4oe4y] { font-weight: 500; color: #1F2937; font-size: 0.875rem; }
.hierarchy-level[b-11mfm4oe4y] { font-size: 0.7rem; color: #9CA3AF; margin-left: 0.5rem; }

.hierarchy-bar[b-11mfm4oe4y] {
    position: absolute;
    right: 1rem;
    height: 4px;
    background: linear-gradient(to right, #6366F1, #4F46E5);
    border-radius: 2px;
    opacity: 0.3;
}

/* Modals */
.modal-overlay[b-11mfm4oe4y] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}
.modal-content[b-11mfm4oe4y] {
    background: white;
    border-radius: 12px;
    max-width: 90vw;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.role-detail-modal[b-11mfm4oe4y] { width: 480px; }
.role-edit-modal[b-11mfm4oe4y] { width: 90%; min-width: 600px; max-width: 900px; }
.modal-header[b-11mfm4oe4y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}
.modal-header h2[b-11mfm4oe4y] { margin: 0; font-size: 1.25rem; }
.modal-close[b-11mfm4oe4y] { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: #6B7280; }
.modal-body[b-11mfm4oe4y] { padding: 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-11mfm4oe4y] { padding: 1rem 1.25rem; border-top: 1px solid #E5E7EB; display: flex; justify-content: flex-end; gap: 0.75rem; }
.btn-primary[b-11mfm4oe4y] { background: #1E90FF; color: white; padding: 0.5rem 1rem; border-radius: 8px; border: none; cursor: pointer; }
.btn-secondary[b-11mfm4oe4y] { background: #F3F4F6; color: #374151; padding: 0.5rem 1rem; border-radius: 8px; border: none; cursor: pointer; }
.detail-permissions[b-11mfm4oe4y] { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; }
.role-lecture-notice[b-11mfm4oe4y] { background: #FEF3C7; color: #92400E; padding: 0.75rem; border-radius: 8px; margin-bottom: 1rem; font-size: 0.9rem; }
.permissions-matrix[b-11mfm4oe4y] { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.permissions-matrix th[b-11mfm4oe4y], .permissions-matrix td[b-11mfm4oe4y] { padding: 0.5rem; border: 1px solid #E5E7EB; }
.permissions-matrix th[b-11mfm4oe4y] { background: #F9FAFB; }
.perm-checkbox[b-11mfm4oe4y] { width: 1rem; height: 1rem; }
/* /Components/Pages/Services/Utilisateurs/GroupesPermissionsContent.razor.rz.scp.css */
/* Boutons et champs toujours visibles (contraste charte #1E90FF) */
.groupes-btn-nouveau[b-m8gp1351b5] {
    background-color: #1E90FF !important;
    color: #fff !important;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 2px solid #0a5bb5;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.groupes-btn-nouveau:hover[b-m8gp1351b5] {
    background-color: #1873CC !important;
    color: #fff !important;
}
.groupes-btn-enregistrer[b-m8gp1351b5] {
    background-color: #1E90FF !important;
    color: #fff !important;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 2px solid #0a5bb5;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.groupes-btn-enregistrer:hover:not(:disabled)[b-m8gp1351b5] {
    background-color: #1873CC !important;
    color: #fff !important;
}
.groupes-btn-enregistrer:disabled[b-m8gp1351b5] {
    opacity: 0.7;
}
.groupes-input[b-m8gp1351b5],
.groupes-input-ordre[b-m8gp1351b5] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #6b7280;
    border-radius: 0.5rem;
    background-color: #fff !important;
    color: #1f2937 !important;
}
.groupes-input[b-m8gp1351b5]::placeholder,
.groupes-input-ordre[b-m8gp1351b5]::placeholder {
    color: #9ca3af;
}
/* /Components/Pages/Services/Utilisateurs/JournalAudit.razor.rz.scp.css */
.btn-export[b-gf1b5r6f91] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: linear-gradient(135deg, #6366F1, #4F46E5);
    color: white;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-export:hover[b-gf1b5r6f91] { box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4); }
.btn-export svg[b-gf1b5r6f91] { width: 18px; height: 18px; }

.filters-card[b-gf1b5r6f91] {
    background: white;
    padding: 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.filters-grid[b-gf1b5r6f91] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.filter-item label[b-gf1b5r6f91] {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6B7280;
    margin-bottom: 0.375rem;
}

.filter-item input[b-gf1b5r6f91],
.filter-item select[b-gf1b5r6f91] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.card[b-gf1b5r6f91] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.audit-list[b-gf1b5r6f91] {
    display: flex;
    flex-direction: column;
}

.audit-item[b-gf1b5r6f91] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid #F3F4F6;
    transition: background 0.2s;
}

.audit-item:hover[b-gf1b5r6f91] { background: #F9FAFB; }
.audit-item:last-child[b-gf1b5r6f91] { border-bottom: none; }

.audit-icon[b-gf1b5r6f91] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.audit-icon svg[b-gf1b5r6f91] { width: 20px; height: 20px; }

.type-create[b-gf1b5r6f91] { background: #D1FAE5; color: #059669; }
.type-update[b-gf1b5r6f91] { background: #DBEAFE; color: #2563EB; }
.type-delete[b-gf1b5r6f91] { background: #FEE2E2; color: #DC2626; }
.type-login[b-gf1b5r6f91] { background: #E0E7FF; color: #6366F1; }
.type-default[b-gf1b5r6f91] { background: #F3F4F6; color: #6B7280; }

.audit-content[b-gf1b5r6f91] { flex: 1; min-width: 0; }

.audit-header[b-gf1b5r6f91] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
}

.audit-action[b-gf1b5r6f91] { font-weight: 600; color: #1F2937; }

.audit-module[b-gf1b5r6f91] {
    padding: 0.125rem 0.5rem;
    background: #F3F4F6;
    border-radius: 4px;
    font-size: 0.7rem;
    color: #6B7280;
}

.audit-description[b-gf1b5r6f91] {
    color: #4B5563;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.audit-meta[b-gf1b5r6f91] {
    display: flex;
    gap: 1rem;
}

.audit-user[b-gf1b5r6f91],
.audit-ip[b-gf1b5r6f91] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: #9CA3AF;
}

.audit-user svg[b-gf1b5r6f91],
.audit-ip svg[b-gf1b5r6f91] {
    width: 14px;
    height: 14px;
}

.audit-time[b-gf1b5r6f91] {
    text-align: right;
    flex-shrink: 0;
}

.audit-time .time[b-gf1b5r6f91] {
    display: block;
    font-weight: 600;
    color: #1F2937;
    font-size: 0.875rem;
}

.audit-time .date[b-gf1b5r6f91] {
    display: block;
    font-size: 0.7rem;
    color: #9CA3AF;
}
/* /Components/Pages/Services/Utilisateurs/MatricePermissions.razor.rz.scp.css */
.legend[b-s30cl3matl] {
    display: flex;
    gap: 1rem;
}

.legend-item[b-s30cl3matl] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    border-radius: 6px;
}

.legend-item.granted[b-s30cl3matl] { background: #D1FAE5; color: #059669; }
.legend-item.denied[b-s30cl3matl] { background: #FEE2E2; color: #DC2626; }

.card[b-s30cl3matl] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.permissions-table[b-s30cl3matl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.permissions-table th[b-s30cl3matl],
.permissions-table td[b-s30cl3matl] {
    padding: 0.75rem 1rem;
    text-align: center;
    border-bottom: 1px solid #E5E7EB;
}

.module-header[b-s30cl3matl] {
    text-align: left !important;
    background: #F9FAFB;
    font-weight: 600;
    color: #1F2937;
    min-width: 200px;
}

.role-header[b-s30cl3matl] {
    background: #F9FAFB;
    min-width: 100px;
    vertical-align: middle;
}

.role-header.superadmin[b-s30cl3matl] { background: #F3E8FF; }
.role-header.admin[b-s30cl3matl] { background: #DBEAFE; }
.role-header.chefcaisse[b-s30cl3matl] { background: #D1FAE5; }
.role-header.caissier[b-s30cl3matl] { background: #FEF3C7; }
.role-header.direction[b-s30cl3matl] { background: #E0E7FF; }
.role-header.secretaire[b-s30cl3matl] { background: #FCE7F3; }

.role-name[b-s30cl3matl] {
    display: block;
    font-weight: 600;
    font-size: 0.75rem;
    color: #1F2937;
}

.role-level[b-s30cl3matl] {
    display: block;
    font-size: 0.65rem;
    color: #6B7280;
    font-weight: 400;
}

.module-row td[b-s30cl3matl] {
    background: #F3F4F6;
    text-align: left !important;
    font-weight: 600;
    color: #374151;
}

.module-title[b-s30cl3matl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.module-title svg[b-s30cl3matl] {
    width: 18px;
    height: 18px;
    color: #6B7280;
}

.permission-name[b-s30cl3matl] {
    text-align: left !important;
    padding-left: 2rem !important;
    color: #6B7280;
}

.permission-cell[b-s30cl3matl] {
    padding: 0.5rem !important;
}

.status[b-s30cl3matl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.875rem;
}

.status.granted[b-s30cl3matl] { background: #D1FAE5; color: #059669; }
.status.denied[b-s30cl3matl] { background: #FEE2E2; color: #DC2626; }
/* /Components/Pages/Services/Utilisateurs/ModifierUtilisateur.razor.rz.scp.css */
.back-btn[b-yp9r6bbvmp] {
    width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
    background: #F3F4F6; color: #6B7280; text-decoration: none; transition: all 0.2s;
}
.back-btn:hover[b-yp9r6bbvmp] { background: #E5E7EB; color: #1F2937; }
.back-btn svg[b-yp9r6bbvmp] { width: 20px; height: 20px; }
.form-card[b-yp9r6bbvmp] {
    background: white; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); overflow: hidden;
}
.form-header[b-yp9r6bbvmp] {
    display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; border-bottom: 1px solid #E5E7EB;
}
.form-header h2[b-yp9r6bbvmp] { font-size: 1rem; font-weight: 600; color: #1F2937; }
.form-icon[b-yp9r6bbvmp] {
    width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
}
.form-icon svg[b-yp9r6bbvmp] { width: 18px; height: 18px; color: white; }
.gradient-indigo[b-yp9r6bbvmp] { background: linear-gradient(135deg, #6366F1, #4F46E5); }
.gradient-amber[b-yp9r6bbvmp] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.form-body[b-yp9r6bbvmp] { padding: 1.5rem 1.25rem; display: flex; flex-direction: column; gap: 1.25rem; }
.form-grid[b-yp9r6bbvmp] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.form-group[b-yp9r6bbvmp] { display: flex; flex-direction: column; gap: 0.375rem; }
.form-group label[b-yp9r6bbvmp] { font-size: 0.875rem; font-weight: 500; color: #374151; }
.required[b-yp9r6bbvmp] { color: #EF4444; }
.form-group input[b-yp9r6bbvmp], .form-group select[b-yp9r6bbvmp] {
    padding: 0.625rem 0.875rem; border: 1px solid #D1D5DB; border-radius: 8px; font-size: 0.875rem;
}
.form-group input:focus[b-yp9r6bbvmp], .form-group select:focus[b-yp9r6bbvmp] {
    outline: none; border-color: #6366F1; box-shadow: 0 0 0 3px rgba(99,102,241,0.1);
}
.hint[b-yp9r6bbvmp] { font-size: 0.8125rem; color: #6B7280; }
.error-msg[b-yp9r6bbvmp] { font-size: 0.8125rem; color: #EF4444; margin-top: 0.25rem; }
.checkbox-group[b-yp9r6bbvmp] { margin-bottom: 0; }
.checkbox-label[b-yp9r6bbvmp] { display: flex; align-items: center; gap: 0.5rem; font-weight: 500; cursor: pointer; }
.form-actions[b-yp9r6bbvmp] {
    display: flex; justify-content: flex-end; gap: 0.75rem; margin-top: 1.5rem;
}
.btn-secondary[b-yp9r6bbvmp],
.btn-primary[b-yp9r6bbvmp] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.625rem 1.25rem; border-radius: 8px; font-weight: 600;
    text-decoration: none; border: none; cursor: pointer; transition: all 0.2s;
}
.btn-secondary[b-yp9r6bbvmp] {
    background: white; color: #4B5563; border: 1px solid #E5E7EB;
}
.btn-secondary:hover[b-yp9r6bbvmp] { background: #F9FAFB; }
.btn-primary[b-yp9r6bbvmp] {
    background: #1E90FF; color: white;
}
.btn-primary:hover:not(:disabled)[b-yp9r6bbvmp] {
    background: #1873CC; transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.4);
}
.btn-primary:disabled[b-yp9r6bbvmp] { opacity: 0.7; cursor: not-allowed; }
.btn-primary svg[b-yp9r6bbvmp] { width: 18px; height: 18px; }
.btn-spinner[b-yp9r6bbvmp] {
    width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white; border-radius: 50%; animation: mod-spin-b-yp9r6bbvmp 0.7s linear infinite;
}
@keyframes mod-spin-b-yp9r6bbvmp { to { transform: rotate(360deg); } }
/* /Components/Pages/Services/Utilisateurs/NouvelUtilisateur.razor.rz.scp.css */
.back-btn[b-4j0dq0xocu] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F3F4F6;
    color: #6B7280;
    transition: all 0.2s;
}

.back-btn:hover[b-4j0dq0xocu] {
    background: #E5E7EB;
    color: #1F2937;
}

.back-btn svg[b-4j0dq0xocu] { width: 20px; height: 20px; }

.alert[b-4j0dq0xocu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: 10px;
}

.alert svg[b-4j0dq0xocu] { width: 20px; height: 20px; flex-shrink: 0; }

.alert-error[b-4j0dq0xocu] {
    background: #FEE2E2;
    border: 1px solid #FECACA;
    color: #DC2626;
}

.alert-success[b-4j0dq0xocu] {
    background: #D1FAE5;
    border: 1px solid #A7F3D0;
    color: #059669;
}

.form-card[b-4j0dq0xocu] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.form-header[b-4j0dq0xocu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.form-header h2[b-4j0dq0xocu] {
    font-size: 1rem;
    font-weight: 600;
    color: #1F2937;
}

.form-icon[b-4j0dq0xocu] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.form-icon svg[b-4j0dq0xocu] { width: 18px; height: 18px; color: white; }

.gradient-indigo[b-4j0dq0xocu] { background: linear-gradient(135deg, #6366F1, #4F46E5); }
.gradient-green[b-4j0dq0xocu] { background: linear-gradient(135deg, #10B981, #059669); }

.permissions-empty-group[b-4j0dq0xocu] {
    padding: 0.5rem 0;
}
.btn-groupes-permissions[b-4j0dq0xocu] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    padding: 0.625rem 1.25rem;
    background: #1E90FF;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 600;
    border: 2px solid #0a5bb5;
    transition: background 0.2s;
}
.btn-groupes-permissions:hover[b-4j0dq0xocu] {
    background: #1873CC;
    color: #fff !important;
}
.btn-groupes-permissions svg[b-4j0dq0xocu] { width: 18px; height: 18px; }
.link-blue[b-4j0dq0xocu] { color: #1E90FF; text-decoration: underline; }
.link-blue:hover[b-4j0dq0xocu] { color: #0a5bb5; }

.form-body[b-4j0dq0xocu] {
    padding: 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.form-grid[b-4j0dq0xocu] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.form-group[b-4j0dq0xocu] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.form-group label[b-4j0dq0xocu] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.required[b-4j0dq0xocu] { color: #EF4444; }

.form-group input[b-4j0dq0xocu],
.form-group select[b-4j0dq0xocu] {
    padding: 0.625rem 0.875rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.form-group input:focus[b-4j0dq0xocu],
.form-group select:focus[b-4j0dq0xocu] {
    outline: none;
    border-color: #6366F1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.input-icon[b-4j0dq0xocu] {
    position: relative;
}

.input-icon svg[b-4j0dq0xocu] {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: #9CA3AF;
}

.input-icon input[b-4j0dq0xocu] {
    padding-left: 2.5rem;
    width: 100%;
}

.error-msg[b-4j0dq0xocu] {
    font-size: 0.75rem;
    color: #EF4444;
}

.hint[b-4j0dq0xocu] {
    font-size: 0.7rem;
    color: #9CA3AF;
}

.password-rules[b-4j0dq0xocu] {
    list-style: none;
    padding: 0;
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: #6B7280;
}
.password-rules li[b-4j0dq0xocu] { margin: 0.15rem 0; }
.password-rules li.ok[b-4j0dq0xocu] { color: #059669; }

.checkbox-group .checkbox-label[b-4j0dq0xocu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-weight: 500;
}

.permissions-grid[b-4j0dq0xocu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.75rem;
}

.permission-item[b-4j0dq0xocu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: #D1FAE5;
    border-radius: 8px;
}

.permission-item svg[b-4j0dq0xocu] {
    width: 16px;
    height: 16px;
    color: #059669;
}

.permission-item span[b-4j0dq0xocu] {
    font-size: 0.8rem;
    color: #065F46;
}

.form-actions[b-4j0dq0xocu] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

.btn-secondary[b-4j0dq0xocu] {
    padding: 0.75rem 1.5rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #6B7280;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.btn-secondary:hover[b-4j0dq0xocu] {
    background: #F3F4F6;
    border-color: #9CA3AF;
}

.btn-primary-indigo[b-4j0dq0xocu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: linear-gradient(135deg, #6366F1, #4F46E5);
    color: white;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-primary-indigo:hover[b-4j0dq0xocu] {
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

.btn-primary-indigo:disabled[b-4j0dq0xocu] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-primary-indigo svg[b-4j0dq0xocu] {
    width: 20px;
    height: 20px;
}
/* /Components/Pages/Services/Utilisateurs/RapportConnexions.razor.rz.scp.css */
.periode-select[b-czwsp1svlp] {
    padding: 0.5rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    background: white;
}

.btn-export[b-czwsp1svlp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #F3F4F6;
    border-radius: 8px;
    font-size: 0.875rem;
    color: #374151;
    transition: all 0.2s;
}

.btn-export:hover[b-czwsp1svlp] { background: #E5E7EB; }
.btn-export svg[b-czwsp1svlp] { width: 18px; height: 18px; }

.rapport-stats-grid[b-czwsp1svlp] {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
}

@media (min-width: 768px) {
    .rapport-stats-grid[b-czwsp1svlp] {
        grid-template-columns: repeat(4, 1fr);
    }
}

.stat-card[b-czwsp1svlp] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    min-width: 0;
}

.stat-card-content[b-czwsp1svlp] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.stat-card .stat-value[b-czwsp1svlp] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937 !important;
    line-height: 1.3;
}

.stat-card .stat-value-red[b-czwsp1svlp] {
    color: #DC2626 !important;
}

.stat-card .stat-label[b-czwsp1svlp] {
    display: block;
    font-size: 0.75rem;
    color: #6B7280 !important;
    line-height: 1.3;
}

.stat-icon[b-czwsp1svlp] {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-czwsp1svlp] { width: 24px; height: 24px; }

.stat-icon-green[b-czwsp1svlp] { background: #D1FAE5; color: #059669; }
.stat-icon-red[b-czwsp1svlp] { background: #FEE2E2; color: #DC2626; }
.stat-icon-blue[b-czwsp1svlp] { background: #DBEAFE; color: #2563EB; }
.stat-icon-amber[b-czwsp1svlp] { background: #FEF3C7; color: #D97706; }

.card[b-czwsp1svlp] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.card-header[b-czwsp1svlp] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.search-input[b-czwsp1svlp] {
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
    width: 220px;
}

.connexions-table[b-czwsp1svlp] {
    width: 100%;
    border-collapse: collapse;
}

.connexions-table th[b-czwsp1svlp] {
    background: #F9FAFB;
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
}

.connexions-table td[b-czwsp1svlp] {
    padding: 1rem;
    border-bottom: 1px solid #F3F4F6;
    font-size: 0.875rem;
}

.user-cell[b-czwsp1svlp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.user-avatar[b-czwsp1svlp] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.7rem;
    color: white;
}

.user-avatar.superadmin[b-czwsp1svlp] { background: linear-gradient(135deg, #8B5CF6, #7C3AED); }
.user-avatar.admin[b-czwsp1svlp] { background: linear-gradient(135deg, #3B82F6, #2563EB); }
.user-avatar.chefcaisse[b-czwsp1svlp] { background: linear-gradient(135deg, #10B981, #059669); }
.user-avatar.caissier[b-czwsp1svlp] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.user-avatar.direction[b-czwsp1svlp] { background: linear-gradient(135deg, #6366F1, #4F46E5); }
.user-avatar.secretaire[b-czwsp1svlp] { background: linear-gradient(135deg, #EC4899, #DB2777); }
.user-avatar.default[b-czwsp1svlp] { background: linear-gradient(135deg, #6B7280, #4B5563); }

.user-name[b-czwsp1svlp] { font-weight: 500; color: #1F2937; font-size: 0.875rem; }
.user-email[b-czwsp1svlp] { font-size: 0.7rem; color: #9CA3AF; }

.role-badge[b-czwsp1svlp] {
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 500;
}

.role-badge.superadmin[b-czwsp1svlp] { background: #F3E8FF; color: #7C3AED; }
.role-badge.admin[b-czwsp1svlp] { background: #DBEAFE; color: #2563EB; }
.role-badge.chefcaisse[b-czwsp1svlp] { background: #D1FAE5; color: #059669; }
.role-badge.caissier[b-czwsp1svlp] { background: #FEF3C7; color: #D97706; }
.role-badge.direction[b-czwsp1svlp] { background: #E0E7FF; color: #4F46E5; }
.role-badge.secretaire[b-czwsp1svlp] { background: #FCE7F3; color: #DB2777; }

.date[b-czwsp1svlp] { display: block; font-weight: 500; color: #1F2937; }
.time[b-czwsp1svlp] { display: block; font-size: 0.75rem; color: #9CA3AF; }

.status-badge[b-czwsp1svlp] {
    padding: 0.25rem 0.625rem;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 500;
}

.status-badge.success[b-czwsp1svlp] { background: #D1FAE5; color: #059669; }
.status-badge.failed[b-czwsp1svlp] { background: #FEE2E2; color: #DC2626; }
/* /Components/Pages/Services/Utilisateurs/SessionsActives.razor.rz.scp.css */
.live-indicator[b-y14suxoko8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #D1FAE5;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #059669;
}

.pulse[b-y14suxoko8] {
    width: 8px;
    height: 8px;
    background: #10B981;
    border-radius: 50%;
    animation: pulse-b-y14suxoko8 2s infinite;
}

@keyframes pulse-b-y14suxoko8 {
    0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

.btn-refresh[b-y14suxoko8] {
    padding: 0.5rem;
    border-radius: 8px;
    color: #6B7280;
    transition: all 0.2s;
}

.btn-refresh:hover[b-y14suxoko8] { background: #F3F4F6; color: #6366F1; }
.btn-refresh svg[b-y14suxoko8] { width: 20px; height: 20px; }

.sessions-grid[b-y14suxoko8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.25rem;
}

.session-card[b-y14suxoko8] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #10B981;
}

.session-header[b-y14suxoko8] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.session-avatar[b-y14suxoko8] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
    color: white;
}

.session-avatar.superadmin[b-y14suxoko8] { background: linear-gradient(135deg, #8B5CF6, #7C3AED); }
.session-avatar.admin[b-y14suxoko8] { background: linear-gradient(135deg, #3B82F6, #2563EB); }
.session-avatar.chefcaisse[b-y14suxoko8] { background: linear-gradient(135deg, #10B981, #059669); }
.session-avatar.caissier[b-y14suxoko8] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.session-avatar.direction[b-y14suxoko8] { background: linear-gradient(135deg, #6366F1, #4F46E5); }
.session-avatar.default[b-y14suxoko8] { background: linear-gradient(135deg, #6B7280, #4B5563); }

.session-user[b-y14suxoko8] { flex: 1; }
.session-name[b-y14suxoko8] { font-weight: 600; color: #1F2937; font-size: 0.9375rem; }

.session-role[b-y14suxoko8] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
}

.session-role.superadmin[b-y14suxoko8] { background: #F3E8FF; color: #7C3AED; }
.session-role.admin[b-y14suxoko8] { background: #DBEAFE; color: #2563EB; }
.session-role.chefcaisse[b-y14suxoko8] { background: #D1FAE5; color: #059669; }
.session-role.caissier[b-y14suxoko8] { background: #FEF3C7; color: #D97706; }
.session-role.direction[b-y14suxoko8] { background: #E0E7FF; color: #4F46E5; }

.session-status[b-y14suxoko8] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 500;
}

.session-status.online[b-y14suxoko8] { color: #10B981; }

.status-dot[b-y14suxoko8] {
    width: 8px;
    height: 8px;
    background: #10B981;
    border-radius: 50%;
}

.session-details[b-y14suxoko8] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem 0;
    border-top: 1px solid #E5E7EB;
    border-bottom: 1px solid #E5E7EB;
    margin-bottom: 0.75rem;
}

.detail-row[b-y14suxoko8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: #6B7280;
}

.detail-row svg[b-y14suxoko8] { width: 16px; height: 16px; color: #9CA3AF; }

.session-activity[b-y14suxoko8] {
    margin-bottom: 1rem;
}

.activity-label[b-y14suxoko8] {
    display: block;
    font-size: 0.7rem;
    color: #9CA3AF;
    text-transform: uppercase;
    margin-bottom: 0.25rem;
}

.activity-time[b-y14suxoko8] {
    font-weight: 600;
    color: #1F2937;
    font-size: 0.875rem;
}

.activity-action[b-y14suxoko8] {
    display: block;
    font-size: 0.8rem;
    color: #6B7280;
}

.session-actions[b-y14suxoko8] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid #E5E7EB;
}

.action-btn[b-y14suxoko8] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.action-btn svg[b-y14suxoko8] { width: 18px; height: 18px; }

.action-btn.details[b-y14suxoko8] { color: #6B7280; }
.action-btn.details:hover[b-y14suxoko8] { background: #E0E7FF; color: #6366F1; }
.action-btn.disconnect[b-y14suxoko8] { color: #6B7280; }
.action-btn.disconnect:hover[b-y14suxoko8] { background: #FEE2E2; color: #DC2626; }

.empty-state[b-y14suxoko8] {
    text-align: center;
    padding: 4rem 2rem;
    background: white;
    border-radius: 12px;
}

.empty-state svg[b-y14suxoko8] { width: 64px; height: 64px; color: #9CA3AF; margin: 0 auto 1rem; }
.empty-state h3[b-y14suxoko8] { font-weight: 600; color: #1F2937; margin-bottom: 0.25rem; }
.empty-state p[b-y14suxoko8] { color: #6B7280; font-size: 0.875rem; }

.modal-overlay[b-y14suxoko8] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 50;
}
.modal-content[b-y14suxoko8] {
    background: white; border-radius: 12px; max-width: 480px; width: 90%; max-height: 90vh; overflow-y: auto; box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.modal-detail-wide[b-y14suxoko8] { max-width: 720px; }
.historique-table-wrapper[b-y14suxoko8] { overflow-x: auto; }
.historique-table[b-y14suxoko8] { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
.historique-table th[b-y14suxoko8] { text-align: left; padding: 0.5rem 0.75rem; background: #F9FAFB; color: #6B7280; font-weight: 600; border-bottom: 1px solid #E5E7EB; }
.historique-table td[b-y14suxoko8] { padding: 0.5rem 0.75rem; border-bottom: 1px solid #F3F4F6; }
.badge-active[b-y14suxoko8] { color: #059669; font-weight: 500; font-size: 0.75rem; }
.badge-revoked[b-y14suxoko8] { color: #6B7280; font-size: 0.75rem; }
.btn-revoquer-small[b-y14suxoko8] { padding: 0.25rem 0.5rem; font-size: 0.7rem; color: #DC2626; background: #FEE2E2; border: none; border-radius: 4px; cursor: pointer; }
.btn-revoquer-small:hover[b-y14suxoko8] { background: #FECACA; }
.modal-header[b-y14suxoko8] {
    display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid #E5E7EB;
}
.modal-header h2[b-y14suxoko8] { font-size: 1.125rem; font-weight: 600; margin: 0; }
.modal-close[b-y14suxoko8] {
    width: 32px; height: 32px; border: none; background: #F3F4F6; border-radius: 8px; cursor: pointer; font-size: 1.25rem; line-height: 1;
}
.modal-close:hover[b-y14suxoko8] { background: #E5E7EB; }
.modal-body[b-y14suxoko8] { padding: 1.25rem; }
.modal-footer[b-y14suxoko8] {
    display: flex; justify-content: flex-end; gap: 0.75rem; padding: 1rem 1.25rem; border-top: 1px solid #E5E7EB;
}
.detail-grid[b-y14suxoko8] { display: flex; flex-direction: column; gap: 1rem; }
.detail-item[b-y14suxoko8] { display: flex; flex-direction: column; gap: 0.25rem; }
.detail-label[b-y14suxoko8] { font-size: 0.75rem; color: #6B7280; text-transform: uppercase; }
.detail-value[b-y14suxoko8] { font-weight: 500; color: #1F2937; }
.btn-secondary[b-y14suxoko8] {
    padding: 0.5rem 1rem; background: white; color: #4B5563; font-weight: 500; border: 1px solid #E5E7EB; border-radius: 8px; cursor: pointer;
}
.btn-secondary:hover[b-y14suxoko8] { background: #F9FAFB; }
.btn-danger[b-y14suxoko8] {
    padding: 0.5rem 1rem; background: #DC2626; color: white; font-weight: 500; border: none; border-radius: 8px; cursor: pointer;
}
.btn-danger:hover[b-y14suxoko8] { background: #B91C1C; }
/* /Components/Pages/Services/Utilisateurs/UtilisateursDashboard.razor.rz.scp.css */
.stat-card[b-43zgvuq4ck] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 12px;
    color: white;
}

.gradient-indigo[b-43zgvuq4ck] { background: linear-gradient(135deg, #6366F1, #4F46E5); }
.gradient-green[b-43zgvuq4ck] { background: linear-gradient(135deg, #10B981, #059669); }
.gradient-amber[b-43zgvuq4ck] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.gradient-red[b-43zgvuq4ck] { background: linear-gradient(135deg, #EF4444, #DC2626); }

.stat-icon[b-43zgvuq4ck] {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg[b-43zgvuq4ck] { width: 24px; height: 24px; }

.stat-content[b-43zgvuq4ck] { display: flex; flex-direction: column; }
.stat-label[b-43zgvuq4ck] { font-size: 0.75rem; opacity: 0.9; }
.stat-value[b-43zgvuq4ck] { font-size: 1.5rem; font-weight: 700; }

.btn-refresh[b-43zgvuq4ck] {
    padding: 0.5rem;
    border-radius: 8px;
    color: #6B7280;
    transition: all 0.2s;
}

.btn-refresh:hover[b-43zgvuq4ck] {
    background: #F3F4F6;
    color: #6366F1;
}

.card[b-43zgvuq4ck] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.card-header[b-43zgvuq4ck] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.card-body[b-43zgvuq4ck] { padding: 1.25rem; }

/* Roles Chart */
.roles-chart[b-43zgvuq4ck] { display: flex; flex-direction: column; gap: 1rem; }

.role-item[b-43zgvuq4ck] { padding: 0.75rem; background: #F9FAFB; border-radius: 8px; }

.role-header[b-43zgvuq4ck] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.role-badge[b-43zgvuq4ck] {
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
}

.role-superadmin[b-43zgvuq4ck] { background: #F3E8FF; color: #7C3AED; }
.role-admin[b-43zgvuq4ck] { background: #DBEAFE; color: #2563EB; }
.role-chefcaisse[b-43zgvuq4ck] { background: #D1FAE5; color: #059669; }
.role-caissier[b-43zgvuq4ck] { background: #FEF3C7; color: #D97706; }
.role-direction[b-43zgvuq4ck] { background: #E0E7FF; color: #4F46E5; }
.role-secretaire[b-43zgvuq4ck] { background: #FCE7F3; color: #DB2777; }
.role-default[b-43zgvuq4ck] { background: #F3F4F6; color: #6B7280; }

.role-count[b-43zgvuq4ck] { font-weight: 700; color: #1F2937; }

.role-bar[b-43zgvuq4ck] {
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
}

.bar-fill[b-43zgvuq4ck] { height: 100%; border-radius: 3px; transition: width 0.5s; }
.bar-purple[b-43zgvuq4ck] { background: linear-gradient(to right, #8B5CF6, #A78BFA); }
.bar-blue[b-43zgvuq4ck] { background: linear-gradient(to right, #3B82F6, #60A5FA); }
.bar-green[b-43zgvuq4ck] { background: linear-gradient(to right, #10B981, #34D399); }
.bar-amber[b-43zgvuq4ck] { background: linear-gradient(to right, #F59E0B, #FBBF24); }
.bar-indigo[b-43zgvuq4ck] { background: linear-gradient(to right, #6366F1, #818CF8); }
.bar-gray[b-43zgvuq4ck] { background: linear-gradient(to right, #6B7280, #9CA3AF); }

/* Connexions List */
.connexions-list[b-43zgvuq4ck] { display: flex; flex-direction: column; }

.connexion-item[b-43zgvuq4ck] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #F3F4F6;
}

.connexion-item:last-child[b-43zgvuq4ck] { border-bottom: none; }

.connexion-avatar[b-43zgvuq4ck] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.75rem;
    color: white;
}

.connexion-info[b-43zgvuq4ck] { flex: 1; }
.connexion-name[b-43zgvuq4ck] { font-weight: 500; color: #1F2937; font-size: 0.875rem; }
.connexion-role[b-43zgvuq4ck] { font-size: 0.75rem; color: #6B7280; }

.connexion-time[b-43zgvuq4ck] { text-align: right; }
.connexion-time .time[b-43zgvuq4ck] { display: block; font-size: 0.75rem; color: #6B7280; }
.connexion-time .status[b-43zgvuq4ck] { font-size: 0.65rem; font-weight: 500; }
.connexion-time .status.online[b-43zgvuq4ck] { color: #10B981; }
.connexion-time .status.offline[b-43zgvuq4ck] { color: #9CA3AF; }

/* Activity List */
.activity-list[b-43zgvuq4ck] { display: flex; flex-direction: column; }

.activity-item[b-43zgvuq4ck] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #F3F4F6;
}

.activity-item:last-child[b-43zgvuq4ck] { border-bottom: none; }

.activity-icon[b-43zgvuq4ck] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.activity-icon svg[b-43zgvuq4ck] { width: 18px; height: 18px; }

.type-create[b-43zgvuq4ck] { background: #D1FAE5; color: #059669; }
.type-update[b-43zgvuq4ck] { background: #DBEAFE; color: #2563EB; }
.type-delete[b-43zgvuq4ck] { background: #FEE2E2; color: #DC2626; }

.activity-content[b-43zgvuq4ck] { flex: 1; }
.activity-text[b-43zgvuq4ck] { font-size: 0.875rem; color: #1F2937; }
.activity-time[b-43zgvuq4ck] { font-size: 0.75rem; color: #9CA3AF; margin-top: 0.25rem; }

/* Nouveaux Grid */
.nouveaux-grid[b-43zgvuq4ck] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.nouveau-card[b-43zgvuq4ck] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background: #F9FAFB;
    border-radius: 10px;
}

.nouveau-avatar[b-43zgvuq4ck] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
    color: white;
    flex-shrink: 0;
}

.nouveau-info[b-43zgvuq4ck] { flex: 1; min-width: 0; }
.nouveau-name[b-43zgvuq4ck] { font-weight: 600; color: #1F2937; font-size: 0.875rem; }
.nouveau-email[b-43zgvuq4ck] { font-size: 0.75rem; color: #6B7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.nouveau-role[b-43zgvuq4ck] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 500;
    margin-top: 0.25rem;
}

.badge-purple[b-43zgvuq4ck] { background: #F3E8FF; color: #7C3AED; }
.badge-blue[b-43zgvuq4ck] { background: #DBEAFE; color: #2563EB; }
.badge-green[b-43zgvuq4ck] { background: #D1FAE5; color: #059669; }
.badge-amber[b-43zgvuq4ck] { background: #FEF3C7; color: #D97706; }
.badge-indigo[b-43zgvuq4ck] { background: #E0E7FF; color: #4F46E5; }
.badge-gray[b-43zgvuq4ck] { background: #F3F4F6; color: #6B7280; }

.nouveau-date[b-43zgvuq4ck] { font-size: 0.7rem; color: #9CA3AF; white-space: nowrap; }

.btn-primary-sm[b-43zgvuq4ck] {
    background: linear-gradient(135deg, #6366F1, #4F46E5);
    color: white;
    padding: 0.375rem 0.75rem;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.btn-primary-sm:hover[b-43zgvuq4ck] {
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}
/* /Components/Pages/Services/Utilisateurs/UtilisateursList.razor.rz.scp.css */
.btn-primary-indigo[b-lfmyff1g1n] {
    background: linear-gradient(135deg, #6366F1, #4F46E5);
    color: white;
    padding: 0.625rem 1.25rem;
    border-radius: 8px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s;
    text-decoration: none;
}

.btn-primary-indigo:hover[b-lfmyff1g1n] {
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

/* Filtres */
.filters-card[b-lfmyff1g1n] {
    background: white;
    padding: 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.filters-grid[b-lfmyff1g1n] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.filter-item label[b-lfmyff1g1n] {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6B7280;
    margin-bottom: 0.375rem;
}

.filter-item input[b-lfmyff1g1n],
.filter-item select[b-lfmyff1g1n] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
}

.filter-item input:focus[b-lfmyff1g1n],
.filter-item select:focus[b-lfmyff1g1n] {
    outline: none;
    border-color: #6366F1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.filter-actions[b-lfmyff1g1n] {
    display: flex;
    align-items: flex-end;
}

.btn-outline[b-lfmyff1g1n] {
    width: 100%;
    padding: 0.5rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #6B7280;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.btn-outline:hover[b-lfmyff1g1n] {
    background: #F3F4F6;
    border-color: #9CA3AF;
}

/* Table */
.card[b-lfmyff1g1n] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.users-table[b-lfmyff1g1n] {
    width: 100%;
    border-collapse: collapse;
}

.users-table th[b-lfmyff1g1n] {
    background: #F9FAFB;
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    border-bottom: 1px solid #E5E7EB;
}

.users-table td[b-lfmyff1g1n] {
    padding: 1rem;
    border-bottom: 1px solid #F3F4F6;
    font-size: 0.875rem;
}

.users-table tr:hover[b-lfmyff1g1n] {
    background: #F9FAFB;
}

.user-cell[b-lfmyff1g1n] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.user-avatar[b-lfmyff1g1n] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.75rem;
    color: white;
}

.avatar-purple[b-lfmyff1g1n] { background: linear-gradient(135deg, #8B5CF6, #7C3AED); }
.avatar-blue[b-lfmyff1g1n] { background: linear-gradient(135deg, #3B82F6, #2563EB); }
.avatar-green[b-lfmyff1g1n] { background: linear-gradient(135deg, #10B981, #059669); }
.avatar-indigo[b-lfmyff1g1n] { background: linear-gradient(135deg, #6366F1, #4F46E5); }
.avatar-amber[b-lfmyff1g1n] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.avatar-pink[b-lfmyff1g1n] { background: linear-gradient(135deg, #EC4899, #DB2777); }
.avatar-gray[b-lfmyff1g1n] { background: linear-gradient(135deg, #6B7280, #4B5563); }

.user-name[b-lfmyff1g1n] { font-weight: 500; color: #1F2937; }
.user-created[b-lfmyff1g1n] { font-size: 0.7rem; color: #9CA3AF; }

.roles-badges[b-lfmyff1g1n] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.role-badge[b-lfmyff1g1n] {
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 500;
}

.badge-purple[b-lfmyff1g1n] { background: #F3E8FF; color: #7C3AED; }
.badge-blue[b-lfmyff1g1n] { background: #DBEAFE; color: #2563EB; }
.badge-green[b-lfmyff1g1n] { background: #D1FAE5; color: #059669; }
.badge-indigo[b-lfmyff1g1n] { background: #E0E7FF; color: #4F46E5; }
.badge-amber[b-lfmyff1g1n] { background: #FEF3C7; color: #D97706; }
.badge-pink[b-lfmyff1g1n] { background: #FCE7F3; color: #DB2777; }
.badge-gray[b-lfmyff1g1n] { background: #F3F4F6; color: #6B7280; }

.status-badge[b-lfmyff1g1n] {
    padding: 0.25rem 0.625rem;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 500;
}

.status-badge.active[b-lfmyff1g1n] { background: #D1FAE5; color: #059669; }
.status-badge.inactive[b-lfmyff1g1n] { background: #FEE2E2; color: #DC2626; }

.action-buttons[b-lfmyff1g1n] {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
}

.action-btn[b-lfmyff1g1n] {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.action-btn svg[b-lfmyff1g1n] {
    width: 16px;
    height: 16px;
}

.action-btn.edit[b-lfmyff1g1n] { color: #6B7280; }
.action-btn.edit:hover[b-lfmyff1g1n] { background: #DBEAFE; color: #2563EB; }
.action-btn.disable[b-lfmyff1g1n] { color: #6B7280; }
.action-btn.disable:hover[b-lfmyff1g1n] { background: #FEE2E2; color: #DC2626; }
.action-btn.enable[b-lfmyff1g1n] { color: #6B7280; }
.action-btn.enable:hover[b-lfmyff1g1n] { background: #D1FAE5; color: #059669; }
.action-btn.reset[b-lfmyff1g1n] { color: #6B7280; }
.action-btn.reset:hover[b-lfmyff1g1n] { background: #FEF3C7; color: #D97706; }

/* Badge Super Admin protégé */
.current-user-badge[b-lfmyff1g1n] {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: #059669;
    background: #D1FAE5;
    border-radius: 6px;
}

.protected-badge[b-lfmyff1g1n] {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #F3E8FF, #E9D5FF);
    color: #7C3AED;
}

.protected-badge svg[b-lfmyff1g1n] {
    width: 16px;
    height: 16px;
}

.empty-state[b-lfmyff1g1n] {
    text-align: center;
    padding: 3rem 2rem;
}

.empty-state svg[b-lfmyff1g1n] {
    width: 64px;
    height: 64px;
    color: #9CA3AF;
    margin: 0 auto 1rem;
}

.empty-title[b-lfmyff1g1n] {
    font-weight: 600;
    color: #1F2937;
    margin-bottom: 0.25rem;
}

.empty-text[b-lfmyff1g1n] {
    color: #6B7280;
    font-size: 0.875rem;
}
/* /Components/Pages/Services/Utilisateurs/UtilisateursListFilters.razor.rz.scp.css */
.filters-card[b-h1pyf2mfwd] {
    background: white;
    padding: 1.25rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.filters-grid[b-h1pyf2mfwd] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}
.filter-item label[b-h1pyf2mfwd] {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6B7280;
    margin-bottom: 0.375rem;
}
.filter-item input[b-h1pyf2mfwd],
.filter-item select[b-h1pyf2mfwd] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.875rem;
}
.filter-item input:focus[b-h1pyf2mfwd],
.filter-item select:focus[b-h1pyf2mfwd] {
    outline: none;
    border-color: #6366F1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}
.filter-actions[b-h1pyf2mfwd] { display: flex; align-items: flex-end; }
.btn-outline[b-h1pyf2mfwd] {
    width: 100%;
    padding: 0.5rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #6B7280;
    font-size: 0.875rem;
    transition: all 0.2s;
}
.btn-outline:hover[b-h1pyf2mfwd] {
    background: #F3F4F6;
    border-color: #9CA3AF;
}
/* /Components/Pages/Services/Utilisateurs/UtilisateursListStats.razor.rz.scp.css */
.stats-row[b-tycjzo1jhi] {
    display: flex;
    gap: 1rem;
    background: white;
    padding: 1rem 1.5rem;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.stat-item[b-tycjzo1jhi] {
    flex: 1;
    text-align: center;
    padding: 0.5rem 1rem;
    border-right: 1px solid #E5E7EB;
}
.stat-item:last-child[b-tycjzo1jhi] { border-right: none; }
.stat-item .stat-value[b-tycjzo1jhi] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1F2937;
}
.stat-item .stat-label[b-tycjzo1jhi] {
    display: block;
    font-size: 0.7rem;
    color: #6B7280;
    text-transform: uppercase;
}
.text-green-600[b-tycjzo1jhi] { color: #059669; }
.text-red-600[b-tycjzo1jhi] { color: #DC2626; }
/* /Components/Shared/AlertMessage.razor.rz.scp.css */
.alert-message[b-4wgq6bzczv] {
    display: flex;
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    background: #fff;
    border: 1px solid transparent;
    border-left-width: 4px;
    box-sizing: border-box;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
}

.alert-icon-box[b-4wgq6bzczv] {
    flex-shrink: 0;
    width: 56px;
    min-width: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.alert-icon-box svg[b-4wgq6bzczv] {
    width: 24px;
    height: 24px;
    color: #fff;
}

.alert-message-box[b-4wgq6bzczv] {
    flex: 1;
    padding: 1rem 1.25rem;
    min-height: 52px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

.alert-title[b-4wgq6bzczv] {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    color: #000;
    margin: 0 0 0.5rem 0;
    word-wrap: break-word;
}

.alert-text[b-4wgq6bzczv], .alert-summary-item[b-4wgq6bzczv] {
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #1F2937;
    margin: 0;
    word-wrap: break-word;
}

.alert-summary-list[b-4wgq6bzczv] {
    margin: 0;
    padding-left: 1.25rem;
    list-style-type: disc;
}

.alert-summary-list.summary-numbered[b-4wgq6bzczv] {
    list-style-type: decimal;
}

.alert-summary-item[b-4wgq6bzczv] { margin-bottom: 0.375rem; }
.alert-summary-item:last-child[b-4wgq6bzczv] { margin-bottom: 0; }

.alert-close[b-4wgq6bzczv] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #6B7280;
    cursor: pointer;
    transition: color 0.2s, background 0.2s;
}

.alert-close:hover[b-4wgq6bzczv] { color: #1F2937; background: #F3F4F6; }
.alert-close svg[b-4wgq6bzczv] { width: 18px; height: 18px; }

/* Types – bordure complète + bande gauche à la couleur du type (charte Zanura) */
.alert-message.alert-success[b-4wgq6bzczv] {
    border: 2px solid #059669;
    border-left-width: 4px;
}
.alert-message.alert-success .alert-icon-box[b-4wgq6bzczv] { background: #059669; }

.alert-message.alert-error[b-4wgq6bzczv] {
    border: 2px solid #DC2626;
    border-left-width: 4px;
}
.alert-message.alert-error .alert-icon-box[b-4wgq6bzczv] { background: #DC2626; }

.alert-message.alert-warning[b-4wgq6bzczv] {
    border: 2px solid #D97706;
    border-left-width: 4px;
}
.alert-message.alert-warning .alert-icon-box[b-4wgq6bzczv] { background: #D97706; }
.alert-message.alert-warning .alert-icon-box svg[b-4wgq6bzczv] { color: #fff; }

.alert-message.alert-info[b-4wgq6bzczv] {
    border: 2px solid #1E90FF;
    border-left-width: 4px;
}
.alert-message.alert-info .alert-icon-box[b-4wgq6bzczv] { background: #1E90FF; }

.alert-message.alert-summary[b-4wgq6bzczv],
.alert-message.alert-service[b-4wgq6bzczv] {
    border: 2px solid #071A39;
    border-left-width: 4px;
}
.alert-message.alert-summary .alert-icon-box[b-4wgq6bzczv],
.alert-message.alert-service .alert-icon-box[b-4wgq6bzczv] { background: #071A39; }
/* /Components/Shared/Breadcrumb.razor.rz.scp.css */
.breadcrumb-nav[b-kxrlzijuwk] {
    padding: 0.5rem 0;
}

.breadcrumb-list[b-kxrlzijuwk] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.875rem;
}

.breadcrumb-item[b-kxrlzijuwk] {
    display: flex;
    align-items: center;
}

.breadcrumb-separator[b-kxrlzijuwk] {
    display: flex;
    align-items: center;
    color: var(--text-muted, #9CA3AF);
}

.breadcrumb-link[b-kxrlzijuwk] {
    display: flex;
    align-items: center;
    color: var(--text-secondary, #6B7280);
    text-decoration: none;
    transition: color 0.15s ease;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
}

.breadcrumb-link:hover[b-kxrlzijuwk] {
    color: var(--primary, #1E90FF);
    background: var(--bg-hover, rgba(30, 144, 255, 0.1));
}

.breadcrumb-home[b-kxrlzijuwk] {
    padding: 0.375rem;
}

.breadcrumb-text[b-kxrlzijuwk] {
    color: var(--text-primary, #111827);
    font-weight: 500;
    padding: 0.25rem 0.5rem;
}

.breadcrumb-current .breadcrumb-text[b-kxrlzijuwk] {
    color: var(--primary, #1E90FF);
}

/* Dark mode */
[data-theme='dark'] .breadcrumb-link[b-kxrlzijuwk] {
    color: #9CA3AF;
}

[data-theme='dark'] .breadcrumb-link:hover[b-kxrlzijuwk] {
    color: #60A5FA;
    background: rgba(96, 165, 250, 0.1);
}

[data-theme='dark'] .breadcrumb-text[b-kxrlzijuwk] {
    color: #E5E7EB;
}

[data-theme='dark'] .breadcrumb-current .breadcrumb-text[b-kxrlzijuwk] {
    color: #60A5FA;
}

/* Responsive */
@media (max-width: 640px) {
    .breadcrumb-list[b-kxrlzijuwk] {
        font-size: 0.75rem;
    }

    .breadcrumb-link[b-kxrlzijuwk] {
        padding: 0.125rem 0.25rem;
    }
}
/* /Components/Shared/ConfirmDialog.razor.rz.scp.css */
/* Charte: Bleu Marine #071A39, Blanc #F5F7FA, Bleu Électrique #1E90FF */
.confirm-dialog-overlay[b-ovcy666rrt] {
    position: fixed;
    inset: 0;
    background: rgba(7, 26, 57, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1100;
    backdrop-filter: blur(2px);
}

.confirm-dialog-box[b-ovcy666rrt] {
    width: 100%;
    max-width: 420px;
    margin: 1rem;
    background: var(--bg-secondary, #FFFFFF);
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(7, 26, 57, 0.25);
    border: 1px solid var(--border-primary, #E2E8F0);
}

.confirm-dialog-header[b-ovcy666rrt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border-primary, #E2E8F0);
    background: var(--bg-primary, #F5F7FA);
    border-radius: 16px 16px 0 0;
}

.confirm-dialog-title[b-ovcy666rrt] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary, #071A39);
    margin: 0;
}

.confirm-dialog-close[b-ovcy666rrt] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: var(--text-tertiary, #718096);
}

.confirm-dialog-close:hover[b-ovcy666rrt] {
    background: var(--bg-tertiary, #E5E9F0);
    color: var(--text-primary, #071A39);
}

.confirm-dialog-close svg[b-ovcy666rrt] {
    width: 20px;
    height: 20px;
}

.confirm-dialog-body[b-ovcy666rrt] {
    padding: 1.5rem 1.5rem;
}

.confirm-dialog-message[b-ovcy666rrt] {
    margin: 0;
    font-size: 1rem;
    color: var(--text-secondary, #4A5568);
    line-height: 1.5;
}

.confirm-dialog-footer[b-ovcy666rrt] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid var(--border-primary, #E2E8F0);
    background: var(--bg-primary, #F5F7FA);
    border-radius: 0 0 16px 16px;
}

.confirm-dialog-btn-cancel[b-ovcy666rrt],
.confirm-dialog-btn-confirm[b-ovcy666rrt] {
    min-width: 100px;
}
/* /Components/Shared/FavoriButton.razor.rz.scp.css */
.favori-btn[b-wvr90nc2jq] {
    padding: 0.5rem;
    background: transparent;
    border: none;
    border-radius: 0.5rem;
    color: var(--text-secondary, #6B7280);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.favori-btn:hover[b-wvr90nc2jq] {
    background: var(--bg-hover, rgba(0, 0, 0, 0.05));
    color: #F59E0B;
    transform: scale(1.1);
}

.favori-btn.is-favori[b-wvr90nc2jq] {
    color: #F59E0B;
}

.favori-btn.is-favori:hover[b-wvr90nc2jq] {
    color: #D97706;
}

/* Animation */
.favori-btn svg[b-wvr90nc2jq] {
    transition: transform 0.2s ease;
}

.favori-btn:active svg[b-wvr90nc2jq] {
    transform: scale(0.85);
}

.favori-btn.is-favori svg[b-wvr90nc2jq] {
    animation: star-pulse-b-wvr90nc2jq 0.3s ease;
}

@keyframes star-pulse-b-wvr90nc2jq {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}
/* /Components/Shared/FavorisBar.razor.rz.scp.css */
.favoris-section[b-pkrxcoi9hc] {
    padding: 0.75rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: auto;
}

.favoris-header[b-pkrxcoi9hc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 0.5rem;
}

.favoris-list[b-pkrxcoi9hc] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.favori-item[b-pkrxcoi9hc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 0.375rem;
    transition: background-color 0.15s ease;
}

.favori-item:hover[b-pkrxcoi9hc] {
    background: rgba(255, 255, 255, 0.1);
}

.favori-link[b-pkrxcoi9hc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    flex: 1;
    min-width: 0;
    font-size: 0.8rem;
}

.favori-link:hover[b-pkrxcoi9hc] {
    color: white;
}

.favori-icone[b-pkrxcoi9hc] {
    font-size: 1rem;
}

.favori-titre[b-pkrxcoi9hc] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.favori-remove[b-pkrxcoi9hc] {
    padding: 0.25rem;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    border-radius: 0.25rem;
    opacity: 0;
    transition: all 0.15s ease;
}

.favori-item:hover .favori-remove[b-pkrxcoi9hc] {
    opacity: 1;
}

.favori-remove:hover[b-pkrxcoi9hc] {
    background: rgba(255, 0, 0, 0.2);
    color: #f87171;
}
/* /Components/Shared/ListPagination.razor.rz.scp.css */
.pagination[b-9qjun6fsta] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: #F9FAFB;
    border-top: 1px solid #E5E7EB;
}
.pagination-info[b-9qjun6fsta] { margin: 0; font-size: 0.875rem; color: #6B7280; }
.pagination-info span[b-9qjun6fsta] { font-weight: 600; color: #1F2937; }
.pagination-buttons[b-9qjun6fsta] { display: flex; align-items: center; gap: 0.75rem; }
.page-btn[b-9qjun6fsta] {
    padding: 0.5rem 1rem;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    background: white;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s;
}
.page-btn:hover:not(:disabled)[b-9qjun6fsta] { background: #F3F4F6; border-color: #9CA3AF; }
.page-btn:disabled[b-9qjun6fsta] { opacity: 0.5; cursor: not-allowed; }
.page-current[b-9qjun6fsta] { font-size: 0.875rem; font-weight: 500; color: #6B7280; min-width: 4rem; text-align: center; }
/* /Components/Shared/ModalShell.razor.rz.scp.css */
.modal-shell-overlay[b-z1yl2ixncr] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
    padding: 1rem;
}
.modal-shell-content[b-z1yl2ixncr] {
    width: 100%;
    max-width: 640px;
    max-height: 90vh;
    overflow-y: auto;
}
/* /Components/Shared/NotificationCenter.razor.rz.scp.css */
.notification-center[b-23947xf5th] {
    position: relative;
    width: 100%;
    margin: 0 auto 1rem;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-sizing: border-box;
}

.notification-item[b-23947xf5th] {
    width: 100%;
    animation: notification-enter-b-23947xf5th 0.3s ease-out;
}

@keyframes notification-enter-b-23947xf5th {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.notification-item.notification-closing[b-23947xf5th] {
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity 0.35s ease-in, transform 0.35s ease-in;
}
/* /Components/Shared/NotificationContainer.razor.rz.scp.css */
.animate-slide-in[b-vetb91sy9r] {
    animation: slideIn-b-vetb91sy9r 0.3s ease-out;
}
    
.animate-slide-out[b-vetb91sy9r] {
    animation: slideOut-b-vetb91sy9r 0.3s ease-in forwards;
}
    
@keyframes slideIn-b-vetb91sy9r {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
    
@keyframes slideOut-b-vetb91sy9r {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(100%); opacity: 0; }
}
/* /Components/Shared/RecuPaiement.razor.rz.scp.css */
.recu-container[b-ev4gxcnl43] {
    max-width: 480px;
    margin: 0 auto;
    font-family: 'Poppins', Arial, sans-serif;
    background: white;
    border: 1px solid #ddd;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.recu-content[b-ev4gxcnl43] {
    padding: 20px;
}

.recu-header[b-ev4gxcnl43] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.logo-section[b-ev4gxcnl43] {
    width: 80px;
    height: 80px;
}

.logo-ecole[b-ev4gxcnl43] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.logo-placeholder[b-ev4gxcnl43], .logo-default[b-ev4gxcnl43] {
    width: 80px;
    height: 80px;
}

.qr-section[b-ev4gxcnl43] {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
}

.qr-code-img[b-ev4gxcnl43] {
    width: 100px;
    height: 100px;
    object-fit: contain;
    display: block;
}

.qr-fallback[b-ev4gxcnl43] {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #ccc;
    font-size: 0.75rem;
    color: #9ca3af;
    background: #fafafa;
}

.ecole-info[b-ev4gxcnl43] {
    text-align: center;
    margin-bottom: 15px;
}

.ecole-nom[b-ev4gxcnl43] {
    font-size: 18px;
    font-weight: bold;
    color: #071A39;
    margin: 0 0 5px 0;
}

.ecole-adresse[b-ev4gxcnl43] {
    font-size: 11px;
    color: #666;
    margin: 0;
    line-height: 1.3;
}

.numero-recu[b-ev4gxcnl43] {
    text-align: center;
    font-size: 14px;
    color: #071A39;
    margin: 15px 0;
    padding: 8px;
    background: #f5f5f5;
    border-radius: 4px;
}

.separateur[b-ev4gxcnl43] {
    border: none;
    border-top: 1px solid #ccc;
    margin: 15px 0;
}

.info-section[b-ev4gxcnl43] {
    margin-bottom: 15px;
}

.info-row[b-ev4gxcnl43] {
    margin-bottom: 8px;
}

.info-label[b-ev4gxcnl43] {
    display: block;
    font-size: 11px;
    font-weight: bold;
    color: #333;
    text-transform: uppercase;
}

.info-value[b-ev4gxcnl43] {
    display: block;
    font-size: 13px;
    color: #555;
    margin-top: 2px;
}

.montants-section[b-ev4gxcnl43] {
    background: #f9f9f9;
    padding: 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.montant-row[b-ev4gxcnl43] {
    margin-bottom: 10px;
}

.montant-label[b-ev4gxcnl43] {
    display: block;
    font-size: 11px;
    font-weight: bold;
    color: #333;
}

.montant-value[b-ev4gxcnl43] {
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #1E90FF;
}

.montant-value-lettres[b-ev4gxcnl43] {
    display: block;
    font-size: 12px;
    color: #555;
    font-style: italic;
}

.reste-section[b-ev4gxcnl43] {
    margin-bottom: 15px;
}

.reste-row[b-ev4gxcnl43] {
    background: #e8f5e9;
    padding: 10px;
    border-radius: 4px;
}

.reste-label[b-ev4gxcnl43] {
    display: block;
    font-size: 11px;
    font-weight: bold;
    color: #333;
}

.reste-value[b-ev4gxcnl43] {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #2e7d32;
}

.caissier-section[b-ev4gxcnl43] {
    font-size: 12px;
    color: #555;
    margin-bottom: 10px;
}

.recu-tracabilite[b-ev4gxcnl43] {
    margin: 12px 0 14px;
    padding: 10px 12px;
    background: #f0f4f8;
    border: 1px solid #dde4ec;
    border-radius: 6px;
    border-left: 3px solid #071A39;
}

.recu-tracabilite-title[b-ev4gxcnl43] {
    margin: 0 0 8px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #071A39;
}

.recu-tracabilite-row[b-ev4gxcnl43] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 8px;
}

.recu-tracabilite-row:last-child[b-ev4gxcnl43] {
    margin-bottom: 0;
}

.recu-tracabilite-label[b-ev4gxcnl43] {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    color: #64748b;
}

.recu-tracabilite-value[b-ev4gxcnl43] {
    font-size: 11px;
    font-weight: 600;
    color: #1e293b;
    word-break: break-word;
}

.recu-tracabilite-mono[b-ev4gxcnl43] {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 9px;
    line-height: 1.35;
}

.footer-section[b-ev4gxcnl43] {
    text-align: center;
}

.date-lieu[b-ev4gxcnl43] {
    font-size: 12px;
    font-weight: bold;
    color: #333;
    margin: 0 0 5px 0;
}

.signature[b-ev4gxcnl43] {
    font-size: 11px;
    color: #1E90FF;
    margin: 0;
}

.recu-actions[b-ev4gxcnl43] {
    display: flex;
    justify-content: center;
    padding: 20px;
    background: #f5f5f5;
}

.recu-actions .btn-primary[b-ev4gxcnl43] {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    background: #1E90FF;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
}

.recu-actions .btn-primary:hover[b-ev4gxcnl43] {
    background: #1873cc;
}

@media print {
    .no-print[b-ev4gxcnl43] {
        display: none !important;
    }

    .recu-container[b-ev4gxcnl43] {
        border: none;
        box-shadow: none;
        max-width: 100%;
    }

    body *[b-ev4gxcnl43] {
        visibility: hidden;
    }

    .recu-container[b-ev4gxcnl43], .recu-container *[b-ev4gxcnl43] {
        visibility: visible;
    }

    .recu-container[b-ev4gxcnl43] {
        position: absolute;
        left: 0;
        top: 0;
    }
}
/* /Components/Shared/ResetPasswordModal.razor.rz.scp.css */
.reset-password-modal-overlay[b-7jgtch6mgi] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
}
.reset-password-modal-content[b-7jgtch6mgi] {
    background: white;
    border-radius: 12px;
    max-width: 440px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.reset-password-modal-header[b-7jgtch6mgi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}
.reset-password-modal-title[b-7jgtch6mgi] {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}
.reset-password-modal-close[b-7jgtch6mgi] {
    width: 32px;
    height: 32px;
    border: none;
    background: #F3F4F6;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reset-password-modal-close:hover[b-7jgtch6mgi] {
    background: #E5E7EB;
}
.reset-password-modal-close svg[b-7jgtch6mgi] {
    width: 1.25rem;
    height: 1.25rem;
}
.reset-password-modal-body[b-7jgtch6mgi] {
    padding: 1.25rem;
}
.reset-password-user-info[b-7jgtch6mgi] {
    padding: 0.75rem 1rem;
    background: #F5F7FA;
    border-radius: 8px;
    margin-bottom: 1.25rem;
}
.reset-password-user-label[b-7jgtch6mgi] {
    font-size: 0.875rem;
    color: #6B7280;
    margin-right: 0.5rem;
}
.reset-password-modal-body .form-group[b-7jgtch6mgi] {
    margin-bottom: 1rem;
}
.reset-password-modal-body .form-group label[b-7jgtch6mgi] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #1F2937;
    margin-bottom: 0.375rem;
}
.reset-password-modal-body .required[b-7jgtch6mgi] { color: #EF4444; }
.reset-password-modal-body .input-field[b-7jgtch6mgi] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 1rem;
}
.reset-password-modal-body .input-field:focus[b-7jgtch6mgi] {
    outline: none;
    border-color: #1E90FF;
    box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.1);
}
.reset-password-modal-body .validation-error[b-7jgtch6mgi] {
    display: block;
    font-size: 0.8125rem;
    color: #EF4444;
    margin-top: 0.25rem;
}
.rp-strength-bar[b-7jgtch6mgi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
}
.rp-strength-segments[b-7jgtch6mgi] { display: flex; gap: 4px; }
.rp-strength-segments .rp-segment[b-7jgtch6mgi] {
    width: 1.5rem;
    height: 4px;
    border-radius: 2px;
    background: #E5E7EB;
    transition: background 0.2s;
}
.rp-strength-segments .rp-segment.rp-faible[b-7jgtch6mgi] { background: #EF4444; }
.rp-strength-segments .rp-segment.rp-juste[b-7jgtch6mgi] { background: #F59E0B; }
.rp-strength-segments .rp-segment.rp-plus-fort[b-7jgtch6mgi] { background: #1E90FF; }
.rp-strength-segments .rp-segment.rp-tres-fort[b-7jgtch6mgi] { background: #10B981; }
.rp-strength-label[b-7jgtch6mgi] { font-size: 0.8125rem; font-weight: 600; }
.rp-strength-label.rp-faible[b-7jgtch6mgi] { color: #EF4444; }
.rp-strength-label.rp-juste[b-7jgtch6mgi] { color: #F59E0B; }
.rp-strength-label.rp-plus-fort[b-7jgtch6mgi] { color: #1E90FF; }
.rp-strength-label.rp-tres-fort[b-7jgtch6mgi] { color: #10B981; }
.rp-password-help-link[b-7jgtch6mgi] { margin: -0.25rem 0 1rem 0; }
.rp-link-button[b-7jgtch6mgi] {
    background: none; border: none; padding: 0; font-size: 0.875rem;
    color: #1E90FF; text-decoration: underline; cursor: pointer;
}
.rp-link-button:hover[b-7jgtch6mgi] { color: #1873CC; }
.rp-help-overlay[b-7jgtch6mgi] {
    position: fixed; inset: 0; z-index: 60; background: rgba(7, 26, 57, 0.6);
    display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.rp-help-modal[b-7jgtch6mgi] {
    background: #F5F7FA; border-radius: 12px; max-width: 440px; width: 100%;
    max-height: 85vh; display: flex; flex-direction: column; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
}
.rp-help-header[b-7jgtch6mgi] {
    background: #071A39; color: white; padding: 1rem 1.25rem;
    display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; flex-shrink: 0;
}
.rp-help-title[b-7jgtch6mgi] { margin: 0; font-size: 1rem; font-weight: 600; flex: 1; }
.rp-help-close[b-7jgtch6mgi] { background: none; border: none; color: white; padding: 0.25rem; cursor: pointer; display: flex; }
.rp-help-close svg[b-7jgtch6mgi] { width: 1.25rem; height: 1.25rem; }
.rp-help-body[b-7jgtch6mgi] { padding: 1.25rem; overflow-y: auto; flex: 1; min-height: 0; }
.rp-help-intro[b-7jgtch6mgi] { margin: 0 0 1rem 0; font-size: 0.875rem; color: #6B7280; }
.rp-help-section[b-7jgtch6mgi] { margin-bottom: 1rem; }
.rp-help-section-title[b-7jgtch6mgi] { margin: 0 0 0.5rem 0; font-size: 0.9375rem; font-weight: 600; color: #071A39; border-bottom: 2px solid #1E90FF; padding-bottom: 0.25rem; }
.rp-help-section ul[b-7jgtch6mgi] { margin: 0; padding-left: 1.25rem; font-size: 0.8125rem; line-height: 1.6; }
.rp-help-footer[b-7jgtch6mgi] { flex-shrink: 0; padding: 1rem 1.25rem; border-top: 1px solid #E5E7EB; display: flex; justify-content: flex-end; }
.rp-help-btn-close[b-7jgtch6mgi] { padding: 0.5rem 1rem; background: #1E90FF; color: white; border: none; border-radius: 8px; font-weight: 600; cursor: pointer; }
.rp-help-btn-close:hover[b-7jgtch6mgi] { background: #1873CC; }
.reset-password-modal-body .checkbox-group[b-7jgtch6mgi] { margin-bottom: 1rem; }
.reset-password-modal-body .checkbox-label[b-7jgtch6mgi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
    cursor: pointer;
}
.reset-password-modal-footer[b-7jgtch6mgi] {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.25rem;
}
.reset-password-modal-footer .btn-primary[b-7jgtch6mgi] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1E90FF;
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
.reset-password-modal-footer .btn-primary:hover:not(:disabled)[b-7jgtch6mgi] {
    background: #1873CC;
}
.reset-password-modal-footer .btn-primary:disabled[b-7jgtch6mgi] {
    opacity: 0.7;
    cursor: not-allowed;
}
.reset-password-modal-footer .btn-secondary[b-7jgtch6mgi] {
    padding: 0.5rem 1rem;
    background: white;
    color: #1F2937;
    font-weight: 600;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    cursor: pointer;
}
.reset-password-modal-footer .btn-secondary:hover:not(:disabled)[b-7jgtch6mgi] {
    background: #F9FAFB;
}
.reset-password-modal-footer .spinner[b-7jgtch6mgi] {
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: rp-spin-b-7jgtch6mgi 0.7s linear infinite;
}
@keyframes rp-spin-b-7jgtch6mgi {
    to { transform: rotate(360deg); }
}
/* /Components/Shared/SearchableNiveauSelect.razor.rz.scp.css */
/* Charte Zanura : marine #071A39, blanc #F5F7FA, électrique #1E90FF */
.searchable-niveau-select[b-v95nuqhzms] {
    --zanura-marine: #071A39;
    --zanura-blanc: #F5F7FA;
    --zanura-electric: #1E90FF;
    --zanura-electric-soft: rgba(30, 144, 255, 0.14);
    position: relative;
}

.sns-overlay[b-v95nuqhzms] {
    position: fixed;
    inset: 0;
    z-index: 999;
}

.sns-trigger[b-v95nuqhzms] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 0.875rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    background: white;
    cursor: pointer;
    min-height: 38px;
    transition: border-color 0.2s;
}

.sns-trigger:hover:not(.disabled)[b-v95nuqhzms] {
    border-color: var(--zanura-electric);
    box-shadow: 0 0 0 1px var(--zanura-electric-soft);
}

.sns-trigger.disabled[b-v95nuqhzms] {
    opacity: 0.6;
    cursor: not-allowed;
}

.sns-placeholder[b-v95nuqhzms] {
    color: #6B7280;
}

.sns-value[b-v95nuqhzms] {
    color: var(--zanura-marine);
}

.sns-arrow[b-v95nuqhzms] {
    font-size: 0.6rem;
    color: #6B7280;
}

.sns-dropdown[b-v95nuqhzms] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 4px;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    z-index: 1000;
    overflow: hidden;
}

.sns-search[b-v95nuqhzms] {
    padding: 0.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.sns-search input[b-v95nuqhzms] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    font-size: 0.875rem;
}

.sns-search input:focus[b-v95nuqhzms] {
    outline: none;
    border-color: var(--zanura-electric);
    box-shadow: 0 0 0 3px var(--zanura-electric-soft);
}

.sns-list[b-v95nuqhzms] {
    max-height: 260px;
    overflow-y: auto;
    padding: 0.25rem 0;
}

.sns-group-label[b-v95nuqhzms] {
    padding: 0.375rem 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--zanura-marine);
    background: var(--zanura-blanc);
    border-bottom: 1px solid rgba(7, 26, 57, 0.06);
}

.sns-option[b-v95nuqhzms] {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    color: var(--zanura-marine);
}

.sns-option:hover[b-v95nuqhzms] {
    background: var(--zanura-electric-soft);
    color: var(--zanura-marine);
}

.sns-option.selected[b-v95nuqhzms] {
    background: var(--zanura-electric);
    color: #fff;
    font-weight: 600;
}

.sns-option.selected .sns-code[b-v95nuqhzms] {
    color: rgba(255, 255, 255, 0.85);
}

.sns-code[b-v95nuqhzms] {
    margin-left: 0.5rem;
    font-size: 0.75rem;
    color: #6B7280;
}

.sns-empty[b-v95nuqhzms] {
    padding: 1rem;
    text-align: center;
    color: #9CA3AF;
    font-size: 0.875rem;
}
/* /Components/Shared/SearchableSectionSelect.razor.rz.scp.css */
.searchable-section-select[b-bnsekbr1vw] {
    position: relative;
}

.sss-overlay[b-bnsekbr1vw] {
    position: fixed;
    inset: 0;
    z-index: 999;
}

.sss-trigger[b-bnsekbr1vw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 0.875rem;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 0.875rem;
    background: white;
    cursor: pointer;
    min-height: 38px;
    transition: border-color 0.2s;
}

.sss-trigger:hover:not(.disabled)[b-bnsekbr1vw] {
    border-color: var(--accent, #1E90FF);
}

.sss-trigger.disabled[b-bnsekbr1vw] {
    opacity: 0.6;
    cursor: not-allowed;
}

.sss-placeholder[b-bnsekbr1vw] {
    color: #9CA3AF;
}

.sss-value[b-bnsekbr1vw] {
    color: var(--text-dark, #1F2937);
}

.sss-arrow[b-bnsekbr1vw] {
    font-size: 0.6rem;
    color: #6B7280;
}

.sss-dropdown[b-bnsekbr1vw] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 4px;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    z-index: 1000;
    overflow: hidden;
}

.sss-search[b-bnsekbr1vw] {
    padding: 0.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.sss-search input[b-bnsekbr1vw] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    font-size: 0.875rem;
}

.sss-search input:focus[b-bnsekbr1vw] {
    outline: none;
    border-color: var(--accent, #1E90FF);
}

.sss-list[b-bnsekbr1vw] {
    max-height: 240px;
    overflow-y: auto;
    padding: 0.25rem 0;
}

.sss-group-label[b-bnsekbr1vw] {
    padding: 0.375rem 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent, #1E90FF);
    background: #F9FAFB;
}

.sss-option[b-bnsekbr1vw] {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.15s;
}

.sss-option:hover[b-bnsekbr1vw] {
    background: #F3F4F6;
}

.sss-option.selected[b-bnsekbr1vw] {
    background: #DBEAFE;
    color: #1E40AF;
}

.sss-empty[b-bnsekbr1vw] {
    padding: 1rem;
    text-align: center;
    color: #9CA3AF;
    font-size: 0.875rem;
}
/* /Components/Shared/ServiceLayoutWrapper.razor.rz.scp.css */
.service-wrapper[b-kpb72hfzun] {
    --primary: #071A39;
    --accent: #1E90FF;
    --bg-light: #F5F7FA;
    --text-dark: #1F2937;
    --text-muted: #6B7280;
    --sider-width: 280px;
    display: flex;
    min-height: calc(100vh - 108px);
    margin-top: 60px;
    margin-bottom: 48px;
}

/* Sider */
.service-sider[b-kpb72hfzun] {
    position: fixed;
    left: 0;
    top: 60px;
    bottom: 48px;
    width: var(--sider-width);
    background: var(--primary);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    z-index: 100;
}

.sider-header[b-kpb72hfzun] {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.sider-icon[b-kpb72hfzun] {
    width: 48px;
    height: 48px;
    background: var(--accent);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sider-icon :deep(svg)[b-kpb72hfzun] {
    width: 24px;
    height: 24px;
    color: white;
}

.sider-titles h2[b-kpb72hfzun] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: white;
    margin: 0;
}

.sider-titles p[b-kpb72hfzun] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0.25rem 0 0 0;
}

.sider-nav[b-kpb72hfzun] {
    flex: 1;
    padding: 1rem 0;
    overflow-y: auto;
}

/* Styles pour les menus injectés */
.sider-nav :deep(.menu-section)[b-kpb72hfzun] {
    padding: 0 1rem;
    margin-bottom: 1rem;
}

.sider-nav :deep(.menu-label)[b-kpb72hfzun] {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.5rem 0.75rem;
}

.sider-nav :deep(.menu-item)[b-kpb72hfzun] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: all 0.2s;
    margin-bottom: 0.25rem;
}

.sider-nav :deep(.menu-item:hover)[b-kpb72hfzun] {
    background: rgba(255, 255, 255, 0.1);
    color: white;
}

.sider-nav :deep(.menu-item.active)[b-kpb72hfzun] {
    background: var(--accent);
    color: white;
}

.sider-nav :deep(.menu-item svg)[b-kpb72hfzun] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Main Content */
.service-main[b-kpb72hfzun] {
    flex: 1;
    margin-left: var(--sider-width);
    background: var(--bg-light);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.breadcrumb-nav[b-kpb72hfzun] {
    background: white;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #E5E7EB;
}

.breadcrumb[b-kpb72hfzun] {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
}

.breadcrumb a[b-kpb72hfzun] {
    color: var(--text-muted);
    text-decoration: none;
}

.breadcrumb a:hover[b-kpb72hfzun] {
    color: var(--accent);
}

.breadcrumb .separator[b-kpb72hfzun] {
    color: var(--text-muted);
}

.breadcrumb .active[b-kpb72hfzun] {
    color: var(--text-dark);
    font-weight: 500;
}

.main-content[b-kpb72hfzun] {
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto;
}

/* Responsive */
@media (max-width: 1024px) {
    .service-sider[b-kpb72hfzun] {
        width: 240px;
    }

    .service-main[b-kpb72hfzun] {
        margin-left: 240px;
    }
}

@media (max-width: 768px) {
    .service-sider[b-kpb72hfzun] {
        transform: translateX(-100%);
        transition: transform 0.3s;
    }

    .service-main[b-kpb72hfzun] {
        margin-left: 0;
    }
}
/* /Components/Shared/Services/ServiceBreadcrumb.razor.rz.scp.css */
.breadcrumb-nav[b-nnfjjfsr28] {
    background: white;
    padding: 0.75rem 2rem;
    border-bottom: 1px solid #E5E7EB;
}

.breadcrumb[b-nnfjjfsr28] {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    max-width: 1400px;
    margin: 0 auto;
}

.breadcrumb li[b-nnfjjfsr28] {
    display: flex;
    align-items: center;
}

.breadcrumb a[b-nnfjjfsr28] {
    color: var(--text-muted, #6B7280);
    text-decoration: none;
    transition: color 0.2s;
}

.breadcrumb a:hover[b-nnfjjfsr28] {
    color: var(--accent, #1E90FF);
}

.breadcrumb svg[b-nnfjjfsr28] {
    width: 18px;
    height: 18px;
}

.breadcrumb .separator[b-nnfjjfsr28] {
    color: var(--text-muted, #6B7280);
}

.breadcrumb .active[b-nnfjjfsr28] {
    color: var(--text-dark, #1F2937);
    font-weight: 500;
}
/* /Components/Shared/Services/ServiceCard.razor.rz.scp.css */
.service-card[b-qmy8h0qlvd] {
    background: white;
    border-radius: 16px;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

.service-card:hover[b-qmy8h0qlvd] {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.service-card.disabled[b-qmy8h0qlvd] {
    opacity: 0.7;
    cursor: not-allowed;
}

.service-card.disabled:hover[b-qmy8h0qlvd] {
    transform: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.card-icon[b-qmy8h0qlvd] {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.card-icon :deep(svg)[b-qmy8h0qlvd] {
    width: 28px;
    height: 28px;
    color: white;
}

/* Couleurs des icônes par service */
.card-icon.inscription[b-qmy8h0qlvd] { background: linear-gradient(135deg, #10B981, #059669); }
.card-icon.eleves[b-qmy8h0qlvd] { background: linear-gradient(135deg, #3B82F6, #1D4ED8); }
.card-icon.paiement[b-qmy8h0qlvd] { background: linear-gradient(135deg, #8B5CF6, #6D28D9); }
.card-icon.finance[b-qmy8h0qlvd] { background: linear-gradient(135deg, #F59E0B, #D97706); }
.card-icon.note[b-qmy8h0qlvd] { background: linear-gradient(135deg, #6B7280, #4B5563); }
.card-icon.classe[b-qmy8h0qlvd] { background: linear-gradient(135deg, #EC4899, #BE185D); }
.card-icon.utilisateurs[b-qmy8h0qlvd] { background: linear-gradient(135deg, #14B8A6, #0D9488); }
.card-icon.administration[b-qmy8h0qlvd] { background: linear-gradient(135deg, #6B7280, #4B5563); }
.card-icon.parametrage[b-qmy8h0qlvd] { background: linear-gradient(135deg, var(--primary, #071A39), #0D2D5E); }
.card-icon.profil[b-qmy8h0qlvd] { background: linear-gradient(135deg, #1E90FF, #0066CC); }

.card-content[b-qmy8h0qlvd] {
    flex: 1;
}

.card-content h3[b-qmy8h0qlvd] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-dark, #1F2937);
    margin: 0 0 0.25rem 0;
}

.card-content p[b-qmy8h0qlvd] {
    font-size: 0.8rem;
    color: var(--text-muted, #6B7280);
    margin: 0;
}

.card-content p.unavailable[b-qmy8h0qlvd] {
    color: #EF4444;
    font-style: italic;
}

.card-arrow[b-qmy8h0qlvd] {
    width: 32px;
    height: 32px;
    background: var(--bg-light, #F5F7FA);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.service-card:hover .card-arrow[b-qmy8h0qlvd] {
    background: var(--accent, #1E90FF);
}

.card-arrow svg[b-qmy8h0qlvd] {
    width: 18px;
    height: 18px;
    color: var(--text-muted, #6B7280);
    transition: color 0.3s ease;
}

.service-card:hover .card-arrow svg[b-qmy8h0qlvd] {
    color: white;
}

.card-badge[b-qmy8h0qlvd] {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    background: #FEF3C7;
    color: #92400E;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.card-badge.system[b-qmy8h0qlvd] {
    background: #FEE2E2;
    color: #991B1B;
}

.service-card.system-disabled[b-qmy8h0qlvd] {
    opacity: 0.6;
    cursor: not-allowed;
    background: #F9FAFB;
    border: 1px dashed #D1D5DB;
}

.service-card.system-disabled:hover[b-qmy8h0qlvd] {
    transform: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.service-card.system-disabled.clickable-disabled[b-qmy8h0qlvd] {
    cursor: pointer;
}

.card-content p.system-unavailable[b-qmy8h0qlvd] {
    color: #DC2626;
    font-size: 0.75rem;
    font-style: italic;
}
/* /Components/Shared/Services/ServiceFooter.razor.rz.scp.css */
.service-footer[b-8ypuqa9rcj] {
    background: var(--primary, #071A39);
    padding: 1rem 2rem;
    text-align: center;
}

.service-footer p[b-8ypuqa9rcj] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8rem;
    margin: 0;
}
/* /Components/Shared/Services/ServiceHeader.razor.rz.scp.css */
.service-header[b-21lo6hizvw] {
    background: var(--primary, #071A39);
    padding: 1rem 2rem;
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-content[b-21lo6hizvw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
}

.header-left[b-21lo6hizvw] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.logo-mini[b-21lo6hizvw] {
    width: 45px;
    height: 45px;
    background: white;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary, #071A39);
    overflow: hidden;
}

.logo-mini.logo-image[b-21lo6hizvw] {
    padding: 0;
    background: white;
}

.logo-mini img[b-21lo6hizvw] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header-titles h1[b-21lo6hizvw] {
    font-size: 1.25rem;
    font-weight: 600;
    color: white;
    margin: 0;
    letter-spacing: 0.1em;
}

.header-titles p[b-21lo6hizvw] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.header-right[b-21lo6hizvw] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.user-info[b-21lo6hizvw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: white;
}

.user-badge[b-21lo6hizvw] {
    width: 36px;
    height: 36px;
    background: var(--accent, #1E90FF);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-badge svg[b-21lo6hizvw] {
    width: 20px;
    height: 20px;
}

.user-name[b-21lo6hizvw] {
    font-size: 0.875rem;
    font-weight: 500;
}

.logout-btn[b-21lo6hizvw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: white;
    text-decoration: none;
    font-size: 0.875rem;
    transition: background 0.2s;
}

.logout-btn:hover[b-21lo6hizvw] {
    background: rgba(255, 255, 255, 0.2);
}

.logout-btn svg[b-21lo6hizvw] {
    width: 18px;
    height: 18px;
}

@media (max-width: 768px) {
    .service-header[b-21lo6hizvw] {
        padding: 1rem;
    }

    .header-titles h1[b-21lo6hizvw] {
        font-size: 1rem;
    }

    .header-titles p[b-21lo6hizvw] {
        display: none;
    }

    .user-name[b-21lo6hizvw] {
        display: none;
    }

    .logout-btn span[b-21lo6hizvw] {
        display: none;
    }
}
/* /Components/Shared/SessionManager.razor.rz.scp.css */
.session-overlay[b-glnrmumd0c] {
    position: fixed;
    inset: 0;
    background: rgba(7, 26, 57, 0.8);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    animation: overlay-appear-b-glnrmumd0c 0.3s ease-out;
}

@keyframes overlay-appear-b-glnrmumd0c {
    from { opacity: 0; }
    to { opacity: 1; }
}

.session-modal[b-glnrmumd0c] {
    background: white;
    border-radius: 20px;
    padding: 2rem;
    width: 100%;
    max-width: 400px;
    margin: 1rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    animation: modal-slide-b-glnrmumd0c 0.3s ease-out;
}

@keyframes modal-slide-b-glnrmumd0c {
    from { 
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to { 
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.warning-icon-container[b-glnrmumd0c] {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.warning-icon[b-glnrmumd0c] {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: pulse-warning-b-glnrmumd0c 1.5s ease-in-out infinite;
}

.warning-icon svg[b-glnrmumd0c] {
    width: 35px;
    height: 35px;
    color: white;
}

@keyframes pulse-warning-b-glnrmumd0c {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4); }
    50% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(245, 158, 11, 0); }
}

.modal-title[b-glnrmumd0c] {
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #071A39;
    text-align: center;
    margin: 0 0 0.5rem 0;
}

.modal-message[b-glnrmumd0c] {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    color: #4B5563;
    text-align: center;
    margin: 0 0 0.25rem 0;
}

.countdown-value[b-glnrmumd0c] {
    font-weight: 700;
    color: #F59E0B;
    font-size: 1.25rem;
}

.modal-submessage[b-glnrmumd0c] {
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    color: #9CA3AF;
    text-align: center;
    margin: 0 0 1.5rem 0;
}

.progress-bar[b-glnrmumd0c] {
    width: 100%;
    height: 6px;
    background: #E5E7EB;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.progress-fill[b-glnrmumd0c] {
    height: 100%;
    background: linear-gradient(90deg, #F59E0B 0%, #EF4444 100%);
    border-radius: 3px;
    transition: width 1s linear;
}

.modal-actions[b-glnrmumd0c] {
    display: flex;
    gap: 1rem;
}

.btn-logout[b-glnrmumd0c], .btn-extend[b-glnrmumd0c] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1rem;
    border-radius: 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
}

.btn-logout[b-glnrmumd0c] {
    background: #FEF2F2;
    color: #DC2626;
    border: 1px solid #FECACA;
}

.btn-logout:hover[b-glnrmumd0c] {
    background: #FEE2E2;
    border-color: #F87171;
}

.btn-extend[b-glnrmumd0c] {
    background: linear-gradient(135deg, #1E90FF 0%, #1873CC 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(30, 144, 255, 0.3);
}

.btn-extend:hover[b-glnrmumd0c] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 144, 255, 0.4);
}

.btn-logout svg[b-glnrmumd0c], .btn-extend svg[b-glnrmumd0c] {
    width: 1.125rem;
    height: 1.125rem;
}

@media (max-width: 480px) {
    .modal-actions[b-glnrmumd0c] {
        flex-direction: column;
    }
}
