/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.taxlegal-auth-layout[b-quv5zbgeov] {
    min-height: 100vh;
    background: #f6f8fb;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
#components-reconnect-modal[b-1ucjd3ezc6] {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1400;
    overflow: hidden;
    background-color: transparent;
    border: none;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
}

    #components-reconnect-modal[b-1ucjd3ezc6]::backdrop {
        background: rgba(10, 16, 28, 0.5);
    }

    #components-reconnect-modal.components-reconnect-show[b-1ucjd3ezc6],
    #components-reconnect-modal[open][b-1ucjd3ezc6],
    #components-reconnect-modal.components-reconnect-failed[b-1ucjd3ezc6],
    #components-reconnect-modal.components-reconnect-repeated-attempt[b-1ucjd3ezc6],
    #components-reconnect-modal.components-reconnect-paused[b-1ucjd3ezc6],
    #components-reconnect-modal.components-reconnect-resume-failed[b-1ucjd3ezc6],
    #components-reconnect-modal.components-pause[b-1ucjd3ezc6],
    #components-reconnect-modal.components-resume-failed[b-1ucjd3ezc6] {
        display: flex;
        align-items: center;
        justify-content: center;
    }

.components-reconnect-backdrop[b-1ucjd3ezc6] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: radial-gradient(90% 60% at 80% 0%, color-mix(in srgb, var(--mud-palette-primary, #594AE2) 12%, transparent), transparent 60%), radial-gradient(80% 55% at 0% 100%, color-mix(in srgb, var(--mud-palette-info, #2196f3) 16%, transparent), transparent 62%), rgba(8, 12, 20, 0.5);
}

.components-reconnect-surface[b-1ucjd3ezc6] {
    width: min(480px, 100%);
    border-radius: var(--mud-default-borderradius, 12px);
    border: 1px solid color-mix(in srgb, var(--mud-palette-lines-default, #e0e0e0) 70%, transparent);
    background: var(--mud-palette-surface, #fff);
    box-shadow: var(--mud-elevation-24, 0 16px 30px rgba(0, 0, 0, 0.28));
    color: var(--mud-palette-text-primary, #1f2937);
    padding: 20px 20px 18px;
}

.components-reconnect-header[b-1ucjd3ezc6] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

    .components-reconnect-header h2[b-1ucjd3ezc6] {
        margin: 0;
        font-size: 1.05rem;
        font-weight: 600;
        line-height: 1.3;
    }

.components-reconnect-status-dot[b-1ucjd3ezc6] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--mud-palette-warning, #f59e0b);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--mud-palette-warning, #f59e0b) 25%, transparent);
}

.components-reconnect-supporting[b-1ucjd3ezc6],
.components-reconnect-message[b-1ucjd3ezc6] {
    margin: 0;
    line-height: 1.45;
    font-size: 0.95rem;
}

.components-reconnect-supporting[b-1ucjd3ezc6] {
    color: var(--mud-palette-text-secondary, #52607a);
    margin-bottom: 14px;
}

.components-reconnect-message[b-1ucjd3ezc6] {
    font-weight: 500;
}

.components-reconnect-danger[b-1ucjd3ezc6] {
    color: var(--mud-palette-error, #b00020);
}

.components-reconnect-actions[b-1ucjd3ezc6] {
    margin-top: 14px;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.components-reconnect-first-attempt-visible[b-1ucjd3ezc6],
.components-reconnect-repeated-attempt-visible[b-1ucjd3ezc6],
.components-reconnect-failed-visible[b-1ucjd3ezc6],
.components-pause-visible[b-1ucjd3ezc6],
.components-resume-failed-visible[b-1ucjd3ezc6] {
    display: none;
}

dialog[open].components-reconnect-show .components-reconnect-first-attempt-visible[b-1ucjd3ezc6] {
    display: block;
}

dialog[open].components-reconnect-show .components-rejoin-loader[b-1ucjd3ezc6] {
    display: inline-flex;
}

dialog[open].components-reconnect-failed .components-reconnect-failed-visible[b-1ucjd3ezc6] {
    display: block;
}

dialog[open].components-reconnect-failed #components-reconnect-button[b-1ucjd3ezc6] {
    display: block;
}

dialog[open].components-reconnect-repeated-attempt .components-reconnect-repeated-attempt-visible[b-1ucjd3ezc6] {
    display: block;
}

dialog[open].components-reconnect-repeated-attempt .components-rejoin-loader[b-1ucjd3ezc6] {
    display: inline-flex;
}

dialog[open].components-reconnect-paused .components-pause-visible[b-1ucjd3ezc6],
dialog[open].components-pause .components-pause-visible[b-1ucjd3ezc6] {
    display: block;
}

dialog[open].components-reconnect-paused #components-resume-button[b-1ucjd3ezc6],
dialog[open].components-pause #components-resume-button[b-1ucjd3ezc6],
dialog[open].components-reconnect-resume-failed #components-resume-button[b-1ucjd3ezc6],
dialog[open].components-resume-failed #components-resume-button[b-1ucjd3ezc6] {
    display: block;
}

dialog[open].components-reconnect-resume-failed .components-resume-failed-visible[b-1ucjd3ezc6],
dialog[open].components-resume-failed .components-resume-failed-visible[b-1ucjd3ezc6] {
    display: block;
}

.components-rejoin-loader[b-1ucjd3ezc6] {
    display: none;
    margin-bottom: 10px;
    gap: 8px;
}

    .components-rejoin-loader div[b-1ucjd3ezc6] {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background-color: var(--mud-palette-primary, #594AE2);
        animation: reconnect-pulse-b-1ucjd3ezc6 1.2s infinite ease-in-out both;
    }

        .components-rejoin-loader div:nth-child(1)[b-1ucjd3ezc6] {
            animation-delay: -0.24s;
        }

        .components-rejoin-loader div:nth-child(2)[b-1ucjd3ezc6] {
            animation-delay: -0.12s;
        }

@keyframes reconnect-pulse-b-1ucjd3ezc6 {
    0%, 80%, 100% {
        transform: scale(0);
    }

    40% {
        transform: scale(1);
    }
}

#components-reconnect-button[b-1ucjd3ezc6],
#components-resume-button[b-1ucjd3ezc6] {
    display: none;
    min-width: 92px;
    cursor: pointer;
    padding: 8px 16px;
    border: 1px solid transparent;
    border-radius: 999px;
    background-color: var(--mud-palette-primary, #594AE2);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    transition: filter 140ms ease, transform 140ms ease;
}

    #components-reconnect-button:hover[b-1ucjd3ezc6],
    #components-resume-button:hover[b-1ucjd3ezc6] {
        filter: brightness(0.95);
    }

    #components-reconnect-button:active[b-1ucjd3ezc6],
    #components-resume-button:active[b-1ucjd3ezc6] {
        transform: translateY(1px);
    }

@media (max-width: 600px) {
    .components-reconnect-backdrop[b-1ucjd3ezc6] {
        padding: 14px;
    }

    .components-reconnect-surface[b-1ucjd3ezc6] {
        padding: 16px;
    }
}
/* /Components/Pages/Admin/AdminSettings.razor.rz.scp.css */
.admin-settings-shell[b-996krsa2tp] {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.admin-settings-menu[b-996krsa2tp] {
    position: sticky;
    top: 88px;
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: rgba(255, 255, 255, 0.92);
}

.admin-settings-menu__item[b-996krsa2tp] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding: 12px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: transparent;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
}

.admin-settings-menu__item:hover:not(:disabled)[b-996krsa2tp],
.admin-settings-menu__item--active[b-996krsa2tp] {
    border-color: rgba(37, 99, 235, 0.22);
    background: rgba(37, 99, 235, 0.07);
    color: var(--taxlegal-primary);
}

.admin-settings-menu__item:disabled[b-996krsa2tp] {
    cursor: not-allowed;
    opacity: 0.58;
}

.admin-settings-menu__item span[b-996krsa2tp] {
    display: grid;
    gap: 2px;
}

.admin-settings-menu__item small[b-996krsa2tp],
.admin-settings-menu__future .mud-typography-caption[b-996krsa2tp] {
    color: var(--taxlegal-muted);
}

.admin-settings-menu__future[b-996krsa2tp] {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--taxlegal-border-soft);
}

.admin-settings-content[b-996krsa2tp] {
    min-width: 0;
}

.admin-settings-section[b-996krsa2tp] {
    display: grid;
    gap: 18px;
}

.admin-settings-card-grid[b-996krsa2tp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}

.admin-settings-card[b-996krsa2tp] {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 126px;
    padding: 18px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 18px;
    background: #fff;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-settings-card:hover:not(:disabled)[b-996krsa2tp] {
    border-color: rgba(37, 99, 235, 0.34);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.admin-settings-card--disabled[b-996krsa2tp] {
    cursor: not-allowed;
    opacity: 0.62;
}

.admin-settings-card__icon[b-996krsa2tp] {
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: rgba(37, 99, 235, 0.09);
    color: var(--taxlegal-primary);
}

.admin-settings-card__body[b-996krsa2tp] {
    display: grid;
    gap: 4px;
    flex: 1 1 auto;
}

.admin-settings-card__body small[b-996krsa2tp] {
    color: var(--taxlegal-muted);
    line-height: 1.35;
}

.admin-branding-panel[b-996krsa2tp] {
    display: grid;
    gap: 18px;
    padding: 18px;
}

.admin-branding-panel__header[b-996krsa2tp] {
    padding: 0;
}

.admin-branding-panel__content[b-996krsa2tp] {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 18px;
}

.admin-branding-preview[b-996krsa2tp] {
    display: grid;
    place-items: center;
    min-height: 152px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: linear-gradient(135deg, #f8fafc 0%, #eef6ff 100%);
    color: var(--taxlegal-primary);
    overflow: hidden;
}

.admin-branding-preview img[b-996krsa2tp] {
    max-width: 152px;
    max-height: 120px;
    object-fit: contain;
}

.admin-branding-form[b-996krsa2tp] {
    display: grid;
    gap: 12px;
}

.admin-branding-upload[b-996krsa2tp] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 62px;
    padding: 12px 14px;
    border: 1px dashed rgba(37, 99, 235, 0.36);
    border-radius: var(--taxlegal-radius-card);
    background: rgba(37, 99, 235, 0.04);
    color: var(--taxlegal-primary);
    text-align: left;
    cursor: pointer;
}

.admin-branding-upload:disabled[b-996krsa2tp] {
    cursor: not-allowed;
    opacity: 0.65;
}

.admin-branding-upload span[b-996krsa2tp] {
    display: grid;
    gap: 2px;
}

.admin-branding-upload small[b-996krsa2tp],
.admin-branding-meta[b-996krsa2tp] {
    color: var(--taxlegal-muted);
}

.admin-branding-actions[b-996krsa2tp] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 720px) {
    .admin-settings-shell[b-996krsa2tp] {
        grid-template-columns: 1fr;
    }

    .admin-settings-menu[b-996krsa2tp] {
        position: static;
    }

    .admin-branding-panel__content[b-996krsa2tp] {
        grid-template-columns: 1fr;
    }

    .admin-branding-preview img[b-996krsa2tp] {
        max-width: 220px;
    }
}
/* /Components/Pages/Admin/Companies/CompanyDialog.razor.rz.scp.css */
.company-logo-field[b-nwskp3qyo1] {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.company-logo-preview[b-nwskp3qyo1] {
    display: grid;
    place-items: center;
    min-height: 104px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
    color: var(--taxlegal-muted);
    overflow: hidden;
}

.company-logo-preview img[b-nwskp3qyo1] {
    max-width: 100%;
    max-height: 92px;
    object-fit: contain;
}

.company-logo-actions[b-nwskp3qyo1] {
    display: grid;
    gap: 10px;
}

.company-logo-upload[b-nwskp3qyo1] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 56px;
    padding: 10px 12px;
    border: 1px dashed rgba(37, 99, 235, 0.36);
    border-radius: var(--taxlegal-radius-card);
    background: rgba(37, 99, 235, 0.04);
    color: var(--taxlegal-primary);
    text-align: left;
    cursor: pointer;
}

.company-logo-upload:disabled[b-nwskp3qyo1] {
    cursor: not-allowed;
    opacity: 0.65;
}

.company-logo-upload span[b-nwskp3qyo1] {
    display: grid;
    gap: 2px;
}

.company-logo-upload small[b-nwskp3qyo1],
.company-logo-actions__footer[b-nwskp3qyo1] {
    color: var(--taxlegal-muted);
}

.company-logo-actions__footer[b-nwskp3qyo1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

@media (max-width: 640px) {
    .company-logo-field[b-nwskp3qyo1] {
        grid-template-columns: 1fr;
    }

    .company-logo-actions__footer[b-nwskp3qyo1] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Components/Pages/Admin/Demands/SysAdminDemandCapture.razor.rz.scp.css */
.sysadmin-capture[b-a6xqlza1mu] {
    container: demand-capture / inline-size;
}

.sysadmin-capture__shell[b-a6xqlza1mu] {
    display: grid;
    grid-template-columns: 272px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.sysadmin-capture__rail[b-a6xqlza1mu] {
    position: sticky;
    top: 88px;
    display: grid;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.sysadmin-capture__rail-section[b-a6xqlza1mu] {
    display: grid;
    gap: 10px;
}

.sysadmin-capture__rail-section + .sysadmin-capture__rail-section[b-a6xqlza1mu] {
    padding-top: 14px;
    border-top: 1px solid var(--taxlegal-border-soft);
}

.sysadmin-capture__rail-heading[b-a6xqlza1mu],
.sysadmin-capture__panel-header[b-a6xqlza1mu],
.sysadmin-capture__section-heading[b-a6xqlza1mu],
.sysadmin-capture__queue-header[b-a6xqlza1mu],
.sysadmin-capture__editor-header[b-a6xqlza1mu],
.sysadmin-capture__batch-context[b-a6xqlza1mu],
.sysadmin-capture__processing[b-a6xqlza1mu],
.sysadmin-capture__batch-actions[b-a6xqlza1mu],
.sysadmin-capture__quick-actions[b-a6xqlza1mu],
.sysadmin-capture__mode-switch[b-a6xqlza1mu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.sysadmin-capture__steps[b-a6xqlza1mu] {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sysadmin-capture__steps li[b-a6xqlza1mu] {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--taxlegal-muted);
}

.sysadmin-capture__steps li > span[b-a6xqlza1mu] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(100, 116, 139, .12);
    font-size: .75rem;
    font-weight: 800;
}

.sysadmin-capture__steps li div[b-a6xqlza1mu] {
    display: grid;
    gap: 1px;
}

.sysadmin-capture__steps li small[b-a6xqlza1mu] {
    font-size: .72rem;
}

.sysadmin-capture__steps li.is-current[b-a6xqlza1mu] {
    border-color: rgba(37, 99, 235, .2);
    background: rgba(37, 99, 235, .07);
    color: var(--taxlegal-primary);
}

.sysadmin-capture__steps li.is-current > span[b-a6xqlza1mu] {
    background: var(--taxlegal-primary);
    color: #fff;
}

.sysadmin-capture__steps li.is-complete[b-a6xqlza1mu] {
    color: #166534;
}

.sysadmin-capture__steps li.is-complete > span[b-a6xqlza1mu] {
    background: rgba(22, 163, 74, .13);
}

.sysadmin-capture__summary-line[b-a6xqlza1mu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 34px;
    padding: 6px 8px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: .82rem;
    text-align: left;
}

button.sysadmin-capture__summary-line[b-a6xqlza1mu] {
    cursor: pointer;
}

button.sysadmin-capture__summary-line:hover[b-a6xqlza1mu],
button.sysadmin-capture__summary-line:focus-visible[b-a6xqlza1mu] {
    background: rgba(37, 99, 235, .07);
    outline: 2px solid transparent;
}

.sysadmin-capture__summary-line strong[b-a6xqlza1mu] {
    font-size: .95rem;
}

.sysadmin-capture__summary-line--error strong[b-a6xqlza1mu] {
    color: var(--mud-palette-error);
}

.sysadmin-capture__summary-line--success strong[b-a6xqlza1mu] {
    color: var(--mud-palette-success);
}

.sysadmin-capture__next-action[b-a6xqlza1mu] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .09), rgba(14, 165, 233, .06));
    color: var(--taxlegal-primary);
}

.sysadmin-capture__next-action div[b-a6xqlza1mu] {
    display: grid;
    gap: 3px;
}

.sysadmin-capture__next-action span[b-a6xqlza1mu] {
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
    line-height: 1.4;
}

.sysadmin-capture__content[b-a6xqlza1mu] {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.sysadmin-capture__configuration[b-a6xqlza1mu] {
    display: grid;
    grid-template-columns: minmax(340px, .82fr) minmax(440px, 1.18fr);
    gap: 16px;
    align-items: start;
}

.sysadmin-capture__configuration--manual[b-a6xqlza1mu] {
    grid-template-columns: minmax(0, 1fr);
}

.sysadmin-capture__configuration--manual .sysadmin-capture__companies[b-a6xqlza1mu] {
    max-width: none;
}

.sysadmin-capture__panel[b-a6xqlza1mu],
.sysadmin-capture__queue[b-a6xqlza1mu],
.sysadmin-capture__editor[b-a6xqlza1mu],
.sysadmin-capture__batch-context[b-a6xqlza1mu] {
    min-width: 0;
    padding: var(--taxlegal-panel-padding);
}

.sysadmin-capture__panel-header[b-a6xqlza1mu] {
    align-items: flex-start;
    margin-bottom: 16px;
}

.sysadmin-capture__mode-switch[b-a6xqlza1mu],
.sysadmin-capture__quick-actions[b-a6xqlza1mu] {
    justify-content: flex-start;
}

.sysadmin-capture__mode-switch[b-a6xqlza1mu] {
    margin-bottom: 14px;
}

.sysadmin-capture__quick-actions[b-a6xqlza1mu] {
    margin: 6px 0;
}

.sysadmin-capture__manual-form[b-a6xqlza1mu],
.sysadmin-capture__draft-form[b-a6xqlza1mu] {
    display: block;
    min-width: 0;
}

.sysadmin-capture__manual-form[b-a6xqlza1mu]  .validation-summary-errors,
.sysadmin-capture__draft-form[b-a6xqlza1mu]  .validation-summary-errors {
    margin: 12px 0;
    padding: 12px 16px;
    border: 1px solid rgba(220, 38, 38, .24);
    border-radius: 10px;
    background: rgba(220, 38, 38, .05);
    color: var(--mud-palette-error);
}

.sysadmin-capture__upload[b-a6xqlza1mu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    min-height: 126px;
    padding: 16px;
    border: 1px dashed rgba(37, 99, 235, .52);
    border-radius: 14px;
    background: rgba(37, 99, 235, .045);
    color: var(--mud-palette-text-primary);
    cursor: pointer;
}

.sysadmin-capture__upload:hover:not(:disabled)[b-a6xqlza1mu],
.sysadmin-capture__upload:focus-visible[b-a6xqlza1mu] {
    border-color: var(--mud-palette-primary);
    background: rgba(37, 99, 235, .08);
    outline: 2px solid rgba(37, 99, 235, .18);
    outline-offset: 2px;
}

.sysadmin-capture__upload--compact[b-a6xqlza1mu] {
    min-height: 82px;
}

.sysadmin-capture__upload:disabled[b-a6xqlza1mu] {
    cursor: not-allowed;
    opacity: .6;
}

.sysadmin-capture__documents[b-a6xqlza1mu] {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--taxlegal-border-soft);
}

.sysadmin-capture__section-heading[b-a6xqlza1mu] {
    align-items: flex-start;
}

.sysadmin-capture__section-heading > div[b-a6xqlza1mu] {
    display: grid;
    gap: 2px;
}

.sysadmin-capture__section-heading > span[b-a6xqlza1mu],
.sysadmin-capture__company-cell span[b-a6xqlza1mu],
.sysadmin-capture__company-cell small[b-a6xqlza1mu],
.sysadmin-capture__attachment-item span[b-a6xqlza1mu] {
    color: var(--mud-palette-text-secondary);
}

.sysadmin-capture__attachment-list[b-a6xqlza1mu] {
    display: grid;
    gap: 7px;
}

.sysadmin-capture__attachment-item[b-a6xqlza1mu] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: 10px;
    background: #fff;
}

.sysadmin-capture__attachment-item > div[b-a6xqlza1mu] {
    display: grid;
    gap: 1px;
    min-width: 0;
    margin-right: auto;
}

.sysadmin-capture__attachment-item strong[b-a6xqlza1mu] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sysadmin-capture__company-cell[b-a6xqlza1mu] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sysadmin-capture__company-cell strong[b-a6xqlza1mu],
.sysadmin-capture__company-cell small[b-a6xqlza1mu] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sysadmin-capture__prepare-footer[b-a6xqlza1mu] {
    margin-top: 0;
}

.sysadmin-capture__batch-context[b-a6xqlza1mu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-left: 4px solid var(--mud-palette-primary);
}

.sysadmin-capture__batch-context > div[b-a6xqlza1mu] {
    display: grid;
    gap: 2px;
}

.sysadmin-capture__processing[b-a6xqlza1mu] {
    padding: 14px 16px;
    border: 1px solid rgba(14, 165, 233, .2);
    border-radius: 12px;
    background: rgba(14, 165, 233, .055);
}

.sysadmin-capture__processing[b-a6xqlza1mu]  .mud-progress-linear {
    flex: 1 1 100%;
}

.sysadmin-capture__processing > div[b-a6xqlza1mu] {
    display: grid;
    gap: 1px;
    flex: 1 1 auto;
}

.sysadmin-capture__batch-actions[b-a6xqlza1mu] {
    justify-content: flex-start;
    padding: 4px 0;
}

.sysadmin-capture__workspace[b-a6xqlza1mu] {
    display: grid;
    grid-template-columns: minmax(360px, .85fr) minmax(500px, 1.4fr);
    gap: 16px;
    align-items: start;
}

.sysadmin-capture__queue[b-a6xqlza1mu],
.sysadmin-capture__editor[b-a6xqlza1mu] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sysadmin-capture__queue-header[b-a6xqlza1mu],
.sysadmin-capture__editor-header[b-a6xqlza1mu] {
    align-items: flex-start;
}

.sysadmin-capture__queue-header > div[b-a6xqlza1mu],
.sysadmin-capture__editor-header > div[b-a6xqlza1mu] {
    display: grid;
    gap: 2px;
}

.sysadmin-capture__filters[b-a6xqlza1mu] {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(170px, .75fr);
    gap: 10px;
}

.sysadmin-capture__status-cell[b-a6xqlza1mu] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.sysadmin-capture__resolution-state[b-a6xqlza1mu] {
    display: grid;
    justify-items: start;
    gap: 10px;
    min-height: 300px;
    align-content: center;
    padding: 28px;
    border: 1px dashed var(--taxlegal-border-soft);
    border-radius: 14px;
    background: rgba(248, 250, 252, .72);
}

.sysadmin-capture__resolution-actions[b-a6xqlza1mu] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sysadmin-capture__error-list[b-a6xqlza1mu] {
    display: grid;
    gap: 4px;
    margin: 6px 0 0;
    padding-left: 18px;
}

.sysadmin-capture__editor[b-a6xqlza1mu] {
    container: capture-editor taxlegal-editor / inline-size;
}

.sysadmin-capture__editor .taxlegal-editor-footer[b-a6xqlza1mu] {
    margin-top: 4px;
}

[b-a6xqlza1mu] .sysadmin-capture__companies-grid .mud-table,
[b-a6xqlza1mu] .sysadmin-capture__queue-grid .mud-table {
    min-width: 0;
    max-width: 100%;
}

[b-a6xqlza1mu] .sysadmin-capture__companies-grid .mud-table-container,
[b-a6xqlza1mu] .sysadmin-capture__queue-grid .mud-table-container {
    overflow-x: auto;
}

[b-a6xqlza1mu] .sysadmin-capture__queue-grid .mud-table-row {
    cursor: pointer;
}

[b-a6xqlza1mu] .sysadmin-capture__queue-row--selected {
    background: rgba(37, 99, 235, .08) !important;
    box-shadow: inset 3px 0 var(--mud-palette-primary);
}

[b-a6xqlza1mu] .sysadmin-capture__queue-grid .mud-table-cell {
    vertical-align: top;
}

@container demand-capture (max-width: 1250px) {
    .sysadmin-capture__configuration[b-a6xqlza1mu],
    .sysadmin-capture__workspace[b-a6xqlza1mu] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container demand-capture (max-width: 930px) {
    .sysadmin-capture__shell[b-a6xqlza1mu] {
        grid-template-columns: minmax(0, 1fr);
    }

    .sysadmin-capture__rail[b-a6xqlza1mu] {
        position: static;
    }

    .sysadmin-capture__steps[b-a6xqlza1mu] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sysadmin-capture__steps li[b-a6xqlza1mu] {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .sysadmin-capture__rail-section:nth-child(2)[b-a6xqlza1mu] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sysadmin-capture__rail-heading[b-a6xqlza1mu] {
        grid-column: 1 / -1;
    }
}

@container demand-capture (max-width: 620px) {
    .sysadmin-capture__steps[b-a6xqlza1mu],
    .sysadmin-capture__rail-section:nth-child(2)[b-a6xqlza1mu],
    .sysadmin-capture__filters[b-a6xqlza1mu] {
        grid-template-columns: minmax(0, 1fr);
    }

    .sysadmin-capture__panel-header[b-a6xqlza1mu],
    .sysadmin-capture__batch-context[b-a6xqlza1mu],
    .sysadmin-capture__processing[b-a6xqlza1mu],
    .sysadmin-capture__queue-header[b-a6xqlza1mu],
    .sysadmin-capture__editor-header[b-a6xqlza1mu] {
        align-items: stretch;
        flex-direction: column;
    }

    .sysadmin-capture__mode-switch[b-a6xqlza1mu]  .mud-button-root,
    .sysadmin-capture__batch-actions[b-a6xqlza1mu]  .mud-button-root,
    .sysadmin-capture__processing[b-a6xqlza1mu]  .mud-button-root {
        flex: 1 1 100%;
    }

    .sysadmin-capture__attachment-item[b-a6xqlza1mu] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .sysadmin-capture__attachment-item[b-a6xqlza1mu]  .mud-icon-button {
        margin-left: auto;
    }
}
/* /Components/Pages/Admin/Demands/SysAdminDemandCaptureIssuesDialog.razor.rz.scp.css */
.sysadmin-capture-issues-dialog[b-gh6gjtwsh0] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: min(42rem, 82vw);
}

.sysadmin-capture-issues-dialog__section[b-gh6gjtwsh0],
.sysadmin-capture-issues-dialog__warnings[b-gh6gjtwsh0],
.sysadmin-capture-issues-dialog__confidence[b-gh6gjtwsh0] {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.sysadmin-capture-issues-dialog__header[b-gh6gjtwsh0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
}

.sysadmin-capture-issues-dialog__header > div[b-gh6gjtwsh0] {
    display: grid;
    gap: .15rem;
}

.sysadmin-capture-issues-dialog .mud-alert-message[b-gh6gjtwsh0] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .sysadmin-capture-issues-dialog[b-gh6gjtwsh0] {
        min-width: 0;
        width: 100%;
    }
}
/* /Components/Pages/Admin/Settings/AiSettings.razor.rz.scp.css */
.ai-settings-loading[b-cuq2wvjd3o] {
    display: grid;
    gap: 14px;
}

.ai-settings-stack[b-cuq2wvjd3o] {
    display: grid;
    gap: 16px;
}

.ai-settings-models[b-cuq2wvjd3o] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ai-model-item[b-cuq2wvjd3o] {
    display: grid;
    gap: 2px;
}

.ai-model-item__name[b-cuq2wvjd3o] {
    font-size: 0.88rem;
    font-weight: 600;
}

.ai-model-item__id[b-cuq2wvjd3o] {
    color: var(--taxlegal-muted);
    font-size: 0.74rem;
}

.ai-settings-effort[b-cuq2wvjd3o] {
    max-width: 340px;
}

.ai-model-summary[b-cuq2wvjd3o] {
    padding: 14px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
}

.ai-model-summary__meta[b-cuq2wvjd3o] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.ai-model-summary__meta span[b-cuq2wvjd3o] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: var(--taxlegal-radius-pill);
    background: rgba(2, 132, 199, 0.1);
    color: #0369a1;
    font-size: 0.74rem;
    font-weight: 800;
}

.ai-settings-footer[b-cuq2wvjd3o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

@media (max-width: 900px) {
    .ai-settings-models[b-cuq2wvjd3o] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Summary/ExecutiveSummaryPage.razor.rz.scp.css */
/* Layout collapses on CONTAINER width, never on viewport: the docked drawer eats 248px, so
   viewport width does not describe the space this page gets. The wrapper must be a literal HTML
   element for these rules to match (scoped-CSS attribute is never stamped on MudBlazor output). */
.executive-summary[b-7t56ymarcb] {
    container: executive-summary / inline-size;
}

/* Filter row: auto-fit tracks so the field count (staff also gets "Empresa") never forces
   page-level horizontal scroll; the clear-filters button hugs its own track at the end. */
.summary-filters__grid[b-7t56ymarcb] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    align-items: center;
}

.summary-filters__grid[b-7t56ymarcb]  .mud-input-control {
    min-width: 0;
}

/* Sits at the start of its track so it reads as attached to the last field, not stranded at the
   right edge of an empty column when the fields do not fill the row. */
.summary-filters__reset[b-7t56ymarcb] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

@container executive-summary (max-width: 559px) {
    .summary-filters__grid[b-7t56ymarcb] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Demand count per SLA option: tabular digits so the column reads as a stack of numbers. */
.summary-sla-count[b-7t56ymarcb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: var(--taxlegal-radius-pill);
    background: rgba(18, 59, 99, 0.1);
    color: var(--taxlegal-primary);
    font-size: 0.78rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.summary-sla-count--zero[b-7t56ymarcb] {
    background: var(--taxlegal-border-soft);
    color: var(--taxlegal-muted);
}

/* A MudDataGrid inside a grid/flex panel refuses to shrink below its min-content width unless the
   table root is compressible; without this the table paints through the translucent panel instead
   of letting .mud-table-container scroll. */
.executive-summary[b-7t56ymarcb]  .mud-table {
    min-width: 0;
    max-width: 100%;
}
/* /Components/Pages/Workflow/DemandAttachmentsDialog.razor.rz.scp.css */
.demand-attachments-dialog[b-0846i0cxjs] {
    display: grid;
    gap: 16px;
}

.demand-attachments-dialog__intro[b-0846i0cxjs] {
    display: grid;
    gap: 3px;
}

.demand-attachments-dialog__intro :deep(.mud-typography-body2)[b-0846i0cxjs] {
    color: var(--taxlegal-muted);
}

.demand-attachments-dialog__list[b-0846i0cxjs] {
    display: grid;
    gap: 10px;
    max-height: 420px;
    overflow-y: auto;
    padding-right: 4px;
}

.demand-attachments-dialog__item[b-0846i0cxjs] {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
}

.demand-attachments-dialog__file-icon[b-0846i0cxjs] {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: var(--taxlegal-radius-pill);
    background: rgba(37, 99, 235, 0.1);
    color: var(--taxlegal-accent);
}

.demand-attachments-dialog__file-info[b-0846i0cxjs] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.demand-attachments-dialog__file-info strong[b-0846i0cxjs],
.demand-attachments-dialog__file-info span[b-0846i0cxjs] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demand-attachments-dialog__file-info strong[b-0846i0cxjs] {
    color: var(--taxlegal-text);
    font-size: 0.86rem;
}

.demand-attachments-dialog__file-info span[b-0846i0cxjs] {
    color: var(--taxlegal-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

@media (max-width: 640px) {
    .demand-attachments-dialog__item[b-0846i0cxjs] {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .demand-attachments-dialog__item :deep(.mud-button-root)[b-0846i0cxjs] {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
}
/* /Components/Pages/Workflow/DemandBatchCapture.razor.rz.scp.css */
.demand-batch-capture[b-h6fjo2vf9c] {
    container: demand-batch-capture / inline-size;
}

.demand-batch-capture__shell[b-h6fjo2vf9c] {
    display: grid;
    grid-template-columns: 272px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.demand-batch-capture__rail[b-h6fjo2vf9c] {
    position: sticky;
    top: 88px;
    display: grid;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.demand-batch-capture__rail-section[b-h6fjo2vf9c] {
    display: grid;
    gap: 10px;
}

.demand-batch-capture__rail-section + .demand-batch-capture__rail-section[b-h6fjo2vf9c] {
    padding-top: 14px;
    border-top: 1px solid var(--taxlegal-border-soft);
}

.demand-batch-capture__rail-heading[b-h6fjo2vf9c],
.demand-batch-capture__panel-header[b-h6fjo2vf9c],
.demand-batch-capture__queue-header[b-h6fjo2vf9c],
.demand-batch-capture__editor-header[b-h6fjo2vf9c],
.demand-batch-capture__batch-context[b-h6fjo2vf9c],
.demand-batch-capture__processing[b-h6fjo2vf9c],
.demand-batch-capture__batch-actions[b-h6fjo2vf9c],
.demand-batch-capture__default-company[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.demand-batch-capture__steps[b-h6fjo2vf9c] {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.demand-batch-capture__steps li[b-h6fjo2vf9c] {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--taxlegal-muted);
}

.demand-batch-capture__steps li > span[b-h6fjo2vf9c] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(100, 116, 139, .12);
    font-size: .75rem;
    font-weight: 800;
}

.demand-batch-capture__steps li div[b-h6fjo2vf9c] {
    display: grid;
    gap: 1px;
}

.demand-batch-capture__steps li small[b-h6fjo2vf9c] {
    font-size: .72rem;
}

.demand-batch-capture__steps li.is-current[b-h6fjo2vf9c] {
    border-color: rgba(37, 99, 235, .2);
    background: rgba(37, 99, 235, .07);
    color: var(--taxlegal-primary);
}

.demand-batch-capture__steps li.is-current > span[b-h6fjo2vf9c] {
    background: var(--taxlegal-primary);
    color: #fff;
}

.demand-batch-capture__steps li.is-complete[b-h6fjo2vf9c] {
    color: #166534;
}

.demand-batch-capture__steps li.is-complete > span[b-h6fjo2vf9c] {
    background: rgba(22, 163, 74, .13);
}

.demand-batch-capture__summary-line[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 34px;
    padding: 6px 8px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: .82rem;
    text-align: left;
}

button.demand-batch-capture__summary-line[b-h6fjo2vf9c] {
    cursor: pointer;
}

button.demand-batch-capture__summary-line:hover[b-h6fjo2vf9c],
button.demand-batch-capture__summary-line:focus-visible[b-h6fjo2vf9c] {
    background: rgba(37, 99, 235, .07);
    outline: 2px solid transparent;
}

.demand-batch-capture__summary-line strong[b-h6fjo2vf9c] {
    font-size: .95rem;
}

.demand-batch-capture__summary-line--error strong[b-h6fjo2vf9c] {
    color: var(--mud-palette-error);
}

/* Pendência selecionada no painel "Pendências do lote": a fila está filtrada por ela. */
button.demand-batch-capture__summary-line.is-active[b-h6fjo2vf9c] {
    background: rgba(245, 158, 11, .14);
    box-shadow: inset 2px 0 0 var(--mud-palette-warning);
}

.demand-batch-capture__summary-line--success strong[b-h6fjo2vf9c] {
    color: var(--mud-palette-success);
}

.demand-batch-capture__autosave[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
}

.demand-batch-capture__autosave--saved[b-h6fjo2vf9c] {
    color: var(--mud-palette-success);
}

.demand-batch-capture__autosave--failed[b-h6fjo2vf9c] {
    color: var(--mud-palette-error);
}

.demand-batch-capture__autosave-retry[b-h6fjo2vf9c] {
    justify-self: start;
    padding: 0;
    border: 0;
    background: none;
    color: var(--mud-palette-error);
    font: inherit;
    font-size: .78rem;
    text-decoration: underline;
    cursor: pointer;
}

.demand-batch-capture__resume[b-h6fjo2vf9c] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.demand-batch-capture__resume > div:first-child[b-h6fjo2vf9c] {
    display: grid;
    gap: 2px;
}

.demand-batch-capture__resume span[b-h6fjo2vf9c] {
    color: var(--mud-palette-text-secondary);
    font-size: .82rem;
    line-height: 1.4;
}

.demand-batch-capture__resume-actions[b-h6fjo2vf9c] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.demand-batch-capture__next-action[b-h6fjo2vf9c] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .09), rgba(14, 165, 233, .06));
    color: var(--taxlegal-primary);
}

.demand-batch-capture__next-action div[b-h6fjo2vf9c] {
    display: grid;
    gap: 3px;
}

.demand-batch-capture__next-action span[b-h6fjo2vf9c] {
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
    line-height: 1.4;
}

/* Coluna flex, não grid: o bloco contentor de um item de grid é a própria área de grid, o que não
   deixa margem de movimento para a barra "Ações do lote" e o cabeçalho do editor grudarem no topo.
   É a mesma restrição documentada em taxlegal.design-system.css para a barra fixa dos editores. */
.demand-batch-capture__content[b-h6fjo2vf9c] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.demand-batch-capture__panel[b-h6fjo2vf9c],
.demand-batch-capture__queue[b-h6fjo2vf9c],
.demand-batch-capture__editor[b-h6fjo2vf9c],
.demand-batch-capture__batch-context[b-h6fjo2vf9c] {
    min-width: 0;
    padding: var(--taxlegal-panel-padding);
}

.demand-batch-capture__panel[b-h6fjo2vf9c] {
    display: grid;
    gap: 14px;
}

.demand-batch-capture__panel-header[b-h6fjo2vf9c] {
    align-items: flex-start;
}

.demand-batch-capture__default-company[b-h6fjo2vf9c] {
    justify-content: flex-start;
    padding: 12px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: 12px;
    background: rgba(248, 250, 252, .72);
}

.demand-batch-capture__default-company[b-h6fjo2vf9c]  .mud-input-control {
    min-width: min(320px, 100%);
}

.demand-batch-capture__upload[b-h6fjo2vf9c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    min-height: 126px;
    padding: 16px;
    border: 1px dashed rgba(37, 99, 235, .52);
    border-radius: 14px;
    background: rgba(37, 99, 235, .045);
    color: var(--mud-palette-text-primary);
    cursor: pointer;
}

.demand-batch-capture__upload:hover:not(:disabled)[b-h6fjo2vf9c],
.demand-batch-capture__upload:focus-visible[b-h6fjo2vf9c] {
    border-color: var(--mud-palette-primary);
    background: rgba(37, 99, 235, .08);
    outline: 2px solid rgba(37, 99, 235, .18);
    outline-offset: 2px;
}

.demand-batch-capture__upload:disabled[b-h6fjo2vf9c] {
    cursor: not-allowed;
    opacity: .6;
}

.demand-batch-capture__file-list[b-h6fjo2vf9c] {
    display: grid;
    gap: 7px;
}

.demand-batch-capture__file-item[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: 10px;
    background: #fff;
}

.demand-batch-capture__file-info[b-h6fjo2vf9c] {
    display: grid;
    gap: 1px;
    min-width: 0;
    margin-right: auto;
}

.demand-batch-capture__file-info strong[b-h6fjo2vf9c] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demand-batch-capture__file-info span[b-h6fjo2vf9c],
.demand-batch-capture__document-cell span[b-h6fjo2vf9c],
.demand-batch-capture__document-cell small[b-h6fjo2vf9c] {
    color: var(--mud-palette-text-secondary);
}

.demand-batch-capture__file-company[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.demand-batch-capture__file-company[b-h6fjo2vf9c]  .mud-input-control {
    min-width: min(220px, 100%);
}

.demand-batch-capture__document-cell[b-h6fjo2vf9c] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.demand-batch-capture__document-cell strong[b-h6fjo2vf9c],
.demand-batch-capture__document-cell small[b-h6fjo2vf9c] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.demand-batch-capture__batch-context[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-left: 4px solid var(--mud-palette-primary);
}

.demand-batch-capture__batch-context > div[b-h6fjo2vf9c] {
    display: grid;
    gap: 2px;
}

.demand-batch-capture__processing[b-h6fjo2vf9c] {
    padding: 14px 16px;
    border: 1px solid rgba(14, 165, 233, .2);
    border-radius: 12px;
    background: rgba(14, 165, 233, .055);
}

.demand-batch-capture__processing[b-h6fjo2vf9c]  .mud-progress-linear {
    flex: 1 1 100%;
}

.demand-batch-capture__processing > div[b-h6fjo2vf9c] {
    display: grid;
    gap: 1px;
    flex: 1 1 auto;
}

/* Não é sticky de propósito: a barra chega a seis botões e quebra em várias linhas, o que obrigaria
   o cabeçalho do editor (esse sim fixo, porque o formulário é longo) a descontar uma altura
   imprevisível para não parar atrás dela. */
.demand-batch-capture__batch-actions[b-h6fjo2vf9c] {
    padding: 10px var(--taxlegal-panel-padding);
}

.demand-batch-capture__workspace[b-h6fjo2vf9c] {
    display: grid;
    grid-template-columns: minmax(360px, .85fr) minmax(500px, 1.4fr);
    gap: 16px;
    align-items: start;
}

.demand-batch-capture__queue[b-h6fjo2vf9c],
.demand-batch-capture__editor[b-h6fjo2vf9c] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    /* Rolagens iniciadas pelo navegador (foco por teclado, âncora de URL) param abaixo da barra
       fixa de 64px em vez de esconder o topo do painel atrás dela. A rolagem programática usa o
       mesmo respiro, calculado em DemandBatchCapture.razor.js. */
    scroll-margin-top: 80px;
}

.demand-batch-capture__queue-header[b-h6fjo2vf9c],
.demand-batch-capture__editor-header[b-h6fjo2vf9c] {
    align-items: flex-start;
}

/* Só o bloco de texto: o segundo filho é o contêiner de ações, que precisa continuar flex. */
.demand-batch-capture__queue-header > div:first-child[b-h6fjo2vf9c],
.demand-batch-capture__editor-header > div:first-child[b-h6fjo2vf9c] {
    display: grid;
    gap: 2px;
}

/* Cabeçalho fixo do painel de revisão: os botões que antes ficavam no rodapé sobem para cá e
   continuam alcançáveis no meio de um formulário longo — era essa a única vantagem do rodapé. O
   respiro de 80px é o mesmo do scroll-margin-top dos painéis, abaixo da barra fixa de 64px do app,
   e as margens negativas fazem o fundo cobrir o padding enquanto o formulário passa por baixo. */
.demand-batch-capture__editor-header[b-h6fjo2vf9c] {
    position: sticky;
    top: 80px;
    z-index: 2;
    margin: calc(-1 * var(--taxlegal-panel-padding)) calc(-1 * var(--taxlegal-panel-padding)) 2px;
    padding: 12px var(--taxlegal-panel-padding);
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card) var(--taxlegal-radius-card) 0 0;
    backdrop-filter: blur(4px);
}

.demand-batch-capture__editor-status[b-h6fjo2vf9c] {
    color: var(--taxlegal-muted);
    font-size: .78rem;
    line-height: 1.4;
}

/* Bloco de ações dos cabeçalhos (painel de documentos, barra do lote e painel de revisão). */
.demand-batch-capture__panel-actions[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.demand-batch-capture__filters[b-h6fjo2vf9c] {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(170px, .75fr);
    gap: 10px;
}

.demand-batch-capture__status-cell[b-h6fjo2vf9c] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.demand-batch-capture__status-chip[b-h6fjo2vf9c] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.demand-batch-capture__activity[b-h6fjo2vf9c] {
    display: block;
    margin-top: 2px;
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
    line-height: 1.4;
    animation: demand-batch-capture-activity-pulse-b-h6fjo2vf9c 2.4s ease-in-out infinite;
}

@keyframes demand-batch-capture-activity-pulse-b-h6fjo2vf9c {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: .55;
    }
}

.demand-batch-capture__resolution-state[b-h6fjo2vf9c] {
    display: grid;
    justify-items: start;
    gap: 10px;
    min-height: 300px;
    align-content: center;
    padding: 28px;
    border: 1px dashed var(--taxlegal-border-soft);
    border-radius: 14px;
    background: rgba(248, 250, 252, .72);
}

.demand-batch-capture__draft-form[b-h6fjo2vf9c] {
    display: block;
    min-width: 0;
}

.demand-batch-capture__error-list[b-h6fjo2vf9c] {
    display: grid;
    gap: 4px;
    margin: 6px 0 0;
    padding-left: 18px;
}

/* Ocorrência clicável: leva o usuário até o campo correspondente do rascunho. */
.demand-batch-capture__error-link[b-h6fjo2vf9c] {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.demand-batch-capture__error-link:hover[b-h6fjo2vf9c],
.demand-batch-capture__error-link:focus-visible[b-h6fjo2vf9c] {
    text-decoration: underline;
}

.demand-batch-capture__sla[b-h6fjo2vf9c] {
    min-width: 0;
}

.demand-batch-capture__editor[b-h6fjo2vf9c] {
    container: batch-editor taxlegal-editor / inline-size;
}

[b-h6fjo2vf9c] .demand-batch-capture__queue-grid .mud-table {
    min-width: 0;
    max-width: 100%;
}

[b-h6fjo2vf9c] .demand-batch-capture__queue-grid .mud-table-container {
    overflow-x: auto;
}

[b-h6fjo2vf9c] .demand-batch-capture__queue-grid .mud-table-row {
    cursor: pointer;
}

[b-h6fjo2vf9c] .demand-batch-capture__queue-row--selected {
    background: rgba(37, 99, 235, .08) !important;
    box-shadow: inset 3px 0 var(--mud-palette-primary);
}

[b-h6fjo2vf9c] .demand-batch-capture__queue-grid .mud-table-cell {
    vertical-align: top;
}

@container demand-batch-capture (max-width: 1250px) {
    .demand-batch-capture__workspace[b-h6fjo2vf9c] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container demand-batch-capture (max-width: 930px) {
    .demand-batch-capture__shell[b-h6fjo2vf9c] {
        grid-template-columns: minmax(0, 1fr);
    }

    .demand-batch-capture__rail[b-h6fjo2vf9c] {
        position: static;
    }

    .demand-batch-capture__steps[b-h6fjo2vf9c] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .demand-batch-capture__steps li[b-h6fjo2vf9c] {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .demand-batch-capture__rail-summary[b-h6fjo2vf9c] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .demand-batch-capture__rail-heading[b-h6fjo2vf9c] {
        grid-column: 1 / -1;
    }
}

@container demand-batch-capture (max-width: 620px) {
    .demand-batch-capture__steps[b-h6fjo2vf9c],
    .demand-batch-capture__rail-summary[b-h6fjo2vf9c],
    .demand-batch-capture__filters[b-h6fjo2vf9c] {
        grid-template-columns: minmax(0, 1fr);
    }

    .demand-batch-capture__panel-header[b-h6fjo2vf9c],
    .demand-batch-capture__batch-context[b-h6fjo2vf9c],
    .demand-batch-capture__processing[b-h6fjo2vf9c],
    .demand-batch-capture__queue-header[b-h6fjo2vf9c],
    .demand-batch-capture__editor-header[b-h6fjo2vf9c],
    .demand-batch-capture__default-company[b-h6fjo2vf9c] {
        align-items: stretch;
        flex-direction: column;
    }

    /* Empilhado e com botões de largura total, o cabeçalho fixo comeria meia tela: aqui ele rola. */
    .demand-batch-capture__editor-header[b-h6fjo2vf9c] {
        position: static;
    }

    .demand-batch-capture__panel-actions[b-h6fjo2vf9c] {
        justify-content: stretch;
    }

    .demand-batch-capture__panel-actions[b-h6fjo2vf9c]  .mud-button-root,
    .demand-batch-capture__processing[b-h6fjo2vf9c]  .mud-button-root {
        flex: 1 1 100%;
    }

    .demand-batch-capture__file-item[b-h6fjo2vf9c] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .demand-batch-capture__file-item[b-h6fjo2vf9c]  .mud-icon-button {
        margin-left: auto;
    }
}
/* /Components/Pages/Workflow/DemandBatchCaptureIssuesDialog.razor.rz.scp.css */
.demand-batch-capture-issues-dialog[b-jyniegbct9] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: min(42rem, 82vw);
}

.demand-batch-capture-issues-dialog__section[b-jyniegbct9],
.demand-batch-capture-issues-dialog__warnings[b-jyniegbct9],
.demand-batch-capture-issues-dialog__confidence[b-jyniegbct9] {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.demand-batch-capture-issues-dialog__header[b-jyniegbct9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
}

.demand-batch-capture-issues-dialog__header > div[b-jyniegbct9] {
    display: grid;
    gap: .15rem;
}

.demand-batch-capture-issues-dialog__section-heading[b-jyniegbct9] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.demand-batch-capture-issues-dialog__field-error[b-jyniegbct9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem;
}

.demand-batch-capture-issues-dialog[b-jyniegbct9]  .mud-alert-message {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .demand-batch-capture-issues-dialog[b-jyniegbct9] {
        min-width: 0;
        width: 100%;
    }
}
/* /Components/Pages/Workflow/DemandCustomFilterDialog.razor.rz.scp.css */
/* The dialog is a viewport modal, but the reflow still keys on this literal container so it
   follows the actual space the dialog gets. */
.custom-filter-conditions[b-emjnd2gu7k] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    container: custom-filter / inline-size;
}

.custom-filter-row[b-emjnd2gu7k] {
    display: grid;
    grid-template-columns: minmax(150px, 1.1fr) minmax(130px, 0.9fr) minmax(180px, 1.6fr) auto;
    gap: 10px;
    align-items: start;
}

/* Grid sizing comes from the parent, so the Mud-rendered children need no scoped selector. */
.custom-filter-row__value[b-emjnd2gu7k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    min-width: 0;
}

.custom-filter-row__remove[b-emjnd2gu7k] {
    padding-top: 6px;
}

@container custom-filter (max-width: 639px) {
    .custom-filter-row[b-emjnd2gu7k] {
        grid-template-columns: minmax(0, 1fr);
    }

    .custom-filter-row__remove[b-emjnd2gu7k] {
        justify-self: end;
        padding-top: 0;
    }
}
/* /Components/Pages/Workflow/DemandEditorFields.razor.rz.scp.css */
.demand-editor-fields[b-abqqyhi04v] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.demand-editor-fields__section[b-abqqyhi04v] {
    border: 1px solid var(--taxlegal-border, rgba(15, 23, 42, .10));
    border-radius: 16px;
    padding: 1rem;
    background: rgba(255, 255, 255, .72);
}

.demand-editor-fields__section > .mud-typography[b-abqqyhi04v] {
    margin-bottom: .75rem;
}
/* /Components/Pages/Workflow/DemandFavoritesMenu.razor.rz.scp.css */
.favorites-menu__item[b-9821ev5f9g] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.favorites-menu__name[b-9821ev5f9g] {
    overflow: hidden;
    max-width: 260px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.favorites-menu__default[b-9821ev5f9g] {
    padding: 1px 8px;
    border-radius: var(--taxlegal-radius-pill);
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}
/* /Components/Pages/Workflow/DemandForm.razor.rz.scp.css */
.demand-capture-dialog[b-6hg8oedsy6] {
    display: grid;
    gap: 16px;
}

.demand-capture-dialog__intro[b-6hg8oedsy6] {
    color: var(--taxlegal-muted);
}

.demand-capture-section[b-6hg8oedsy6] {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #ffffff;
}

.demand-capture-section__header[b-6hg8oedsy6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.demand-capture-section__header p[b-6hg8oedsy6],
.demand-capture-analyze span[b-6hg8oedsy6] {
    color: var(--taxlegal-muted);
}

.demand-capture-section__header > span[b-6hg8oedsy6] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: var(--taxlegal-radius-pill);
    background: #f1f5f9;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.demand-capture-mode-switch[b-6hg8oedsy6] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.demand-capture-upload[b-6hg8oedsy6] {
    appearance: none;
    display: grid;
    place-items: center;
    gap: 8px;
    width: 100%;
    min-height: 148px;
    padding: 18px;
    border: 1px dashed #94a3b8;
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
    color: var(--taxlegal-text);
    font: inherit;
    text-align: center;
    cursor: pointer;
}

.demand-capture-upload:hover[b-6hg8oedsy6] {
    border-color: var(--taxlegal-primary);
    background: #f1f5f9;
}

.demand-capture-upload:disabled[b-6hg8oedsy6] {
    cursor: default;
    opacity: 0.72;
}

.demand-capture-upload strong[b-6hg8oedsy6] {
    font-size: 0.95rem;
}

.demand-capture-upload span[b-6hg8oedsy6] {
    max-width: 420px;
    color: var(--taxlegal-muted);
    font-size: 0.82rem;
}

.demand-capture-upload--compact[b-6hg8oedsy6] {
    min-height: 108px;
}

.demand-attachment-list[b-6hg8oedsy6] {
    display: grid;
    gap: 8px;
}

.demand-attachment-list__item[b-6hg8oedsy6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
}

.demand-attachment-list__item strong[b-6hg8oedsy6],
.demand-attachment-list__item span[b-6hg8oedsy6] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demand-attachment-list__item strong[b-6hg8oedsy6] {
    color: var(--taxlegal-text);
    font-size: 0.86rem;
    font-weight: 800;
}

.demand-attachment-list__item span[b-6hg8oedsy6] {
    color: var(--taxlegal-muted);
    font-size: 0.76rem;
}

.demand-capture-analyze[b-6hg8oedsy6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.demand-capture-analysis-loading[b-6hg8oedsy6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid #c7d2fe;
    border-radius: var(--taxlegal-radius-card);
    background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
    box-shadow: 0 14px 30px rgba(79, 70, 229, 0.08);
}

.demand-capture-analysis-loading__indicator[b-6hg8oedsy6] {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.12);
}

.demand-capture-analysis-loading__content[b-6hg8oedsy6] {
    min-width: 0;
}

.demand-capture-analysis-loading__content p[b-6hg8oedsy6] {
    color: var(--taxlegal-muted);
}

.demand-capture-loading[b-6hg8oedsy6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    min-height: 220px;
    padding: 22px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.demand-capture-loading__indicator[b-6hg8oedsy6] {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: #eff6ff;
}

.demand-capture-loading__content[b-6hg8oedsy6] {
    min-width: 0;
}

.demand-capture-loading__content p[b-6hg8oedsy6] {
    color: var(--taxlegal-muted);
}

.demand-capture-dialog__actions[b-6hg8oedsy6] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 4px;
}

@media (max-width: 640px) {
    .demand-capture-section__header[b-6hg8oedsy6],
    .demand-capture-analyze[b-6hg8oedsy6],
    .demand-capture-dialog__actions[b-6hg8oedsy6] {
        align-items: stretch;
        flex-direction: column;
    }

    .demand-capture-mode-switch[b-6hg8oedsy6]  .mud-button-root,
    .demand-capture-analyze[b-6hg8oedsy6]  .mud-button-root,
    .demand-capture-dialog__actions[b-6hg8oedsy6]  .mud-button-root {
        width: 100%;
    }

    .demand-capture-analysis-loading[b-6hg8oedsy6],
    .demand-capture-loading[b-6hg8oedsy6] {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .demand-capture-analysis-loading__indicator[b-6hg8oedsy6],
    .demand-capture-loading__indicator[b-6hg8oedsy6] {
        justify-self: center;
    }
}

/* Tab panels render flush against the header; the editor needs the panel's own breathing room.
   Class lands on Mud-rendered elements (no scope attribute), so it is matched via ::deep. */
.demand-capture-tabs[b-6hg8oedsy6]  .mud-tabs-panels {
    padding-top: 16px;
}
/* /Components/Pages/Workflow/DemandHistoryPanel.razor.rz.scp.css */
/* Layout collapses on CONTAINER width, never on viewport: the docked drawer eats 248px and the
   panel also shares the editor area, so viewport width does not describe the space we get.
   The root is a literal <section> so the scoped attribute lands and the container actually forms. */
.demand-history[b-jb8swrin82] {
    container: demand-history / inline-size;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.demand-history__composer[b-jb8swrin82] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--taxlegal-border);
    border-radius: var(--taxlegal-radius-card);
    background: var(--taxlegal-surface);
    box-shadow: var(--taxlegal-shadow-sm);
}

.demand-history__composer-actions[b-jb8swrin82] {
    display: flex;
    justify-content: flex-end;
}

.demand-history__loading[b-jb8swrin82] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 0;
    color: var(--taxlegal-muted);
}

.demand-history__list[b-jb8swrin82] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.demand-history__entry[b-jb8swrin82] {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 12px;
}

/* The rail is drawn on the marker column so it connects consecutive entries; the last entry
   stops the line instead of letting it hang below the final dot. */
.demand-history__marker[b-jb8swrin82] {
    position: relative;
    display: flex;
    justify-content: center;
}

.demand-history__marker[b-jb8swrin82]::after {
    content: "";
    position: absolute;
    top: 32px;
    bottom: 0;
    width: 2px;
    background: var(--taxlegal-border-soft);
}

.demand-history__entry:last-child .demand-history__marker[b-jb8swrin82]::after {
    display: none;
}

.demand-history__dot[b-jb8swrin82] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--taxlegal-radius-pill);
    border: 1px solid var(--taxlegal-border);
    background: var(--taxlegal-surface);
    color: var(--taxlegal-muted);
}

.demand-history__entry--comment .demand-history__dot[b-jb8swrin82] {
    border-color: rgba(37, 99, 235, .35);
    background: rgba(37, 99, 235, .08);
    color: var(--taxlegal-accent);
}

.demand-history__entry--status .demand-history__dot[b-jb8swrin82],
.demand-history__entry--phase .demand-history__dot[b-jb8swrin82] {
    border-color: rgba(15, 118, 110, .35);
    background: rgba(15, 118, 110, .08);
    color: var(--taxlegal-secondary);
}

.demand-history__entry--created .demand-history__dot[b-jb8swrin82] {
    border-color: rgba(22, 163, 74, .35);
    background: rgba(22, 163, 74, .08);
    color: var(--taxlegal-success);
}

.demand-history__entry--sla .demand-history__dot[b-jb8swrin82] {
    border-color: rgba(217, 119, 6, .35);
    background: rgba(217, 119, 6, .08);
    color: #b45309;
}

.demand-history__content[b-jb8swrin82] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 18px;
    min-width: 0;
}

.demand-history__byline[b-jb8swrin82] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: .8rem;
    color: var(--taxlegal-muted);
}

.demand-history__avatar[b-jb8swrin82] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: var(--taxlegal-radius-pill);
    background: var(--taxlegal-chrome-soft);
    color: var(--taxlegal-chrome-text);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .02em;
}

.demand-history__author[b-jb8swrin82] {
    font-weight: 600;
    color: var(--taxlegal-text);
}

.demand-history__separator[b-jb8swrin82] {
    opacity: .6;
}

.demand-history__edited[b-jb8swrin82] {
    font-style: italic;
}

.demand-history__summary[b-jb8swrin82] {
    margin: 0;
    font-size: .88rem;
    color: var(--taxlegal-text);
}

/* User-authored text is the payload of a comment row, so it is the emphasised line there while
   the "commented" summary stays as a quiet byline continuation. */
.demand-history__entry--comment .demand-history__summary[b-jb8swrin82] {
    color: var(--taxlegal-muted);
    font-size: .8rem;
}

.demand-history__body[b-jb8swrin82] {
    margin: 0;
    font-size: .88rem;
    color: var(--taxlegal-text);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.demand-history__detail[b-jb8swrin82] {
    margin: 0;
    font-size: .78rem;
    color: var(--taxlegal-muted);
}

.demand-history__actions[b-jb8swrin82],
.demand-history__editor-actions[b-jb8swrin82] {
    display: flex;
    gap: 4px;
    margin-top: 2px;
}

.demand-history__editor-actions[b-jb8swrin82] {
    justify-content: flex-end;
}

.demand-history__editor[b-jb8swrin82] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}

@container demand-history (max-width: 559px) {
    .demand-history__entry[b-jb8swrin82] {
        grid-template-columns: 26px 1fr;
        gap: 8px;
    }

    .demand-history__dot[b-jb8swrin82] {
        width: 26px;
        height: 26px;
    }

    .demand-history__marker[b-jb8swrin82]::after {
        top: 26px;
    }

    /* Class passed to MudButton lands on a Mud-rendered element with no scope attribute. */
    .demand-history__composer-actions[b-jb8swrin82]  .mud-button-root {
        width: 100%;
    }
}
/* /Components/Pages/Workflow/DemandKanbanBoard.razor.rz.scp.css */
.demand-kanban-board[b-fyeiqhsuvk] {
    display: grid;
    gap: 12px;
    max-width: 100%;
    min-width: 0;
}

.demand-kanban-board__help[b-fyeiqhsuvk] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
    color: var(--taxlegal-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.demand-kanban-scroll[b-fyeiqhsuvk] {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 12px;
    scroll-snap-type: x proximity;
    scrollbar-gutter: stable;
}

.demand-kanban[b-fyeiqhsuvk] {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    width: max-content;
    min-width: 100%;
    padding: 16px;
}

.demand-kanban-column[b-fyeiqhsuvk] {
    display: grid;
    grid-template-rows: auto minmax(420px, 1fr);
    flex: 0 0 304px;
    width: 304px;
    min-height: 520px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
    scroll-snap-align: start;
}

.demand-kanban-column__header[b-fyeiqhsuvk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 12px;
    border-bottom: 1px solid var(--taxlegal-border-soft);
}

.demand-kanban-column__header div[b-fyeiqhsuvk] {
    display: grid;
    gap: 3px;
}

.demand-kanban-column__header strong[b-fyeiqhsuvk] {
    color: var(--taxlegal-text);
    font-size: 0.9rem;
}

.demand-kanban-column__header span:not(:last-child)[b-fyeiqhsuvk] {
    color: var(--taxlegal-muted);
    font-size: 0.72rem;
}

.demand-kanban-column__header > span[b-fyeiqhsuvk] {
    display: inline-grid;
    place-items: center;
    min-width: 28px;
    height: 28px;
    border-radius: var(--taxlegal-radius-pill);
    background: #e0f2fe;
    color: #0369a1;
    font-size: 0.78rem;
    font-weight: 800;
}

.demand-kanban-column :deep(.demand-kanban-column__cards)[b-fyeiqhsuvk] {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 100%;
    padding: 10px;
}

.demand-kanban-column :deep(.demand-kanban-column--can-drop)[b-fyeiqhsuvk] {
    background: rgba(37, 99, 235, 0.07);
    outline: 2px dashed rgba(37, 99, 235, 0.28);
    outline-offset: -6px;
}

.demand-kanban-column :deep(.demand-kanban-column--no-drop)[b-fyeiqhsuvk] {
    opacity: 0.62;
}

.demand-kanban-empty[b-fyeiqhsuvk] {
    display: grid;
    place-items: center;
    min-height: 96px;
    border: 1px dashed #cbd5e1;
    border-radius: var(--taxlegal-radius-card);
    color: #94a3b8;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
}

.demand-card[b-fyeiqhsuvk] {
    display: grid;
    gap: 10px;
    width: 100%;
    padding: 12px;
    border: 1px solid var(--taxlegal-border-soft);
    border-left: 4px solid #94a3b8;
    border-radius: var(--taxlegal-radius-card);
    background: #ffffff;
    color: inherit;
    box-shadow: var(--taxlegal-shadow-sm);
}

.demand-card:hover[b-fyeiqhsuvk] {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: var(--taxlegal-shadow-md);
}

.demand-kanban-board :deep(.demand-card--dragging)[b-fyeiqhsuvk],
.demand-card--dragging[b-fyeiqhsuvk] {
    opacity: 0.72;
    transform: rotate(1deg);
}

.demand-card--critical[b-fyeiqhsuvk] {
    border-left-color: #dc2626;
}

.demand-card--high[b-fyeiqhsuvk] {
    border-left-color: #ea580c;
}

.demand-card--medium[b-fyeiqhsuvk] {
    border-left-color: #d97706;
}

.demand-card--low[b-fyeiqhsuvk] {
    border-left-color: #16a34a;
}

.demand-card__header[b-fyeiqhsuvk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.demand-card__header div[b-fyeiqhsuvk],
.demand-card__company[b-fyeiqhsuvk] {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.demand-card__header strong[b-fyeiqhsuvk] {
    color: var(--taxlegal-text);
    font-size: 0.9rem;
    line-height: 1.25;
}

.demand-card__drag[b-fyeiqhsuvk] {
    color: #94a3b8;
}

.demand-card__description[b-fyeiqhsuvk] {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--taxlegal-muted);
    font-size: 0.78rem;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.demand-card__company[b-fyeiqhsuvk] {
    padding: 8px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: #f8fafc;
}

.demand-card__company span[b-fyeiqhsuvk],
.demand-card__company small[b-fyeiqhsuvk],
.demand-card__facts dt[b-fyeiqhsuvk] {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.demand-card__facts dt[b-fyeiqhsuvk] {
    overflow-wrap: anywhere;
}

.demand-card__company strong[b-fyeiqhsuvk] {
    color: var(--taxlegal-text);
    font-size: 0.82rem;
}

.demand-card__meta[b-fyeiqhsuvk],
.demand-card__actions[b-fyeiqhsuvk] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.demand-card__facts[b-fyeiqhsuvk] {
    display: grid;
    gap: 6px;
    margin: 0;
}

.demand-card__facts div[b-fyeiqhsuvk] {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 8px;
    align-items: baseline;
}

.demand-card__facts dd[b-fyeiqhsuvk] {
    overflow: hidden;
    margin: 0;
    color: var(--taxlegal-text);
    font-size: 0.78rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demand-card__actions[b-fyeiqhsuvk] {
    padding-top: 2px;
}

.demand-pill[b-fyeiqhsuvk],
.demand-state-chip[b-fyeiqhsuvk] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: var(--taxlegal-radius-pill);
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.demand-pill--critical[b-fyeiqhsuvk],
.demand-pill--sla-overdue[b-fyeiqhsuvk] {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.demand-pill--high[b-fyeiqhsuvk] {
    background: rgba(234, 88, 12, 0.12);
    color: #c2410c;
}

.demand-pill--medium[b-fyeiqhsuvk],
.demand-pill--sla-attention[b-fyeiqhsuvk] {
    background: rgba(217, 119, 6, 0.1);
    color: #a16207;
}

.demand-pill--low[b-fyeiqhsuvk],
.demand-pill--sla-ontrack[b-fyeiqhsuvk] {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
}

.demand-pill--muted[b-fyeiqhsuvk] {
    background: rgba(100, 116, 139, 0.1);
    color: #64748b;
}

/* Phase colors come from DemandPhasePalette via inline style (phases are company-configurable). */
.demand-state-chip[b-fyeiqhsuvk] {
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
}

@media (max-width: 640px) {
    .demand-kanban-column[b-fyeiqhsuvk] {
        flex-basis: 286px;
        width: 286px;
    }
}
/* /Components/Pages/Workflow/DemandManagement.razor.rz.scp.css */
/* Layout collapses on CONTAINER width (named container below), never on viewport:
   the docked drawer eats 248px, so viewport width does not describe the space we get.
   The wrapper must be a literal HTML element for these rules to match (scoped-CSS attribute).
   Kanban board and card styles live in DemandKanbanBoard.razor.css (its own scoped file). */
.demand-management[b-n8zbgw6y9b] {
    container: demand-board / inline-size;
}

/* The page header is a single title line here — its description lives in the hint tooltip — so
   it does not need the 24px the shared component reserves for a subtitle. PageHeader's root is
   rendered by another component and never carries this file's scope attribute: ::deep or dead. */
.demand-management[b-n8zbgw6y9b]  .taxlegal-page-header {
    margin-bottom: 14px;
}

.demand-management__actions[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.demand-view-switch[b-n8zbgw6y9b] {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 6px;
}

/* Command bar: search, filters, grouping, favorites, columns, scope and the metric strip.
   It sticks under the app bar so the list can scroll under it — .app-topbar pins the bar at
   64px in every breakpoint, so the offset is a constant here, not var(--mud-appbar-height). */
.demand-toolbar[b-n8zbgw6y9b] {
    position: sticky;
    top: 64px;
    z-index: 3;
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px var(--taxlegal-panel-padding);
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: var(--taxlegal-radius-card);
    background: var(--taxlegal-surface);
    box-shadow: var(--taxlegal-shadow-sm);
}

/* With the filter panel open the bar is tall enough to swallow the viewport it is supposed to
   be freeing, so it goes back to scrolling with the page until the panel closes again. */
.demand-toolbar--expanded[b-n8zbgw6y9b] {
    position: static;
}

.demand-toolbar__bar[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.demand-toolbar__search[b-n8zbgw6y9b] {
    flex: 1 1 260px;
    min-width: 0;
}

.demand-toolbar__controls[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
}

.demand-metrics[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 22px;
    padding-top: 10px;
    border-top: 1px solid var(--taxlegal-border-soft);
}

/* MudTooltip wraps each item in a div of its own, which carries no scope attribute. */
.demand-metrics[b-n8zbgw6y9b]  .mud-tooltip-root {
    display: inline-flex;
}

.demand-metrics__item[b-n8zbgw6y9b] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    cursor: help;
}

.demand-metrics__value[b-n8zbgw6y9b] {
    color: var(--taxlegal-text);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.1;
}

.demand-metrics__label[b-n8zbgw6y9b] {
    color: var(--taxlegal-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

/* The icon is Mud-rendered, so its size and color have to come through ::deep. */
.demand-metrics__item[b-n8zbgw6y9b]  .mud-icon-root {
    font-size: 1.15rem;
}

.demand-metrics__item--primary[b-n8zbgw6y9b]  .mud-icon-root {
    color: var(--taxlegal-primary);
}

.demand-metrics__item--info[b-n8zbgw6y9b]  .mud-icon-root {
    color: var(--taxlegal-info);
}

.demand-metrics__item--error[b-n8zbgw6y9b]  .mud-icon-root {
    color: var(--taxlegal-error);
}

.demand-metrics__item--warning[b-n8zbgw6y9b]  .mud-icon-root {
    color: var(--taxlegal-warning);
}

.demand-filters[b-n8zbgw6y9b] {
    display: grid;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--taxlegal-border-soft);
}

/* Auto-fit tracks that stay compressible, so the panel never forces page-level horizontal
   scroll no matter how many selects the current role sees. */
.demand-filters__grid[b-n8zbgw6y9b] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    align-items: start;
}

.demand-filters__quick[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.demand-toolbar__chips[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--taxlegal-border-soft);
}

/* Mud gives chips their own 4px margin, which would fight the gap above. */
.demand-toolbar__chips[b-n8zbgw6y9b]  .mud-chip {
    margin: 0;
}

.demand-chip__label[b-n8zbgw6y9b] {
    color: var(--taxlegal-muted);
    font-weight: 700;
}

@container demand-board (max-width: 959px) {
    .demand-management__actions[b-n8zbgw6y9b] {
        justify-content: flex-start;
    }

    .demand-toolbar__controls[b-n8zbgw6y9b] {
        justify-content: flex-start;
        margin-left: 0;
    }
}

@container demand-board (max-width: 559px) {
    .demand-view-switch[b-n8zbgw6y9b] {
        width: 100%;
    }

    .demand-view-switch[b-n8zbgw6y9b]  .mud-button-root {
        flex: 1 1 0;
    }

    .demand-toolbar__search[b-n8zbgw6y9b] {
        flex-basis: 100%;
    }

    .demand-metrics[b-n8zbgw6y9b] {
        gap: 8px 16px;
    }

    .demand-filters__grid[b-n8zbgw6y9b] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Group header content is authored in this page's GroupTemplate (literal span). */
.demand-group-header[b-n8zbgw6y9b] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--taxlegal-muted);
    font-size: 0.8rem;
    font-weight: 600;
}

.demand-group-header strong[b-n8zbgw6y9b] {
    color: var(--taxlegal-text);
    font-size: 0.84rem;
}

.demand-group-header__count[b-n8zbgw6y9b] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: var(--taxlegal-radius-pill);
    background: #f1f5f9;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

/* GroupClass lands on the Mud-rendered <tr> (no scoped attribute): match via ::deep. */
[b-n8zbgw6y9b] .demand-table__group-row {
    background: #f8fafc;
}

.demand-pill[b-n8zbgw6y9b] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: var(--taxlegal-radius-pill);
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.demand-pill--critical[b-n8zbgw6y9b],
.demand-pill--sla-overdue[b-n8zbgw6y9b] {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.demand-pill--high[b-n8zbgw6y9b] {
    background: rgba(234, 88, 12, 0.12);
    color: #c2410c;
}

.demand-pill--medium[b-n8zbgw6y9b],
.demand-pill--sla-attention[b-n8zbgw6y9b] {
    background: rgba(217, 119, 6, 0.1);
    color: #a16207;
}

.demand-pill--low[b-n8zbgw6y9b],
.demand-pill--sla-ontrack[b-n8zbgw6y9b] {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
}

.demand-pill--muted[b-n8zbgw6y9b] {
    background: rgba(100, 116, 139, 0.1);
    color: #64748b;
}

/* SLA paused state; configurable status colors are rendered by DemandStatusChip. */
.demand-pill--paused[b-n8zbgw6y9b] {
    background: rgba(220, 38, 38, 0.1);
    color: #b91c1c;
}

/* Phase colors come from DemandPhasePalette via inline style (phases are company-configurable). */
.demand-state-chip[b-n8zbgw6y9b] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: var(--taxlegal-radius-pill);
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

/* .demand-table rides on the MudDataGrid's Class, so it carries no scope attribute: everything
   that has to reach inside the grid hangs off the literal page wrapper instead. */

/* table-layout: fixed is what makes resizing real. Under the default auto layout the browser
   sizes columns from their content and silently ignores the width Mud writes on the header
   cell, so dragging a resizer changed nothing on screen. Fixed layout obeys the widths — which
   is also why every column declares a default HeaderStyle width in the markup: without one,
   fixed layout would split the table into equal columns. */
.demand-management[b-n8zbgw6y9b]  .demand-table .mud-table-root {
    table-layout: fixed;
}

.demand-management[b-n8zbgw6y9b]  .demand-table .mud-table-cell {
    padding-right: 12px;
    padding-left: 12px;
    vertical-align: top;
}

/* Column resizing is enabled on the grid, but Mud's handle is an invisible 8px strip that only
   reveals itself on hover — nobody finds it. A permanent hairline advertises that the header
   edges are draggable; .mud-resizing is what Mud sets while the drag is in flight. */
.demand-management[b-n8zbgw6y9b]  .mud-resizer {
    border-right: 1px solid var(--taxlegal-border-soft);
}

.demand-management[b-n8zbgw6y9b]  .mud-resizer:hover,
.demand-management[b-n8zbgw6y9b]  .mud-resizing {
    border-right: 2px solid var(--taxlegal-accent);
}

/* Pills are nowrap by design, so in a fixed-width column a long label would be cut mid-letter.
   inline-block (not inline-flex) is what lets text-overflow ellipsize the label. The status
   chip handles its own truncation and already carries a title tooltip. */
.demand-management[b-n8zbgw6y9b]  .demand-table .demand-pill,
.demand-management[b-n8zbgw6y9b]  .demand-table .demand-state-chip {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* RowClass lands on the Mud-rendered <tr> (no scoped attribute): match via ::deep. */
[b-n8zbgw6y9b] .demand-table__row--clickable {
    cursor: pointer;
}

.demand-table__author[b-n8zbgw6y9b] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.demand-table__avatar[b-n8zbgw6y9b] {
    display: inline-grid;
    flex-shrink: 0;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
}

.demand-table__author-info[b-n8zbgw6y9b] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.demand-table__author-info strong[b-n8zbgw6y9b] {
    overflow: hidden;
    color: var(--taxlegal-text);
    font-size: 0.82rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* nowrap without a truncation rule would make this line the column's min-content width, and a
   column can never be dragged narrower than that. */
.demand-table__author-info span[b-n8zbgw6y9b] {
    overflow: hidden;
    color: var(--taxlegal-muted);
    font-size: 0.74rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demand-table__title-cell[b-n8zbgw6y9b],
.demand-table__stacked[b-n8zbgw6y9b],
.demand-table__attachments[b-n8zbgw6y9b] {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.demand-table__title-cell strong[b-n8zbgw6y9b],
.demand-table__stacked strong[b-n8zbgw6y9b],
.demand-table__attachments strong[b-n8zbgw6y9b] {
    color: var(--taxlegal-text);
    font-size: 0.86rem;
    line-height: 1.25;
}

.demand-table__title-cell small[b-n8zbgw6y9b],
.demand-table__stacked span[b-n8zbgw6y9b],
.demand-table__attachments span[b-n8zbgw6y9b] {
    display: -webkit-box;
    overflow: hidden;
    color: var(--taxlegal-muted);
    font-size: 0.76rem;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.demand-table__attachments :deep(.mud-button-root)[b-n8zbgw6y9b] {
    justify-self: start;
    margin-top: 4px;
}

/* No min-width floor here either: flex-wrap already lets the two buttons stack, so the column
   can be dragged down to the width of the widest button instead of being pinned at 220px. */
.demand-bulk-actions[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.demand-table__actions[b-n8zbgw6y9b] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}
/* /Components/Pages/Workflow/DemandSavedViewManageDialog.razor.rz.scp.css */
.manage-favorites[b-r5hf1wkx5a] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.manage-favorites__row[b-r5hf1wkx5a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid var(--taxlegal-border-soft);
    min-width: 0;
}

.manage-favorites__row:last-child[b-r5hf1wkx5a] {
    border-bottom: none;
}

.manage-favorites__name[b-r5hf1wkx5a] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: var(--taxlegal-text);
    font-size: 0.9rem;
}

.manage-favorites__name span:first-child[b-r5hf1wkx5a] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.manage-favorites__default[b-r5hf1wkx5a] {
    flex-shrink: 0;
    padding: 1px 8px;
    border-radius: var(--taxlegal-radius-pill);
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.manage-favorites__actions[b-r5hf1wkx5a] {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 2px;
}
/* /Components/Pages/Workflow/DemandStateTransitionDialog.razor.rz.scp.css */
.phase-transition-dialog__title[b-jxe2o4e8yb] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.phase-transition-dialog__title-icon[b-jxe2o4e8yb] {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.14), rgba(15, 118, 110, 0.14));
    color: var(--mud-palette-primary);
}

.phase-transition-dialog__title :deep(.mud-typography-body2)[b-jxe2o4e8yb] {
    color: var(--mud-palette-text-secondary);
}

.phase-transition-dialog[b-jxe2o4e8yb] {
    display: grid;
    gap: 16px;
}

.phase-transition-dialog__demand[b-jxe2o4e8yb] {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(15, 118, 110, 0.06));
}

.phase-transition-dialog__demand span[b-jxe2o4e8yb],
.phase-transition-dialog__phase span[b-jxe2o4e8yb] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.phase-transition-dialog__demand strong[b-jxe2o4e8yb] {
    color: var(--mud-palette-text-primary);
    font-size: 0.98rem;
    line-height: 1.3;
}

.phase-transition-dialog__flow[b-jxe2o4e8yb] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 2fr);
    gap: 10px;
    align-items: stretch;
}

.phase-transition-dialog__phase[b-jxe2o4e8yb] {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    min-height: 92px;
    padding: 12px;
    border: 1px solid var(--taxlegal-border-soft);
    border-radius: 16px;
    background: #ffffff;
    text-align: center;
}

.phase-transition-dialog__phase--current[b-jxe2o4e8yb] {
    border-color: rgba(37, 99, 235, 0.32);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), rgba(255, 255, 255, 0.95));
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.12);
}

.phase-transition-dialog__destination[b-jxe2o4e8yb] {
    min-width: 0;
    align-self: center;
}

.phase-transition-dialog__flow-arrow[b-jxe2o4e8yb] {
    align-self: center;
    color: #94a3b8;
}

.phase-transition-dialog__notice[b-jxe2o4e8yb] {
    margin: 0;
}

.phase-transition-dialog__footer[b-jxe2o4e8yb] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

@media (max-width: 640px) {
    .phase-transition-dialog__flow[b-jxe2o4e8yb] {
        grid-template-columns: 1fr;
    }

    .phase-transition-dialog__flow-arrow[b-jxe2o4e8yb] {
        justify-self: center;
        transform: rotate(90deg);
    }
}
/* /Components/Shared/CalendarTemplates/CalendarTemplatesEditor.razor.rz.scp.css */
/* Layout collapses on CONTAINER width (named container below), never on viewport:
   the docked drawer eats 248px, so viewport width does not describe the space we get.
   The root must be a literal HTML element for these rules to match (scoped-CSS attribute). */
.calendar-templates-editor[b-z2ad923wfe] {
    container: calendar-editor / inline-size;
    display: grid;
    gap: 18px;
}

.calendar-templates-editor__header[b-z2ad923wfe],
.calendar-templates-editor__header-actions[b-z2ad923wfe],
.calendar-templates-editor__list-header[b-z2ad923wfe],
.calendar-templates-editor__detail-header[b-z2ad923wfe],
.calendar-templates-editor__detail-title[b-z2ad923wfe],
.calendar-templates-editor__detail-actions[b-z2ad923wfe],
.calendar-templates-editor__holiday-toolbar[b-z2ad923wfe] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.calendar-templates-editor__header[b-z2ad923wfe],
.calendar-templates-editor__list-header[b-z2ad923wfe],
.calendar-templates-editor__detail-header[b-z2ad923wfe],
.calendar-templates-editor__holiday-toolbar[b-z2ad923wfe] {
    justify-content: space-between;
}

/* The root grid gap already provides the spacing below the header; without this the
   global .taxlegal-panel__header margin-bottom would stack on top of it. */
.calendar-templates-editor__header[b-z2ad923wfe] {
    margin-bottom: 0;
}

.calendar-templates-editor__loading[b-z2ad923wfe] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

.calendar-templates-editor__workspace[b-z2ad923wfe] {
    display: grid;
    grid-template-columns: minmax(300px, 0.58fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.calendar-templates-editor__list[b-z2ad923wfe],
.calendar-templates-editor__detail[b-z2ad923wfe] {
    display: grid;
    gap: 14px;
    min-width: 0;
}

/* overflow:hidden is a safety net only (the detail background is translucent, so any
   stray overflow paints through it); the real containment is min-width:0 on .mud-table. */
.calendar-templates-editor__list[b-z2ad923wfe] {
    padding: 14px;
    overflow: hidden;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.78);
}

.calendar-templates-editor__detail[b-z2ad923wfe] {
    padding: 16px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
}

.calendar-templates-editor__template-cell[b-z2ad923wfe] {
    display: grid;
    gap: 2px;
}

.calendar-templates-editor__template-cell span[b-z2ad923wfe],
.calendar-templates-editor__metrics span[b-z2ad923wfe] {
    color: var(--taxlegal-muted);
}

/* Mud-rendered internals lack the scoped attribute; a literal ancestor + ::deep reaches them. */
.calendar-templates-editor__list-header[b-z2ad923wfe]  .mud-typography-caption {
    color: var(--taxlegal-muted);
}

.calendar-templates-editor__metrics[b-z2ad923wfe] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.calendar-templates-editor__metrics > div[b-z2ad923wfe] {
    display: grid;
    gap: 2px;
    padding: 12px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 14px;
    background: #fff;
}

.calendar-templates-editor__metrics strong[b-z2ad923wfe] {
    font-size: 1.25rem;
    color: #0f172a;
}

.calendar-templates-editor__holiday-toolbar[b-z2ad923wfe]  .mud-input-control {
    width: 140px;
}

.calendar-templates-editor__empty-state[b-z2ad923wfe] {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 360px;
    padding: 32px;
    text-align: center;
    color: var(--taxlegal-muted);
}

[b-z2ad923wfe] .calendar-templates-editor__row--selected {
    background: rgba(37, 99, 235, 0.08) !important;
}

[b-z2ad923wfe] .calendar-templates-editor__grid .mud-table-row {
    cursor: pointer;
}

/* The DataGrid root is a grid item; without min-width:0 it refuses to shrink below the
   table's min-content width and overflows the panel instead of letting the container scroll. */
[b-z2ad923wfe] .calendar-templates-editor__list .mud-table,
[b-z2ad923wfe] .calendar-templates-editor__detail .mud-table {
    min-width: 0;
    max-width: 100%;
}

[b-z2ad923wfe] .calendar-templates-editor__list .mud-table-container,
[b-z2ad923wfe] .calendar-templates-editor__detail .mud-table-container {
    overflow-x: auto;
}

[b-z2ad923wfe] .calendar-templates-editor__grid .mud-table-cell {
    vertical-align: top;
}

[b-z2ad923wfe] .calendar-templates-editor__grid .mud-table-cell:first-child {
    min-width: 180px;
}

[b-z2ad923wfe] .calendar-templates-editor__grid .mud-table-cell:not(:first-child) {
    white-space: nowrap;
}

/* Editor container narrow: workspace collapses to a single column. */
@container calendar-editor (max-width: 1179px) {
    .calendar-templates-editor__workspace[b-z2ad923wfe] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container calendar-editor (max-width: 559px) {
    .calendar-templates-editor__header-actions[b-z2ad923wfe],
    .calendar-templates-editor__detail-actions[b-z2ad923wfe] {
        width: 100%;
    }

    .calendar-templates-editor__header-actions[b-z2ad923wfe]  .mud-button-root,
    .calendar-templates-editor__detail-actions[b-z2ad923wfe]  .mud-button-root {
        flex: 1 1 140px;
    }

    .calendar-templates-editor__holiday-toolbar[b-z2ad923wfe] {
        align-items: stretch;
    }

    .calendar-templates-editor__holiday-toolbar[b-z2ad923wfe]  .mud-button-root,
    .calendar-templates-editor__holiday-toolbar[b-z2ad923wfe]  .mud-input-control {
        width: 100%;
    }

    .calendar-templates-editor__metrics[b-z2ad923wfe] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Shared/CompanyAiContext/CompanyAiContextEditor.razor.rz.scp.css */
.company-ai-context-loading[b-joz2diup80],
.company-ai-context-form[b-joz2diup80] {
    display: grid;
    gap: 16px;
}

.company-ai-context-section[b-joz2diup80] {
    display: grid;
    gap: 16px;
}

.company-ai-context-actions[b-joz2diup80] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 640px) {
    .company-ai-context-actions[b-joz2diup80] {
        flex-direction: column-reverse;
    }

    .company-ai-context-actions :deep(.mud-button-root)[b-joz2diup80] {
        width: 100%;
    }
}
/* /Components/Shared/CompanyCalendar/CompanyCalendarEditor.razor.rz.scp.css */
.calendar-editor[b-ebcy4c1vzj] {
    display: grid;
    gap: 24px;
}

.calendar-editor__loading[b-ebcy4c1vzj] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

.calendar-editor__notice[b-ebcy4c1vzj] {
    margin: 2px 0 0;
}

.calendar-editor__notice[b-ebcy4c1vzj]  .mud-alert-message {
    line-height: 1.55;
}

.calendar-editor__template-card[b-ebcy4c1vzj] {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.82), rgba(255, 255, 255, 0.96));
}

.calendar-editor__template-main[b-ebcy4c1vzj],
.calendar-editor__template-actions[b-ebcy4c1vzj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.calendar-editor__template-actions[b-ebcy4c1vzj]  .mud-input-control {
    flex: 1 1 420px;
    min-width: min(100%, 320px);
    margin-top: 0;
}

.calendar-editor__template-actions[b-ebcy4c1vzj]  .mud-button-root {
    min-height: 42px;
}

.calendar-editor__section-card[b-ebcy4c1vzj] {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 18px;
    background: #fff;
}

.calendar-editor__section-header[b-ebcy4c1vzj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin: 0;
}

.calendar-editor__section-heading[b-ebcy4c1vzj] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.calendar-editor__section-heading[b-ebcy4c1vzj]  .mud-icon-root {
    flex: 0 0 auto;
}

.calendar-editor__section-text[b-ebcy4c1vzj] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.calendar-editor__section-title[b-ebcy4c1vzj] {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    color: #0f172a;
}

.calendar-editor__section-subtitle[b-ebcy4c1vzj] {
    font-size: 0.8125rem;
    line-height: 1.35;
    color: #64748b;
}

.calendar-editor__section-actions[b-ebcy4c1vzj] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.calendar-editor__year-select[b-ebcy4c1vzj] {
    min-width: 110px;
}

.calendar-editor__section-actions[b-ebcy4c1vzj]  .mud-input-control {
    margin-top: 0;
}

.calendar-editor__section-actions[b-ebcy4c1vzj]  .mud-button-root,
.calendar-editor__section-header[b-ebcy4c1vzj] >  .mud-button-root {
    min-height: 42px;
}

.calendar-editor__workday[b-ebcy4c1vzj] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.calendar-editor__workday[b-ebcy4c1vzj]  .mud-input-control {
    margin-top: 0;
    flex: 0 1 220px;
}

.calendar-editor__workday[b-ebcy4c1vzj]  .mud-button-root {
    min-height: 42px;
}

.calendar-editor__table[b-ebcy4c1vzj] {
    margin-top: 2px;
}

.calendar-editor__table[b-ebcy4c1vzj]  .mud-table-container {
    overflow-x: auto;
}

.calendar-editor__table[b-ebcy4c1vzj]  .mud-table-head .mud-table-cell {
    padding-top: 14px;
    padding-bottom: 14px;
}

.calendar-editor__table[b-ebcy4c1vzj]  .mud-table-cell {
    padding-top: 12px;
    padding-bottom: 12px;
}

.calendar-editor__divider[b-ebcy4c1vzj] {
    height: 1px;
    background: rgba(100, 116, 139, 0.18);
    margin: 12px 0 8px;
}

@media (max-width: 760px) {
    .calendar-editor__template-card[b-ebcy4c1vzj],
    .calendar-editor__section-card[b-ebcy4c1vzj] {
        padding: 18px;
    }

    .calendar-editor__template-actions[b-ebcy4c1vzj]  .mud-input-control,
    .calendar-editor__template-actions[b-ebcy4c1vzj]  .mud-button-root,
    .calendar-editor__section-actions[b-ebcy4c1vzj],
    .calendar-editor__section-actions[b-ebcy4c1vzj]  .mud-input-control,
    .calendar-editor__section-actions[b-ebcy4c1vzj]  .mud-button-root,
    .calendar-editor__section-header[b-ebcy4c1vzj] >  .mud-button-root,
    .calendar-editor__workday[b-ebcy4c1vzj]  .mud-input-control,
    .calendar-editor__workday[b-ebcy4c1vzj]  .mud-button-root {
        width: 100%;
    }
}
/* /Components/Shared/DemandDashboard/DashboardDrilldownDialog.razor.rz.scp.css */
.dashboard-drilldown__title[b-ldenuyqjy4] {
    display: grid;
    gap: 2px;
}

.dashboard-drilldown__hint[b-ldenuyqjy4] {
    display: block;
    margin-top: 8px;
    color: var(--taxlegal-muted);
}

/* Without min-width:0 the grid refuses to shrink below the table's min-content width and
   overflows the dialog instead of letting .mud-table-container scroll horizontally. */
.dashboard-drilldown[b-ldenuyqjy4]  .mud-table {
    min-width: 0;
    max-width: 100%;
}

.dashboard-drilldown[b-ldenuyqjy4]  .mud-table-container {
    overflow-x: auto;
}

.dashboard-drilldown[b-ldenuyqjy4]  .mud-table-row {
    cursor: pointer;
}
/* /Components/Shared/DemandPhases/DemandPhasesEditor.razor.rz.scp.css */
/* Layout collapses on CONTAINER width (named container below), never on viewport:
   the docked drawer eats 248px, so viewport width does not describe the space we get.
   The root must be a literal HTML element for these rules to match (scoped-CSS attribute). */
.demand-phases-editor[b-5gpvcaiqmp] {
    container: phases-editor / inline-size;
    display: grid;
    gap: 16px;
}

/* The root grid gap already provides the spacing below the header; without this the
   global .taxlegal-panel__header margin-bottom would stack on top of it. */
.demand-phases-editor__header[b-5gpvcaiqmp] {
    flex-wrap: wrap;
    margin-bottom: 0;
}

.demand-phases-editor__loading[b-5gpvcaiqmp] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

/* Class lands on the MudAlert-rendered div (no scoped attribute): match via ::deep. */
[b-5gpvcaiqmp] .demand-phases-editor__notice {
    margin: 0;
}

/* Template picker wraps with the container instead of a fixed 4-track grid. */
.demand-phases-editor__template-actions[b-5gpvcaiqmp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.78);
}

.demand-phases-editor__template-actions[b-5gpvcaiqmp]  .mud-select {
    flex: 1 1 240px;
    min-width: 0;
    max-width: 380px;
}

/* Class lands on the MudDropZone-rendered div (no scoped attribute): match via ::deep. */
[b-5gpvcaiqmp] .demand-phases-editor__list {
    display: grid;
    gap: 8px;
    min-height: 48px;
}

/* Each phase is a card whose grid re-flows with the EDITOR container:
   one line wide, two lines mid (handle + swatch + name + actions / description + SLA),
   stacked narrow. No state has a fixed minimum wider than the space available. */
.demand-phases-editor__row[b-5gpvcaiqmp] {
    display: grid;
    grid-template-columns: auto 30px minmax(140px, 1fr) minmax(180px, 2fr) minmax(150px, 1fr) auto;
    grid-template-areas: "drag num name description sla actions";
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(100, 116, 139, 0.24);
    border-radius: 10px;
    background: #fff;
    min-width: 0;
}

/* ItemDraggingClass is applied to the Mud-rendered drop item wrapper: match via ::deep. */
[b-5gpvcaiqmp] .demand-phases-editor__row--dragging {
    opacity: 0.6;
}

.demand-phases-editor__drag-handle[b-5gpvcaiqmp] {
    grid-area: drag;
    display: flex;
    align-items: center;
}

.demand-phases-editor__drag-handle[b-5gpvcaiqmp]  .demand-phases-editor__drag {
    cursor: grab;
    color: #94a3b8;
}

.demand-phases-editor__swatch[b-5gpvcaiqmp] {
    grid-area: num;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 800;
}

.demand-phases-editor__row-field[b-5gpvcaiqmp] {
    min-width: 0;
}

.demand-phases-editor__row-field--name[b-5gpvcaiqmp] {
    grid-area: name;
}

.demand-phases-editor__row-field--description[b-5gpvcaiqmp] {
    grid-area: description;
}

.demand-phases-editor__row-field--sla[b-5gpvcaiqmp] {
    grid-area: sla;
}

.demand-phases-editor__row-actions[b-5gpvcaiqmp] {
    grid-area: actions;
    display: flex;
    align-items: center;
    gap: 2px;
    justify-content: flex-end;
}

@container phases-editor (max-width: 879px) {
    .demand-phases-editor__row[b-5gpvcaiqmp] {
        grid-template-columns: auto 30px minmax(0, 2fr) minmax(0, 1fr) auto;
        grid-template-areas:
            "drag num name        name actions"
            ".    .   description sla  sla";
        row-gap: 16px;
    }
}

.demand-phases-editor__footer[b-5gpvcaiqmp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Class lands on the MudText-rendered element (no scoped attribute): match via ::deep. */
.demand-phases-editor__footer[b-5gpvcaiqmp]  .demand-phases-editor__fork-hint {
    color: var(--taxlegal-muted);
    margin-right: auto;
}

@container phases-editor (max-width: 559px) {
    .demand-phases-editor__row[b-5gpvcaiqmp] {
        grid-template-columns: auto 30px minmax(0, 1fr) auto;
        grid-template-areas:
            "drag num name        actions"
            ".    .   description description"
            ".    .   sla         sla";
        row-gap: 16px;
    }

    .demand-phases-editor__header[b-5gpvcaiqmp]  .mud-button-root {
        width: 100%;
    }

    .demand-phases-editor__template-actions[b-5gpvcaiqmp]  .mud-select {
        flex-basis: 100%;
        max-width: none;
    }

    .demand-phases-editor__template-actions[b-5gpvcaiqmp]  .mud-button-root {
        flex: 1 1 140px;
    }

    .demand-phases-editor__footer[b-5gpvcaiqmp] {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .demand-phases-editor__footer[b-5gpvcaiqmp]  .demand-phases-editor__fork-hint {
        margin-right: 0;
    }

    .demand-phases-editor__footer[b-5gpvcaiqmp]  .mud-button-root {
        width: 100%;
    }
}
/* /Components/Shared/DemandPhaseTemplates/DemandPhaseTemplatesEditor.razor.rz.scp.css */
/* Layout collapses on CONTAINER width (named containers below), never on viewport:
   the docked drawer eats 248px, so viewport width does not describe the space we get.
   The root must be a literal HTML element for these rules to match (scoped-CSS attribute). */
.phase-templates-editor[b-3x4peq8c49] {
    container: phase-editor / inline-size;
    display: grid;
    gap: 18px;
}

.phase-templates-editor__header[b-3x4peq8c49],
.phase-templates-editor__header-actions[b-3x4peq8c49],
.phase-templates-editor__list-header[b-3x4peq8c49],
.phase-templates-editor__detail-header[b-3x4peq8c49],
.phase-templates-editor__detail-title[b-3x4peq8c49] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.phase-templates-editor__header[b-3x4peq8c49],
.phase-templates-editor__list-header[b-3x4peq8c49],
.phase-templates-editor__detail-header[b-3x4peq8c49] {
    justify-content: space-between;
}

/* The root grid gap already provides the spacing below the header; without this the
   global .taxlegal-panel__header margin-bottom would stack on top of it. */
.phase-templates-editor__header[b-3x4peq8c49] {
    margin-bottom: 0;
}

.phase-templates-editor__loading[b-3x4peq8c49] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

/* Collapsible info notice: shared .taxlegal-info-details styles in the design-system css. */

.phase-templates-editor__workspace[b-3x4peq8c49] {
    display: grid;
    grid-template-columns: minmax(280px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

/* overflow:hidden is a safety net only (the detail background is translucent, so any
   stray overflow paints through it); the real containment is min-width:0 on .mud-table. */
.phase-templates-editor__list[b-3x4peq8c49] {
    display: grid;
    gap: 14px;
    min-width: 0;
    overflow: hidden;
    padding: 14px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.78);
}

.phase-templates-editor__list-compact[b-3x4peq8c49] {
    display: none;
}

/* Flex column, not grid: the sticky footer's containing block must be the whole panel,
   and a grid item is confined to its own auto-sized grid area (sticky would never move).
   "taxlegal-editor" is the container-name alias the shared footer CSS queries. */
.phase-templates-editor__detail[b-3x4peq8c49] {
    container: phase-detail taxlegal-editor / inline-size;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    padding: var(--taxlegal-panel-padding);
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
}

/* Editor container narrow: single column; the list becomes a compact template picker. */
@container phase-editor (max-width: 1179px) {
    .phase-templates-editor__workspace[b-3x4peq8c49] {
        grid-template-columns: minmax(0, 1fr);
    }

    .phase-templates-editor__list[b-3x4peq8c49] {
        display: none;
    }

    .phase-templates-editor__list-compact[b-3x4peq8c49] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
    }
}

.phase-templates-editor__list-compact[b-3x4peq8c49]  .mud-select {
    flex: 1 1 240px;
    min-width: 0;
}

@container phase-editor (max-width: 559px) {
    .phase-templates-editor__header-actions[b-3x4peq8c49] {
        width: 100%;
    }

    .phase-templates-editor__header-actions[b-3x4peq8c49]  .mud-button-root {
        flex: 1 1 140px;
    }
}

.phase-templates-editor__template-cell[b-3x4peq8c49] {
    display: grid;
    gap: 2px;
}

.phase-templates-editor__template-cell span[b-3x4peq8c49],
.phase-templates-editor__items-head[b-3x4peq8c49]  .mud-typography-caption,
.phase-templates-editor__list-header[b-3x4peq8c49]  .mud-typography-caption {
    color: var(--taxlegal-muted);
}

.phase-templates-editor__meta[b-3x4peq8c49] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.phase-templates-editor__fields[b-3x4peq8c49] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr);
    gap: 12px;
}

@container phase-detail (max-width: 639px) {
    .phase-templates-editor__fields[b-3x4peq8c49] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.phase-templates-editor__items-head[b-3x4peq8c49] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
}

.phase-templates-editor__items[b-3x4peq8c49] {
    display: grid;
    gap: 10px;
}

/* Each phase is a card whose inner grid re-flows with the DETAIL container:
   one row wide, two rows mid (position + name + actions / description + SLA), stacked narrow.
   No state has a fixed minimum wider than the space available — nothing clips or bleeds. */
.phase-templates-editor__item[b-3x4peq8c49] {
    display: grid;
    grid-template-columns: 30px minmax(140px, 1.2fr) minmax(160px, 1.6fr) minmax(150px, 200px) auto;
    grid-template-areas: "num name description sla actions";
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--taxlegal-border-soft, #edf2f7);
    border-radius: 10px;
    background: #fff;
    min-width: 0;
}

.phase-templates-editor__item-position[b-3x4peq8c49] {
    grid-area: num;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 800;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.phase-templates-editor__item-field[b-3x4peq8c49] {
    min-width: 0;
}

.phase-templates-editor__item-field--name[b-3x4peq8c49] {
    grid-area: name;
}

.phase-templates-editor__item-field--description[b-3x4peq8c49] {
    grid-area: description;
}

.phase-templates-editor__item-field--sla[b-3x4peq8c49] {
    grid-area: sla;
}

.phase-templates-editor__item-actions[b-3x4peq8c49] {
    grid-area: actions;
    display: flex;
    align-items: center;
    gap: 2px;
    justify-content: flex-end;
}

@container phase-detail (max-width: 879px) {
    .phase-templates-editor__item[b-3x4peq8c49] {
        grid-template-columns: 30px repeat(2, minmax(0, 1fr)) auto;
        grid-template-areas:
            "num name        name actions"
            ".   description sla  sla";
        row-gap: 16px;
    }
}

@container phase-detail (max-width: 559px) {
    .phase-templates-editor__item[b-3x4peq8c49] {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        grid-template-areas:
            "num name        actions"
            ".   description description"
            ".   sla         sla";
        row-gap: 16px;
    }
}

.phase-templates-editor__add[b-3x4peq8c49] {
    display: flex;
}

/* Sticky save bar: shared .taxlegal-editor-footer styles in the design-system css. */

.phase-templates-editor__empty-state[b-3x4peq8c49] {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 360px;
    padding: 32px;
    text-align: center;
    color: var(--taxlegal-muted);
}

[b-3x4peq8c49] .phase-templates-editor__row--selected {
    background: rgba(37, 99, 235, 0.08) !important;
}

[b-3x4peq8c49] .phase-templates-editor__grid .mud-table-row {
    cursor: pointer;
}

/* The DataGrid root is a grid item; without min-width:0 it refuses to shrink below the
   table's min-content width and overflows the panel instead of letting the container scroll. */
[b-3x4peq8c49] .phase-templates-editor__list .mud-table {
    min-width: 0;
    max-width: 100%;
}

[b-3x4peq8c49] .phase-templates-editor__list .mud-table-container {
    overflow-x: auto;
}

[b-3x4peq8c49] .phase-templates-editor__grid .mud-table-cell {
    vertical-align: top;
}

[b-3x4peq8c49] .phase-templates-editor__grid .mud-table-cell:first-child {
    min-width: 160px;
}

[b-3x4peq8c49] .phase-templates-editor__grid .mud-table-cell:not(:first-child) {
    white-space: nowrap;
}
/* /Components/Shared/DemandStatuses/DemandStatusChip.razor.rz.scp.css */
.demand-status-chip[b-8p1ulj0c3t] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid var(--demand-status-border);
    border-radius: 999px;
    background: var(--demand-status-background);
    color: var(--demand-status-foreground);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    vertical-align: middle;
}

.demand-status-chip--dense[b-8p1ulj0c3t] {
    min-height: 24px;
    padding: 2px 8px;
    font-size: 0.75rem;
}

.demand-status-chip--muted[b-8p1ulj0c3t] {
    opacity: 0.62;
}

.demand-status-chip__dot[b-8p1ulj0c3t] {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.demand-status-chip__label[b-8p1ulj0c3t] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Shared/DemandStatuses/DemandStatusesEditor.razor.rz.scp.css */
.demand-statuses-editor[b-dfdv0glxz7] {
    container: demand-statuses / inline-size;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.demand-statuses-editor__header[b-dfdv0glxz7] {
    flex-wrap: wrap;
    margin-bottom: 0;
}

.demand-statuses-editor__header-actions[b-dfdv0glxz7] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.demand-statuses-editor__loading[b-dfdv0glxz7] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

[b-dfdv0glxz7] .demand-statuses-editor__notice {
    margin: 0;
}

.demand-statuses-editor__template-card[b-dfdv0glxz7] {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.82), rgba(255, 255, 255, 0.96));
}

.demand-statuses-editor__template-main[b-dfdv0glxz7],
.demand-statuses-editor__template-actions[b-dfdv0glxz7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.demand-statuses-editor__template-actions[b-dfdv0glxz7]  .mud-input-control {
    flex: 1 1 420px;
    min-width: min(100%, 320px);
    margin-top: 0;
}

.demand-statuses-editor__template-actions[b-dfdv0glxz7]  .mud-button-root {
    min-height: 42px;
}

.demand-statuses-editor__summary[b-dfdv0glxz7] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.demand-statuses-editor__summary > div[b-dfdv0glxz7] {
    display: grid;
    gap: 3px;
    padding: 14px 16px;
    border: 1px solid var(--taxlegal-border-soft, #edf2f7);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.72);
    min-width: 0;
}

.demand-statuses-editor__summary span[b-dfdv0glxz7] {
    color: var(--taxlegal-muted);
    font-size: 0.75rem;
}

.demand-statuses-editor__summary strong[b-dfdv0glxz7] {
    overflow: hidden;
    color: var(--taxlegal-primary);
    font-size: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demand-statuses-editor__grid-shell[b-dfdv0glxz7] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--taxlegal-border-soft, #edf2f7);
    border-radius: 10px;
}

.demand-statuses-editor__grid-shell[b-dfdv0glxz7]  .mud-table-container {
    overflow-x: auto;
}

.demand-statuses-editor__grid-shell[b-dfdv0glxz7]  table {
    min-width: 860px;
}

.demand-statuses-editor__order-actions[b-dfdv0glxz7],
.demand-statuses-editor__row-actions[b-dfdv0glxz7] {
    display: flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}

.demand-statuses-editor__position[b-dfdv0glxz7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: 4px;
    border-radius: 50%;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
    font-size: 0.75rem;
    font-weight: 800;
}

.demand-statuses-editor__status-cell[b-dfdv0glxz7] {
    display: grid;
    justify-items: start;
    gap: 7px;
    min-width: 150px;
}

.demand-statuses-editor__status-markers[b-dfdv0glxz7] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

.demand-statuses-editor__behavior-cell[b-dfdv0glxz7] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    min-width: 260px;
}

.demand-statuses-editor__behavior-cell[b-dfdv0glxz7]  .mud-icon-root {
    margin-top: 2px;
    color: var(--taxlegal-primary);
}

.demand-statuses-editor__behavior-cell div[b-dfdv0glxz7] {
    display: grid;
    gap: 2px;
}

.demand-statuses-editor__behavior-cell strong[b-dfdv0glxz7] {
    font-size: 0.8125rem;
}

.demand-statuses-editor__behavior-cell span[b-dfdv0glxz7] {
    color: var(--taxlegal-muted);
    font-size: 0.75rem;
    line-height: 1.35;
}

@container demand-statuses (max-width: 639px) {
    .demand-statuses-editor__header-actions[b-dfdv0glxz7],
    .demand-statuses-editor__header-actions[b-dfdv0glxz7]  .mud-button-root {
        width: 100%;
    }

    .demand-statuses-editor__summary[b-dfdv0glxz7] {
        grid-template-columns: 1fr;
    }

    .demand-statuses-editor__template-card[b-dfdv0glxz7] {
        padding: 18px;
    }

    .demand-statuses-editor__template-actions[b-dfdv0glxz7]  .mud-input-control,
    .demand-statuses-editor__template-actions[b-dfdv0glxz7]  .mud-button-root {
        width: 100%;
    }
}
/* /Components/Shared/DemandStatusTemplates/DemandStatusTemplatesEditor.razor.rz.scp.css */
/* Layout collapses on CONTAINER width (named containers below), never on viewport:
   the docked drawer eats 248px, so viewport width does not describe the space we get.
   The root must be a literal HTML element for these rules to match (scoped-CSS attribute). */
.status-templates-editor[b-kg2f2hinyt] {
    container: status-editor / inline-size;
    display: grid;
    gap: 18px;
}

.status-templates-editor__header[b-kg2f2hinyt],
.status-templates-editor__header-actions[b-kg2f2hinyt],
.status-templates-editor__list-header[b-kg2f2hinyt],
.status-templates-editor__detail-header[b-kg2f2hinyt],
.status-templates-editor__detail-title[b-kg2f2hinyt] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.status-templates-editor__header[b-kg2f2hinyt],
.status-templates-editor__list-header[b-kg2f2hinyt],
.status-templates-editor__detail-header[b-kg2f2hinyt] {
    justify-content: space-between;
}

/* The root grid gap already provides the spacing below the header; without this the
   global .taxlegal-panel__header margin-bottom would stack on top of it. */
.status-templates-editor__header[b-kg2f2hinyt] {
    margin-bottom: 0;
}

.status-templates-editor__loading[b-kg2f2hinyt] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

/* Collapsible info notice: shared .taxlegal-info-details styles in the design-system css. */

.status-templates-editor__workspace[b-kg2f2hinyt] {
    display: grid;
    grid-template-columns: minmax(280px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

/* overflow:hidden is a safety net only (the detail background is translucent, so any
   stray overflow paints through it); the real containment is min-width:0 on .mud-table. */
.status-templates-editor__list[b-kg2f2hinyt] {
    display: grid;
    gap: 14px;
    min-width: 0;
    overflow: hidden;
    padding: 14px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.78);
}

.status-templates-editor__list-compact[b-kg2f2hinyt] {
    display: none;
}

/* Flex column, not grid: the sticky footer's containing block must be the whole panel,
   and a grid item is confined to its own auto-sized grid area (sticky would never move).
   "taxlegal-editor" is the container-name alias the shared footer CSS queries. */
.status-templates-editor__detail[b-kg2f2hinyt] {
    container: status-detail taxlegal-editor / inline-size;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    padding: var(--taxlegal-panel-padding);
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
}

/* Editor container narrow: single column; the list becomes a compact template picker. */
@container status-editor (max-width: 1179px) {
    .status-templates-editor__workspace[b-kg2f2hinyt] {
        grid-template-columns: minmax(0, 1fr);
    }

    .status-templates-editor__list[b-kg2f2hinyt] {
        display: none;
    }

    .status-templates-editor__list-compact[b-kg2f2hinyt] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
    }
}

.status-templates-editor__list-compact[b-kg2f2hinyt]  .mud-select {
    flex: 1 1 240px;
    min-width: 0;
}

@container status-editor (max-width: 559px) {
    .status-templates-editor__header-actions[b-kg2f2hinyt] {
        width: 100%;
    }

    .status-templates-editor__header-actions[b-kg2f2hinyt]  .mud-button-root {
        flex: 1 1 140px;
    }
}

.status-templates-editor__template-cell[b-kg2f2hinyt] {
    display: grid;
    gap: 2px;
}

.status-templates-editor__template-cell span[b-kg2f2hinyt],
.status-templates-editor__items-head[b-kg2f2hinyt]  .mud-typography-caption,
.status-templates-editor__list-header[b-kg2f2hinyt]  .mud-typography-caption {
    color: var(--taxlegal-muted);
}

.status-templates-editor__meta[b-kg2f2hinyt] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.status-templates-editor__fields[b-kg2f2hinyt] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr);
    gap: 12px;
}

@container status-detail (max-width: 639px) {
    .status-templates-editor__fields[b-kg2f2hinyt] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.status-templates-editor__items-head[b-kg2f2hinyt] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
}

.status-templates-editor__items[b-kg2f2hinyt] {
    display: grid;
    gap: 10px;
}

/* Each status is a card whose inner grid re-flows with the DETAIL container:
   one row wide, two rows mid, stacked narrow. No state has a fixed minimum wider than
   the space available — nothing clips or bleeds. */
.status-templates-editor__item[b-kg2f2hinyt] {
    /* Outer height of one MudBlazor dense outlined field: 4px control margin + 50px input box.
       The behavior select carries a helper text of variable height, so the cells in a row are
       never the same height — everything is aligned to the top and then offset by this line
       instead, which keeps the input boxes and the icon buttons on the same baseline. */
    --status-field-line: 54px;
    --status-item-position-size: 28px;

    display: grid;
    grid-template-columns: 30px minmax(140px, 1.2fr) minmax(160px, 1.4fr) minmax(140px, 1fr) auto auto;
    grid-template-areas: "num name behavior color flags actions";
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid var(--taxlegal-border-soft, #edf2f7);
    border-radius: 10px;
    background: #fff;
    min-width: 0;
}

.status-templates-editor__item-position[b-kg2f2hinyt] {
    grid-area: num;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--status-item-position-size);
    min-height: var(--status-item-position-size);
    /* Centred on the input line without stretching the circle. */
    margin-top: calc((var(--status-field-line) - var(--status-item-position-size)) / 2);
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 800;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.status-templates-editor__item-field[b-kg2f2hinyt] {
    min-width: 0;
}

.status-templates-editor__item-field--name[b-kg2f2hinyt] {
    grid-area: name;
}

.status-templates-editor__item-field--behavior[b-kg2f2hinyt] {
    grid-area: behavior;
}

.status-templates-editor__item-field--color[b-kg2f2hinyt] {
    grid-area: color;
}

/* No input of their own, so they take the input line's height and centre inside it. */
.status-templates-editor__item-flags[b-kg2f2hinyt] {
    grid-area: flags;
    display: flex;
    align-items: center;
    gap: 2px;
    min-height: var(--status-field-line);
}

.status-templates-editor__item-actions[b-kg2f2hinyt] {
    grid-area: actions;
    display: flex;
    align-items: center;
    gap: 2px;
    justify-content: flex-end;
    min-height: var(--status-field-line);
}

@container status-detail (max-width: 879px) {
    .status-templates-editor__item[b-kg2f2hinyt] {
        grid-template-columns: 30px repeat(2, minmax(0, 1fr)) auto;
        grid-template-areas:
            "num name     name  actions"
            ".   behavior color flags";
        row-gap: 16px;
    }
}

@container status-detail (max-width: 559px) {
    .status-templates-editor__item[b-kg2f2hinyt] {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        grid-template-areas:
            "num name     actions"
            ".   behavior behavior"
            ".   color    color"
            ".   flags    flags";
        row-gap: 16px;
    }

    /* Stacked on its own row, with no field beside it to line up against. */
    .status-templates-editor__item-flags[b-kg2f2hinyt] {
        justify-content: flex-start;
        min-height: 0;
    }
}

.status-templates-editor__add[b-kg2f2hinyt] {
    display: flex;
}

/* Sticky save bar: shared .taxlegal-editor-footer styles in the design-system css. */

.status-templates-editor__empty-state[b-kg2f2hinyt] {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 360px;
    padding: 32px;
    text-align: center;
    color: var(--taxlegal-muted);
}

[b-kg2f2hinyt] .status-templates-editor__row--selected {
    background: rgba(37, 99, 235, 0.08) !important;
}

[b-kg2f2hinyt] .status-templates-editor__grid .mud-table-row {
    cursor: pointer;
}

/* The DataGrid root is a grid item; without min-width:0 it refuses to shrink below the
   table's min-content width and overflows the panel instead of letting the container scroll. */
[b-kg2f2hinyt] .status-templates-editor__list .mud-table {
    min-width: 0;
    max-width: 100%;
}

[b-kg2f2hinyt] .status-templates-editor__list .mud-table-container {
    overflow-x: auto;
}

[b-kg2f2hinyt] .status-templates-editor__grid .mud-table-cell {
    vertical-align: top;
}

[b-kg2f2hinyt] .status-templates-editor__grid .mud-table-cell:first-child {
    min-width: 160px;
}

[b-kg2f2hinyt] .status-templates-editor__grid .mud-table-cell:not(:first-child) {
    white-space: nowrap;
}
/* /Components/Shared/FullscreenTextEditorDialog.razor.rz.scp.css */
/* The dialog chrome (.mud-dialog / .mud-dialog-content) is Mud-rendered, so the rules that turn
   it into a stretching flex column live in taxlegal.design-system.css under
   .fullscreen-text-editor-dialog; everything from the literal wrappers down is styled here. */

.fullscreen-text-editor__title[b-8v5msrsrb5] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.fullscreen-text-editor__title-icon[b-8v5msrsrb5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(37, 99, 235, 0.12);
    color: var(--taxlegal-accent);
    flex-shrink: 0;
}

.fullscreen-text-editor[b-8v5msrsrb5] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    gap: 12px;
}

/* Every Mud layer between the wrapper and the textarea must flex so the field fills the dialog. */
.fullscreen-text-editor[b-8v5msrsrb5]  .fullscreen-text-editor__field,
.fullscreen-text-editor[b-8v5msrsrb5]  .fullscreen-text-editor__field .mud-input-control-input-container,
.fullscreen-text-editor[b-8v5msrsrb5]  .fullscreen-text-editor__field .mud-input {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.fullscreen-text-editor[b-8v5msrsrb5]  .fullscreen-text-editor__field textarea {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    resize: none;
}

.fullscreen-text-editor__footer[b-8v5msrsrb5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.fullscreen-text-editor__counter[b-8v5msrsrb5] {
    color: var(--taxlegal-muted);
    font-size: 0.8125rem;
}

.fullscreen-text-editor__actions[b-8v5msrsrb5] {
    display: flex;
    gap: 8px;
    margin-left: auto;
}
/* /Components/Shared/SlaModels/SlaModelsEditor.razor.rz.scp.css */
/* Layout collapses on CONTAINER width (named containers below), never on viewport:
   the docked drawer eats 248px, so viewport width does not describe the space we get.
   The root must be a literal HTML element for these rules to match (scoped-CSS attribute).
   Flex column, not grid: the sticky footer's containing block must be the whole panel,
   and a grid item is confined to its own auto-sized grid area (sticky would never move).
   "taxlegal-editor" is the container-name alias the shared footer CSS queries. */
.sla-models-editor[b-oqjk6dx9xj] {
    container: sla-models taxlegal-editor / inline-size;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* The root gap already provides the spacing below the header; without this the global
   .taxlegal-panel__header margin-bottom would stack on top of it. flex-wrap keeps the
   "Atualizar" button from crushing the title when it goes full-width on narrow containers. */
.sla-models-editor__header[b-oqjk6dx9xj] {
    flex-wrap: wrap;
    margin-bottom: 0;
}

.sla-models-editor__loading[b-oqjk6dx9xj] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

/* ::deep because the class sits on a MudAlert — Mud-rendered elements never get the
   scoped-CSS attribute, so the plain scoped selector would silently never match. */
[b-oqjk6dx9xj] .sla-models-editor__notice {
    margin: 0;
}

.sla-models-editor__template-card[b-oqjk6dx9xj] {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.82), rgba(255, 255, 255, 0.96));
}

.sla-models-editor__template-main[b-oqjk6dx9xj],
.sla-models-editor__template-actions[b-oqjk6dx9xj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.sla-models-editor__template-actions[b-oqjk6dx9xj]  .mud-input-control {
    flex: 1 1 420px;
    min-width: min(100%, 320px);
    margin-top: 0;
}

.sla-models-editor__template-actions[b-oqjk6dx9xj]  .mud-button-root {
    min-height: 42px;
}

@container sla-models (max-width: 559px) {
    .sla-models-editor__header[b-oqjk6dx9xj]  .mud-button-root {
        width: 100%;
    }

    .sla-models-editor__template-card[b-oqjk6dx9xj] {
        padding: 18px;
    }

    .sla-models-editor__template-actions[b-oqjk6dx9xj]  .mud-input-control,
    .sla-models-editor__template-actions[b-oqjk6dx9xj]  .mud-button-root {
        width: 100%;
    }
}

/* ::deep because the class sits on a MudText — see the __notice note above. */
[b-oqjk6dx9xj] .sla-models-editor__empty {
    color: var(--taxlegal-muted);
    padding: 8px 0;
}

.sla-models-editor__list[b-oqjk6dx9xj] {
    display: grid;
    gap: 12px;
}

/* Each model card is its own size container: the field row and the option rows
   inside collapse against the CARD width, so cards reflow instead of bleeding. */
.sla-models-editor__model[b-oqjk6dx9xj] {
    container: sla-model-card / inline-size;
    display: grid;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(100, 116, 139, 0.24);
    border-radius: 10px;
    background: #fff;
    min-width: 0;
}

.sla-models-editor__model-fields[b-oqjk6dx9xj] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr) auto;
    grid-template-areas: "name description actions";
    align-items: start;
    gap: 12px;
}

.sla-models-editor__model-field[b-oqjk6dx9xj] {
    min-width: 0;
}

.sla-models-editor__model-field--name[b-oqjk6dx9xj] {
    grid-area: name;
}

.sla-models-editor__model-field--description[b-oqjk6dx9xj] {
    grid-area: description;
}

.sla-models-editor__model-actions[b-oqjk6dx9xj] {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

@container sla-model-card (max-width: 639px) {
    .sla-models-editor__model-fields[b-oqjk6dx9xj] {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "name        actions"
            "description description";
    }
}

.sla-models-editor__options-head[b-oqjk6dx9xj] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
}

.sla-models-editor__options-head[b-oqjk6dx9xj]  .mud-typography-caption {
    color: var(--taxlegal-muted);
}

.sla-models-editor__options[b-oqjk6dx9xj] {
    display: grid;
    gap: 10px;
    padding-left: 12px;
    border-left: 3px solid rgba(100, 116, 139, 0.16);
}

/* Each SLA is a card whose inner grid re-flows with the MODEL CARD container:
   one row wide, two rows mid (name + actions / hours + clock + target), stacked narrow.
   No state has a fixed minimum wider than the space available — nothing clips or bleeds. */
.sla-models-editor__option[b-oqjk6dx9xj] {
    display: grid;
    grid-template-columns: 30px minmax(140px, 1.4fr) minmax(96px, 116px) minmax(120px, 145px) minmax(140px, 170px) auto;
    grid-template-areas:
        "num name   hours  clock  target actions"
        ".   window window window window .";
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--taxlegal-border-soft, #edf2f7);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.6);
    min-width: 0;
}

.sla-models-editor__option-position[b-oqjk6dx9xj] {
    grid-area: num;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 800;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.sla-models-editor__option-field[b-oqjk6dx9xj] {
    min-width: 0;
}

.sla-models-editor__option-field--name[b-oqjk6dx9xj] {
    grid-area: name;
}

.sla-models-editor__option-field--hours[b-oqjk6dx9xj] {
    grid-area: hours;
}

.sla-models-editor__option-field--clock[b-oqjk6dx9xj] {
    grid-area: clock;
}

.sla-models-editor__option-field--target[b-oqjk6dx9xj] {
    grid-area: target;
}

.sla-models-editor__option-actions[b-oqjk6dx9xj] {
    grid-area: actions;
    display: flex;
    align-items: center;
    gap: 2px;
    justify-content: flex-end;
}

/* Secondary sub-row: the lead window that pre-selects the SLA at capture (caption | from | to). */
.sla-models-editor__option-window[b-oqjk6dx9xj] {
    grid-area: window;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(96px, 128px) minmax(96px, 128px);
    align-items: center;
    gap: 8px 12px;
    min-width: 0;
}

.sla-models-editor__option-window-caption[b-oqjk6dx9xj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 0.78rem;
    color: var(--taxlegal-muted, #64748b);
}

@container sla-model-card (max-width: 879px) {
    .sla-models-editor__option[b-oqjk6dx9xj] {
        grid-template-columns: 30px repeat(3, minmax(0, 1fr)) auto;
        grid-template-areas:
            "num name   name   name   actions"
            ".   hours  clock  target target"
            ".   window window window window";
        row-gap: 16px;
    }
}

@container sla-model-card (max-width: 559px) {
    .sla-models-editor__option[b-oqjk6dx9xj] {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        grid-template-areas:
            "num name   actions"
            ".   hours  hours"
            ".   clock  clock"
            ".   target target"
            ".   window window";
        row-gap: 16px;
    }

    .sla-models-editor__option-window[b-oqjk6dx9xj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sla-models-editor__option-window-caption[b-oqjk6dx9xj] {
        grid-column: 1 / -1;
    }
}

.sla-models-editor__add[b-oqjk6dx9xj] {
    display: flex;
}

/* Sticky save bar: shared .taxlegal-editor-footer styles in the design-system css. */
/* /Components/Shared/SlaTemplates/SlaTemplatesEditor.razor.rz.scp.css */
/* Layout collapses on CONTAINER width (named containers below), never on viewport:
   the docked drawer eats 248px, so viewport width does not describe the space we get.
   The root must be a literal HTML element for these rules to match (scoped-CSS attribute). */
.sla-templates-editor[b-0czup8y7ar] {
    container: sla-editor / inline-size;
    display: grid;
    gap: 18px;
}

.sla-templates-editor__header[b-0czup8y7ar],
.sla-templates-editor__header-actions[b-0czup8y7ar],
.sla-templates-editor__list-header[b-0czup8y7ar],
.sla-templates-editor__detail-header[b-0czup8y7ar],
.sla-templates-editor__detail-title[b-0czup8y7ar] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.sla-templates-editor__header[b-0czup8y7ar],
.sla-templates-editor__list-header[b-0czup8y7ar],
.sla-templates-editor__detail-header[b-0czup8y7ar] {
    justify-content: space-between;
}

/* The root grid gap already provides the spacing below the header; without this the
   global .taxlegal-panel__header margin-bottom would stack on top of it. */
.sla-templates-editor__header[b-0czup8y7ar] {
    margin-bottom: 0;
}

.sla-templates-editor__loading[b-0czup8y7ar] {
    display: grid;
    gap: 8px;
    padding: 16px 0;
}

/* Collapsible info notice: shared .taxlegal-info-details styles in the design-system css. */

.sla-templates-editor__workspace[b-0czup8y7ar] {
    display: grid;
    grid-template-columns: minmax(280px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

/* overflow:hidden is a safety net only (the detail background is translucent, so any
   stray overflow paints through it); the real containment is min-width:0 on .mud-table. */
.sla-templates-editor__list[b-0czup8y7ar] {
    display: grid;
    gap: 14px;
    min-width: 0;
    overflow: hidden;
    padding: 14px;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.78);
}

.sla-templates-editor__list-compact[b-0czup8y7ar] {
    display: none;
}

/* Flex column, not grid: the sticky footer's containing block must be the whole panel,
   and a grid item is confined to its own auto-sized grid area (sticky would never move).
   "taxlegal-editor" is the container-name alias the shared footer CSS queries. */
.sla-templates-editor__detail[b-0czup8y7ar] {
    container: sla-detail taxlegal-editor / inline-size;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    padding: var(--taxlegal-panel-padding);
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
}

/* Editor container narrow: single column; the list becomes a compact template picker. */
@container sla-editor (max-width: 1179px) {
    .sla-templates-editor__workspace[b-0czup8y7ar] {
        grid-template-columns: minmax(0, 1fr);
    }

    .sla-templates-editor__list[b-0czup8y7ar] {
        display: none;
    }

    .sla-templates-editor__list-compact[b-0czup8y7ar] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
    }
}

.sla-templates-editor__list-compact[b-0czup8y7ar]  .mud-select {
    flex: 1 1 240px;
    min-width: 0;
}

@container sla-editor (max-width: 559px) {
    .sla-templates-editor__header-actions[b-0czup8y7ar] {
        width: 100%;
    }

    .sla-templates-editor__header-actions[b-0czup8y7ar]  .mud-button-root {
        flex: 1 1 140px;
    }
}

.sla-templates-editor__template-cell[b-0czup8y7ar] {
    display: grid;
    gap: 2px;
}

.sla-templates-editor__template-cell span[b-0czup8y7ar],
.sla-templates-editor__options-head[b-0czup8y7ar]  .mud-typography-caption,
.sla-templates-editor__list-header[b-0czup8y7ar]  .mud-typography-caption {
    color: var(--taxlegal-muted);
}

.sla-templates-editor__meta[b-0czup8y7ar] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.sla-templates-editor__fields[b-0czup8y7ar] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr);
    gap: 12px;
}

@container sla-detail (max-width: 639px) {
    .sla-templates-editor__fields[b-0czup8y7ar] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.sla-templates-editor__options-head[b-0czup8y7ar] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
}

.sla-templates-editor__options[b-0czup8y7ar] {
    display: grid;
    gap: 10px;
}

/* Each SLA is a card whose inner grid re-flows with the DETAIL container:
   one row wide, two rows mid (name + actions / hours + clock + target), stacked narrow.
   No state has a fixed minimum wider than the space available — nothing clips or bleeds. */
.sla-templates-editor__option[b-0czup8y7ar] {
    display: grid;
    grid-template-columns: 30px minmax(140px, 1.4fr) minmax(96px, 116px) minmax(120px, 145px) minmax(140px, 170px) auto;
    grid-template-areas:
        "num name   hours  clock  target actions"
        ".   window window window window .";
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--taxlegal-border-soft, #edf2f7);
    border-radius: 10px;
    background: #fff;
    min-width: 0;
}

.sla-templates-editor__option-position[b-0czup8y7ar] {
    grid-area: num;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 800;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.sla-templates-editor__option-field[b-0czup8y7ar] {
    min-width: 0;
}

.sla-templates-editor__option-field--name[b-0czup8y7ar] {
    grid-area: name;
}

.sla-templates-editor__option-field--hours[b-0czup8y7ar] {
    grid-area: hours;
}

.sla-templates-editor__option-field--clock[b-0czup8y7ar] {
    grid-area: clock;
}

.sla-templates-editor__option-field--target[b-0czup8y7ar] {
    grid-area: target;
}

.sla-templates-editor__option-actions[b-0czup8y7ar] {
    grid-area: actions;
    display: flex;
    align-items: center;
    gap: 2px;
    justify-content: flex-end;
}

/* Secondary sub-row: the lead window that pre-selects the SLA at capture (caption | from | to). */
.sla-templates-editor__option-window[b-0czup8y7ar] {
    grid-area: window;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(96px, 128px) minmax(96px, 128px);
    align-items: center;
    gap: 8px 12px;
    min-width: 0;
}

.sla-templates-editor__option-window-caption[b-0czup8y7ar] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 0.78rem;
    color: var(--taxlegal-muted, #64748b);
}

@container sla-detail (max-width: 879px) {
    .sla-templates-editor__option[b-0czup8y7ar] {
        grid-template-columns: 30px repeat(3, minmax(0, 1fr)) auto;
        grid-template-areas:
            "num name   name   name   actions"
            ".   hours  clock  target target"
            ".   window window window window";
        row-gap: 16px;
    }
}

@container sla-detail (max-width: 559px) {
    .sla-templates-editor__option[b-0czup8y7ar] {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        grid-template-areas:
            "num name   actions"
            ".   hours  hours"
            ".   clock  clock"
            ".   target target"
            ".   window window";
        row-gap: 16px;
    }

    .sla-templates-editor__option-window[b-0czup8y7ar] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sla-templates-editor__option-window-caption[b-0czup8y7ar] {
        grid-column: 1 / -1;
    }
}

.sla-templates-editor__add[b-0czup8y7ar] {
    display: flex;
}

/* Sticky save bar: shared .taxlegal-editor-footer styles in the design-system css. */

.sla-templates-editor__empty-state[b-0czup8y7ar] {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 360px;
    padding: 32px;
    text-align: center;
    color: var(--taxlegal-muted);
}

[b-0czup8y7ar] .sla-templates-editor__row--selected {
    background: rgba(37, 99, 235, 0.08) !important;
}

[b-0czup8y7ar] .sla-templates-editor__grid .mud-table-row {
    cursor: pointer;
}

/* The DataGrid root is a grid item; without min-width:0 it refuses to shrink below the
   table's min-content width and overflows the panel instead of letting the container scroll. */
[b-0czup8y7ar] .sla-templates-editor__list .mud-table {
    min-width: 0;
    max-width: 100%;
}

[b-0czup8y7ar] .sla-templates-editor__list .mud-table-container {
    overflow-x: auto;
}

[b-0czup8y7ar] .sla-templates-editor__grid .mud-table-cell {
    vertical-align: top;
}

[b-0czup8y7ar] .sla-templates-editor__grid .mud-table-cell:first-child {
    min-width: 160px;
}

[b-0czup8y7ar] .sla-templates-editor__grid .mud-table-cell:not(:first-child) {
    white-space: nowrap;
}
