/* /Components/Account/Pages/Login.razor.rz.scp.css */
/* === Auth pages — split-screen layout === */

[b-dbzklp9eom] .auth-page {
    min-height: 100vh;
}

/* === Left hero panel === */

.auth-hero[b-dbzklp9eom] {
    flex: 1 1 50%;
    background: linear-gradient(135deg, #006bb7 0%, #003a66 60%, #1a1a4e 100%);
    color: #ffffff;
    padding: 4rem 3rem;
    display: none;
    position: relative;
    overflow: hidden;
}

.auth-hero[b-dbzklp9eom]::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.08) 0, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.06) 0, transparent 50%);
    pointer-events: none;
}

.auth-hero-inner[b-dbzklp9eom] {
    position: relative;
    z-index: 1;
    max-width: 480px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.auth-brand-mark[b-dbzklp9eom] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 2rem;
}

.auth-brand-glyph[b-dbzklp9eom] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #ffffff;
    color: #006bb7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.auth-brand-name[b-dbzklp9eom] {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.auth-hero-title[b-dbzklp9eom] {
    font-size: 2.5rem;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin: 0 0 1rem;
    color: #ffffff;
}

.auth-hero-sub[b-dbzklp9eom] {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 2rem;
}

.auth-hero-bullets[b-dbzklp9eom] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.auth-hero-bullets li[b-dbzklp9eom] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
}

.bullet-dot[b-dbzklp9eom] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 4px rgba(74, 222, 128, 0.18);
    flex-shrink: 0;
}

/* === Right form panel === */

.auth-form-wrap[b-dbzklp9eom] {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    background-color: var(--bg-color);
}

.auth-card[b-dbzklp9eom] {
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.auth-card-head[b-dbzklp9eom] {
    margin-bottom: 0.5rem;
}

.auth-brand-mark--mobile[b-dbzklp9eom] {
    margin-bottom: 1.5rem;
}

.auth-card-head h1[b-dbzklp9eom] {
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 0.5rem;
    color: var(--text-color);
}

.auth-card-sub[b-dbzklp9eom] {
    font-size: 0.9375rem;
    color: var(--text-secondary);
    margin: 0;
}

/* === Form === */

.auth-form[b-dbzklp9eom] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.auth-field[b-dbzklp9eom] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.auth-field-head[b-dbzklp9eom] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.auth-field label[b-dbzklp9eom] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-color);
    letter-spacing: 0.01em;
}

.auth-link-muted[b-dbzklp9eom] {
    font-size: 0.8125rem;
    color: var(--link-color);
    text-decoration: none;
    font-weight: 500;
}

.auth-link-muted:hover[b-dbzklp9eom] {
    text-decoration: underline;
}

.auth-input-wrap[b-dbzklp9eom] {
    position: relative;
    display: flex;
    align-items: center;
}

.auth-input-icon[b-dbzklp9eom] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-secondary);
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.auth-input-icon svg[b-dbzklp9eom] {
    display: block;
}

[b-dbzklp9eom] .auth-input {
    width: 100%;
    height: 46px;
    padding: 0 14px 0 44px;
    font-size: 0.9375rem;
    line-height: 1.4;
    color: var(--text-color);
    background-color: var(--bg-color);
    border: 1.5px solid var(--border-color);
    border-radius: 10px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    font-family: inherit;
    box-sizing: border-box;
}

[b-dbzklp9eom] .auth-input::placeholder {
    color: var(--text-secondary);
    opacity: 0.6;
}

[b-dbzklp9eom] .auth-input:hover {
    border-color: color-mix(in srgb, var(--link-color) 30%, var(--border-color));
}

[b-dbzklp9eom] .auth-input:focus,
[b-dbzklp9eom] .auth-input:focus-visible {
    outline: none;
    border-color: var(--link-color);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--link-color) 15%, transparent);
}

[b-dbzklp9eom] .auth-input.invalid,
[b-dbzklp9eom] .auth-input[aria-invalid="true"] {
    border-color: #dc2626;
}

.auth-field-error[b-dbzklp9eom] {
    font-size: 0.8125rem;
    color: #dc2626;
    margin-top: 0.25rem;
}

.auth-validation-summary[b-dbzklp9eom] {
    background-color: rgba(220, 38, 38, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.3);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin: 0 0 0.5rem;
    color: #b91c1c;
    font-size: 0.875rem;
}

.auth-validation-summary ul[b-dbzklp9eom] {
    margin: 0;
    padding-left: 1.25rem;
}

/* === Checkbox === */

.auth-checkbox[b-dbzklp9eom] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--text-color);
    cursor: pointer;
    user-select: none;
}

.auth-checkbox input[type="checkbox"][b-dbzklp9eom] {
    width: 16px;
    height: 16px;
    accent-color: var(--link-color);
    cursor: pointer;
    margin: 0;
}

/* === Buttons === */

.auth-submit[b-dbzklp9eom] {
    width: 100%;
    height: 48px;
    margin-top: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, var(--link-color) 0%, color-mix(in srgb, var(--link-color) 80%, #000) 100%);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: transform 0.1s ease, box-shadow 0.15s ease, filter 0.15s ease;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--link-color) 25%, transparent);
}

.auth-submit:hover[b-dbzklp9eom] {
    filter: brightness(1.08);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--link-color) 35%, transparent);
}

.auth-submit:active[b-dbzklp9eom] {
    transform: translateY(1px);
}

.auth-submit-arrow[b-dbzklp9eom] {
    transition: transform 0.15s ease;
}

.auth-submit:hover .auth-submit-arrow[b-dbzklp9eom] {
    transform: translateX(3px);
}

/* === Divider === */

.auth-divider[b-dbzklp9eom] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.25rem 0;
    color: var(--text-secondary);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.auth-divider[b-dbzklp9eom]::before,
.auth-divider[b-dbzklp9eom]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--border-color);
}

/* === Passkey button === */

[b-dbzklp9eom] .auth-passkey {
    width: 100%;
    height: 44px;
    background: transparent;
    border: 1.5px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-color);
    font-size: 0.9375rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    text-decoration: none;
}

[b-dbzklp9eom] .auth-passkey:hover {
    border-color: var(--link-color);
    background-color: color-mix(in srgb, var(--link-color) 6%, transparent);
}

[b-dbzklp9eom] .auth-passkey svg {
    flex-shrink: 0;
}

/* === External login === */

.auth-external[b-dbzklp9eom] {
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.auth-external-label[b-dbzklp9eom] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary);
    margin: 0 0 0.75rem;
    text-align: center;
}

/* === Footer === */

.auth-card-foot[b-dbzklp9eom] {
    text-align: center;
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.auth-card-foot p[b-dbzklp9eom] {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.auth-card-foot a[b-dbzklp9eom] {
    color: var(--link-color);
    font-weight: 500;
    text-decoration: none;
}

.auth-card-foot a:hover[b-dbzklp9eom] {
    text-decoration: underline;
}

.auth-card-foot-small[b-dbzklp9eom] {
    font-size: 0.8125rem !important;
}

/* === Responsive === */

@media (min-width: 960px) {
    .auth-hero[b-dbzklp9eom] {
        display: block;
    }

    .auth-brand-mark--mobile[b-dbzklp9eom] {
        display: none;
    }
}

@media (max-width: 959px) {
    .auth-form-wrap[b-dbzklp9eom] {
        padding: 2rem 1rem;
        min-height: 100vh;
    }

    .auth-card-head h1[b-dbzklp9eom] {
        font-size: 1.625rem;
    }
}

/* === StatusMessage compatibility (legacy Bootstrap alert classes) === */

[b-dbzklp9eom] .alert {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    border: 1px solid transparent;
}

[b-dbzklp9eom] .alert-danger {
    background-color: rgba(220, 38, 38, 0.08);
    border-color: rgba(220, 38, 38, 0.3);
    color: #b91c1c;
}

[b-dbzklp9eom] .alert-success {
    background-color: rgba(22, 163, 74, 0.08);
    border-color: rgba(22, 163, 74, 0.3);
    color: #15803d;
}
/* /Components/Account/Pages/Register.razor.rz.scp.css */
/* === Auth pages — split-screen layout === */

[b-buyk1rtixp] .auth-page {
    min-height: 100vh;
}

/* === Left hero panel === */

.auth-hero[b-buyk1rtixp] {
    flex: 1 1 50%;
    background: linear-gradient(135deg, #006bb7 0%, #003a66 60%, #1a1a4e 100%);
    color: #ffffff;
    padding: 4rem 3rem;
    display: none;
    position: relative;
    overflow: hidden;
}

.auth-hero[b-buyk1rtixp]::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.08) 0, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.06) 0, transparent 50%);
    pointer-events: none;
}

.auth-hero-inner[b-buyk1rtixp] {
    position: relative;
    z-index: 1;
    max-width: 480px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.auth-brand-mark[b-buyk1rtixp] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 2rem;
}

.auth-brand-glyph[b-buyk1rtixp] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #ffffff;
    color: #006bb7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.auth-brand-name[b-buyk1rtixp] {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.auth-hero-title[b-buyk1rtixp] {
    font-size: 2.5rem;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin: 0 0 1rem;
    color: #ffffff;
}

.auth-hero-sub[b-buyk1rtixp] {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 2rem;
}

.auth-hero-bullets[b-buyk1rtixp] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.auth-hero-bullets li[b-buyk1rtixp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
}

.bullet-dot[b-buyk1rtixp] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 4px rgba(74, 222, 128, 0.18);
    flex-shrink: 0;
}

/* === Right form panel === */

.auth-form-wrap[b-buyk1rtixp] {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    background-color: var(--bg-color);
}

.auth-card[b-buyk1rtixp] {
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.auth-card-head[b-buyk1rtixp] {
    margin-bottom: 0.5rem;
}

.auth-brand-mark--mobile[b-buyk1rtixp] {
    margin-bottom: 1.5rem;
}

.auth-card-head h1[b-buyk1rtixp] {
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 0.5rem;
    color: var(--text-color);
}

.auth-card-sub[b-buyk1rtixp] {
    font-size: 0.9375rem;
    color: var(--text-secondary);
    margin: 0;
}

/* === Form === */

.auth-form[b-buyk1rtixp] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.auth-field[b-buyk1rtixp] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.auth-field-head[b-buyk1rtixp] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.auth-field label[b-buyk1rtixp] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-color);
    letter-spacing: 0.01em;
}

.auth-link-muted[b-buyk1rtixp] {
    font-size: 0.8125rem;
    color: var(--link-color);
    text-decoration: none;
    font-weight: 500;
}

.auth-link-muted:hover[b-buyk1rtixp] {
    text-decoration: underline;
}

.auth-input-wrap[b-buyk1rtixp] {
    position: relative;
    display: flex;
    align-items: center;
}

.auth-input-icon[b-buyk1rtixp] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-secondary);
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.auth-input-icon svg[b-buyk1rtixp] {
    display: block;
}

[b-buyk1rtixp] .auth-input {
    width: 100%;
    height: 46px;
    padding: 0 14px 0 44px;
    font-size: 0.9375rem;
    line-height: 1.4;
    color: var(--text-color);
    background-color: var(--bg-color);
    border: 1.5px solid var(--border-color);
    border-radius: 10px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    font-family: inherit;
    box-sizing: border-box;
}

[b-buyk1rtixp] .auth-input::placeholder {
    color: var(--text-secondary);
    opacity: 0.6;
}

[b-buyk1rtixp] .auth-input:hover {
    border-color: color-mix(in srgb, var(--link-color) 30%, var(--border-color));
}

[b-buyk1rtixp] .auth-input:focus,
[b-buyk1rtixp] .auth-input:focus-visible {
    outline: none;
    border-color: var(--link-color);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--link-color) 15%, transparent);
}

[b-buyk1rtixp] .auth-input.invalid,
[b-buyk1rtixp] .auth-input[aria-invalid="true"] {
    border-color: #dc2626;
}

.auth-field-error[b-buyk1rtixp] {
    font-size: 0.8125rem;
    color: #dc2626;
    margin-top: 0.25rem;
}

.auth-validation-summary[b-buyk1rtixp] {
    background-color: rgba(220, 38, 38, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.3);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin: 0 0 0.5rem;
    color: #b91c1c;
    font-size: 0.875rem;
}

.auth-validation-summary ul[b-buyk1rtixp] {
    margin: 0;
    padding-left: 1.25rem;
}

/* === Checkbox === */

.auth-checkbox[b-buyk1rtixp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--text-color);
    cursor: pointer;
    user-select: none;
}

.auth-checkbox input[type="checkbox"][b-buyk1rtixp] {
    width: 16px;
    height: 16px;
    accent-color: var(--link-color);
    cursor: pointer;
    margin: 0;
}

/* === Buttons === */

.auth-submit[b-buyk1rtixp] {
    width: 100%;
    height: 48px;
    margin-top: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, var(--link-color) 0%, color-mix(in srgb, var(--link-color) 80%, #000) 100%);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: transform 0.1s ease, box-shadow 0.15s ease, filter 0.15s ease;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--link-color) 25%, transparent);
}

.auth-submit:hover[b-buyk1rtixp] {
    filter: brightness(1.08);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--link-color) 35%, transparent);
}

.auth-submit:active[b-buyk1rtixp] {
    transform: translateY(1px);
}

.auth-submit-arrow[b-buyk1rtixp] {
    transition: transform 0.15s ease;
}

.auth-submit:hover .auth-submit-arrow[b-buyk1rtixp] {
    transform: translateX(3px);
}

/* === Divider === */

.auth-divider[b-buyk1rtixp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.25rem 0;
    color: var(--text-secondary);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.auth-divider[b-buyk1rtixp]::before,
.auth-divider[b-buyk1rtixp]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--border-color);
}

/* === Passkey button === */

[b-buyk1rtixp] .auth-passkey {
    width: 100%;
    height: 44px;
    background: transparent;
    border: 1.5px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-color);
    font-size: 0.9375rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    text-decoration: none;
}

[b-buyk1rtixp] .auth-passkey:hover {
    border-color: var(--link-color);
    background-color: color-mix(in srgb, var(--link-color) 6%, transparent);
}

[b-buyk1rtixp] .auth-passkey svg {
    flex-shrink: 0;
}

/* === External login === */

.auth-external[b-buyk1rtixp] {
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.auth-external-label[b-buyk1rtixp] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary);
    margin: 0 0 0.75rem;
    text-align: center;
}

/* === Footer === */

.auth-card-foot[b-buyk1rtixp] {
    text-align: center;
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.auth-card-foot p[b-buyk1rtixp] {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.auth-card-foot a[b-buyk1rtixp] {
    color: var(--link-color);
    font-weight: 500;
    text-decoration: none;
}

.auth-card-foot a:hover[b-buyk1rtixp] {
    text-decoration: underline;
}

.auth-card-foot-small[b-buyk1rtixp] {
    font-size: 0.8125rem !important;
}

/* === Responsive === */

@media (min-width: 960px) {
    .auth-hero[b-buyk1rtixp] {
        display: block;
    }

    .auth-brand-mark--mobile[b-buyk1rtixp] {
        display: none;
    }
}

@media (max-width: 959px) {
    .auth-form-wrap[b-buyk1rtixp] {
        padding: 2rem 1rem;
        min-height: 100vh;
    }

    .auth-card-head h1[b-buyk1rtixp] {
        font-size: 1.625rem;
    }
}

/* === StatusMessage compatibility (legacy Bootstrap alert classes) === */

[b-buyk1rtixp] .alert {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    border: 1px solid transparent;
}

[b-buyk1rtixp] .alert-danger {
    background-color: rgba(220, 38, 38, 0.08);
    border-color: rgba(220, 38, 38, 0.3);
    color: #b91c1c;
}

[b-buyk1rtixp] .alert-success {
    background-color: rgba(22, 163, 74, 0.08);
    border-color: rgba(22, 163, 74, 0.3);
    color: #15803d;
}

.auth-hint[b-buyk1rtixp] {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin: 0.25rem 0 0;
    line-height: 1.4;
}

.auth-card-foot-tos[b-buyk1rtixp] {
    color: var(--text-secondary);
    font-style: italic;
}
/* /Components/FacturX/FacturXBadgeEtat.razor.rz.scp.css */
/* FacturXBadgeEtat — styles isolés (MIN-11 / gptreview m1).
   Conserve l'apparence visuelle identique aux styles inline précédents. */

.facturx-badge[b-4d21e5eg6z] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.6rem;
    border-radius: 1rem;
    font-size: 0.85rem;
    font-weight: 500;
}

.facturx-badge-icon[b-4d21e5eg6z] {
    font-size: 1rem;
}

.facturx-badge-success[b-4d21e5eg6z] {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.facturx-badge-warning[b-4d21e5eg6z] {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
}

.facturx-badge-info[b-4d21e5eg6z] {
    background-color: #d1ecf1;
    color: #0c5460;
    border: 1px solid #bee5eb;
}

.facturx-badge-neutral[b-4d21e5eg6z] {
    background-color: #e2e3e5;
    color: #383d41;
    border: 1px solid #d6d8db;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-qwrx1s4w6e] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-qwrx1s4w6e] {
    flex: 1;
}

.sidebar[b-qwrx1s4w6e] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-qwrx1s4w6e] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-qwrx1s4w6e]  a, .top-row[b-qwrx1s4w6e]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-qwrx1s4w6e]  a:hover, .top-row[b-qwrx1s4w6e]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-qwrx1s4w6e]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-qwrx1s4w6e] {
        justify-content: space-between;
    }

    .top-row[b-qwrx1s4w6e]  a, .top-row[b-qwrx1s4w6e]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-qwrx1s4w6e] {
        flex-direction: row;
    }

    .sidebar[b-qwrx1s4w6e] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-qwrx1s4w6e] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-qwrx1s4w6e]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-qwrx1s4w6e], article[b-qwrx1s4w6e] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-qwrx1s4w6e] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-qwrx1s4w6e] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* Smooth fade-in for page content on load/navigation */
[b-qwrx1s4w6e] .content-container {
    animation: contentFadeIn-b-qwrx1s4w6e 0.35s ease-out;
}

@keyframes contentFadeIn-b-qwrx1s4w6e {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.995);
        filter: blur(2px);
    }
    50% {
        filter: blur(0);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* Badge pulse animation when société changes */
[b-qwrx1s4w6e] .societe-badge {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

[b-qwrx1s4w6e] .societe-badge.pulse {
    animation: badgePulse-b-qwrx1s4w6e 0.6s ease-out;
}

@keyframes badgePulse-b-qwrx1s4w6e {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(var(--rz-info-rgb, 33, 150, 243), 0.6);
    }
    40% {
        transform: scale(1.15);
        box-shadow: 0 0 0 8px rgba(var(--rz-info-rgb, 33, 150, 243), 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(var(--rz-info-rgb, 33, 150, 243), 0);
    }
}

/* Ligma brand signature gradient on the top header */
[b-qwrx1s4w6e] .rz-header {
    background: var(--ligma-brand-gradient) !important;
    color: var(--ligma-brand-on-dark) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

[b-qwrx1s4w6e] .rz-header,
[b-qwrx1s4w6e] .rz-header .rz-text,
[b-qwrx1s4w6e] .rz-header span,
[b-qwrx1s4w6e] .rz-header a,
[b-qwrx1s4w6e] .rz-header .rz-link {
    color: var(--ligma-brand-on-dark) !important;
}

[b-qwrx1s4w6e] .rz-header .rz-sidebar-toggle,
[b-qwrx1s4w6e] .rz-header .rz-button.rz-button-icon-only {
    color: var(--ligma-brand-on-dark) !important;
}

[b-qwrx1s4w6e] .rz-header .rz-button:not(.rz-button-primary):hover {
    background-color: rgba(255, 255, 255, 0.12) !important;
}

/* Société badge sits on the dark header — invert its colours */
[b-qwrx1s4w6e] .rz-header .rz-badge,
[b-qwrx1s4w6e] .rz-header .societe-badge {
    background-color: rgba(255, 255, 255, 0.18) !important;
    color: var(--ligma-brand-on-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

/* Bottom accent stripe — keeps the per-société accent without overriding the gradient */
[b-qwrx1s4w6e] .header-container {
    border-bottom: 3px solid var(--societe-accent, transparent);
    transition: border-color 0.4s ease;
}

/* Sidebar top edge accent */
[b-qwrx1s4w6e] .sidebar-container {
    border-top: 2px solid var(--societe-accent, #2196F3);
    transition: border-color 0.4s ease;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ewf3mo3sny] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-ewf3mo3sny] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-ewf3mo3sny] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ewf3mo3sny] {
    font-size: 1.1rem;
}

.bi[b-ewf3mo3sny] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-briefcase-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-briefcase-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z'/%3E%3Cpath d='M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85l-7.214 1.924a2.5 2.5 0 0 1-1.286 0L0 6.85v5.65z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-ewf3mo3sny] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-ewf3mo3sny] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ewf3mo3sny] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ewf3mo3sny] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ewf3mo3sny]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-ewf3mo3sny]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ewf3mo3sny]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-ewf3mo3sny] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-ewf3mo3sny] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ewf3mo3sny] {
        display: none;
    }

    .nav-scrollable[b-ewf3mo3sny] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ProfileMenu.razor.rz.scp.css */
.profile-menu[b-uulch18394] {
    position: relative;
    user-select: none;
}

.profile-trigger[b-uulch18394] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 8px;
    transition: background 0.15s;
}

.profile-trigger:hover[b-uulch18394] {
    background: rgba(255,255,255,0.1);
}

.profile-avatar[b-uulch18394] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rz-primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.85rem;
}

.profile-avatar-large[b-uulch18394] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--rz-primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 1rem;
    flex-shrink: 0;
}

.profile-dropdown[b-uulch18394] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 240px;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--rz-border-color, #e0e0e0);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    z-index: 10000;
    padding: 6px 0;
    animation: profileDropIn-b-uulch18394 0.12s ease-out;
}

@keyframes profileDropIn-b-uulch18394 {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.profile-header[b-uulch18394] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 12px 16px;
}

.profile-name[b-uulch18394] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--rz-text-color, #333);
}

.profile-role[b-uulch18394] {
    margin-top: 2px;
}

.role-badge[b-uulch18394] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.role-badge.admin[b-uulch18394] {
    background: #fff3e0;
    color: #e65100;
}

.role-badge.user[b-uulch18394] {
    background: #e3f2fd;
    color: #1565c0;
}

.profile-divider[b-uulch18394] {
    height: 1px;
    background: var(--rz-border-color, #e0e0e0);
    margin: 4px 0;
}

.profile-section-label[b-uulch18394] {
    padding: 6px 16px 2px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rz-text-secondary-color, #999);
}

.profile-item[b-uulch18394] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 8px 16px;
    cursor: pointer;
    color: var(--rz-text-color, #333);
    font-size: 0.85rem;
    transition: background 0.1s;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
}

.profile-item:hover[b-uulch18394] {
    background: var(--rz-base-200, #f5f5f5);
}

.profile-item .rzi[b-uulch18394] {
    font-size: 1.15rem;
    opacity: 0.7;
}

.profile-logout[b-uulch18394] {
    color: #d32f2f;
}

.profile-logout:hover[b-uulch18394] {
    background: #ffebee;
}

.profile-logout-form[b-uulch18394] {
    margin: 0;
    padding: 0;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-nn6jztseym],
.components-reconnect-repeated-attempt-visible[b-nn6jztseym],
.components-reconnect-failed-visible[b-nn6jztseym],
.components-pause-visible[b-nn6jztseym],
.components-resume-failed-visible[b-nn6jztseym],
.components-rejoining-animation[b-nn6jztseym] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-retrying[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-failed[b-nn6jztseym],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-nn6jztseym] {
    display: block;
}


#components-reconnect-modal[b-nn6jztseym] {
    background-color: white;
    color: #333;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-nn6jztseym 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-nn6jztseym 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-nn6jztseym 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-nn6jztseym]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-nn6jztseym 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-nn6jztseym {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-nn6jztseym {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-nn6jztseym {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-nn6jztseym] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-nn6jztseym] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-nn6jztseym] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-nn6jztseym] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-nn6jztseym] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-nn6jztseym] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-nn6jztseym] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-nn6jztseym 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-nn6jztseym] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-nn6jztseym {
    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;
    }
}

/* Dark mode support */
:global(.dark-mode) #components-reconnect-modal[b-nn6jztseym] {
    background-color: #1e1e2e;
    color: #cdd6f4;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.6);
}

:global(.dark-mode) #components-reconnect-modal[b-nn6jztseym]::backdrop {
    background-color: rgba(0, 0, 0, 0.6);
}

:global(.dark-mode) #components-reconnect-modal button[b-nn6jztseym] {
    background-color: #89b4fa;
    color: #1e1e2e;
}

:global(.dark-mode) #components-reconnect-modal button:hover[b-nn6jztseym] {
    background-color: #74c7ec;
}
/* /Components/Pages/BCClientDetailPage.razor.rz.scp.css */
/* BCClientDetailPage.razor.css  Blazor CSS isolation */

/* === Pivot table === */
.prev-table[b-cp0pxpzdml] { width:max-content; border-collapse:separate; border-spacing:0; }

.prev-sticky-left[b-cp0pxpzdml] {
    position:sticky; left:0; min-width:220px; width:220px; z-index:10;
    border-right:2px solid #999; overflow:hidden; text-overflow:ellipsis;
    white-space:nowrap; box-shadow:4px 0 8px rgba(0,0,0,0.12);
}
.prev-sticky-left-header[b-cp0pxpzdml] {
    position:sticky; left:0; min-width:220px; width:220px; z-index:11;
    border-right:2px solid #999; padding:8px 12px; overflow:hidden;
    text-overflow:ellipsis; white-space:nowrap; box-shadow:4px 0 8px rgba(0,0,0,0.12);
}

.prev-sticky-right-first[b-cp0pxpzdml] {
    position:sticky; right:100px; z-index:2; min-width:100px; width:100px;
    border-left:2px solid #999; box-shadow:-4px 0 8px rgba(0,0,0,0.12);
}
.prev-sticky-right-last[b-cp0pxpzdml] {
    position:sticky; right:0; z-index:2; min-width:100px; width:100px;
}
.prev-sticky-right-header[b-cp0pxpzdml] {
    position:sticky; right:0; z-index:11;
    box-shadow:-4px 0 8px rgba(0,0,0,0.12); border-left:2px solid #999;
}

/* Cell widths */
.prev-cell[b-cp0pxpzdml] { min-width:100px; width:100px; transition: min-width 0.3s ease, width 0.3s ease, padding 0.3s ease; }
.prev-cell-compact[b-cp0pxpzdml] { min-width:70px; width:70px; transition: min-width 0.3s ease, width 0.3s ease, padding 0.3s ease; }

/* Progress bars */
.prev-progress[b-cp0pxpzdml] { height:4px; background:#e0e0e0; border-radius:2px; overflow:hidden; }
.prev-progress-sm[b-cp0pxpzdml] { height:3px; background:#e0e0e0; border-radius:2px; overflow:hidden; margin-top:3px; }
.prev-pct[b-cp0pxpzdml] { font-size:0.65em; color:#888; margin-left:4px; }

/* Year filter chips */
.prev-chip[b-cp0pxpzdml] {
    display:inline-block; padding:3px 10px; border-radius:12px; font-size:0.82em;
    cursor:pointer; border:1px solid #bdbdbd; margin-right:4px; margin-bottom:4px;
    transition: background 0.2s, color 0.2s;
}
.prev-chip:hover[b-cp0pxpzdml] { background:#e3f2fd; }
.prev-chip-active[b-cp0pxpzdml] { background:#1976d2; color:#fff; border-color:#1976d2; }

/* Redistribute +/- buttons */
.prev-redistribute[b-cp0pxpzdml] {
    opacity:0.4; font-size:0.7em; cursor:pointer; border:none; background:none;
    padding:0 2px; transition: opacity 0.2s;
}
.prev-redistribute:hover[b-cp0pxpzdml] { opacity:1; }
.prev-redistribute:disabled[b-cp0pxpzdml] { opacity:0.15; cursor:not-allowed; }

/* Pulse animation for redistributed cells */
@keyframes prev-pulse-anim-b-cp0pxpzdml {
    0%   { background-color: inherit; }
    25%  { background-color: #bbdefb; }
    50%  { background-color: #e3f2fd; }
    100% { background-color: inherit; }
}
.prev-pulse[b-cp0pxpzdml] {
    animation: prev-pulse-anim-b-cp0pxpzdml 0.6s ease-out;
}

/* Lock icon on month headers */
.prev-lock[b-cp0pxpzdml] {
    display: inline-block; cursor: pointer; font-size: 0.7em; margin-left: 4px;
    opacity: 0.3; transition: opacity 0.2s, transform 0.2s;
    vertical-align: middle;
}
.prev-lock:hover[b-cp0pxpzdml] { opacity: 0.9; transform: scale(1.2); }
.prev-lock-active[b-cp0pxpzdml] { opacity: 0.8; }
    max-height:0; opacity:0; margin-top:0; overflow:hidden;
    transition: max-height 0.3s ease[b-cp0pxpzdml], opacity 0.2s ease[b-cp0pxpzdml], margin 0.3s ease;[b-cp0pxpzdml]
}

/* Table body transition wrapper */
.prev-table-wrapper[b-cp0pxpzdml] {
    transition: all 0.3s ease;
}

/* Responsive */
@media (max-width: 768px) {
    .prev-sticky-left[b-cp0pxpzdml], .prev-sticky-left-header[b-cp0pxpzdml],
    .prev-sticky-right-first[b-cp0pxpzdml], .prev-sticky-right-last[b-cp0pxpzdml],
    .prev-sticky-right-header[b-cp0pxpzdml] {
        position: static !important; box-shadow: none !important;
        border-right: 1px solid #ddd !important; border-left: 1px solid #ddd !important;
    }
}

/* Empty cell (qty=0) visual distinction */
.prev-cell-empty[b-cp0pxpzdml] {
    background-color: #f5f5f5 !important;
    opacity: 0.6;
}
.prev-cell-empty:hover[b-cp0pxpzdml] {
    opacity: 1;
    background-color: #e8f5e9 !important;
}

/* Shift/Décaler buttons per ponctuel line */
.prev-shift-btn[b-cp0pxpzdml] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 0.65em;
    opacity: 0.5;
    transition: opacity 0.2s, background 0.2s, border-color 0.2s;
    padding: 0;
    vertical-align: middle;
}
.prev-shift-btn:hover[b-cp0pxpzdml] {
    opacity: 1;
    background: #e3f2fd;
    border-color: #1976d2;
}

/* Slide animations for shift operations */
@keyframes prev-slide-left-b-cp0pxpzdml {
    0% { transform: translateX(0); opacity: 1; }
    50% { transform: translateX(-20px); opacity: 0.3; }
    100% { transform: translateX(0); opacity: 1; }
}

@keyframes prev-slide-right-b-cp0pxpzdml {
    0% { transform: translateX(0); opacity: 1; }
    50% { transform: translateX(20px); opacity: 0.3; }
    100% { transform: translateX(0); opacity: 1; }
}

.prev-shift-slide-left[b-cp0pxpzdml] {
    animation: prev-slide-left-b-cp0pxpzdml 0.4s ease-in-out;
}

.prev-shift-slide-right[b-cp0pxpzdml] {
    animation: prev-slide-right-b-cp0pxpzdml 0.4s ease-in-out;
}

/* Undo/redo badge counter */
.prev-badge[b-cp0pxpzdml] {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #1976d2;
    color: white;
    font-size: 0.65em;
    font-weight: bold;
    min-width: 16px;
    height: 16px;
    line-height: 16px;
    text-align: center;
    border-radius: 8px;
    padding: 0 4px;
    pointer-events: none;
}

/* Subtle pulse on available undo/redo buttons */
@keyframes prev-btn-pulse-b-cp0pxpzdml {
    0%, 100% { box-shadow: none; }
    50% { box-shadow: 0 0 6px rgba(25, 118, 210, 0.4); }
}

.prev-btn-available .rz-button:not([disabled])[b-cp0pxpzdml] {
    animation: prev-btn-pulse-b-cp0pxpzdml 2s ease-in-out infinite;
}

/* Chart fade-in animation */
@keyframes prev-chart-fadein-b-cp0pxpzdml {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.prev-chart-fadein[b-cp0pxpzdml] {
    animation: prev-chart-fadein-b-cp0pxpzdml 0.5s ease-out;
}

/* Facturation summary card fade-in */
@keyframes facturation-summary-fadein-b-cp0pxpzdml {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.facturation-summary-fadein[b-cp0pxpzdml] {
    animation: facturation-summary-fadein-b-cp0pxpzdml 0.6s ease-out;
}

.facturation-summary-fadein :deep(.rz-progressbar)[b-cp0pxpzdml] {
    transition: width 0.8s ease-out;
}

/* /Components/Pages/BilanPage.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════════
   Bilan Simplifié — Scoped Styles (refonte 2026-06)
   ══════════════════════════════════════════════════════════════════ */

/* === Hero === */

.bi-hero[b-okrx7tcoc2] {
    position: relative;
    background: var(--ligma-brand-gradient, linear-gradient(135deg, #006bb7 0%, #003a66 60%, #1a1a4e 100%));
    color: #ffffff;
    border-radius: 16px;
    padding: 1.75rem 2rem 1.5rem;
    margin-bottom: 1.25rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 58, 102, 0.18);
}

.bi-hero-bg[b-okrx7tcoc2] {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 12% 88%, rgba(255, 255, 255, 0.08) 0, transparent 50%),
        radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.06) 0, transparent 50%);
    pointer-events: none;
}

.bi-hero-content[b-okrx7tcoc2] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.bi-hero-eyebrow[b-okrx7tcoc2] {
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.72);
    margin: 0 0 0.4rem;
    font-weight: 600;
}

.bi-hero-title[b-okrx7tcoc2] {
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 0.85rem;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.bi-hero-meta[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.bi-meta-chip[b-okrx7tcoc2] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.7rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
}

.bi-hero-actions[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.bi-btn[b-okrx7tcoc2] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 36px;
    padding: 0 0.85rem;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
    font-family: inherit;
    border: 1px solid transparent;
}

.bi-btn:active[b-okrx7tcoc2] { transform: translateY(1px); }

[b-okrx7tcoc2] .bi-btn .rzi { font-size: 1rem; }

.bi-btn--ghost[b-okrx7tcoc2] {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.bi-btn--ghost:hover[b-okrx7tcoc2] {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.32);
}

.bi-btn--solid[b-okrx7tcoc2] {
    background: #ffffff;
    color: var(--ligma-brand-mid, #003a66);
    border-color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.bi-btn--solid:hover[b-okrx7tcoc2] {
    background: #f1f7ff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

.bi-btn--ghost-light[b-okrx7tcoc2] {
    background: var(--bg-secondary, #f8f9fa);
    color: var(--text-color, #212529);
    border-color: var(--border-color, #dee2e6);
}

.bi-btn--ghost-light:hover[b-okrx7tcoc2] {
    background: var(--bg-color, #ffffff);
    border-color: var(--ligma-brand-primary, #006bb7);
}

/* === KPI cards — sign-aware === */

.bi-kpi-grid[b-okrx7tcoc2] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.875rem;
    margin-bottom: 1rem;
}

.bi-kpi-card[b-okrx7tcoc2] {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    background: var(--bg-color, #ffffff);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 14px;
    padding: 1rem 1.125rem;
    transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

.bi-kpi-card:hover[b-okrx7tcoc2] {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

.bi-kpi-icon[b-okrx7tcoc2] {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

[b-okrx7tcoc2] .bi-kpi-icon .rzi { font-size: 1.5rem; }

.bi-kpi-content[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.bi-kpi-label[b-okrx7tcoc2] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary, #6c757d);
    font-weight: 600;
}

.bi-kpi-value[b-okrx7tcoc2] {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--text-color, #212529);
    font-variant-numeric: tabular-nums;
}

.bi-kpi-sub[b-okrx7tcoc2] {
    font-size: 0.78rem;
    color: var(--text-secondary, #6c757d);
}

.bi-kpi-card.is-positive[b-okrx7tcoc2] {
    border-color: rgba(16, 163, 74, 0.32);
}

.bi-kpi-card.is-positive .bi-kpi-icon[b-okrx7tcoc2] {
    background: rgba(16, 163, 74, 0.12);
    color: #15803d;
}

.bi-kpi-card.is-positive .bi-kpi-value[b-okrx7tcoc2] {
    color: #15803d;
}

.bi-kpi-card.is-negative[b-okrx7tcoc2] {
    border-color: rgba(220, 38, 38, 0.32);
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.025) 0%, transparent 100%);
}

.bi-kpi-card.is-negative .bi-kpi-icon[b-okrx7tcoc2] {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.bi-kpi-card.is-negative .bi-kpi-value[b-okrx7tcoc2] {
    color: #b91c1c;
}

.bi-kpi-card--status .bi-progress-wrap[b-okrx7tcoc2] {
    margin-top: 0.4rem;
    height: 4px;
    background: var(--border-color, #dee2e6);
    border-radius: 2px;
    overflow: hidden;
}

.bi-kpi-card--status .bi-progress-bar[b-okrx7tcoc2] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.4s ease;
}

.bi-kpi-card--status.is-positive .bi-progress-bar[b-okrx7tcoc2] { background: #16a34a; }
.bi-kpi-card--status.is-negative .bi-progress-bar[b-okrx7tcoc2] { background: #dc2626; }

/* === Alert when bilan is not balanced === */

.bi-alert[b-okrx7tcoc2] {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.07) 0%, rgba(220, 38, 38, 0.02) 100%);
    border: 1px solid rgba(220, 38, 38, 0.28);
    border-left: 4px solid #dc2626;
    border-radius: 12px;
    padding: 0.875rem 1.125rem;
    margin-bottom: 1rem;
    color: var(--text-color, #212529);
}

.bi-alert-icon[b-okrx7tcoc2] {
    color: #b91c1c;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.bi-alert-body[b-okrx7tcoc2] {
    flex: 1;
    min-width: 0;
}

.bi-alert-body strong[b-okrx7tcoc2] {
    display: block;
    color: #b91c1c;
    font-size: 0.95rem;
    margin-bottom: 0.2rem;
}

.bi-alert-body p[b-okrx7tcoc2] {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--text-secondary, #6c757d);
}

/* === Tables ACTIF / PASSIF — same column widths === */

.bi-tables-grid[b-okrx7tcoc2] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.bi-table-section[b-okrx7tcoc2] {
    background: var(--bg-color, #ffffff);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 14px;
    overflow: hidden;
}

.bi-table-header[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-size: 0.9rem;
    border-bottom: 2px solid var(--border-color, #dee2e6);
}

.bi-table-header--actif[b-okrx7tcoc2] {
    background: linear-gradient(135deg, rgba(0, 107, 183, 0.08) 0%, rgba(0, 107, 183, 0.02) 100%);
    color: var(--ligma-brand-primary, #006bb7);
    border-bottom-color: var(--ligma-brand-primary, #006bb7);
}

.bi-table-header--passif[b-okrx7tcoc2] {
    background: linear-gradient(135deg, rgba(16, 163, 74, 0.08) 0%, rgba(16, 163, 74, 0.02) 100%);
    color: #15803d;
    border-bottom-color: #16a34a;
}

[b-okrx7tcoc2] .bi-table-header .rzi { font-size: 1.1rem; }

.bi-table[b-okrx7tcoc2] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    table-layout: fixed;
}

.bi-table thead th[b-okrx7tcoc2] {
    text-align: left;
    padding: 0.6rem 1.125rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-secondary, #6c757d);
    background: var(--bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--border-color, #dee2e6);
}

.bi-col-poste[b-okrx7tcoc2] { width: 48%; }
.bi-col-montant[b-okrx7tcoc2] { width: 17.33%; text-align: right; font-variant-numeric: tabular-nums; padding: 0.55rem 1.125rem; }
.bi-col-empty[b-okrx7tcoc2] { color: transparent; }

.bi-table tbody td[b-okrx7tcoc2] {
    padding: 0.55rem 1.125rem;
    border-bottom: 1px solid color-mix(in srgb, var(--border-color, #dee2e6) 55%, transparent);
}

.bi-row-rubrique td[b-okrx7tcoc2] {
    font-weight: 700;
    color: var(--text-color, #212529);
    background: var(--bg-secondary, #f8f9fa);
    border-top: 1px solid var(--border-color, #dee2e6);
}

.bi-row-detail td[b-okrx7tcoc2] {
    color: var(--text-color, #212529);
}

.bi-row-detail:hover td[b-okrx7tcoc2] {
    background: color-mix(in srgb, var(--ligma-brand-primary, #006bb7) 4%, transparent);
}

.bi-indent[b-okrx7tcoc2] { padding-left: 2rem !important; }
.bi-dim[b-okrx7tcoc2] { color: var(--text-secondary, #6c757d); }
.bi-bold[b-okrx7tcoc2] { font-weight: 700; }

.bi-row-total td[b-okrx7tcoc2] {
    padding: 0.85rem 1.125rem;
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--text-color, #212529);
    border-top: 2px solid var(--border-color, #dee2e6);
    border-bottom: none;
    background: var(--bg-secondary, #f8f9fa);
    white-space: nowrap;
}

.bi-row-total--actif td[b-okrx7tcoc2] { color: var(--ligma-brand-primary, #006bb7); }
.bi-row-total--passif td[b-okrx7tcoc2] { color: #15803d; }

/* === Ratios grid — kept structurally compatible === */

.bi-ratios-grid[b-okrx7tcoc2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.875rem;
    margin-bottom: 1rem;
}

.bi-ratio-card[b-okrx7tcoc2] {
    background: var(--bg-color, #ffffff);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 14px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    transition: box-shadow 0.15s ease, transform 0.1s ease;
    position: relative;
    cursor: help;
}

.bi-ratio-info[b-okrx7tcoc2] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--bg-secondary, #f8f9fa);
    color: var(--text-secondary, #6c757d);
    font-size: 0.78rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color, #dee2e6);
    transition: all 0.15s ease;
}

.bi-ratio-card:hover .bi-ratio-info[b-okrx7tcoc2] {
    background: var(--ligma-brand-primary, #006bb7);
    color: #ffffff;
    border-color: var(--ligma-brand-primary, #006bb7);
}

.bi-ratio-card:hover[b-okrx7tcoc2] {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

.bi-ratio-title[b-okrx7tcoc2] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-color, #212529);
    margin-top: 0.2rem;
}

.bi-ratio-sub[b-okrx7tcoc2] {
    font-size: 0.72rem;
    color: var(--text-secondary, #6c757d);
}

/* === Chart container === */

.bi-chart-container[b-okrx7tcoc2] {
    background: var(--bg-color, #ffffff);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 14px;
    padding: 1rem 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

.bi-chart-header[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: var(--text-color, #212529);
    font-size: 0.92rem;
    margin-bottom: 0.75rem;
}

[b-okrx7tcoc2] .bi-chart-header .rzi { color: var(--ligma-brand-primary, #006bb7); }

/* === Responsive === */

@media (max-width: 1024px) {
    .bi-tables-grid[b-okrx7tcoc2] { grid-template-columns: 1fr; }
    .bi-kpi-grid[b-okrx7tcoc2] { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .bi-hero[b-okrx7tcoc2] { padding: 1.25rem; }
    .bi-hero-title[b-okrx7tcoc2] { font-size: 1.375rem; }
    .bi-hero-actions[b-okrx7tcoc2] { width: 100%; }
    .bi-btn[b-okrx7tcoc2] { flex: 1; justify-content: center; }
    .bi-table thead th[b-okrx7tcoc2], .bi-table tbody td[b-okrx7tcoc2], .bi-row-total td[b-okrx7tcoc2] { padding: 0.45rem 0.75rem; font-size: 0.8rem; }
}

/* Toggle inversion signes FEC (setup form) */
.bi-setup-toggle[b-okrx7tcoc2] {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.875rem 1rem;
    background: var(--bg-secondary, #f8f9fa);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    text-align: left;
}

.bi-setup-toggle:hover[b-okrx7tcoc2] {
    border-color: var(--ligma-brand-primary, #006bb7);
}

.bi-setup-toggle input[type="checkbox"][b-okrx7tcoc2] {
    margin-top: 0.2rem;
    width: 16px;
    height: 16px;
    accent-color: var(--ligma-brand-primary, #006bb7);
    flex-shrink: 0;
}

.bi-setup-toggle span[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.bi-setup-toggle strong[b-okrx7tcoc2] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-color, #212529);
}

.bi-setup-toggle small[b-okrx7tcoc2] {
    font-size: 0.78rem;
    color: var(--text-secondary, #6c757d);
    line-height: 1.4;
}

/* Danger CTA inside alert */
.bi-btn--solid-danger[b-okrx7tcoc2] {
    background: #dc2626;
    color: #ffffff;
    border-color: #dc2626;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
}

.bi-btn--solid-danger:hover[b-okrx7tcoc2] {
    background: #b91c1c;
    border-color: #b91c1c;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
}

.bi-alert-actions[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex-shrink: 0;
}

@media (max-width: 720px) {
    .bi-alert[b-okrx7tcoc2] { flex-wrap: wrap; }
    .bi-alert-actions[b-okrx7tcoc2] { width: 100%; flex-direction: row; }
    .bi-alert-actions .bi-btn[b-okrx7tcoc2] { flex: 1; }
}

/* === Réalisé vs Budget === */

.bi-bp-banner[b-okrx7tcoc2] {
    background: var(--bg-color, #ffffff);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 14px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.bi-bp-banner-head[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.bi-bp-banner-title[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

[b-okrx7tcoc2] .bi-bp-banner-title > .rzi {
    width: 36px;
    height: 36px;
    background: var(--ligma-brand-primary, #006bb7);
    color: #ffffff;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.bi-bp-banner-title strong[b-okrx7tcoc2] {
    display: block;
    font-size: 0.95rem;
    color: var(--text-color, #212529);
}

.bi-bp-banner-title small[b-okrx7tcoc2] {
    font-size: 0.78rem;
    color: var(--text-secondary, #6c757d);
}

.bi-bp-grid[b-okrx7tcoc2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.bi-bp-card[b-okrx7tcoc2] {
    background: var(--bg-secondary, #f8f9fa);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 10px;
    padding: 0.875rem 1rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.bi-bp-card.is-favorable[b-okrx7tcoc2] {
    border-color: rgba(22, 163, 74, 0.3);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.05) 0%, transparent 100%);
}

.bi-bp-card.is-unfavorable[b-okrx7tcoc2] {
    border-color: rgba(220, 38, 38, 0.3);
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.05) 0%, transparent 100%);
}

.bi-bp-card-icon[b-okrx7tcoc2] {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--bg-color, #ffffff);
    color: var(--ligma-brand-primary, #006bb7);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-okrx7tcoc2] .bi-bp-card-icon .rzi { font-size: 1.125rem; }

.bi-bp-card-body[b-okrx7tcoc2] { flex: 1; min-width: 0; }

.bi-bp-card-label[b-okrx7tcoc2] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-secondary, #6c757d);
    font-weight: 600;
    display: block;
    margin-bottom: 0.4rem;
}

.bi-bp-card-values[b-okrx7tcoc2] {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.35rem;
}

.bi-bp-card-values > div small[b-okrx7tcoc2] {
    display: block;
    font-size: 0.7rem;
    color: var(--text-secondary, #6c757d);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bi-bp-card-values > div strong[b-okrx7tcoc2] {
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text-color, #212529);
}

.bi-bp-card-budget[b-okrx7tcoc2] { color: var(--ligma-brand-primary, #006bb7) !important; }

.bi-bp-card-delta[b-okrx7tcoc2] {
    font-size: 0.78rem;
    color: var(--text-secondary, #6c757d);
    display: flex;
    gap: 0.4rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.bi-bp-card.is-favorable .bi-bp-card-delta[b-okrx7tcoc2] { color: #15803d; }
.bi-bp-card.is-unfavorable .bi-bp-card-delta[b-okrx7tcoc2] { color: #b91c1c; }

/* === Compare mode === */

.bi-compare-banner[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(135deg, rgba(0, 107, 183, 0.08) 0%, rgba(0, 107, 183, 0.02) 100%);
    border: 1px solid rgba(0, 107, 183, 0.25);
    border-left: 4px solid var(--ligma-brand-primary, #006bb7);
    border-radius: 12px;
    padding: 0.875rem 1.25rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.bi-compare-banner-icon[b-okrx7tcoc2] {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--ligma-brand-primary, #006bb7);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-okrx7tcoc2] .bi-compare-banner-icon .rzi { font-size: 1.25rem; }

.bi-compare-banner-body[b-okrx7tcoc2] {
    flex: 1;
    min-width: 240px;
}

.bi-compare-banner-body strong[b-okrx7tcoc2] {
    display: block;
    color: var(--text-color, #212529);
    font-size: 0.95rem;
}

.bi-compare-banner-body span[b-okrx7tcoc2] {
    font-size: 0.82rem;
    color: var(--text-secondary, #6c757d);
}

.bi-compare-banner-kpi[b-okrx7tcoc2] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.bi-compare-banner-delta[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.bi-compare-banner-label[b-okrx7tcoc2] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-secondary, #6c757d);
    font-weight: 600;
}

.bi-compare-banner-delta span:last-child[b-okrx7tcoc2] {
    font-size: 1.0625rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Delta colors (compare table) */

.bi-table--compare .is-positive[b-okrx7tcoc2] {
    color: #15803d;
    font-variant-numeric: tabular-nums;
}

.bi-table--compare .is-negative[b-okrx7tcoc2] {
    color: #b91c1c;
    font-variant-numeric: tabular-nums;
}

/* Pills nouveau/disparu */

.bi-pill[b-okrx7tcoc2] {
    display: inline-block;
    padding: 0.05rem 0.45rem;
    margin-left: 0.4rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.bi-pill--new[b-okrx7tcoc2] {
    background: rgba(22, 163, 74, 0.15);
    color: #15803d;
}

.bi-pill--gone[b-okrx7tcoc2] {
    background: rgba(220, 38, 38, 0.15);
    color: #b91c1c;
}

/* Compare modal — list of FEC imports */

.bi-compare-list[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.bi-compare-item[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--bg-color, #ffffff);
    border: 1.5px solid var(--border-color, #dee2e6);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: all 0.15s ease;
    width: 100%;
}

.bi-compare-item:hover[b-okrx7tcoc2] {
    border-color: var(--ligma-brand-primary, #006bb7);
    background: color-mix(in srgb, var(--ligma-brand-primary, #006bb7) 4%, transparent);
}

.bi-compare-item-icon[b-okrx7tcoc2] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--bg-secondary, #f8f9fa);
    color: var(--ligma-brand-primary, #006bb7);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bi-compare-item-body[b-okrx7tcoc2] {
    flex: 1;
    min-width: 0;
}

.bi-compare-item-body strong[b-okrx7tcoc2] {
    color: var(--text-color, #212529);
    font-size: 0.9rem;
}

/* === Drill-down: clickable rows + modal === */

.bi-row-clickable[b-okrx7tcoc2] {
    cursor: pointer;
}

.bi-row-clickable:hover td[b-okrx7tcoc2] {
    background: color-mix(in srgb, var(--ligma-brand-primary, #006bb7) 8%, transparent);
}

.bi-row-arrow[b-okrx7tcoc2] {
    display: inline-block;
    margin-left: 0.4rem;
    color: var(--text-secondary, #6c757d);
    opacity: 0;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.bi-row-clickable:hover .bi-row-arrow[b-okrx7tcoc2] {
    opacity: 1;
    transform: translateX(2px);
}

/* Modal overlay shared with Home modal — defined here scoped for Bilan */
.modal-overlay[b-okrx7tcoc2] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation: bi-fade-in-b-okrx7tcoc2 0.15s ease-out;
}

.modal-content[b-okrx7tcoc2] {
    background: var(--bg-color, #ffffff);
    color: var(--text-color, #212529);
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 14px;
    min-width: 480px;
    max-width: 640px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
    animation: bi-slide-up-b-okrx7tcoc2 0.22s ease-out;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}

.modal-content--lg[b-okrx7tcoc2] {
    max-width: 1100px;
    width: 95vw;
}

.modal-header[b-okrx7tcoc2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    background: var(--ligma-brand-gradient, linear-gradient(135deg, #006bb7, #003a66));
    color: #ffffff;
    flex-shrink: 0;
}

.modal-header h4[b-okrx7tcoc2] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

[b-okrx7tcoc2] .modal-header h4 .rzi {
    font-size: 1.25rem;
}

.modal-close[b-okrx7tcoc2] {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.12);
    border: none;
    color: #ffffff;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 1;
    transition: background-color 0.15s ease;
    font-family: inherit;
}

.modal-close:hover[b-okrx7tcoc2] {
    background: rgba(255, 255, 255, 0.22);
}

.modal-body[b-okrx7tcoc2] {
    padding: 1.25rem 1.5rem;
    flex: 1;
}

.modal-body--scroll[b-okrx7tcoc2] {
    overflow-y: auto;
}

.modal-footer[b-okrx7tcoc2] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-top: 1px solid var(--border-color, #dee2e6);
    background: var(--bg-secondary, #f8f9fa);
    flex-shrink: 0;
}

/* Drill-down table */

.bi-drill-info[b-okrx7tcoc2] {
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #6c757d);
}

.bi-drill-info code[b-okrx7tcoc2] {
    background: var(--bg-secondary, #f8f9fa);
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 4px;
    padding: 0.05rem 0.4rem;
    font-size: 0.8rem;
    color: var(--ligma-brand-primary, #006bb7);
    font-family: 'SF Mono', Consolas, monospace;
}

.bi-drill-info em[b-okrx7tcoc2] {
    color: #d97706;
    font-style: normal;
    font-weight: 500;
    margin-left: 0.5rem;
}

.bi-drill-empty[b-okrx7tcoc2] {
    text-align: center;
    padding: 2rem;
    color: var(--text-secondary, #6c757d);
}

.bi-drill-table-wrap[b-okrx7tcoc2] {
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 8px;
    overflow: hidden;
}

.bi-drill-table[b-okrx7tcoc2] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.825rem;
}

.bi-drill-table thead th[b-okrx7tcoc2] {
    text-align: left;
    padding: 0.5rem 0.75rem;
    background: var(--bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--border-color, #dee2e6);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-secondary, #6c757d);
}

.bi-drill-table tbody td[b-okrx7tcoc2] {
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--border-color, #dee2e6) 55%, transparent);
    color: var(--text-color, #212529);
}

.bi-drill-table tbody tr:hover td[b-okrx7tcoc2] {
    background: color-mix(in srgb, var(--ligma-brand-primary, #006bb7) 4%, transparent);
}

.bi-drill-table .bi-col-num[b-okrx7tcoc2] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.bi-drill-journal[b-okrx7tcoc2] {
    display: inline-block;
    padding: 0.05rem 0.4rem;
    background: var(--bg-secondary, #f8f9fa);
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ligma-brand-primary, #006bb7);
}

.bi-drill-table code[b-okrx7tcoc2] {
    font-family: 'SF Mono', Consolas, monospace;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ligma-brand-primary, #006bb7);
}

.bi-drill-dim[b-okrx7tcoc2] {
    color: var(--text-secondary, #6c757d);
    font-size: 0.78rem;
    margin-left: 0.4rem;
}

.bi-drill-credit[b-okrx7tcoc2] {
    color: #15803d;
}

.bi-drill-table tfoot tr td[b-okrx7tcoc2] {
    padding: 0.6rem 0.75rem;
    background: var(--bg-secondary, #f8f9fa);
    border-top: 2px solid var(--border-color, #dee2e6);
    border-bottom: none;
}

@keyframes bi-fade-in-b-okrx7tcoc2 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes bi-slide-up-b-okrx7tcoc2 {
    from { opacity: 0; transform: translateY(20px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ══════════════════════════════════════════════════════════════════
   END refonte 2026-06 — legacy rules below for backwards compat
   ══════════════════════════════════════════════════════════════════ */

/* ── EMPTY / LOADING / SETUP STATES ── */

.bi-empty-state[b-okrx7tcoc2],
.bi-loading[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 4rem 2rem;
    text-align: center;
    color: #64748b;
}

.bi-empty-state h3[b-okrx7tcoc2],
.bi-loading p[b-okrx7tcoc2] {
    margin: 0;
    font-weight: 500;
}

.bi-setup[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 2rem;
    text-align: center;
}

.bi-setup-icon[b-okrx7tcoc2] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #dbeafe, #d1fae5);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

[b-okrx7tcoc2] .bi-setup-icon .rzi {
    font-size: 2.5rem;
    color: #2563eb;
}

.bi-setup h2[b-okrx7tcoc2] {
    margin: 0 0 0.25rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: #1e293b;
}

.bi-setup p[b-okrx7tcoc2] {
    margin: 0 0 2rem;
    color: #64748b;
    font-size: 1rem;
}

.bi-setup-form[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    max-width: 550px;
}

.bi-setup-fields[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

/* ── HEADER ── */

.bi-header[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
    border-radius: 12px;
    margin-bottom: 0.5rem;
}

.bi-header-left[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.bi-header-left h1[b-okrx7tcoc2] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: #f8fafc;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-okrx7tcoc2] .bi-header-left h1 .rzi {
    font-size: 1.5rem;
    color: #60a5fa;
}

.bi-badge-societe[b-okrx7tcoc2] {
    padding: 0.25rem 0.75rem;
    background: rgba(96, 165, 250, 0.15);
    color: #93c5fd;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 500;
    border: 1px solid rgba(96, 165, 250, 0.3);
}

.bi-badge-date[b-okrx7tcoc2] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.75rem;
    background: rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.bi-header-actions[b-okrx7tcoc2] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── CUSTOM BUTTONS ── */

.bi-btn[b-okrx7tcoc2] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}

[b-okrx7tcoc2] .bi-btn .rzi {
    font-size: 1rem;
}

.bi-btn-outline[b-okrx7tcoc2] {
    background: rgba(255,255,255,0.1);
    color: #cbd5e1;
    border: 1px solid rgba(255,255,255,0.2);
}

.bi-btn-outline:hover[b-okrx7tcoc2] {
    background: rgba(255,255,255,0.2);
    color: #f8fafc;
}

.bi-btn-info[b-okrx7tcoc2] {
    background: rgba(96, 165, 250, 0.15);
    color: #60a5fa;
    border: 1px solid rgba(96, 165, 250, 0.3);
}

.bi-btn-info:hover[b-okrx7tcoc2] {
    background: rgba(96, 165, 250, 0.3);
}

.bi-btn-warning[b-okrx7tcoc2] {
    background: rgba(251, 146, 60, 0.15);
    color: #fb923c;
    border: 1px solid rgba(251, 146, 60, 0.3);
}

.bi-btn-warning:hover[b-okrx7tcoc2] {
    background: rgba(251, 146, 60, 0.3);
}

.bi-btn-danger[b-okrx7tcoc2] {
    background: rgba(248, 113, 113, 0.15);
    color: #f87171;
    border: 1px solid rgba(248, 113, 113, 0.3);
}

.bi-btn-danger:hover[b-okrx7tcoc2] {
    background: rgba(248, 113, 113, 0.3);
}

.bi-btn-success[b-okrx7tcoc2] {
    background: rgba(52, 211, 153, 0.15);
    color: #34d399;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

.bi-btn-success:hover[b-okrx7tcoc2] {
    background: rgba(52, 211, 153, 0.3);
}

/* ── KPI CARDS ── */

.bi-kpi-grid[b-okrx7tcoc2] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 0.5rem;
}

@media (max-width: 900px) {
    .bi-kpi-grid[b-okrx7tcoc2] {
        grid-template-columns: 1fr;
    }
}

.bi-kpi-card[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.25s ease;
}

.bi-kpi-card:hover[b-okrx7tcoc2] {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.bi-kpi-icon[b-okrx7tcoc2] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-okrx7tcoc2] .bi-kpi-icon .rzi {
    font-size: 1.4rem;
}

.bi-kpi-content[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.bi-kpi-label[b-okrx7tcoc2] {
    font-size: 0.78rem;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.bi-kpi-value[b-okrx7tcoc2] {
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}

.bi-kpi-sub[b-okrx7tcoc2] {
    font-size: 0.72rem;
    color: #94a3b8;
    margin-top: 0.1rem;
}

.bi-progress-wrap[b-okrx7tcoc2] {
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    margin-top: 0.4rem;
    overflow: hidden;
}

.bi-progress-bar[b-okrx7tcoc2] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s ease;
}

/* ── RATIOS ── */

.bi-ratios-grid[b-okrx7tcoc2] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 0.5rem;
}

@media (max-width: 900px) {
    .bi-ratios-grid[b-okrx7tcoc2] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.bi-ratio-card[b-okrx7tcoc2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.5rem 1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.25s ease;
}

.bi-ratio-card:hover[b-okrx7tcoc2] {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.bi-ratio-ring[b-okrx7tcoc2] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: conic-gradient(
        var(--ratio-color) calc(var(--ratio-pct) * 1%),
        #e2e8f0 calc(var(--ratio-pct) * 1%)
    );
    position: relative;
}

.bi-ratio-ring[b-okrx7tcoc2]::before {
    content: '';
    position: absolute;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #ffffff;
}

.bi-ratio-ring span[b-okrx7tcoc2] {
    position: relative;
    z-index: 1;
    font-size: 0.82rem;
    font-weight: 800;
    color: #334155;
}

.bi-ratio-title[b-okrx7tcoc2] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #334155;
    text-align: center;
}

.bi-ratio-sub[b-okrx7tcoc2] {
    font-size: 0.72rem;
    color: #94a3b8;
    text-align: center;
}

/* ── TABLES ── */

.bi-tables-grid[b-okrx7tcoc2] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 0.5rem;
}

@media (max-width: 1024px) {
    .bi-tables-grid[b-okrx7tcoc2] {
        grid-template-columns: 1fr;
    }
}

.bi-table-section[b-okrx7tcoc2] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

.bi-table-header[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
}

[b-okrx7tcoc2] .bi-table-header .rzi {
    font-size: 1.2rem;
}

.bi-table-header--actif[b-okrx7tcoc2] {
    background: linear-gradient(90deg, #eff6ff, #f8fafc);
    color: #1e40af;
    border-bottom: 2px solid #bfdbfe;
}

.bi-table-header--passif[b-okrx7tcoc2] {
    background: linear-gradient(90deg, #f0fdf4, #f8fafc);
    color: #166534;
    border-bottom: 2px solid #bbf7d0;
}

.bi-table[b-okrx7tcoc2] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.bi-table thead tr[b-okrx7tcoc2] {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.bi-table thead th[b-okrx7tcoc2] {
    padding: 0.5rem 0.75rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
}

.bi-col-poste[b-okrx7tcoc2] {
    text-align: left;
}

.bi-col-montant[b-okrx7tcoc2] {
    text-align: right;
    width: 110px;
    padding-right: 0.75rem !important;
}

.bi-table tbody tr[b-okrx7tcoc2] {
    border-bottom: 1px solid #f1f5f9;
}

.bi-table tbody td[b-okrx7tcoc2] {
    padding: 0.45rem 0.75rem;
}

.bi-row-rubrique[b-okrx7tcoc2] {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0 !important;
}

.bi-row-rubrique td[b-okrx7tcoc2] {
    padding: 0.6rem 0.75rem;
    font-size: 0.82rem;
}

.bi-row-detail:hover[b-okrx7tcoc2] {
    background: #fafafa;
}

.bi-indent[b-okrx7tcoc2] {
    padding-left: 1.5rem !important;
}

.bi-dim[b-okrx7tcoc2] {
    color: #94a3b8;
}

.bi-bold[b-okrx7tcoc2] {
    font-weight: 700;
}

.bi-row-total[b-okrx7tcoc2] {
    font-weight: 700;
    font-size: 0.9rem;
}

.bi-row-total td[b-okrx7tcoc2] {
    padding: 0.75rem;
}

.bi-row-total--actif[b-okrx7tcoc2] {
    background: linear-gradient(90deg, #eff6ff, #f8fafc);
    border-top: 2px solid #bfdbfe;
    color: #1e40af;
}

.bi-row-total--passif[b-okrx7tcoc2] {
    background: linear-gradient(90deg, #f0fdf4, #f8fafc);
    border-top: 2px solid #bbf7d0;
    color: #166534;
}

/* ── CHART ── */

.bi-chart-container[b-okrx7tcoc2] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

.bi-chart-header[b-okrx7tcoc2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    font-weight: 700;
    font-size: 0.9rem;
    color: #334155;
    border-bottom: 1px solid #e2e8f0;
}

[b-okrx7tcoc2] .bi-chart-header .rzi {
    font-size: 1.2rem;
    color: #64748b;
}
/* /Components/Pages/BpCharges.razor.rz.scp.css */
/* === BpCharges - Page-specific overrides === */
/* Base table, sticky, category, total, dark mode styles are in wwwroot/bp-common.css */
/* /Components/Pages/BpChiffreAffaires.razor.rz.scp.css */
/* === BpChiffreAffaires - Page-specific overrides === */
/* Base table, sticky, category, total, sortable, dark mode styles are in wwwroot/bp-common.css */

/* CA uses wider sticky column */
[b-stko9u3yea] .bp-sticky { --bp-sticky-width: 220px; min-width: 220px; width: 220px; }

/* ===== SPARKLINES ===== */
[b-stko9u3yea] .bp-sparkline {
    display: inline-block;
    vertical-align: middle;
    margin-left: 4px;
    opacity: 0.7;
}

[b-stko9u3yea] .bp-sparkline-kpi {
    display: inline-block;
    vertical-align: middle;
    opacity: 0.85;
}


/* ===== COMPARISON SECTION ===== */
[b-stko9u3yea] .bp-comparison-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

[b-stko9u3yea] .bp-kpi-card {
    padding: 1.25rem 1rem;
    border-radius: 10px;
    background: var(--bp-row-even, #ffffff);
    border: 1px solid var(--bp-border, #e5e7eb);
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}

[b-stko9u3yea] .bp-kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

[b-stko9u3yea] .bp-kpi-value {
    font-size: 1.45em;
    font-weight: 700;
    color: var(--bp-positive, #059669);
    margin: 0.25rem 0;
}

[b-stko9u3yea] .bp-kpi-label {
    font-size: 0.8em;
    color: var(--bp-text-muted, #6b7280);
    margin-top: 0.15rem;
}

/* ===== PROGRESS BARS ===== */
[b-stko9u3yea] .bp-bar {
    height: 8px;
    border-radius: 4px;
    background: var(--bp-bar-bg, #f3f4f6);
    overflow: hidden;
    margin-top: 0.25rem;
}

[b-stko9u3yea] .bp-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s ease-out;
}

/* ===== EVO BADGES ===== */
[b-stko9u3yea] .bp-evo-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75em;
    font-weight: 600;
    letter-spacing: 0.02em;
}

[b-stko9u3yea] .bp-evo-up   { background: #ecfdf5; color: #065f46; }
[b-stko9u3yea] .bp-evo-down { background: #fef2f2; color: #991b1b; }

[b-stko9u3yea] .bp-evo-micro-icon {
    font-size: 0.85em !important;
    line-height: 1;
}

/* ===== BREAKEVEN BADGE ===== */
[b-stko9u3yea] .bp-breakeven-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
    font-size: 0.7em;
    font-weight: 600;
    margin-top: 0.25rem;
}

[b-stko9u3yea] .bp-breakeven-ok {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

[b-stko9u3yea] .bp-breakeven-warn {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

/* ===== LOADING INDICATOR ===== */
[b-stko9u3yea] .bp-loading-seuil {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
    font-size: 0.65em;
    color: #6b7280;
    background: #f3f4f6;
    animation: bp-pulse-b-stko9u3yea 1.5s ease-in-out infinite;
}

@keyframes bp-pulse-b-stko9u3yea {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}

/* ===== TOP PRODUCTS LIST ===== */
[b-stko9u3yea] .bp-top-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

[b-stko9u3yea] .bp-top-list li {
    padding: 0.4rem 0;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

[b-stko9u3yea] .bp-top-list li:last-child { border-bottom: none; }

/* ===== CATEGORY BAR ===== */
[b-stko9u3yea] .bp-cat-bar {
    display: flex;
    height: 28px;
    border-radius: 6px;
    overflow: hidden;
    margin: 0.5rem 0;
    background: #f3f4f6;
}

[b-stko9u3yea] .bp-cat-bar > div {
    transition: width 0.5s ease-out;
    min-width: 2px;
}

/* ===== COLLAPSIBLE SECTIONS ===== */
[b-stko9u3yea] .bp-section-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0.5rem 0;
    user-select: none;
    transition: color 0.15s;
    color: #374151;
}

[b-stko9u3yea] .bp-section-header:hover { color: #4f46e5; }

[b-stko9u3yea] .bp-section-chevron {
    transition: transform 0.25s;
    font-size: 1.2em;
}

[b-stko9u3yea] .bp-section-chevron.expanded {
    transform: rotate(90deg);
}

/* ===== SCENARIO MODE ===== */
[b-stko9u3yea] .bp-scenario-card {
    background: #fefce8;
    border: 1px dashed #fbbf24;
    border-radius: 8px;
}

[b-stko9u3yea] .bp-scenario-slider {
    width: 100%;
    height: 6px;
    accent-color: #4f46e5;
    cursor: pointer;
}

[b-stko9u3yea] .bp-scenario-preview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1rem;
    padding: 0.75rem;
    background: rgba(255,255,255,0.85);
    border-radius: 8px;
    border: 1px solid #fde68a;
}

[b-stko9u3yea] .bp-scenario-year {
    text-align: center;
    padding: 0.5rem;
}

/* ===== COMPACT MODE ===== */
[b-stko9u3yea] .bp-compact .bp-table {
    font-size: 0.78em;
}

[b-stko9u3yea] .bp-compact .bp-table thead th {
    padding: 0.3rem 0.4rem;
    font-size: 0.85em;
}

[b-stko9u3yea] .bp-compact .bp-table tbody td {
    padding: 0.2rem 0.4rem;
}

[b-stko9u3yea] .bp-compact .bp-table tfoot td {
    padding: 0.3rem 0.4rem;
}

[b-stko9u3yea] .bp-compact .bp-kpi-card {
    padding: 0.75rem 0.5rem;
}

[b-stko9u3yea] .bp-compact .bp-kpi-value {
    font-size: 1.15em;
}

/* ===== TAB TRANSITIONS ===== */
[b-stko9u3yea] .bp-tab-content {
    animation: bp-fadeIn-b-stko9u3yea 0.25s ease-in;
}

@keyframes bp-fadeIn-b-stko9u3yea {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== TOTAL ROW (matching Synthese bp-row-result) ===== */
[b-stko9u3yea] .bp-total-row {
    background: var(--bp-total-head-bg, #ecfdf5) !important;
    border-top: 2px solid var(--bp-positive, #10b981);
}

[b-stko9u3yea] .bp-total-row td {
    font-weight: 700;
    font-size: 1.05em;
    color: var(--bp-total-text, #065f46);
}

[b-stko9u3yea] .bp-total-cell-highlight {
    background: var(--bp-positive, #059669) !important;
    color: #ffffff !important;
    font-weight: 700;
    border-radius: 4px;
}

/* ===== TVA ROW (matching Synthese bp-row-secondary) ===== */
[b-stko9u3yea] .bp-tva-row {
    background: var(--bp-row-odd, #f9fafb) !important;
}

[b-stko9u3yea] .bp-tva-row td {
    font-weight: 500;
    font-style: italic;
    color: var(--bp-text-muted, #6b7280);
}


/* ===== TREND TABLE ===== */
[b-stko9u3yea] .bp-trend-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88em;
}

[b-stko9u3yea] .bp-trend-table th {
    background: var(--bp-header-bg, #f7f8fa);
    cursor: pointer;
    padding: 0.6rem 0.75rem;
    text-align: right;
    font-weight: 600;
    color: var(--bp-text-secondary, #374151);
    border-bottom: 2px solid var(--bp-border, #e5e7eb);
    user-select: none;
    transition: background 0.15s;
}

[b-stko9u3yea] .bp-trend-table th:first-child { text-align: left; }
[b-stko9u3yea] .bp-trend-table th:hover { background: var(--bp-row-hover, #eef0f4); }

[b-stko9u3yea] .bp-trend-table td {
    padding: 0.5rem 0.75rem;
    text-align: right;
    border-bottom: 1px solid var(--bp-border-light, #f3f4f6);
    color: var(--bp-text, #1f2937);
}

[b-stko9u3yea] .bp-trend-table td:first-child { text-align: left; font-weight: 500; }
[b-stko9u3yea] .bp-trend-table tbody tr:hover { background: var(--bp-row-hover, #f9fafb); }

/* ===== DARK MODE (via .bp-dark-mode class toggle) ===== */

/* ===== DARK MODE (via .bp-dark-mode class toggle) ===== */
/* Note: Most dark mode styles are handled via CSS custom properties in bp-common.css.
   Only overrides for elements not covered by variables are listed here. */

[b-stko9u3yea] .bp-dark-mode .bp-sticky { border-right-color: var(--bp-border); box-shadow: 2px 0 6px rgba(0,0,0,0.2); }
[b-stko9u3yea] .bp-dark-mode .bp-sticky-right { border-left-color: var(--bp-border); box-shadow: -2px 0 6px rgba(0,0,0,0.2); }

[b-stko9u3yea] .bp-dark-mode .bp-evo-up   { background: #064e3b; color: #34d399; }
[b-stko9u3yea] .bp-dark-mode .bp-evo-down { background: #450a0a; color: #fca5a5; }

[b-stko9u3yea] .bp-dark-mode .bp-breakeven-ok   { background: #064e3b; color: #34d399; border-color: #065f46; }
[b-stko9u3yea] .bp-dark-mode .bp-breakeven-warn { background: #451a03; color: #fcd34d; border-color: #78350f; }

[b-stko9u3yea] .bp-dark-mode .bp-section-header { color: #e5e7eb; }
[b-stko9u3yea] .bp-dark-mode .bp-section-header:hover { color: #818cf8; }

[b-stko9u3yea] .bp-dark-mode .bp-scenario-card { background: #1c1917; border-color: #78350f; }
[b-stko9u3yea] .bp-dark-mode .bp-scenario-badge { background: #422006; color: #fcd34d; border-color: #78350f; }
[b-stko9u3yea] .bp-dark-mode .bp-scenario-preview { background: rgba(17,24,39,0.85); border-color: #78350f; }

[b-stko9u3yea] .bp-dark-mode .bp-table-container { border-color: var(--bp-border); }
[b-stko9u3yea] .bp-dark-mode .bp-loading-seuil { background: #374151; color: #9ca3af; }

[b-stko9u3yea] .bp-dark-mode .bp-top-list li { border-bottom-color: #2d3748; }
[b-stko9u3yea] .bp-dark-mode .bp-cat-bar { background: #374151; }

[b-stko9u3yea] .bp-dark-mode .bp-modal-overlay { background: rgba(0,0,0,0.7); }
[b-stko9u3yea] .bp-dark-mode .bp-modal-content { background: #1f2937; color: #e5e7eb; border: 1px solid #374151; }

[b-stko9u3yea] .bp-dark-mode .bp-saved-scenarios { background: #1f2937; border-color: #374151; }
[b-stko9u3yea] .bp-dark-mode .bp-saved-scenario-item:hover { background: #374151; }
[b-stko9u3yea] .bp-dark-mode .bp-saved-scenario-name { color: #93c5fd; }
[b-stko9u3yea] .bp-dark-mode .bp-saved-scenario-detail { color: #9ca3af; }

/* ===== S1 - MODAL STYLES (extracted from inline) ===== */

/* ===== S1 - MODAL STYLES (extracted from inline) ===== */
[b-stko9u3yea] .bp-modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-stko9u3yea] .bp-modal-content {
    background: var(--bp-row-even, white);
    border-radius: 12px;
    padding: 2rem;
    min-width: 650px;
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    color: var(--bp-text, #1f2937);
}

/* ===== S5 - BREAKEVEN ICON (extracted from inline) ===== */
[b-stko9u3yea] .bp-breakeven-icon {
    font-size: 0.85em;
    vertical-align: middle;
}

/* ===== S8 - ANIMATED CATEGORY BARS ===== */
[b-stko9u3yea] .bp-cat-bar > div {
    animation: bp-barGrow-b-stko9u3yea 0.8s ease-out forwards;
    transform-origin: left;
}

@keyframes bp-barGrow-b-stko9u3yea {
    from { transform: scaleX(0); opacity: 0; }
    to   { transform: scaleX(1); opacity: 1; }
}

[b-stko9u3yea] .bp-bar-fill {
    animation: bp-fillGrow-b-stko9u3yea 0.6s ease-out forwards;
}

@keyframes bp-fillGrow-b-stko9u3yea {
    from { width: 0 !important; }
}

/* ===== S9 - ANIMATED TREND ICONS ===== */
[b-stko9u3yea] .bp-evo-micro-icon {
    animation: bp-trendPulse-b-stko9u3yea 2s ease-in-out infinite;
}

[b-stko9u3yea] .bp-evo-up .bp-evo-micro-icon {
    animation: bp-trendBounceUp-b-stko9u3yea 1.5s ease-in-out infinite;
}

[b-stko9u3yea] .bp-evo-down .bp-evo-micro-icon {
    animation: bp-trendBounceDown-b-stko9u3yea 1.5s ease-in-out infinite;
}

@keyframes bp-trendPulse-b-stko9u3yea {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

@keyframes bp-trendBounceUp-b-stko9u3yea {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

@keyframes bp-trendBounceDown-b-stko9u3yea {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(2px); }
}

/* ===== SCENARIO BADGE ===== */
[b-stko9u3yea] .bp-scenario-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fbbf24;
    border-radius: 12px;
    font-size: 0.75em;
    font-weight: 600;
    white-space: nowrap;
    animation: bp-badgePulse-b-stko9u3yea 2s ease-in-out infinite;
}

@keyframes bp-badgePulse-b-stko9u3yea {
    0%, 100% { opacity: 0.85; }
    50% { opacity: 1; }
}

/* ===== SAVED SCENARIOS ===== */
[b-stko9u3yea] .bp-saved-scenarios {
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: var(--bp-row-odd, #f8f9fa);
    border-radius: 6px;
    border: 1px solid var(--bp-border, #e0e0e0);
}

[b-stko9u3yea] .bp-saved-scenario-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.5rem;
    border-radius: 4px;
    transition: background 0.15s;
}

[b-stko9u3yea] .bp-saved-scenario-item:hover {
    background: var(--bp-row-hover, #e8ecf0);
}

[b-stko9u3yea] .bp-saved-scenario-name {
    font-weight: 600;
    color: var(--bp-blue-accent, #1e40af);
    cursor: pointer;
    flex: 0 0 auto;
}

[b-stko9u3yea] .bp-saved-scenario-name:hover {
    text-decoration: underline;
}

[b-stko9u3yea] .bp-saved-scenario-detail {
    font-size: 0.8em;
    color: var(--bp-text-muted, #6b7280);
    flex: 1;
}

/* ===== KPI CARD FADE-IN ===== */
[b-stko9u3yea] .bp-kpi-card-anim {
    animation: bp-kpiFadeIn-b-stko9u3yea 0.6s ease-out both;
}

[b-stko9u3yea] .bp-kpi-card-anim:nth-child(2) { animation-delay: 0.15s; }
[b-stko9u3yea] .bp-kpi-card-anim:nth-child(3) { animation-delay: 0.3s; }

@keyframes bp-kpiFadeIn-b-stko9u3yea {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== HIGH CONTRAST THEME ===== */
@media (prefers-contrast: more) {
    [b-stko9u3yea] .bp-table thead th {
        background: #000 !important;
        color: #fff !important;
        border-bottom: 3px solid #fff !important;
    }

    [b-stko9u3yea] .bp-table tbody td {
        color: #000 !important;
        border-bottom: 2px solid #000 !important;
    }

    [b-stko9u3yea] .bp-cat-row td {
        background: #e0e0e0 !important;
        font-weight: 700 !important;
    }

    [b-stko9u3yea] .bp-comp-table th {
        background: #000 !important;
        color: #fff !important;
        border: 2px solid #000 !important;
    }

    [b-stko9u3yea] .bp-comp-table td {
        border: 2px solid #000 !important;
        color: #000 !important;
    }

    [b-stko9u3yea] .bp-comp-total-row {
        background: #c6f0d4 !important;
    }

    [b-stko9u3yea] .bp-evo-badge {
        border: 2px solid #000 !important;
        font-weight: 700 !important;
    }

    [b-stko9u3yea] .bp-trend-table th {
        background: #000 !important;
        color: #fff !important;
        border: 2px solid #000 !important;
    }

    [b-stko9u3yea] .bp-trend-table td {
        border: 2px solid #000 !important;
        color: #000 !important;
    }

    [b-stko9u3yea] .bp-scenario-badge {
        border: 2px solid #000 !important;
        color: #000 !important;
    }

    [b-stko9u3yea] .bp-breakeven-badge {
        border: 2px solid #000 !important;
        font-weight: 700 !important;
    }
}
/* /Components/Pages/BpFinancement.razor.rz.scp.css */
/* === BpFinancement - Page-specific overrides === */
/* Base table, sticky, category, total, dark mode styles are in wwwroot/bp-common.css */

/* ===== LEGEND TABLE ===== */
[b-szyw3c3g4x] .bp-legend-table {
    font-size: 13px;
    width: 100%;
}
[b-szyw3c3g4x] .bp-legend-table tr:hover { background: var(--bp-row-hover, #f3f4f6); }

/* ===== KPI CARD ANIMATION ===== */
[b-szyw3c3g4x] .bp-kpi-card-anim {
    animation: bp-kpiFadeIn-b-szyw3c3g4x 0.6s ease-out both;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
}
[b-szyw3c3g4x] .bp-kpi-card-anim:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
[b-szyw3c3g4x] .bp-kpi-card-anim:nth-child(2) { animation-delay: 0.15s; }
[b-szyw3c3g4x] .bp-kpi-card-anim:nth-child(3) { animation-delay: 0.3s; }
@keyframes bp-kpiFadeIn-b-szyw3c3g4x {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== MODAL ===== */
[b-szyw3c3g4x] .bp-modal-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex; align-items: center; justify-content: center;
    z-index: 1000; backdrop-filter: blur(2px);
}
[b-szyw3c3g4x] .bp-modal-content {
    background: #ffffff; border-radius: 12px; padding: 1.5rem;
    width: 90%; max-height: 90vh; overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    border: 1px solid var(--bp-border, #e5e7eb);
}

/* ===== TOTAL ROW (page-specific) ===== */
[b-szyw3c3g4x] .bp-total-row { font-weight: 700; background: var(--bp-header-bg, #f7f8fa) !important; }
[b-szyw3c3g4x] .bp-total-row td { border-top: 2px solid var(--bp-border, #e5e7eb); }

/* ===== DARK MODE (page-specific) ===== */
[b-szyw3c3g4x] .bp-dark-mode .bp-modal-content { background: #1f2937; color: #e5e7eb; border: 1px solid var(--bp-border); }
[b-szyw3c3g4x] .bp-dark-mode .bp-modal-overlay { background: rgba(0,0,0,0.7); }
[b-szyw3c3g4x] .bp-dark-mode .bp-legend-table tr:hover { background: var(--bp-row-hover); }
[b-szyw3c3g4x] .bp-dark-mode .bp-total-row { background: var(--bp-header-bg) !important; }
[b-szyw3c3g4x] .bp-dark-mode .bp-total-row td { border-top-color: var(--bp-border); color: var(--bp-text); }
/* /Components/Pages/BpInvestissements.razor.rz.scp.css */
/* === BpInvestissements - Page-specific overrides === */
/* Base table, sticky, category, total, dark mode styles are in wwwroot/bp-common.css */
/* /Components/Pages/BpMasseSalariale.razor.rz.scp.css */
/* === BpMasseSalariale - Page-specific overrides === */
/* Base table, sticky, category, total, dark mode styles are in wwwroot/bp-common.css */
/* /Components/Pages/BpSynthese.razor.rz.scp.css */
/* === BpSynthese - Clean Readable Theme (matching CA/Charges/MS) === */

/* ===== SYNTHESE TABLES ===== */
[b-mcwxx66upw] .bp-synthese-table {
    width: 100%;
    min-width: 500px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.88em;
}

[b-mcwxx66upw] .bp-synthese-table thead th {
    padding: 0.6rem 0.75rem;
    text-align: right;
    font-weight: 600;
    color: var(--bp-text-secondary, #374151);
    background: var(--bp-header-bg, #f7f8fa) !important;
    border-bottom: 2px solid var(--bp-border, #e5e7eb);
}

[b-mcwxx66upw] .bp-synthese-table th:first-child { text-align: left; width: 40%; }

[b-mcwxx66upw] .bp-synthese-table td {
    padding: 0.5rem 0.75rem;
    text-align: right;
    border-bottom: 1px solid var(--bp-border-light, #f0f1f3);
    color: var(--bp-text, #1f2937);
}

[b-mcwxx66upw] .bp-synthese-table td:first-child { text-align: left; }

[b-mcwxx66upw] .bp-synthese-table tbody tr:hover { background: var(--bp-row-hover, #f3f4f6); }

/* --- Revenue row (blue) --- */
[b-mcwxx66upw] .bp-row-revenue {
    font-weight: 700;
    background: #eff6ff !important;
    border-top: 2px solid #3b82f6;
}
[b-mcwxx66upw] .bp-row-revenue td { color: #1e40af; }

/* --- EBE / Result row (green) --- */
[b-mcwxx66upw] .bp-row-result {
    font-weight: 700;
    background: #ecfdf5 !important;
    border-top: 2px solid #10b981;
}
[b-mcwxx66upw] .bp-row-result td { color: #065f46; }

/* --- Charges / Warning row (orange) --- */
[b-mcwxx66upw] .bp-row-charges {
    font-weight: 700;
    background: #fff7ed !important;
}
[b-mcwxx66upw] .bp-row-charges td { color: #9a3412; }

/* --- Italic secondary row --- */
[b-mcwxx66upw] .bp-row-secondary {
    font-style: italic;
}
[b-mcwxx66upw] .bp-row-secondary td { color: var(--bp-text-muted, #6b7280); }

/* ===== TRESORERIE TABLE ===== */
[b-mcwxx66upw] .bp-treso-table {
    width: 100%;
    min-width: 900px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.85em;
    white-space: nowrap;
}

[b-mcwxx66upw] .bp-treso-table thead th {
    padding: 0.5rem 0.6rem;
    text-align: right;
    font-weight: 600;
    color: var(--bp-text-secondary, #374151);
    background: var(--bp-header-bg, #f7f8fa) !important;
    border-bottom: 2px solid var(--bp-border, #e5e7eb);
}

[b-mcwxx66upw] .bp-treso-table td {
    padding: 0.4rem 0.6rem;
    text-align: right;
    border-bottom: 1px solid var(--bp-border-light, #f0f1f3);
    color: var(--bp-text, #1f2937);
}

[b-mcwxx66upw] .bp-treso-table tbody tr:hover { background: var(--bp-row-hover, #f3f4f6); }

/* Sticky first column */
[b-mcwxx66upw] .bp-treso-sticky {
    position: sticky;
    left: 0;
    min-width: 180px;
    width: 14%;
    text-align: left !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-right: 1px solid var(--bp-border, #e5e7eb);
    z-index: 10;
    box-shadow: 2px 0 6px rgba(0,0,0,0.04);
    background-color: #ffffff !important;
}

[b-mcwxx66upw] thead .bp-treso-sticky {
    z-index: 11;
    background-color: var(--bp-header-bg, #f7f8fa) !important;
}

/* Separator row */
[b-mcwxx66upw] .bp-treso-separator td {
    height: 4px;
    padding: 0;
    background: var(--bp-border, #e5e7eb) !important;
    border: none;
}

/* Cumul row (blue) */
[b-mcwxx66upw] .bp-row-cumul {
    font-weight: 700;
    background: #eff6ff !important;
}
[b-mcwxx66upw] .bp-row-cumul .bp-treso-sticky {
    background-color: #eff6ff !important;
}

/* Bold total row for tresorerie */
[b-mcwxx66upw] .bp-treso-total { font-weight: 600; }

/* ===== TABLE CONTAINER ===== */
[b-mcwxx66upw] .bp-table-wrap {
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid var(--bp-border, #e5e7eb);
}

/* ===== KPI CARDS ===== */
[b-mcwxx66upw] .bp-synthese-kpi {
    border-left-width: 4px;
    border-left-style: solid;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
[b-mcwxx66upw] .bp-synthese-kpi:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* ===== DARK MODE OVERRIDES ===== */
[b-mcwxx66upw] .bp-dark-mode .bp-synthese-table thead th,
[b-mcwxx66upw] .bp-dark-mode .bp-treso-table thead th {
    background: #1f2937 !important;
    color: #e5e7eb;
    border-bottom-color: #374151;
}

[b-mcwxx66upw] .bp-dark-mode .bp-synthese-table td,
[b-mcwxx66upw] .bp-dark-mode .bp-treso-table td {
    color: #e5e7eb;
    border-bottom-color: #374151;
}

[b-mcwxx66upw] .bp-dark-mode .bp-synthese-table tbody tr:hover,
[b-mcwxx66upw] .bp-dark-mode .bp-treso-table tbody tr:hover { background: #1f2937; }

[b-mcwxx66upw] .bp-dark-mode .bp-table-wrap { border-color: #374151; }

[b-mcwxx66upw] .bp-dark-mode .bp-treso-sticky { background-color: #111827 !important; border-right-color: #374151; }
[b-mcwxx66upw] .bp-dark-mode thead .bp-treso-sticky { background-color: #1f2937 !important; }

[b-mcwxx66upw] .bp-dark-mode .bp-row-revenue { background: #1e3a5f !important; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-revenue td { color: #93c5fd; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-result { background: #064e3b !important; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-result td { color: #34d399; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-charges { background: #451a03 !important; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-charges td { color: #fcd34d; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-secondary td { color: #9ca3af; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-cumul { background: #1e3a5f !important; }
[b-mcwxx66upw] .bp-dark-mode .bp-row-cumul .bp-treso-sticky { background-color: #1e3a5f !important; }
[b-mcwxx66upw] .bp-dark-mode .bp-treso-separator td { background: #374151 !important; }

[b-mcwxx66upw] .bp-dark-mode .bp-synthese-kpi { border-color: #374151; }
/* /Components/Pages/ClientDetailPage.razor.rz.scp.css */
/* Stepper Lead → Opportunité → Client */
.gn-stepper[b-0yd0q64q7l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.gn-step[b-0yd0q64q7l] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.gn-step-dot[b-0yd0q64q7l] {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rz-base-200);
    color: var(--rz-text-secondary-color);
}

.gn-step-dot[b-0yd0q64q7l]  .rzi {
    font-size: 1rem;
}

.gn-step-label[b-0yd0q64q7l] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
}

.gn-step.active .gn-step-dot[b-0yd0q64q7l] {
    background: var(--rz-primary);
    color: var(--rz-on-primary, #fff);
}

.gn-step.active .gn-step-label[b-0yd0q64q7l] {
    color: var(--rz-text-color);
    font-weight: 600;
}

.gn-step.done .gn-step-dot[b-0yd0q64q7l] {
    background: var(--rz-success-lighter);
    color: var(--rz-success-darker);
}

.gn-step.done .gn-step-label[b-0yd0q64q7l] {
    color: var(--rz-text-color);
}

.gn-step-connector[b-0yd0q64q7l] {
    flex: 0 1 3rem;
    min-width: 1rem;
    height: 0.125rem;
    border-radius: 0.0625rem;
    background: var(--rz-base-300);
}

.gn-step-connector.done[b-0yd0q64q7l] {
    background: var(--rz-success);
}

/* Apparition en cascade (cohérent moduleDropdownIn) ; neutralisée si reduced-motion */
@keyframes gnStepIn-b-0yd0q64q7l {
    from { opacity: 0; transform: translateY(-0.25rem); }
    to { opacity: 1; transform: translateY(0); }
}

.gn-step[b-0yd0q64q7l],
.gn-step-connector[b-0yd0q64q7l] {
    animation: gnStepIn-b-0yd0q64q7l 0.25s ease-out backwards;
}

.gn-step:nth-child(3)[b-0yd0q64q7l],
.gn-step-connector:nth-child(2)[b-0yd0q64q7l] {
    animation-delay: 0.08s;
}

.gn-step:nth-child(5)[b-0yd0q64q7l],
.gn-step-connector:nth-child(4)[b-0yd0q64q7l] {
    animation-delay: 0.16s;
}

@media (prefers-reduced-motion: reduce) {
    .gn-step[b-0yd0q64q7l],
    .gn-step-connector[b-0yd0q64q7l] {
        animation: none;
    }
}

/* Dark mode : le thème ligma est un toggle de classe (pas de thème Radzen sombre),
   les tokens --rz-base-*/-lighter restent clairs — overrides explicites requis. */
html.dark-mode .gn-step-dot[b-0yd0q64q7l] {
    background: rgba(255, 255, 255, 0.12);
    color: var(--text-secondary, #adb5bd);
}

html.dark-mode .gn-step-label[b-0yd0q64q7l] {
    color: var(--text-secondary, #adb5bd);
}

html.dark-mode .gn-step.active .gn-step-label[b-0yd0q64q7l],
html.dark-mode .gn-step.done .gn-step-label[b-0yd0q64q7l] {
    color: var(--text-color, #e9ecef);
}

html.dark-mode .gn-step.done .gn-step-dot[b-0yd0q64q7l] {
    background: rgba(76, 175, 80, 0.25);
    color: #a5d6a7;
}

html.dark-mode .gn-step-connector[b-0yd0q64q7l] {
    background: var(--border-color, #495057);
}

html.dark-mode .gn-step-connector.done[b-0yd0q64q7l] {
    background: #66bb6a;
}

.gn-kpis[b-0yd0q64q7l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.gn-kpi[b-0yd0q64q7l] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.gn-kpi-label[b-0yd0q64q7l] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rz-text-secondary-color);
}

.gn-kpi-value[b-0yd0q64q7l] {
    font-size: 1.4rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.gn-columns[b-0yd0q64q7l] {
    display: grid;
    grid-template-columns: minmax(18rem, 2fr) minmax(20rem, 3fr);
    gap: 1rem;
    align-items: start;
}

@media (max-width: 64rem) {
    .gn-columns[b-0yd0q64q7l] {
        grid-template-columns: 1fr;
    }
}

.gn-section-title[b-0yd0q64q7l] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
}

.gn-info-grid[b-0yd0q64q7l] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.4rem 1rem;
    margin: 0;
}

.gn-info-grid dt[b-0yd0q64q7l] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
}

.gn-info-grid dd[b-0yd0q64q7l] {
    margin: 0;
    font-size: 0.85rem;
    overflow-wrap: anywhere;
}

.gn-affaires[b-0yd0q64q7l] {
    display: flex;
    flex-direction: column;
}

.gn-affaire-row[b-0yd0q64q7l] {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.25rem;
    border-bottom: 1px solid var(--rz-base-200);
    text-decoration: none;
    color: inherit;
}

.gn-affaire-row:hover[b-0yd0q64q7l] {
    background: var(--rz-base-100);
}

.gn-affaire-numero[b-0yd0q64q7l] {
    font-weight: 600;
    font-family: monospace;
    white-space: nowrap;
}

.gn-affaire-desc[b-0yd0q64q7l] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gn-affaire-montant[b-0yd0q64q7l] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    white-space: nowrap;
}

.gn-timeline[b-0yd0q64q7l] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.gn-timeline-item[b-0yd0q64q7l] {
    display: flex;
    gap: 0.75rem;
}

.gn-timeline-icon[b-0yd0q64q7l] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rz-base-200);
}

.gn-timeline-icon[data-type="Appel"][b-0yd0q64q7l] { background: var(--rz-info-lighter); }
.gn-timeline-icon[data-type="Email"][b-0yd0q64q7l] { background: var(--rz-secondary-lighter); }
.gn-timeline-icon[data-type="RendezVous"][b-0yd0q64q7l] { background: var(--rz-success-lighter); }
.gn-timeline-icon[data-type="Relance"][b-0yd0q64q7l] { background: var(--rz-warning-lighter); }
.gn-timeline-icon[data-type="Encaissement"][b-0yd0q64q7l] { background: var(--rz-success-lighter); }
.gn-timeline-icon[data-type="Devis"][b-0yd0q64q7l] { background: var(--rz-info-lighter); }

.gn-timeline-icon[b-0yd0q64q7l]  .rzi {
    font-size: 1.1rem;
}

.gn-timeline-body[b-0yd0q64q7l] {
    flex: 1;
    min-width: 0;
    border-bottom: 1px solid var(--rz-base-200);
    padding-bottom: 0.6rem;
}

.gn-timeline-head[b-0yd0q64q7l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.gn-timeline-type[b-0yd0q64q7l] {
    font-weight: 600;
    font-size: 0.85rem;
}

.gn-timeline-meta[b-0yd0q64q7l] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
    margin-left: auto;
}

.gn-rappel-badge[b-0yd0q64q7l] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.1rem 0.45rem;
    border-radius: 0.75rem;
    background: var(--rz-warning-lighter);
    color: var(--rz-warning-darker);
    white-space: nowrap;
}

.gn-rappel-badge[b-0yd0q64q7l]  .rzi {
    font-size: 0.85rem;
}

.gn-rappel-retard[b-0yd0q64q7l] {
    background: var(--rz-danger-lighter);
    color: var(--rz-danger-darker);
}

.gn-rappel-fait[b-0yd0q64q7l] {
    background: var(--rz-base-200);
    color: var(--rz-text-secondary-color);
}

.gn-timeline-contenu[b-0yd0q64q7l] {
    font-size: 0.85rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin-top: 0.25rem;
}

.gn-muted[b-0yd0q64q7l] {
    color: var(--rz-text-secondary-color);
}

.gn-finance-kpis[b-0yd0q64q7l] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.gn-finance-kpi[b-0yd0q64q7l] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.gn-finance-value[b-0yd0q64q7l] {
    font-size: 1.1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.gn-danger[b-0yd0q64q7l] {
    color: var(--rz-danger);
}

.gn-success[b-0yd0q64q7l] {
    color: var(--rz-success);
}

.gn-finance-subtitle[b-0yd0q64q7l] {
    display: block;
    margin: 0.75rem 0 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.gn-liste[b-0yd0q64q7l] {
    display: flex;
    flex-direction: column;
}

.gn-facture-row[b-0yd0q64q7l],
.gn-encaissement-row[b-0yd0q64q7l] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.4rem 0.25rem;
    border-bottom: 1px solid var(--rz-base-200);
    text-decoration: none;
    color: inherit;
    font-size: 0.85rem;
}

.gn-facture-row:hover[b-0yd0q64q7l] {
    background: var(--rz-base-100);
}

.gn-facture-numero[b-0yd0q64q7l] {
    font-family: monospace;
    font-weight: 600;
    white-space: nowrap;
}

.gn-facture-retard[b-0yd0q64q7l] {
    color: var(--rz-danger);
    font-weight: 600;
    font-size: 0.8rem;
}

.gn-facture-montant[b-0yd0q64q7l] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    white-space: nowrap;
}

.gn-full-width[b-0yd0q64q7l] {
    width: 100%;
}

.gn-error-card[b-0yd0q64q7l] {
    text-align: center;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.gn-error-card[b-0yd0q64q7l]  .rzi {
    font-size: 2rem;
    color: var(--rz-danger);
}
/* /Components/Pages/ClientsListePage.razor.rz.scp.css */
.crm-clients-grid[b-poo9szof26]  .rz-data-row {
    cursor: pointer;
}

.crm-client-cell[b-poo9szof26] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.crm-client-nom[b-poo9szof26] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-client-contact[b-poo9szof26] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-muted[b-poo9szof26] {
    color: var(--rz-text-disabled-color);
}

.crm-error-card[b-poo9szof26] {
    text-align: center;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.crm-error-card[b-poo9szof26]  .rzi {
    font-size: 2rem;
    color: var(--rz-danger);
}

.crm-error-detail[b-poo9szof26] {
    color: var(--rz-text-secondary-color);
}
/* /Components/Pages/CompteResultatPage.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════════
   Compte de Résultat — Scoped Styles
   ══════════════════════════════════════════════════════════════════ */

/* ── EMPTY / LOADING / SETUP STATES ── */

.cr-empty-state[b-houdr1jiff],
.cr-loading[b-houdr1jiff] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 4rem 2rem;
    text-align: center;
    color: #64748b;
}

.cr-empty-state h3[b-houdr1jiff],
.cr-loading p[b-houdr1jiff] {
    margin: 0;
    font-weight: 500;
}

.cr-setup[b-houdr1jiff] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 2rem;
    text-align: center;
}

.cr-setup-icon[b-houdr1jiff] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #dbeafe, #ede9fe);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

[b-houdr1jiff] .cr-setup-icon .rzi {
    font-size: 2.5rem;
    color: #4f46e5;
}

.cr-setup h2[b-houdr1jiff] {
    margin: 0 0 0.5rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: #1e293b;
}

.cr-setup p[b-houdr1jiff] {
    margin: 0 0 2rem;
    color: #64748b;
    font-size: 1rem;
}

.cr-setup-form[b-houdr1jiff] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

/* ── HEADER ── */

.cr-header[b-houdr1jiff] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    border-radius: 12px;
    margin-bottom: 0.5rem;
}

.cr-header-left[b-houdr1jiff] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.cr-header-left h1[b-houdr1jiff] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: #f8fafc;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-houdr1jiff] .cr-header-left h1 .rzi {
    font-size: 1.5rem;
    color: #818cf8;
}

.cr-badge-custom[b-houdr1jiff] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.75rem;
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 500;
    border: 1px solid rgba(251, 191, 36, 0.3);
}

.cr-header-actions[b-houdr1jiff] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── CUSTOM BUTTONS ── */

.cr-btn[b-houdr1jiff] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}

[b-houdr1jiff] .cr-btn .rzi {
    font-size: 1rem;
}

.cr-btn-outline[b-houdr1jiff] {
    background: rgba(255,255,255,0.1);
    color: #cbd5e1;
    border: 1px solid rgba(255,255,255,0.2);
}

.cr-btn-outline:hover[b-houdr1jiff] {
    background: rgba(255,255,255,0.2);
    color: #f8fafc;
}

.cr-btn-warning[b-houdr1jiff] {
    background: rgba(251, 146, 60, 0.15);
    color: #fb923c;
    border: 1px solid rgba(251, 146, 60, 0.3);
}

.cr-btn-warning:hover[b-houdr1jiff] {
    background: rgba(251, 146, 60, 0.3);
}

.cr-btn-success[b-houdr1jiff] {
    background: rgba(52, 211, 153, 0.15);
    color: #34d399;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

.cr-btn-success:hover[b-houdr1jiff] {
    background: rgba(52, 211, 153, 0.3);
}

/* ── KPI CARDS ── */

.cr-kpi-grid[b-houdr1jiff] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 0.5rem;
}

@media (max-width: 1024px) {
    .cr-kpi-grid[b-houdr1jiff] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .cr-kpi-grid[b-houdr1jiff] {
        grid-template-columns: 1fr;
    }
}

.cr-kpi-card[b-houdr1jiff] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.25s ease;
}

.cr-kpi-card:hover[b-houdr1jiff] {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.cr-kpi-card--highlight[b-houdr1jiff] {
    border: 2px solid #a7f3d0;
    background: linear-gradient(135deg, #f0fdf4, #ffffff);
}

.cr-kpi-icon[b-houdr1jiff] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-houdr1jiff] .cr-kpi-icon .rzi {
    font-size: 1.4rem;
}

.cr-kpi-content[b-houdr1jiff] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cr-kpi-label[b-houdr1jiff] {
    font-size: 0.78rem;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.cr-kpi-value[b-houdr1jiff] {
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}

.cr-kpi-pct[b-houdr1jiff] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    width: fit-content;
    margin-top: 0.15rem;
}

.cr-kpi-pct--pos[b-houdr1jiff] {
    background: #d1fae5;
    color: #065f46;
}

.cr-kpi-pct--neg[b-houdr1jiff] {
    background: #fee2e2;
    color: #991b1b;
}

/* ── WATERFALL VISUAL ── */

.cr-waterfall[b-houdr1jiff] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.25rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 0.5rem;
}

.cr-waterfall-bar[b-houdr1jiff] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cr-waterfall-label[b-houdr1jiff] {
    width: 65px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #475569;
    text-align: right;
    flex-shrink: 0;
}

.cr-waterfall-track[b-houdr1jiff] {
    flex: 1;
    height: 24px;
    background: #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
}

.cr-waterfall-fill[b-houdr1jiff] {
    height: 100%;
    border-radius: 6px;
    transition: width 0.6s ease;
}

.cr-waterfall-fill--ca[b-houdr1jiff] {
    background: linear-gradient(90deg, #3b82f6, #60a5fa);
}

.cr-waterfall-fill--marge[b-houdr1jiff] {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.cr-waterfall-fill--ebitda[b-houdr1jiff] {
    background: linear-gradient(90deg, #8b5cf6, #a78bfa);
}

.cr-waterfall-fill--pos[b-houdr1jiff] {
    background: linear-gradient(90deg, #10b981, #34d399);
}

.cr-waterfall-fill--neg[b-houdr1jiff] {
    background: linear-gradient(90deg, #ef4444, #f87171);
}

.cr-waterfall-val[b-houdr1jiff] {
    width: 110px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    text-align: right;
    flex-shrink: 0;
}

.cr-waterfall-val--neg[b-houdr1jiff] {
    color: #dc2626;
}

/* ── MAIN TABLE ── */

.cr-table-container[b-houdr1jiff] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

.cr-table[b-houdr1jiff] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.cr-table thead tr[b-houdr1jiff] {
    background: #f1f5f9;
    border-bottom: 2px solid #e2e8f0;
}

.cr-table thead th[b-houdr1jiff] {
    padding: 0.75rem 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
}

.cr-col-code[b-houdr1jiff] {
    width: 70px;
    text-align: center;
}

.cr-col-libelle[b-houdr1jiff] {
    text-align: left;
}

.cr-col-montant[b-houdr1jiff] {
    width: 150px;
    text-align: right;
    padding-right: 1rem;
}

.cr-col-pct[b-houdr1jiff] {
    width: 80px;
    text-align: right;
    padding-right: 1rem;
}

/* ── ROW TYPES ── */

.cr-table tbody tr[b-houdr1jiff] {
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.15s ease;
}

.cr-table tbody td[b-houdr1jiff] {
    padding: 0.6rem 1rem;
}

.cr-row-total[b-houdr1jiff] {
    background: linear-gradient(90deg, #eff6ff, #f8fafc) !important;
    border-bottom: 2px solid #bfdbfe !important;
    border-top: 1px solid #bfdbfe;
}

.cr-row-total td[b-houdr1jiff] {
    font-weight: 700;
    font-size: 0.92rem;
    padding: 0.8rem 1rem;
}

.cr-row-subtotal[b-houdr1jiff] {
    background: #f8fafc;
}

.cr-row-subtotal td[b-houdr1jiff] {
    font-weight: 600;
}

.cr-row-rubrique:hover[b-houdr1jiff] {
    background: #f8fafc;
}

.cr-row--expanded[b-houdr1jiff] {
    background: #fefce8 !important;
}

/* ── CODE BADGES ── */

.cr-code-badge[b-houdr1jiff] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.cr-code--total[b-houdr1jiff] {
    background: #1e40af;
    color: #ffffff;
}

.cr-code--subtotal[b-houdr1jiff] {
    background: #dbeafe;
    color: #1e40af;
}

.cr-code--rubrique[b-houdr1jiff] {
    background: #f1f5f9;
    color: #475569;
}

/* ── LIBELLE ── */

.cr-libelle-content[b-houdr1jiff],
.cr-detail-content[b-houdr1jiff] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

[b-houdr1jiff] .cr-expand-icon {
    color: #94a3b8;
    font-size: 1.1rem;
    transition: color 0.15s;
}

[b-houdr1jiff] .cr-total-icon {
    color: #3b82f6;
    font-size: 0.9rem;
}

.cr-drop-hint[b-houdr1jiff] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    color: #3b82f6;
    font-size: 0.75rem;
    font-weight: 500;
    margin-left: 0.5rem;
    animation: cr-pulse-b-houdr1jiff 1.5s ease-in-out infinite;
}

@keyframes cr-pulse-b-houdr1jiff {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* ── MONTANTS ── */

.cr-montant--neg[b-houdr1jiff] {
    color: #dc2626;
}

.cr-montant--pos[b-houdr1jiff] {
    color: #334155;
}

.cr-montant--total[b-houdr1jiff] {
    font-weight: 800;
    font-size: 0.95rem;
}

.cr-pct-value[b-houdr1jiff] {
    font-size: 0.8rem;
    color: #64748b;
    font-weight: 500;
}

/* ── DETAIL ROWS (EXPANDED ACCOUNTS) ── */

.cr-row-detail[b-houdr1jiff] {
    background: #fefce8 !important;
    border-bottom: 1px solid #fef08a !important;
    cursor: grab;
}

.cr-row-detail:hover[b-houdr1jiff] {
    background: #fef9c3 !important;
}

.cr-row-detail td[b-houdr1jiff] {
    padding: 0.4rem 1rem;
    font-size: 0.82rem;
}

.cr-compte-num[b-houdr1jiff] {
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.78rem;
    color: #64748b;
    background: #f1f5f9;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
}

[b-houdr1jiff] .cr-drag-icon {
    color: #d4d4d8;
    font-size: 0.9rem;
    cursor: grab;
}

.cr-badge-perso[b-houdr1jiff] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fbbf24;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    margin-left: 0.3rem;
    flex-shrink: 0;
}
/* /Components/Pages/DevisDashboardPage.razor.rz.scp.css */
.dash-kpi-card[b-1t7vr82sjl] {
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dash-kpi-card:hover[b-1t7vr82sjl] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

@media (prefers-color-scheme: dark) {
    [b-1t7vr82sjl] .rz-card {
        background-color: #1e1e1e !important;
        border-color: #333 !important;
        color: #ddd !important;
    }

    [b-1t7vr82sjl] .rz-text {
        color: #ddd !important;
    }

    .dash-kpi-card:hover[b-1t7vr82sjl] {
        box-shadow: 0 4px 12px rgba(255, 255, 255, 0.05);
    }

    [b-1t7vr82sjl] .rz-datatable .rz-datatable-thead > tr > th {
        background-color: #252525 !important;
        color: #ccc !important;
        border-color: #444 !important;
    }

    [b-1t7vr82sjl] .rz-datatable .rz-datatable-data > tr > td {
        background-color: #1e1e1e !important;
        color: #ddd !important;
        border-color: #333 !important;
    }
}
/* /Components/Pages/DevisFormPage.razor.rz.scp.css */
/* Fade-in animation for affaire info display */
.affaire-info-fade[b-5jucxv5o2y] {
    animation: fadeInSlide-b-5jucxv5o2y 0.35s ease-out;
}

@keyframes fadeInSlide-b-5jucxv5o2y {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* === Connected Timeline === */
.timeline-connected[b-5jucxv5o2y] {
    display: flex;
    align-items: flex-start;
    gap: 0;
    padding: 0.5rem 0;
    overflow-x: auto;
}

.timeline-step[b-5jucxv5o2y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 1;
    min-width: 100px;
    animation: timelineAppear-b-5jucxv5o2y 0.5s ease-out both;
}

.timeline-step:nth-child(1)[b-5jucxv5o2y] { animation-delay: 0s; }
.timeline-step:nth-child(2)[b-5jucxv5o2y] { animation-delay: 0.1s; }
.timeline-step:nth-child(3)[b-5jucxv5o2y] { animation-delay: 0.2s; }
.timeline-step:nth-child(4)[b-5jucxv5o2y] { animation-delay: 0.3s; }
.timeline-step:nth-child(5)[b-5jucxv5o2y] { animation-delay: 0.4s; }
.timeline-step:nth-child(6)[b-5jucxv5o2y] { animation-delay: 0.5s; }
.timeline-step:nth-child(7)[b-5jucxv5o2y] { animation-delay: 0.6s; }

@keyframes timelineAppear-b-5jucxv5o2y {
    from {
        opacity: 0;
        transform: scale(0.7) translateY(8px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Connector line between circles */
.timeline-step:not(:last-child)[b-5jucxv5o2y]::after {
    content: '';
    position: absolute;
    top: 16px;
    left: 50%;
    width: 100%;
    height: 3px;
    background: #ccc;
    z-index: 0;
}

.timeline-step.done:not(:last-child)[b-5jucxv5o2y]::after {
    background: #4CAF50;
}

.timeline-step.refused:not(:last-child)[b-5jucxv5o2y]::after {
    background: #e53935;
}

.timeline-circle[b-5jucxv5o2y] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    background: #e0e0e0;
    color: #999;
    font-size: 16px;
    transition: all 0.3s ease;
    border: 3px solid #ccc;
}

.timeline-step.done .timeline-circle[b-5jucxv5o2y] {
    background: #4CAF50;
    color: white;
    border-color: #388E3C;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2);
    animation: circlePop-b-5jucxv5o2y 0.4s ease-out;
}

@keyframes circlePop-b-5jucxv5o2y {
    0% { transform: scale(0.5); }
    60% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

.timeline-step.refused .timeline-circle[b-5jucxv5o2y] {
    background: #e53935;
    color: white;
    border-color: #c62828;
    box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.2);
}

.timeline-step.pending .timeline-circle[b-5jucxv5o2y] {
    background: #f5f5f5;
    color: #bbb;
    border-color: #ddd;
}

.timeline-label[b-5jucxv5o2y] {
    text-align: center;
    margin-top: 6px;
    font-size: 0.78em;
    color: var(--rz-text-secondary-color);
    line-height: 1.3;
}

.timeline-step.done .timeline-label[b-5jucxv5o2y] {
    color: #2e7d32;
    font-weight: 600;
}

.timeline-step.refused .timeline-label[b-5jucxv5o2y] {
    color: #c62828;
    font-weight: 600;
}

.timeline-label small[b-5jucxv5o2y] {
    display: block;
    font-size: 0.9em;
    font-weight: 400;
    opacity: 0.8;
}

/* === Dark mode overrides === */
@media (prefers-color-scheme: dark) {
    /* Timeline */
    .timeline-circle[b-5jucxv5o2y] {
        background: #424242;
        color: #777;
        border-color: #555;
    }

    .timeline-step.pending .timeline-circle[b-5jucxv5o2y] {
        background: #333;
        color: #666;
        border-color: #444;
    }

    .timeline-step:not(:last-child)[b-5jucxv5o2y]::after {
        background: #555;
    }

    .timeline-step.done .timeline-circle[b-5jucxv5o2y] {
        background: #2e7d32;
        border-color: #1b5e20;
    }

    .timeline-step.done .timeline-label[b-5jucxv5o2y] {
        color: #81c784;
    }

    .timeline-step.refused .timeline-circle[b-5jucxv5o2y] {
        background: #b71c1c;
        border-color: #7f0000;
    }

    .timeline-step.refused .timeline-label[b-5jucxv5o2y] {
        color: #ef9a9a;
    }

    .timeline-label[b-5jucxv5o2y] {
        color: #aaa;
    }

    .affaire-info-fade[b-5jucxv5o2y] {
        background: #333 !important;
        color: #ccc !important;
    }

    /* Cards & panels */
    [b-5jucxv5o2y] .rz-card {
        background-color: #1e1e1e !important;
        border-color: #333 !important;
        color: #ddd !important;
    }

    /* Form fields */
    [b-5jucxv5o2y] .rz-form-field,
    [b-5jucxv5o2y] .rz-textbox,
    [b-5jucxv5o2y] .rz-inputtext,
    [b-5jucxv5o2y] .rz-dropdown,
    [b-5jucxv5o2y] .rz-numeric,
    [b-5jucxv5o2y] .rz-textarea {
        background-color: #2a2a2a !important;
        color: #ddd !important;
        border-color: #444 !important;
    }

    [b-5jucxv5o2y] .rz-form-field .rz-form-field-label {
        color: #aaa !important;
    }

    /* DataGrid */
    [b-5jucxv5o2y] .rz-datatable .rz-datatable-thead > tr > th {
        background-color: #252525 !important;
        color: #ccc !important;
        border-color: #444 !important;
    }

    [b-5jucxv5o2y] .rz-datatable .rz-datatable-data > tr > td {
        background-color: #1e1e1e !important;
        color: #ddd !important;
        border-color: #333 !important;
    }

    [b-5jucxv5o2y] .rz-datatable .rz-datatable-data > tr:nth-child(even) > td {
        background-color: #232323 !important;
    }

    /* Steps header */
    [b-5jucxv5o2y] .rz-steps .rz-steps-item .rz-steps-title {
        color: #ccc !important;
    }

    [b-5jucxv5o2y] .rz-steps .rz-steps-item.rz-state-active .rz-steps-title {
        color: #fff !important;
    }

    /* Text */
    [b-5jucxv5o2y] .rz-text {
        color: #ddd !important;
    }

    /* Totals area */
    [b-5jucxv5o2y] .rz-stack p,
    [b-5jucxv5o2y] .rz-stack strong {
        color: #ddd !important;
    }

    /* Alert */
    [b-5jucxv5o2y] .rz-alert {
        background-color: #2a2a2a !important;
        color: #ccc !important;
    }
}
/* /Components/Pages/GoonsterAffairesPage.razor.rz.scp.css */
.gn-filtres[b-g15gx0h76m] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.gn-filtre[b-g15gx0h76m] {
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    border: 1px solid var(--rz-base-300);
    font-size: 0.8rem;
    text-decoration: none;
    color: var(--rz-text-color);
    white-space: nowrap;
}

.gn-filtre:hover[b-g15gx0h76m] {
    background: var(--rz-base-100);
}

.gn-filtre-actif[b-g15gx0h76m] {
    background: var(--rz-primary);
    border-color: var(--rz-primary);
    color: var(--rz-on-primary, #fff);
    font-weight: 600;
}

.gn-affaires-grid[b-g15gx0h76m]  .rz-data-row {
    cursor: pointer;
}

.gn-lien-client[b-g15gx0h76m] {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}

.gn-lien-client:hover[b-g15gx0h76m] {
    text-decoration: underline;
}

.gn-muted[b-g15gx0h76m] {
    color: var(--rz-text-secondary-color);
}

.gn-error-card[b-g15gx0h76m] {
    text-align: center;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.gn-error-card[b-g15gx0h76m]  .rzi {
    font-size: 2rem;
    color: var(--rz-danger);
}
/* /Components/Pages/GoonsterDashboardPage.razor.rz.scp.css */
.gn-kpis[b-8xbbbfmua1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.gn-kpi[b-8xbbbfmua1] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.gn-kpi-label[b-8xbbbfmua1] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rz-text-secondary-color);
}

.gn-kpi-value[b-8xbbbfmua1] {
    font-size: 1.4rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.gn-section-title[b-8xbbbfmua1] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
}

.gn-section-hint[b-8xbbbfmua1] {
    font-size: 0.7rem;
    font-weight: 400;
}

.gn-pipeline[b-8xbbbfmua1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: 0.75rem;
}

/* Funnel de conversion lead → opportunité → gagné */
.gn-funnel[b-8xbbbfmua1] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.gn-funnel-etape[b-8xbbbfmua1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 6rem;
    padding: 0.6rem 1rem;
    border-radius: 0.5rem;
    background: var(--rz-base-100);
    text-decoration: none;
    color: inherit;
    transition: filter 0.15s, transform 0.15s;
}

.gn-funnel-etape:hover[b-8xbbbfmua1] {
    filter: brightness(0.96);
    transform: translateY(-0.0625rem);
}

.gn-funnel-etape.gn-funnel-gagne[b-8xbbbfmua1] {
    background: var(--rz-success-lighter);
}

.gn-funnel-nb[b-8xbbbfmua1] {
    font-size: 1.4rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.gn-funnel-label[b-8xbbbfmua1] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rz-text-secondary-color);
}

.gn-funnel-taux[b-8xbbbfmua1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-secondary-color);
}

.gn-funnel-taux[b-8xbbbfmua1]  .rzi {
    font-size: 1.1rem;
}

.gn-funnel-global[b-8xbbbfmua1] {
    margin-left: auto;
    font-size: 0.85rem;
    color: var(--rz-text-secondary-color);
}

.gn-funnel-global strong[b-8xbbbfmua1] {
    font-size: 1.1rem;
    color: var(--rz-text-color);
}

.gn-funnel-tendance[b-8xbbbfmua1] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 0.6rem;
    font-size: 0.8rem;
    font-weight: 600;
}

.gn-funnel-tendance[b-8xbbbfmua1]  .rzi {
    font-size: 1rem;
}

.gn-tendance-up[b-8xbbbfmua1] {
    color: var(--rz-success);
}

.gn-tendance-down[b-8xbbbfmua1] {
    color: var(--rz-danger);
}

/* Dark mode : PAS d'override pour le funnel — vérifié visuellement (2026-07-10) : les
   RadzenCard restent blanches en mode sombre dans ce thème, les styles clairs sont donc
   corrects dans les deux modes. (Le stepper de la fiche client, lui, est posé sur le fond
   de page sombre et garde ses overrides dans ClientDetailPage.razor.css.) */

.gn-stade[b-8xbbbfmua1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.75rem 0.5rem;
    border: 1px solid var(--rz-base-300);
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
}

.gn-stade[b-8xbbbfmua1] {
    transition: background 0.15s, border-color 0.15s, transform 0.15s;
}

.gn-stade:hover[b-8xbbbfmua1] {
    background: var(--rz-base-100);
    border-color: var(--rz-primary);
    transform: translateY(-0.0625rem);
}

.gn-stade-vide[b-8xbbbfmua1] {
    opacity: 0.45;
}

.gn-stade-nb[b-8xbbbfmua1] {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.gn-stade-montant[b-8xbbbfmua1] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
    font-variant-numeric: tabular-nums;
}

.gn-columns[b-8xbbbfmua1] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 64rem) {
    .gn-columns[b-8xbbbfmua1] {
        grid-template-columns: 1fr;
    }
}

.gn-liste[b-8xbbbfmua1] {
    display: flex;
    flex-direction: column;
}

.gn-liste-row[b-8xbbbfmua1] {
    display: grid;
    grid-template-columns: minmax(8rem, auto) 1fr auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.25rem;
    border-bottom: 1px solid var(--rz-base-200);
    text-decoration: none;
    color: inherit;
}

.gn-liste-row:hover[b-8xbbbfmua1] {
    background: var(--rz-base-100);
}

.gn-rappel-row[b-8xbbbfmua1] {
    display: grid;
    grid-template-columns: minmax(8rem, auto) 1fr auto auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.35rem 0.25rem;
    border-bottom: 1px solid var(--rz-base-200);
}

.gn-rappel-row .gn-liste-nom[b-8xbbbfmua1] {
    text-decoration: none;
    color: inherit;
}

.gn-rappel-row .gn-liste-nom:hover[b-8xbbbfmua1] {
    text-decoration: underline;
}

.gn-liste-nom[b-8xbbbfmua1] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gn-liste-detail[b-8xbbbfmua1] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

.gn-ellipsis[b-8xbbbfmua1] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gn-liste-montant[b-8xbbbfmua1] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gn-liste-date[b-8xbbbfmua1] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
}

.gn-relance[b-8xbbbfmua1] {
    color: var(--rz-danger);
    font-weight: 600;
}

.gn-muted[b-8xbbbfmua1] {
    color: var(--rz-text-secondary-color);
}

/* Onboarding : signature visuelle du login (gradient marque) */
.gn-onboarding[b-8xbbbfmua1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    text-align: center;
    padding: 2rem;
    background: var(--ligma-brand-gradient);
    color: var(--ligma-brand-on-dark);
}

.gn-onboarding[b-8xbbbfmua1]  .rz-text-h6 {
    color: var(--ligma-brand-on-dark);
}

.gn-onboarding .gn-muted[b-8xbbbfmua1] {
    color: var(--ligma-brand-on-dark-muted);
    max-width: 42rem;
}

.gn-onboarding[b-8xbbbfmua1]  .rzi {
    font-size: 2.2rem;
}

.gn-error-card[b-8xbbbfmua1] {
    text-align: center;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.gn-error-card[b-8xbbbfmua1]  .rzi {
    font-size: 2rem;
    color: var(--rz-danger);
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* === Home / Planner — refonte avec brand color === */

.home-shell[b-9sswuqwjzz] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 1600px;
    margin: 0 auto;
    padding-bottom: 2rem;
}

/* === Hero === */

.home-hero[b-9sswuqwjzz] {
    position: relative;
    background: var(--ligma-brand-gradient, linear-gradient(135deg, #006bb7 0%, #003a66 60%, #1a1a4e 100%));
    color: #ffffff;
    border-radius: 16px;
    padding: 2rem 2rem 1.25rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 58, 102, 0.18);
}

.home-hero-bg[b-9sswuqwjzz] {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 15% 85%, rgba(255, 255, 255, 0.08) 0, transparent 45%),
        radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.07) 0, transparent 50%);
    pointer-events: none;
}

.home-hero-content[b-9sswuqwjzz] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.home-hero-text[b-9sswuqwjzz] {
    flex: 1 1 320px;
}

.home-hero-eyebrow[b-9sswuqwjzz] {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 0.5rem;
    font-weight: 600;
}

.home-hero-title[b-9sswuqwjzz] {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 0.5rem;
    color: #ffffff;
}

.home-hero-sub[b-9sswuqwjzz] {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    max-width: 560px;
}

.home-hero-actions[b-9sswuqwjzz] {
    position: relative;
    z-index: 1;
}

.home-cta[b-9sswuqwjzz] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 44px;
    padding: 0 1.25rem;
    background-color: #ffffff;
    color: var(--ligma-brand-mid, #003a66);
    border: none;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.1s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    font-family: inherit;
}

.home-cta:hover[b-9sswuqwjzz] {
    background-color: #f1f7ff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
}

.home-cta:active[b-9sswuqwjzz] {
    transform: translateY(1px);
}

.home-cta-icon[b-9sswuqwjzz] {
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
}

/* === Stats === */

.home-stats[b-9sswuqwjzz] {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
}

.home-stat[b-9sswuqwjzz] {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    padding: 0.875rem 1rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.home-stat-label[b-9sswuqwjzz] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 0.25rem;
    font-weight: 500;
}

.home-stat-value[b-9sswuqwjzz] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
}

.home-stat--priority[b-9sswuqwjzz] {
    background: linear-gradient(135deg, rgba(255, 99, 99, 0.25) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-color: rgba(255, 99, 99, 0.35);
}

/* === Toolbar === */

.planner-toolbar[b-9sswuqwjzz] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.planner-search[b-9sswuqwjzz] {
    position: relative;
    flex: 1 1 280px;
    max-width: 420px;
}

.planner-search-icon[b-9sswuqwjzz] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-secondary);
    pointer-events: none;
}

.planner-search-input[b-9sswuqwjzz] {
    width: 100%;
    height: 40px;
    padding: 0 36px 0 38px;
    background-color: var(--bg-color);
    border: 1.5px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-color);
    font-size: 0.9375rem;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}

.planner-search-input:focus[b-9sswuqwjzz],
.planner-search-input:focus-visible[b-9sswuqwjzz] {
    outline: none;
    border-color: var(--ligma-brand-primary, #006bb7);
    box-shadow: 0 0 0 4px rgba(0, 107, 183, 0.15);
}

.planner-search-clear[b-9sswuqwjzz] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: none;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.125rem;
    line-height: 1;
}

.planner-search-clear:hover[b-9sswuqwjzz] {
    background: var(--border-color);
}

.planner-filters[b-9sswuqwjzz] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.planner-chip[b-9sswuqwjzz] {
    height: 36px;
    padding: 0 1rem;
    background-color: var(--bg-color);
    color: var(--text-color);
    border: 1.5px solid var(--border-color);
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
}

.planner-chip:hover[b-9sswuqwjzz] {
    border-color: var(--ligma-brand-primary, #006bb7);
}

.planner-chip.is-active[b-9sswuqwjzz] {
    background-color: var(--ligma-brand-primary, #006bb7);
    color: #ffffff;
    border-color: var(--ligma-brand-primary, #006bb7);
}

.planner-chip--high.is-active[b-9sswuqwjzz] { background-color: #dc2626; border-color: #dc2626; }
.planner-chip--medium.is-active[b-9sswuqwjzz] { background-color: #d97706; border-color: #d97706; }
.planner-chip--low.is-active[b-9sswuqwjzz] { background-color: #16a34a; border-color: #16a34a; }

/* === Board === */

.planner-board[b-9sswuqwjzz] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.planner-column[b-9sswuqwjzz] {
    background-color: var(--bg-secondary);
    border: 1.5px solid var(--border-color);
    border-radius: 14px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 60vh;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.planner-column.is-drag-over[b-9sswuqwjzz] {
    background-color: color-mix(in srgb, var(--ligma-brand-primary, #006bb7) 6%, var(--bg-secondary));
    border-color: var(--ligma-brand-primary, #006bb7);
    border-style: dashed;
}

.planner-column-head[b-9sswuqwjzz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--border-color);
}

.planner-column-title[b-9sswuqwjzz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--text-color);
}

.planner-column-count[b-9sswuqwjzz] {
    background-color: var(--bg-color);
    color: var(--text-secondary);
    border-radius: 999px;
    padding: 0.125rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid var(--border-color);
    min-width: 28px;
    text-align: center;
}

.column-todo .planner-column-head[b-9sswuqwjzz] { border-bottom-color: var(--ligma-brand-primary, #006bb7); }
.column-progress .planner-column-head[b-9sswuqwjzz] { border-bottom-color: #d97706; }
.column-done .planner-column-head[b-9sswuqwjzz] { border-bottom-color: #16a34a; }

.planner-column-list[b-9sswuqwjzz] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    flex: 1;
}

.planner-empty[b-9sswuqwjzz] {
    border: 1.5px dashed var(--border-color);
    border-radius: 10px;
    padding: 2rem 1rem;
    text-align: center;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

/* === Card === */

.planner-card[b-9sswuqwjzz] {
    position: relative;
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 0.875rem 1rem 0.75rem 1.25rem;
    cursor: grab;
    transition: box-shadow 0.18s ease, transform 0.12s ease, border-color 0.15s ease;
    user-select: none;
}

.planner-card:hover[b-9sswuqwjzz] {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    border-color: color-mix(in srgb, var(--ligma-brand-primary, #006bb7) 30%, var(--border-color));
    transform: translateY(-1px);
}

.planner-card:active[b-9sswuqwjzz] {
    cursor: grabbing;
}

.planner-card.is-dragging[b-9sswuqwjzz] {
    opacity: 0.4;
    transform: scale(0.97);
}

.planner-card-priority-mark[b-9sswuqwjzz] {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 10px 0 0 10px;
    background-color: var(--ligma-brand-primary, #006bb7);
}

.planner-card.priority-high .planner-card-priority-mark[b-9sswuqwjzz] { background-color: #dc2626; }
.planner-card.priority-medium .planner-card-priority-mark[b-9sswuqwjzz] { background-color: #d97706; }
.planner-card.priority-low .planner-card-priority-mark[b-9sswuqwjzz] { background-color: #16a34a; }

.planner-card-head[b-9sswuqwjzz] {
    margin-bottom: 0.25rem;
}

.planner-card-title[b-9sswuqwjzz] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-color);
    margin: 0;
    line-height: 1.35;
}

.planner-card.is-done .planner-card-title[b-9sswuqwjzz] {
    text-decoration: line-through;
    color: var(--text-secondary);
}

.planner-card-desc[b-9sswuqwjzz] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    margin: 0.25rem 0 0.5rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}

.planner-card-foot[b-9sswuqwjzz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.planner-card-priority[b-9sswuqwjzz] {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.planner-card.priority-high .planner-card-priority[b-9sswuqwjzz] { color: #dc2626; }
.planner-card.priority-medium .planner-card-priority[b-9sswuqwjzz] { color: #d97706; }
.planner-card.priority-low .planner-card-priority[b-9sswuqwjzz] { color: #16a34a; }

.planner-card-date[b-9sswuqwjzz] {
    font-variant-numeric: tabular-nums;
}

/* === Card actions (only visible on hover/focus) === */

.planner-card-actions[b-9sswuqwjzz] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    display: flex;
    gap: 0.25rem;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.planner-card:hover .planner-card-actions[b-9sswuqwjzz],
.planner-card:focus-within .planner-card-actions[b-9sswuqwjzz] {
    opacity: 1;
}

.planner-card-action[b-9sswuqwjzz] {
    width: 26px;
    height: 26px;
    border: none;
    background-color: var(--bg-secondary);
    color: var(--text-color);
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.planner-card-action:hover[b-9sswuqwjzz] {
    background-color: var(--border-color);
    transform: scale(1.05);
}

.planner-card-action--ok[b-9sswuqwjzz] {
    background-color: rgba(22, 163, 74, 0.15);
    color: #15803d;
}

.planner-card-action--ok:hover[b-9sswuqwjzz] {
    background-color: #16a34a;
    color: #ffffff;
}

.planner-card-action--del[b-9sswuqwjzz] {
    background-color: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.planner-card-action--del:hover[b-9sswuqwjzz] {
    background-color: #dc2626;
    color: #ffffff;
}

/* === Quick add === */

.planner-quick-add[b-9sswuqwjzz] {
    margin-top: auto;
    padding-top: 0.5rem;
}

.planner-quick-input[b-9sswuqwjzz] {
    width: 100%;
    height: 38px;
    padding: 0 0.875rem;
    background-color: var(--bg-color);
    border: 1.5px dashed var(--border-color);
    border-radius: 8px;
    color: var(--text-color);
    font-size: 0.875rem;
    font-family: inherit;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}

.planner-quick-input[b-9sswuqwjzz]::placeholder {
    color: var(--text-secondary);
    opacity: 0.7;
}

.planner-quick-input:focus[b-9sswuqwjzz],
.planner-quick-input:focus-visible[b-9sswuqwjzz] {
    outline: none;
    border-color: var(--ligma-brand-primary, #006bb7);
    border-style: solid;
    background-color: var(--bg-color);
    box-shadow: 0 0 0 4px rgba(0, 107, 183, 0.12);
}

/* === Modal === */

.modal-overlay[b-9sswuqwjzz] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation: fadeIn-b-9sswuqwjzz 0.15s ease-out;
}

.modal-content[b-9sswuqwjzz] {
    background: var(--bg-color);
    color: var(--text-color);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    min-width: 480px;
    max-width: 640px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
    animation: slideUp-b-9sswuqwjzz 0.22s ease-out;
    overflow: hidden;
}

.modal-header[b-9sswuqwjzz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    background: var(--ligma-brand-gradient, linear-gradient(135deg, #006bb7, #003a66));
    color: #ffffff;
}

.modal-header h4[b-9sswuqwjzz] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
}

.modal-close[b-9sswuqwjzz] {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.12);
    border: none;
    color: #ffffff;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 1;
    transition: background-color 0.15s ease;
    font-family: inherit;
}

.modal-close:hover[b-9sswuqwjzz] {
    background: rgba(255, 255, 255, 0.22);
}

.modal-body[b-9sswuqwjzz] {
    padding: 1.5rem;
}

.modal-footer[b-9sswuqwjzz] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.btn-cancel[b-9sswuqwjzz],
.btn-save[b-9sswuqwjzz] {
    height: 40px;
    padding: 0 1.25rem;
    border: 1.5px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.9375rem;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.15s ease;
}

.btn-cancel[b-9sswuqwjzz] {
    background: var(--bg-color);
    color: var(--text-color);
}

.btn-cancel:hover[b-9sswuqwjzz] {
    background: var(--bg-secondary);
}

.btn-save[b-9sswuqwjzz] {
    background: var(--ligma-brand-gradient, linear-gradient(135deg, #006bb7, #003a66));
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(0, 107, 183, 0.25);
}

.btn-save:hover[b-9sswuqwjzz] {
    filter: brightness(1.08);
    box-shadow: 0 6px 16px rgba(0, 107, 183, 0.35);
}

@keyframes fadeIn-b-9sswuqwjzz {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp-b-9sswuqwjzz {
    from { opacity: 0; transform: translateY(20px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* === Responsive === */

@media (max-width: 1024px) {
    .planner-board[b-9sswuqwjzz] {
        grid-template-columns: 1fr;
    }
    .home-hero-title[b-9sswuqwjzz] { font-size: 1.625rem; }
}

@media (max-width: 600px) {
    .home-hero[b-9sswuqwjzz] { padding: 1.5rem; }
    .home-hero-title[b-9sswuqwjzz] { font-size: 1.375rem; }
    .home-stats[b-9sswuqwjzz] { grid-template-columns: repeat(2, 1fr); }
    .modal-content[b-9sswuqwjzz] { min-width: 0; width: calc(100vw - 2rem); }
}
/* /Components/Pages/ImportFec.razor.rz.scp.css */
/* Barre d'action sticky avec design différencié */
.fec-action-bar[b-2is9afxrii] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: linear-gradient(135deg, #1a237e 0%, #283593 100%);
    border-radius: 0.5rem;
    padding: 1rem 1.5rem;
    box-shadow: 0 4px 12px rgba(26, 35, 126, 0.3);
    margin-bottom: 0.25rem;
    animation: fec-slide-in-b-2is9afxrii 0.35s ease-out;
}

@keyframes fec-slide-in-b-2is9afxrii {
    from {
        opacity: 0;
        transform: translateY(-1rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

[b-2is9afxrii] html.dark-mode .fec-action-bar {
    background: linear-gradient(135deg, #0d1b2a 0%, #1b2838 100%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.fec-action-bar-content[b-2is9afxrii] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.fec-summary-badges[b-2is9afxrii] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

/* Badges plus visibles sur le fond sombre */
.fec-summary-badges[b-2is9afxrii]  .rz-badge {
    font-size: 0.8rem;
    padding: 0.35rem 0.75rem;
    font-weight: 600;
}

/* Assurer que les textes dans la barre sont blancs */
.fec-action-bar[b-2is9afxrii]  .rz-text {
    color: #ffffff;
}

/* Ajustement responsive */
@media (max-width: 768px) {
    .fec-action-bar-content[b-2is9afxrii] {
        flex-direction: column;
        align-items: stretch;
    }
    
    .fec-summary-badges[b-2is9afxrii] {
        justify-content: center;
    }
}

/* Tooltip sur les badges */
.fec-summary-badges > span[b-2is9afxrii] {
    position: relative;
    cursor: help;
}
/* /Components/Pages/TftPage.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   TftPage – Scoped CSS
   ═══════════════════════════════════════════════════════════════ */

/* ── Empty / Loading / Setup ─────────────────────────────────── */
.tf-empty-state[b-t6db66fvjc],
.tf-loading[b-t6db66fvjc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 400px;
    color: #64748b;
}
.tf-empty-state h3[b-t6db66fvjc],
.tf-loading p[b-t6db66fvjc] {
    margin: 0;
    font-weight: 500;
}

.tf-setup[b-t6db66fvjc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 500px;
    text-align: center;
}
.tf-setup h2[b-t6db66fvjc] { margin: 0; font-weight: 700; color: #1e293b; }
.tf-setup p[b-t6db66fvjc]  { margin: 0; color: #64748b; max-width: 500px; }

.tf-setup-icon[b-t6db66fvjc] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    display: flex;
    align-items: center;
    justify-content: center;
}
.tf-setup-icon[b-t6db66fvjc]  .rzi {
    font-size: 2.5rem;
    color: #2563eb;
}

.tf-setup-form[b-t6db66fvjc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

/* ── Header ──────────────────────────────────────────────────── */
.tf-header[b-t6db66fvjc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.25rem 1.75rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
    border-radius: 14px;
    margin-bottom: 1.5rem;
    color: #fff;
}
.tf-header-left[b-t6db66fvjc] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.tf-header-left h1[b-t6db66fvjc] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.tf-header-left h1[b-t6db66fvjc]  .rzi {
    font-size: 1.5rem;
}
.tf-badge-meta[b-t6db66fvjc] {
    font-size: 0.78rem;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.tf-header-actions[b-t6db66fvjc] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Buttons ─────────────────────────────────────────────────── */
.tf-btn[b-t6db66fvjc] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border-radius: 8px;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}
.tf-btn[b-t6db66fvjc]  .rzi { font-size: 1rem; }

.tf-btn-outline[b-t6db66fvjc] {
    background: transparent;
    border-color: rgba(255,255,255,0.3);
    color: #fff;
}
.tf-btn-outline:hover[b-t6db66fvjc] {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.5);
}

.tf-btn-success[b-t6db66fvjc] {
    background: #059669;
    color: #fff;
    border-color: #059669;
}
.tf-btn-success:hover[b-t6db66fvjc] {
    background: #047857;
}

/* ── KPI Grid ────────────────────────────────────────────────── */
.tf-kpi-grid[b-t6db66fvjc] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.tf-kpi-card[b-t6db66fvjc] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.1rem 1.25rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    transition: transform 0.15s, box-shadow 0.15s;
}
.tf-kpi-card:hover[b-t6db66fvjc] {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.tf-kpi-card--check[b-t6db66fvjc] {
    border-style: dashed;
}

.tf-kpi-icon[b-t6db66fvjc] {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tf-kpi-icon[b-t6db66fvjc]  .rzi { font-size: 1.3rem; }

.tf-kpi-content[b-t6db66fvjc] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
}
.tf-kpi-label[b-t6db66fvjc] {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.tf-kpi-value[b-t6db66fvjc] {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.tf-kpi-bar-wrap[b-t6db66fvjc] {
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #f1f5f9;
    margin-top: 0.35rem;
    overflow: hidden;
}
.tf-kpi-bar[b-t6db66fvjc] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s ease;
}

/* ── Table Container ─────────────────────────────────────────── */
.tf-table-container[b-t6db66fvjc] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
}
.tf-table-scroll[b-t6db66fvjc] {
    overflow-x: auto;
    max-height: 75vh;
    overflow-y: auto;
}

/* ── Table ────────────────────────────────────────────────────── */
.tf-table[b-t6db66fvjc] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.82rem;
}
.tf-table thead[b-t6db66fvjc] {
    position: sticky;
    top: 0;
    z-index: 20;
}
.tf-table thead tr[b-t6db66fvjc] {
    background: #1e293b;
    color: #fff;
}
.tf-table th[b-t6db66fvjc] {
    padding: 0.65rem 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
    border-bottom: 2px solid #334155;
}

/* Column widths */
.tf-col-code[b-t6db66fvjc]    { width: 80px; min-width: 80px; text-align: center; }
.tf-col-libelle[b-t6db66fvjc] { width: 280px; min-width: 280px; text-align: left; }
.tf-col-mois[b-t6db66fvjc]    { width: 110px; min-width: 110px; text-align: right; }
.tf-col-total[b-t6db66fvjc]   { width: 130px; min-width: 130px; text-align: right; font-weight: 700; }

/* ── Sticky columns ──────────────────────────────────────────── */
.tf-sticky-code[b-t6db66fvjc] {
    position: sticky;
    left: 0;
    z-index: 12;
}
.tf-sticky-lib[b-t6db66fvjc] {
    position: sticky;
    left: 80px;
    z-index: 12;
}
.tf-sticky-total[b-t6db66fvjc] {
    position: sticky;
    right: 0;
    z-index: 12;
}

/* Sticky header cells */
thead .tf-sticky-code[b-t6db66fvjc],
thead .tf-sticky-lib[b-t6db66fvjc],
thead .tf-sticky-total[b-t6db66fvjc] {
    z-index: 25;
    background: #1e293b !important;
}
thead .tf-sticky-total[b-t6db66fvjc] {
    box-shadow: -2px 0 6px rgba(0,0,0,0.15);
}

/* ── Sticky cell bg classes ──────────────────────────────────── */
.tf-bg-white[b-t6db66fvjc]    { background-color: #ffffff !important; }
.tf-bg-section[b-t6db66fvjc]  { background-color: #e0ecff !important; }
.tf-bg-subtotal[b-t6db66fvjc] { background-color: #f0f4f8 !important; }
.tf-bg-check[b-t6db66fvjc]    { background-color: #fef9c3 !important; }

/* Shadow on sticky columns */
tbody .tf-sticky-lib[b-t6db66fvjc] {
    box-shadow: 4px 0 8px rgba(0,0,0,0.06);
    border-right: 1px solid #e2e8f0;
}
tbody .tf-sticky-total[b-t6db66fvjc] {
    box-shadow: -4px 0 8px rgba(0,0,0,0.06);
    border-left: 1px solid #e2e8f0;
}

/* ── Row styles ──────────────────────────────────────────────── */
.tf-table td[b-t6db66fvjc] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    white-space: nowrap;
}

.tf-row-section td[b-t6db66fvjc] {
    background-color: #e0ecff;
    font-weight: 700;
    border-bottom-color: #bdd0f7;
}
.tf-row-subtotal td[b-t6db66fvjc] {
    background-color: #f0f4f8;
    font-weight: 600;
    border-bottom-color: #e2e8f0;
}
.tf-row-detail td[b-t6db66fvjc] {
    background-color: #ffffff;
}
.tf-row-detail:hover td[b-t6db66fvjc] {
    background-color: #f8fafc;
}
.tf-row-check td[b-t6db66fvjc] {
    background-color: #fef9c3;
    font-style: italic;
    font-weight: 600;
    border-bottom-color: #fde68a;
}

/* ── Code Badges ─────────────────────────────────────────────── */
.tf-code-badge[b-t6db66fvjc] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    letter-spacing: 0.03em;
}
.tf-code--section[b-t6db66fvjc] {
    background: #1e40af;
    color: #fff;
}
.tf-code--check[b-t6db66fvjc] {
    background: #b45309;
    color: #fff;
}
.tf-code--detail[b-t6db66fvjc] {
    background: #f1f5f9;
    color: #475569;
}

/* ── Libellé indentation ─────────────────────────────────────── */
.tf-lib-indent1[b-t6db66fvjc] {
    padding-left: 1rem;
    font-weight: 600;
}
.tf-lib-indent2[b-t6db66fvjc] {
    padding-left: 2rem;
    color: #475569;
}

/* ── Negative values ─────────────────────────────────────────── */
.tf-neg[b-t6db66fvjc] {
    color: #dc2626;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1200px) {
    .tf-kpi-grid[b-t6db66fvjc] {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .tf-kpi-grid[b-t6db66fvjc] {
        grid-template-columns: 1fr;
    }
    .tf-header[b-t6db66fvjc] {
        padding: 1rem;
    }
    .tf-header-left h1[b-t6db66fvjc] {
        font-size: 1.1rem;
    }
}
/* /Components/Shared/EmptyStateCta.razor.rz.scp.css */
.empty-state[b-0dtcd9452a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    text-align: center;
    padding: 2.5rem 1.5rem;
    border: 1px dashed var(--rz-base-300);
    border-radius: 0.75rem;
    background: var(--rz-base-50, transparent);
}

.empty-state[b-0dtcd9452a]  .rzi {
    font-size: 2.4rem;
    color: var(--rz-text-disabled-color);
}

.empty-state-titre[b-0dtcd9452a] {
    margin: 0;
    font-weight: 600;
}

.empty-state-detail[b-0dtcd9452a] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--rz-text-secondary-color);
    max-width: 34rem;
}

.empty-state-actions[b-0dtcd9452a] {
    margin-top: 0.6rem;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
}
/* /Components/Shared/ModuleHero.razor.rz.scp.css */
.module-hero[b-xqyg56hw8s] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
    border-radius: 0.75rem;
    background: var(--ligma-brand-gradient);
    color: var(--ligma-brand-on-dark);
}

.module-hero-title[b-xqyg56hw8s] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.module-hero-title h1[b-xqyg56hw8s] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.module-hero-title[b-xqyg56hw8s]  .rzi {
    font-size: 1.6rem;
    opacity: 0.9;
}

.module-hero-sub[b-xqyg56hw8s] {
    margin: 0.25rem 0 0;
    font-size: 0.85rem;
    color: var(--ligma-brand-on-dark-muted);
}

.module-hero-actions[b-xqyg56hw8s] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Sur fond de marque : le bouton primaire devient blanc (texte marine),
   les outlined passent en blanc translucide — lisibilité garantie. */
.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-primary {
    background: #ffffff;
    color: var(--ligma-brand-deep);
}

.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-primary:hover {
    background: rgba(255, 255, 255, 0.88);
}

.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-variant-outlined,
.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-secondary,
.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-info {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: var(--ligma-brand-on-dark);
}

.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-variant-outlined:hover,
.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-secondary:hover,
.module-hero-actions[b-xqyg56hw8s]  .rz-button.rz-info:hover {
    background: rgba(255, 255, 255, 0.22);
}

@media (max-width: 48rem) {
    .module-hero[b-xqyg56hw8s] {
        padding: 1rem;
    }
}
/* /Components/Shared/ReportHero.razor.rz.scp.css */
/* === Shared report hero — used by Bilan, Balance, Compte de Résultat, TFT, Balance Âgée === */

.report-hero[b-ecq0ha5klb] {
    position: relative;
    background: var(--ligma-brand-gradient, linear-gradient(135deg, #006bb7 0%, #003a66 60%, #1a1a4e 100%));
    color: #ffffff;
    border-radius: 16px;
    padding: 1.75rem 2rem 1.5rem;
    margin-bottom: 1.25rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 58, 102, 0.18);
}

.report-hero-bg[b-ecq0ha5klb] {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 12% 88%, rgba(255, 255, 255, 0.08) 0, transparent 50%),
        radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.06) 0, transparent 50%);
    pointer-events: none;
}

.report-hero-content[b-ecq0ha5klb] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.report-hero-eyebrow[b-ecq0ha5klb] {
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.72);
    margin: 0 0 0.4rem;
    font-weight: 600;
}

.report-hero-title[b-ecq0ha5klb] {
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 0.85rem;
    color: #ffffff;
}

.report-hero-meta[b-ecq0ha5klb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

[b-ecq0ha5klb] .report-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.7rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
}

.report-hero-actions[b-ecq0ha5klb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

[b-ecq0ha5klb] .report-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 36px;
    padding: 0 0.85rem;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
    font-family: inherit;
    border: 1px solid transparent;
}

[b-ecq0ha5klb] .report-btn:active { transform: translateY(1px); }

[b-ecq0ha5klb] .report-btn--ghost {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

[b-ecq0ha5klb] .report-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.32);
}

[b-ecq0ha5klb] .report-btn--solid {
    background: #ffffff;
    color: var(--ligma-brand-mid, #003a66);
    border-color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

[b-ecq0ha5klb] .report-btn--solid:hover {
    background: #f1f7ff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

@media (max-width: 720px) {
    .report-hero[b-ecq0ha5klb] { padding: 1.25rem; }
    .report-hero-title[b-ecq0ha5klb] { font-size: 1.375rem; }
    .report-hero-actions[b-ecq0ha5klb] { width: 100%; }
    [b-ecq0ha5klb] .report-btn { flex: 1; justify-content: center; }
}
