.fx-payroll-page{width:100%;min-width:0;color:#17384f}.fx-payroll-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 18px}.fx-payroll-heading h1{margin:0;color:#10284c;font-size:25px;font-weight:700}.fx-payroll-heading p{margin:5px 0 0;color:#687f97;font-size:13px}.fx-payroll-heading-actions{display:flex;gap:8px}.fx-payroll-card{overflow:hidden;border:1px solid #d6e2ee;border-radius:11px;background:#fff;box-shadow:0 7px 20px rgba(18,52,87,.06)}.fx-payroll-card-title{padding:18px 20px 8px}.fx-payroll-card-title h2,.fx-payroll-detail-section h2{margin:0 0 6px;color:#173b66;font-size:15px}.fx-payroll-card-title p{max-width:760px;margin:0;color:#687f97;font-size:13px;line-height:1.55}.fx-payroll-table-wrap{width:100%;overflow:auto}.fx-payroll-table{width:100%;border-collapse:collapse;font-size:12px}.fx-payroll-table th{padding:11px 13px;background:#f3f7fb;color:#526b80;font-size:10px;font-weight:700;letter-spacing:.035em;text-align:left;white-space:nowrap}.fx-payroll-table td{padding:12px 13px;border-top:1px solid #e4ebf2;color:#324d61}.fx-payroll-empty{display:flex;min-height:126px;align-items:center;justify-content:center;flex-direction:column;gap:13px;color:#71869a;text-align:center}.fx-payroll-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff0dc;color:#8c5708;font-size:11px;font-weight:650}.fx-payroll-context{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:0 0 14px}.fx-payroll-context>div,.fx-payroll-metrics article,.fx-payroll-detail-grid>div,.fx-payroll-value-grid>div{padding:12px 14px;border:1px solid #dce6ef;border-radius:8px;background:#f8fbfe}.fx-payroll-context span,.fx-payroll-metrics span,.fx-payroll-detail-grid span,.fx-payroll-value-grid span{display:block;margin-bottom:4px;color:#71869b;font-size:11px}.fx-payroll-context strong,.fx-payroll-metrics strong,.fx-payroll-detail-grid strong,.fx-payroll-value-grid strong{color:#173b66;font-size:13px}.fx-payroll-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 14px;padding:0;list-style:none}.fx-payroll-steps li{position:relative;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #dce6ef;border-right:0;background:#f8fbfe;color:#71869b;font-size:11px}.fx-payroll-steps li:first-child{border-radius:8px 0 0 8px}.fx-payroll-steps li:last-child{border-right:1px solid #dce6ef;border-radius:0 8px 8px 0}.fx-payroll-steps li span{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#dce7f1;color:#49657c;font-weight:700}.fx-payroll-steps li.is-active{background:#eef6ff;color:#0c5794}.fx-payroll-steps li.is-active span,.fx-payroll-steps li.is-complete span{background:#1b74c9;color:#fff}.fx-payroll-form-card{padding:20px}.fx-payroll-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fx-payroll-field{display:grid;gap:5px;color:#4f697b;font-size:12px}.fx-payroll-field input,.fx-payroll-field textarea,.fx-payroll-field select{box-sizing:border-box;width:100%;min-height:36px;padding:7px 9px;border:1px solid #aebdca;border-radius:4px;background:#fff;color:#17384f;font:13px inherit}.fx-payroll-field input:focus,.fx-payroll-field textarea:focus,.fx-payroll-field select:focus{outline:0;border-color:#4b84aa;box-shadow:0 0 0 2px rgba(75,132,170,.12)}.fx-payroll-field input:disabled{background:#eef2f5;color:#526b80}.fx-payroll-field-wide{grid-column:1/-1}.fx-payroll-period{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;gap:12px;margin:0;padding:12px;border:1px solid #dce6ef;border-radius:7px}.fx-payroll-period legend{padding:0 5px;color:#4f697b;font-size:12px}.fx-payroll-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:18px 0 0}.fx-payroll-actions-spread{justify-content:space-between;padding:16px}.fx-payroll-actions-spread>div{display:flex;gap:8px}.fx-payroll-dropzone{display:flex;min-height:205px;margin:12px 20px 0;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed #91abc0;border-radius:9px;background:#f8fbfe;color:#5f768a;cursor:pointer;transition:.15s}.fx-payroll-dropzone:hover,.fx-payroll-dropzone.is-dragging{border-color:#1b74c9;background:#eef6ff}.fx-payroll-dropzone input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.fx-payroll-dropzone strong{color:#173b66;font-size:14px}.fx-payroll-dropzone b{padding:7px 13px;border-radius:4px;background:#1b74c9;color:#fff;font-size:12px}.fx-payroll-dropzone small{margin-top:7px}.fx-payroll-upload-icon{font-size:28px;color:#1b74c9}.fx-payroll-file{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 20px 0;padding:11px 13px;border:1px solid #cfe0ed;border-radius:7px;background:#f7fbfe}.fx-payroll-file>div{display:flex;align-items:center;gap:10px}.fx-payroll-file strong,.fx-payroll-file span{display:block}.fx-payroll-file span{margin-top:3px;color:#71869b;font-size:11px}.fx-payroll-file-icon{font-size:22px!important;color:#1b74c9!important}.fx-payroll-card>.fx-payroll-actions{padding:16px 20px}.fx-payroll-progress{height:9px;margin:14px 20px 18px;overflow:hidden;border-radius:999px;background:#e3ebf2}.fx-payroll-progress span{display:block;height:100%;border-radius:inherit;background:#1b74c9}.fx-payroll-stage-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0 20px;list-style:none}.fx-payroll-stage-list li{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #dce6ef;border-radius:7px;color:#637b90;font-size:12px}.fx-payroll-stage-list li span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#e4ebf2;font-weight:700}.fx-payroll-stage-list li.is-current{border-color:#9dc3e4;background:#eef6ff;color:#125b96}.fx-payroll-stage-list li.is-current span{background:#1b74c9;color:#fff}.fx-payroll-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:0 0 14px}.fx-payroll-metrics strong{font-size:17px}.fx-payroll-tabs{display:flex;gap:0;overflow:auto;border-bottom:1px solid #dce6ef}.fx-payroll-tabs button{padding:12px 15px;border:0;border-bottom:2px solid transparent;background:#fff;color:#60798e;font:12px inherit;white-space:nowrap}.fx-payroll-tabs button.is-active{border-color:#1b74c9;color:#145d98;font-weight:700}.fx-payroll-result-table{min-width:1020px}.fx-payroll-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:20px}.fx-payroll-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.fx-payroll-detail-section{padding:17px 20px;border-top:1px solid #e1e9f0}.fx-payroll-detail-section>.fx-payroll-field{margin:10px 0}.fx-payroll-detail-section>.fx-payroll-empty{min-height:70px;border:1px dashed #cfdae4;border-radius:7px}.fx-payroll-detail-section>.btn{margin-top:4px}@media(max-width:900px){.fx-payroll-heading{align-items:stretch;flex-direction:column}.fx-payroll-heading-actions .btn{width:100%}.fx-payroll-context,.fx-payroll-metrics{grid-template-columns:repeat(2,1fr)}.fx-payroll-steps{grid-template-columns:repeat(2,1fr);gap:5px}.fx-payroll-steps li{border:1px solid #dce6ef!important;border-radius:7px!important}.fx-payroll-detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.fx-payroll-form-grid,.fx-payroll-period,.fx-payroll-stage-list,.fx-payroll-context,.fx-payroll-metrics,.fx-payroll-detail-grid,.fx-payroll-value-grid{grid-template-columns:1fr}.fx-payroll-period{grid-column:auto}.fx-payroll-actions,.fx-payroll-actions-spread,.fx-payroll-actions-spread>div{align-items:stretch;flex-direction:column}.fx-payroll-actions .btn{width:100%}.fx-payroll-steps{grid-template-columns:1fr}.fx-payroll-dropzone{margin-inline:12px}.fx-payroll-card>.fx-payroll-actions{padding-inline:12px}}
.fx-payroll-list-layout{display:grid;grid-template-columns:minmax(0,1fr) 256px;align-items:stretch;gap:24px}.fx-payroll-list-actions{display:flex;min-height:100%;padding:16px;flex-direction:column;gap:16px;border:1px solid #d6e2ee;border-radius:11px;background:#fff;box-shadow:0 7px 20px rgba(18,52,87,.06)}.fx-payroll-list-actions button{display:flex;width:100%;height:40px;padding:0 16px;align-items:center;justify-content:flex-start;gap:12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#0f172a;font:500 14px inherit;cursor:pointer}.fx-payroll-list-actions button:hover:not(:disabled){border-color:#9fb5c7;background:#f8fafc}.fx-payroll-list-actions button:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed;opacity:.65}.fx-payroll-list-actions button.is-danger:not(:disabled){border-color:#efb4b4;color:#b42318}.fx-payroll-action-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fx-payroll-table tbody tr[data-competency-row]{cursor:pointer}.fx-payroll-table tbody tr[data-competency-row].is-selected td{background:#eef6ff}.fx-payroll-table tbody tr[data-competency-row].is-selected td:first-child{box-shadow:inset 3px 0 #1b74c9}@media(max-width:760px){.fx-payroll-list-layout{grid-template-columns:1fr}.fx-payroll-list-actions{min-height:auto}}

/* === PAYROLL COMPETENCY MOCKUP START === */

.fx-payroll-competency-screen{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    color:#0c3769;
}


/* ============================================================
   ESTRUTURA PRINCIPAL
   ============================================================ */

.fx-payroll-competency-columns{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        188px;

    column-gap:18px;

    width:100%;
    min-width:0;

    align-items:stretch;
}


/* ============================================================
   CARD PRINCIPAL
   ============================================================ */

.fx-payroll-competency-main{
    width:100%;
    min-width:0;

    min-height:
        calc(100vh - 205px);

    box-sizing:border-box;

    padding:8px 20px 22px;

    overflow:hidden;

    border:
        1px solid
        #d8e5ee;

    border-radius:12px;

    background:#ffffff;

    box-shadow:0 4px 16px rgba(15,79,74,.055);
    border-color:#bfd4cf;
}


/* ============================================================
   CABECALHO DO CARD PRINCIPAL
   ============================================================ */

.fx-payroll-competency-hero{
    display:flex;

    min-height:40px;

    align-items:center;

    gap:17px;

    padding:0 0 8px 0;
    margin:0;
    border-bottom:0;
    padding-bottom:0;
    margin-bottom:0;
    justify-content:flex-start;
}


.fx-payroll-competency-hero-icon{
    display:flex;

    width:54px;
    height:54px;

    flex:
        0
        0
        54px;

    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:#eef7fb;

    color:#087caf;
}


.fx-payroll-competency-hero-icon svg{
    width:29px;
    height:29px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.8;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-competency-hero-copy{
    min-width:0;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    min-height:40px;
}


.fx-payroll-competency-hero-copy h1{
    margin:0;

    color:#0b4d47;

    font-size:20px;

    font-weight:750;

    line-height:1.15;

    letter-spacing:-.025em;
    text-align:left;
    align-self:center;
    transform:translateY(-3px);
}


.fx-payroll-competency-hero-copy p{
    margin:0;

    color:#416f9d;

    font-size:13px;

    font-weight:400;
    display:none;
}


.fx-payroll-competency-divider{
    height:0;

    margin:0;

    background:#dce7ef;
    display:none;
    border:0;
}


/* ============================================================
   TABELA DE DADOS
   SOMENTE DUAS COLUNAS
   ============================================================ */

.fx-payroll-competency-table-shell{
    width:100%;

    min-height:425px;

    overflow:hidden;

    border:
        1px solid
        #cfe0ec;

    border-radius:10px;

    background:#ffffff;
    margin-top:0;
    border-color:#b9d1cc;
}


.fx-payroll-competency-table{
    width:100%;

    table-layout:fixed;

    border-collapse:separate;

    border-spacing:0;
}


.fx-payroll-competency-table thead th{
    height:auto;

    box-sizing:border-box;

    padding:
        0
        15px;

    border-bottom:1px solid #b9d1cc;

    background:linear-gradient(180deg,#edf6f4 0%,#e4f0ed 100%);

    color:#0f4f4a;

    font-size:11px;

    font-weight:750;

    line-height:1.2;

    text-align:center;

    vertical-align:middle;

    white-space:normal;
    width:25%;
    border-right:1px solid #c5d9d5;
    min-height:0;
    padding-top:4px;
    padding-bottom:4px;
}


.fx-payroll-competency-table
thead
th:first-child,
.fx-payroll-competency-table
tbody
td:first-child{
    border-right:
        1px solid
        #d7e4ed;
}


.fx-payroll-competency-table tbody td{
    height:auto;

    box-sizing:border-box;

    padding:
        0
        15px;

    border-bottom:1px solid #dce9e6;

    background:#ffffff;

    color:#214f4a;

    font-size:11px;

    vertical-align:middle;
    width:25%;
    text-align:center;
    border-right:1px solid #d4e3df;
    min-height:0;
    padding-top:4px;
    padding-bottom:4px;
    line-height:1.2;
}


.fx-payroll-competency-table
tbody
tr[data-competency-row]{
    cursor:pointer;
}


.fx-payroll-competency-table
tbody
tr[data-competency-row]:hover
td{
    background:#f7fbfd;
}


.fx-payroll-competency-table
tbody
tr[data-competency-row].is-selected
td{
    background:#eef8fc;
}


.fx-payroll-competency-table
tbody
tr[data-competency-row].is-selected
td:first-child{
    box-shadow:
        inset
        3px
        0
        #0e9dc0;
}


.fx-payroll-competency-number{
    text-align:center;
}


/* ============================================================
   ESTADO VAZIO
   ============================================================ */

.fx-payroll-competency-empty-row td{
    height:auto;

    padding:0;

    border-bottom:0;
}


.fx-payroll-competency-empty{
    display:flex;

    min-height:364px;

    box-sizing:border-box;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:9px;

    padding:30px;

    text-align:center;
}


.fx-payroll-competency-empty-icon{
    display:flex;

    width:94px;
    height:94px;

    align-items:center;
    justify-content:center;

    margin-bottom:5px;

    border-radius:50%;

    background:#f0f7fb;

    color:#87a9c8;
}


.fx-payroll-competency-empty-icon svg{
    width:45px;
    height:45px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.55;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-competency-empty strong{
    color:#082f61;

    font-size:14px;

    font-weight:750;
}


.fx-payroll-competency-empty span{
    color:#356a9c;

    font-size:12px;
}


/* ============================================================
   PAINEL DE ACOES
   CARD SEPARADO E INDEPENDENTE
   ============================================================ */

.fx-payroll-competency-side{
    display:block;

    position:static;


    width:113px;
    min-width:113px;
    max-width:113px;

    height:auto;
    min-height:0;

    box-sizing:border-box;

    align-self:stretch;

    padding:
        18px
        16px;

    border:
        1px solid
        #d8e5ee;

    border-radius:12px;

    background:#ffffff;

    box-shadow:0 4px 16px rgba(15,79,74,.055);
    border-color:#bfd4cf;
}


.fx-payroll-competency-side-inner{
    display:flex;

    width:100%;

    flex-direction:column;

    align-items:stretch;

    gap:7px;
}


/* ============================================================
   BOTOES
   ============================================================ */

#shell.fx-system .fx-payroll-competency-side-button{
    display:flex;
    width:100%;
    height:40px;
    min-height:40px;

    align-items:center;
    justify-content:flex-start;

    gap:5px;

    box-sizing:border-box;

    padding:0 9px 0 10px;

    border:1px solid #a8c2bc;
    border-radius:7px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7fbfa 100%
        );

    color:#0f4f4a;

    font-size:11px;
    font-weight:600;
    line-height:1;

    cursor:pointer;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 1px 3px rgba(15,79,74,.06),
        0 4px 8px rgba(15,79,74,.04);

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}


#shell.fx-system .fx-payroll-competency-side-button:hover:not(:disabled){
    border-color:#75aaa3;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #edf7f5 100%
        );

    color:#0d655f;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.98),
        0 2px 5px rgba(15,79,74,.10),
        0 5px 10px rgba(15,79,74,.06);
}


#shell.fx-system .fx-payroll-competency-side-button.is-primary{
    border-color:#0d6d66;

    background:
        linear-gradient(
            180deg,
            #1b8a82 0%,
            #106760 100%
        );

    color:#ffffff;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 2px 5px rgba(15,79,74,.16),
        0 5px 10px rgba(15,79,74,.10);
}


#shell.fx-system .fx-payroll-competency-side-button.is-primary:hover:not(:disabled){
    border-color:#0b625c;

    background:
        linear-gradient(
            180deg,
            #20978e 0%,
            #0d625b 100%
        );

    color:#ffffff;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 3px 7px rgba(15,79,74,.20),
        0 6px 12px rgba(15,79,74,.12);
}


#shell.fx-system .fx-payroll-competency-plus{
    display:flex;

    width:14px;
    height:14px;

    flex:0 0 14px;

    align-items:center;
    justify-content:center;

    font-size:18px;
    font-weight:400;
    line-height:1;

    margin:0;
}

/* === PAYROLL COMPETENCY BUTTON TEXT START === */
#shell.fx-system .fx-payroll-competency-side-button > span:last-child{
    flex:1 1 auto;
    min-width:0;

    display:block;

    text-align:left;
    line-height:1;
    margin:0;
}
/* === PAYROLL COMPETENCY BUTTON TEXT END === */


#shell.fx-system .fx-payroll-competency-action-icon{
    width:14px;
    height:14px;

    flex:0 0 14px;

    fill:none;

    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;

    margin:0;
}

#shell.fx-system .fx-payroll-competency-side-button:disabled{
    cursor:default;

    opacity:1;

    border-color:#c6d8d4;

    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #f3f8f7 100%
        );

    color:#6f8f8a;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 1px 3px rgba(15,79,74,.05),
        0 4px 8px rgba(15,79,74,.035);
}


.fx-payroll-competency-action-icon{
    width:16px;
    height:16px;

    flex:
        0
        0
        16px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.8;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-competency-plus{
    display:flex;

    width:16px;
    height:16px;

    flex:
        0
        0
        16px;

    align-items:center;
    justify-content:center;

    font-size:21px;

    font-weight:300;

    line-height:1;
}


/* ============================================================
   RESPONSIVO
   ============================================================ */

/* === PAYROLL COMPETENCY OUTER SHELL START === */

/*
   Nesta tela, fx-main e #content funcionam somente como
   containers de layout.

   O fundo visual pertence à fx-workspace.
   Os dois cards brancos continuam sendo:
   - fx-payroll-competency-main
   - fx-payroll-competency-side
*/

#shell.fx-system
.fx-main:has(.fx-payroll-competency-screen){
    background:transparent;
    background-image:none;

    border:0;
    border-radius:0;

    box-shadow:none;
}


#shell.fx-system
.fx-main:has(.fx-payroll-competency-screen)
> #content{
    background:transparent;
    background-image:none;
}

/* === PAYROLL COMPETENCY OUTER SHELL END === */

@media(max-width:520px){

    .fx-payroll-competency-columns{
        grid-template-columns:1fr;

        row-gap:16px;
    }


    .fx-payroll-competency-side{
        position:static;

        width:100%;
        min-width:0;
        max-width:none;

        height:auto;
    }


    .fx-payroll-competency-side-inner{
        display:grid;

        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }


    .fx-payroll-competency-main{
        min-height:auto;
    }
}

/* === PAYROLL COMPETENCY MOCKUP END === */
.fx-payroll-report-header{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #d6e2ee}.fx-payroll-report-header h1{margin:0 0 14px;color:#10284c;font-size:22px;font-weight:700}.fx-payroll-report-meta{display:grid;gap:5px;color:#526b80;font-size:13px}.fx-payroll-report-meta p{margin:0}.fx-payroll-report-meta strong{color:#17384f}.fx-payroll-report-section{margin-bottom:16px;box-shadow:none}.fx-payroll-report-section .fx-payroll-card-title{padding-bottom:12px}.fx-payroll-report-section .fx-payroll-card-title h2{margin:0}.fx-payroll-report-section .fx-payroll-empty{min-height:82px}.fx-payroll-report-summary{margin-top:20px;padding:16px 20px;border-top:1px solid #d6e2ee;border-bottom:1px solid #d6e2ee;color:#526b80;font-size:13px}.fx-payroll-report-summary h2{margin:0 0 12px;color:#173b66;font-size:14px}.fx-payroll-report-summary p{margin:6px 0}.fx-payroll-report-summary strong{color:#17384f}.fx-payroll-report-actions{padding:18px 0 0}@media(max-width:620px){.fx-payroll-report-header h1{font-size:19px}.fx-payroll-report-summary{padding-inline:12px}}


/* ===== Resultado da Conferência - layout v2 ===== */

.fx-payroll-report{
  width:100%;
  min-width:0;
}

.fx-payroll-report-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
  padding:24px 26px;
  border:1px solid #d6e2ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(18,52,87,.06);
}

.fx-payroll-report-eyebrow{
  display:block;
  margin-bottom:7px;
  color:#1b74c9;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}

.fx-payroll-report-hero h1{
  margin:0;
  color:#10284c;
  font-size:25px;
  line-height:1.2;
}

.fx-payroll-report-hero p{
  margin:8px 0 0;
  color:#687f97;
  font-size:13px;
}

.fx-payroll-report-status{
  min-width:118px;
  padding:11px 14px;
  border:1px solid #bfe3cd;
  border-radius:9px;
  background:#f2fbf5;
}

.fx-payroll-report-status span{
  display:block;
  margin-bottom:3px;
  color:#688273;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
}

.fx-payroll-report-status strong{
  color:#19733d;
  font-size:13px;
}

.fx-payroll-report-info{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:10px;
  margin-bottom:14px;
}

.fx-payroll-report-info>div{
  min-width:0;
  padding:12px 14px;
  border:1px solid #dce6ef;
  border-radius:9px;
  background:#f8fbfe;
}

.fx-payroll-report-info span{
  display:block;
  margin-bottom:4px;
  color:#71869b;
  font-size:10px;
}

.fx-payroll-report-info strong{
  display:block;
  overflow:hidden;
  color:#173b66;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fx-payroll-report-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}

.fx-payroll-report-metrics article{
  position:relative;
  min-height:78px;
  padding:14px 16px;
  overflow:hidden;
  border:1px solid #dce6ef;
  border-radius:10px;
  background:#fff;
}

.fx-payroll-report-metrics article:before{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:3px;
  background:#6f8ca4;
  content:"";
}

.fx-payroll-report-metrics article.is-ok:before{
  background:#2f9d62;
}

.fx-payroll-report-metrics article.is-warning:before{
  background:#d79b2b;
}

.fx-payroll-report-metrics article.is-danger:before{
  background:#c95656;
}

.fx-payroll-report-metrics span{
  display:block;
  margin-bottom:7px;
  color:#71869b;
  font-size:11px;
}

.fx-payroll-report-metrics strong{
  color:#173b66;
  font-size:24px;
  line-height:1;
}

.fx-payroll-report-block{
  margin-bottom:16px;
  overflow:hidden;
  border:1px solid #d6e2ee;
  border-radius:12px;
  background:#fff;
}

.fx-payroll-report-block-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 18px;
  border-bottom:1px solid #e2eaf1;
}

.fx-payroll-report-block-title>div{
  display:flex;
  min-width:0;
  align-items:center;
  gap:11px;
}

.fx-payroll-report-block-title h2{
  margin:0 0 3px;
  color:#173b66;
  font-size:14px;
}

.fx-payroll-report-block-title p{
  margin:0;
  color:#71869b;
  font-size:11px;
}

.fx-payroll-report-block-title>strong{
  display:grid;
  width:32px;
  height:32px;
  flex:0 0 32px;
  place-items:center;
  border-radius:50%;
  background:#f0f5f9;
  color:#365c78;
  font-size:12px;
}

.fx-payroll-section-marker{
  width:8px;
  height:32px;
  flex:0 0 8px;
  border-radius:999px;
  background:#7894aa;
}

.fx-payroll-section-marker.is-ok{
  background:#2f9d62;
}

.fx-payroll-section-marker.is-danger{
  background:#c95656;
}

.fx-payroll-report-table th{
  padding:10px 16px;
  background:#f7f9fc;
}

.fx-payroll-report-table td{
  padding:13px 16px;
  vertical-align:middle;
}

.fx-payroll-person strong{
  display:block;
  color:#27465d;
  font-size:12px;
}

.fx-payroll-person span{
  display:block;
  margin-top:3px;
  color:#8394a3;
  font-size:10px;
}

.fx-payroll-ok{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#287448;
  font-size:11px;
}

.fx-payroll-ok>span{
  display:grid;
  width:18px;
  height:18px;
  place-items:center;
  border-radius:50%;
  background:#eaf7ef;
  font-weight:800;
}

.fx-payroll-event{
  color:#34566d;
  font-size:11px;
}

.fx-payroll-severity{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:#eef3f7;
  color:#526b80;
  font-size:10px;
  font-weight:700;
}

.fx-payroll-severity-alta{
  background:#fff0f0;
  color:#a43d3d;
}

.fx-payroll-severity-media{
  background:#fff7e8;
  color:#99650c;
}

.fx-payroll-severity-baixa{
  background:#eef7ff;
  color:#2f6693;
}

.fx-payroll-issue{
  max-width:480px;
  color:#526b80!important;
  line-height:1.5;
}

.fx-payroll-report-empty{
  padding:22px;
  color:#71869b;
  text-align:center;
}

.fx-payroll-report-empty-ok{
  color:#287448;
}

.fx-payroll-report-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding:16px 0 4px;
  border-top:1px solid #d6e2ee;
}

.fx-payroll-report-footer>div:first-child strong,
.fx-payroll-report-footer>div:first-child span{
  display:block;
}

.fx-payroll-report-footer>div:first-child strong{
  color:#173b66;
  font-size:12px;
}

.fx-payroll-report-footer>div:first-child span{
  margin-top:3px;
  color:#8394a3;
  font-size:10px;
}

.fx-payroll-report-buttons{
  display:flex;
  gap:8px;
}

@media(max-width:900px){
  .fx-payroll-report-info{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fx-payroll-report-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .fx-payroll-report-hero{
    padding:18px;
    flex-direction:column;
  }

  .fx-payroll-report-hero h1{
    font-size:21px;
  }

  .fx-payroll-report-status{
    box-sizing:border-box;
    width:100%;
  }

  .fx-payroll-report-info,
  .fx-payroll-report-metrics{
    grid-template-columns:1fr;
  }

  .fx-payroll-report-block-title{
    align-items:flex-start;
  }

  .fx-payroll-report-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .fx-payroll-report-buttons{
    flex-direction:column-reverse;
  }

  .fx-payroll-report-buttons .btn{
    width:100%;
  }

  .fx-payroll-issues-table{
    min-width:720px;
  }
}

@media print{
  body *{
    visibility:hidden!important;
  }

  .fx-payroll-report,
  .fx-payroll-report *{
    visibility:visible!important;
  }

  .fx-payroll-report{
    position:absolute;
    top:0;
    left:0;
    width:100%;
  }

  .fx-payroll-report-buttons{
    display:none!important;
  }

  .fx-payroll-report-hero,
  .fx-payroll-report-block,
  .fx-payroll-report-metrics article{
    box-shadow:none!important;
    break-inside:avoid;
  }

  .fx-payroll-report-block{
    break-inside:auto;
  }

  .fx-payroll-report-table tr{
    break-inside:avoid;
  }
}

/* =========================================================
   RELATÓRIO EXECUTIVO DE CONFERÊNCIA DA FOLHA
   Layout 2026-09-21
   ========================================================= */

.fx-payroll-report{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:24px 28px;
  box-sizing:border-box;
  border:1px solid #d9e2ea;
  border-radius:10px;
  background:#fff;
  color:#263b4a;
  box-shadow:0 6px 24px rgba(25,54,79,.06);
}

/* ---------- CABEÇALHO ---------- */

.fx-payroll-report .fx-payroll-report-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:0;
  padding:0 0 15px;
  border-bottom:2px solid #173b66;
  background:transparent;
}

.fx-payroll-report-heading{
  min-width:0;
}

.fx-payroll-report .fx-payroll-report-eyebrow{
  display:block;
  margin:0 0 5px;
  color:#5e7890;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.2;
}

.fx-payroll-report .fx-payroll-report-hero h1{
  margin:0;
  color:#173b66;
  font-size:20px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.015em;
}

.fx-payroll-report .fx-payroll-report-status{
  display:flex;
  min-width:92px;
  padding:7px 11px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:2px;
  border:1px solid #b9dec7;
  border-radius:6px;
  background:#f3faf6;
  text-align:center;
}

.fx-payroll-report .fx-payroll-report-status span{
  color:#708579;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
}

.fx-payroll-report .fx-payroll-report-status strong{
  color:#287448;
  font-size:11px;
  font-weight:700;
}

/* ---------- DADOS DA ANÁLISE ---------- */

.fx-payroll-report .fx-payroll-report-info{
  display:grid;
  grid-template-columns:minmax(220px,2fr) 1fr .75fr 1.35fr;
  gap:0;
  margin:0;
  padding:11px 0;
  border-bottom:1px solid #dce4eb;
  background:transparent;
}

.fx-payroll-report .fx-payroll-report-info>div{
  min-width:0;
  padding:0 14px;
  border-right:1px solid #e1e7ed;
}

.fx-payroll-report .fx-payroll-report-info>div:first-child{
  padding-left:0;
}

.fx-payroll-report .fx-payroll-report-info>div:last-child{
  padding-right:0;
  border-right:0;
}

.fx-payroll-report .fx-payroll-report-info span{
  display:block;
  margin:0 0 3px;
  color:#7a8b99;
  font-size:8px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.fx-payroll-report .fx-payroll-report-info strong{
  display:block;
  overflow-wrap:anywhere;
  color:#263f52;
  font-size:10.5px;
  font-weight:650;
  line-height:1.35;
}

/* ---------- RESUMO COMPACTO ---------- */

.fx-payroll-report .fx-payroll-report-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  margin:0 0 17px;
  padding:8px 0;
  border-top:0;
  border-bottom:1px solid #e1e7ed;
  background:transparent;
  color:#657b8c;
  font-size:9.5px;
}

.fx-payroll-report .fx-payroll-report-summary>span{
  padding:0 12px;
  border-right:1px solid #dce4eb;
  white-space:nowrap;
}

.fx-payroll-report .fx-payroll-report-summary>span:first-child{
  padding-left:0;
}

.fx-payroll-report .fx-payroll-report-summary>span:last-child{
  border-right:0;
}

.fx-payroll-report .fx-payroll-report-summary strong{
  margin-right:3px;
  color:#173b66;
  font-size:11px;
}

/* ---------- SEÇÕES ---------- */

.fx-payroll-report .fx-payroll-report-block{
  margin:0 0 18px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}

.fx-payroll-report .fx-payroll-report-block-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0;
  padding:0 0 7px;
  border:0;
  background:transparent;
}

.fx-payroll-report .fx-payroll-report-block-title>div{
  display:flex;
  align-items:center;
  gap:8px;
}

.fx-payroll-report .fx-payroll-report-block-title h2{
  margin:0;
  color:#29485e;
  font-size:12px;
  font-weight:700;
  line-height:1.25;
}

.fx-payroll-report .fx-payroll-report-block-title p{
  margin:2px 0 0;
  color:#81919e;
  font-size:8.5px;
  line-height:1.3;
}

.fx-payroll-report .fx-payroll-report-block-title>strong{
  display:inline-flex;
  min-width:24px;
  height:22px;
  padding:0 7px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid #d5e0e8;
  border-radius:5px;
  background:#f7f9fb;
  color:#435f73;
  font-size:10px;
}

.fx-payroll-report .fx-payroll-section-marker{
  width:4px;
  height:28px;
  flex:0 0 4px;
  border-radius:3px;
  background:#71879a;
}

.fx-payroll-report .fx-payroll-section-marker.is-ok{
  background:#4c9367;
}

.fx-payroll-report .fx-payroll-section-marker.is-danger,
.fx-payroll-report .fx-payroll-section-marker.is-warning{
  background:#b76060;
}

/* ---------- TABELAS ---------- */

.fx-payroll-report .fx-payroll-table-wrap{
  width:100%;
  overflow:visible;
  border:1px solid #dce4eb;
  border-radius:5px;
}

.fx-payroll-report .fx-payroll-report-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  background:#fff;
  font-size:9.5px;
}

.fx-payroll-report .fx-payroll-report-table thead{
  display:table-header-group;
}

.fx-payroll-report .fx-payroll-report-table th{
  padding:7px 8px;
  border:0;
  border-bottom:1px solid #cfd9e2;
  background:#f4f6f8;
  color:#536a7b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
  white-space:normal;
}

.fx-payroll-report .fx-payroll-report-table td{
  padding:7px 8px;
  border:0;
  border-top:1px solid #e7ecf0;
  color:#3f5667;
  font-size:9.5px;
  line-height:1.35;
  vertical-align:top;
  overflow-wrap:anywhere;
}

.fx-payroll-report .fx-payroll-report-table tbody tr:first-child td{
  border-top:0;
}

.fx-payroll-report .fx-payroll-report-table tbody tr:nth-child(even) td{
  background:#fbfcfd;
}

.fx-payroll-report .fx-payroll-col-number{
  width:30px;
  text-align:center!important;
}

.fx-payroll-report .fx-payroll-col-employee strong{
  color:#29485e;
  font-size:9.5px;
  font-weight:700;
}

.fx-payroll-report .fx-payroll-col-registration{
  color:#617788;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

/* tabela regular: # | funcionário | matrícula | resultado */

.fx-payroll-report-table:not(.fx-payroll-issues-table) th:nth-child(1){
  width:30px;
}

.fx-payroll-report-table:not(.fx-payroll-issues-table) th:nth-child(2){
  width:35%;
}

.fx-payroll-report-table:not(.fx-payroll-issues-table) th:nth-child(3){
  width:18%;
}

/* tabela de inconsistências:
   # | funcionário | matrícula | evento | criticidade | inconsistência */

.fx-payroll-report .fx-payroll-issues-table th:nth-child(1){
  width:26px;
}

.fx-payroll-report .fx-payroll-issues-table th:nth-child(2){
  width:19%;
}

.fx-payroll-report .fx-payroll-issues-table th:nth-child(3){
  width:11%;
}

.fx-payroll-report .fx-payroll-issues-table th:nth-child(4){
  width:18%;
}

.fx-payroll-report .fx-payroll-issues-table th:nth-child(5){
  width:11%;
}

.fx-payroll-report .fx-payroll-issues-table th:nth-child(6){
  width:auto;
}

.fx-payroll-report .fx-payroll-ok{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#287448;
  font-size:9px;
}

.fx-payroll-report .fx-payroll-ok>span{
  display:grid;
  width:15px;
  height:15px;
  flex:0 0 15px;
  place-items:center;
  border-radius:50%;
  background:#eaf7ef;
  font-size:8px;
  font-weight:800;
}

.fx-payroll-report .fx-payroll-event{
  color:#355a72;
  font-size:9px;
  font-weight:700;
}

.fx-payroll-report .fx-payroll-severity{
  display:inline-flex;
  padding:3px 6px;
  border:1px solid #d8e0e7;
  border-radius:4px;
  background:#f3f6f8;
  color:#526b80;
  font-size:8px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}

.fx-payroll-report .fx-payroll-severity-alta{
  border-color:#efcaca;
  background:#fff2f2;
  color:#a23b3b;
}

.fx-payroll-report .fx-payroll-severity-media{
  border-color:#ead7a8;
  background:#fff8e9;
  color:#8d620e;
}

.fx-payroll-report .fx-payroll-severity-baixa{
  border-color:#c8dcec;
  background:#f1f7fc;
  color:#32668d;
}

.fx-payroll-report .fx-payroll-issue{
  max-width:none;
  color:#536978!important;
  font-size:9px;
  line-height:1.4;
}

/* ---------- VAZIOS ---------- */

.fx-payroll-report .fx-payroll-report-empty{
  padding:16px;
  color:#748897;
  font-size:9.5px;
  text-align:center;
}

.fx-payroll-report .fx-payroll-report-empty-ok{
  color:#287448;
}

/* ---------- RODAPÉ ---------- */

.fx-payroll-report .fx-payroll-report-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding:10px 0 0;
  border-top:1px solid #d6e0e8;
}

.fx-payroll-report .fx-payroll-report-footer>div:first-child strong{
  display:block;
  color:#173b66;
  font-size:9.5px;
}

.fx-payroll-report .fx-payroll-report-footer>div:first-child span{
  display:block;
  margin-top:2px;
  color:#8393a0;
  font-size:8px;
}

.fx-payroll-report .fx-payroll-report-buttons{
  display:flex;
  gap:7px;
}

/* ---------- RESPONSIVIDADE ---------- */

@media(max-width:900px){
  .fx-payroll-report{
    padding:20px;
  }

  .fx-payroll-report .fx-payroll-report-info{
    grid-template-columns:repeat(2,1fr);
    row-gap:12px;
  }

  .fx-payroll-report .fx-payroll-report-info>div:nth-child(2){
    border-right:0;
  }

  .fx-payroll-report .fx-payroll-report-info>div:nth-child(3){
    padding-left:0;
  }
}

@media(max-width:620px){
  .fx-payroll-report{
    padding:16px;
  }

  .fx-payroll-report .fx-payroll-report-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .fx-payroll-report .fx-payroll-report-hero h1{
    font-size:17px;
  }

  .fx-payroll-report .fx-payroll-report-info{
    grid-template-columns:1fr;
  }

  .fx-payroll-report .fx-payroll-report-info>div{
    padding:7px 0;
    border-right:0;
    border-bottom:1px solid #e7ecf0;
  }

  .fx-payroll-report .fx-payroll-report-info>div:last-child{
    border-bottom:0;
  }

  .fx-payroll-report .fx-payroll-report-summary{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  .fx-payroll-report .fx-payroll-report-summary>span{
    padding:0;
    border-right:0;
  }

  .fx-payroll-report .fx-payroll-table-wrap{
    overflow:auto;
  }

  .fx-payroll-report .fx-payroll-issues-table{
    min-width:760px;
  }
}

/* ---------- IMPRESSÃO A4 ---------- */

@page{
  size:A4 portrait;
  margin:12mm 10mm 15mm;
}

@media print{
  html,
  body{
    background:#fff!important;
  }

  body *{
    visibility:hidden!important;
  }

  .fx-payroll-report,
  .fx-payroll-report *{
    visibility:visible!important;
  }

  .fx-payroll-report{
    position:absolute!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }

  .fx-payroll-report-buttons{
    display:none!important;
  }

  .fx-payroll-report .fx-payroll-report-hero{
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .fx-payroll-report .fx-payroll-report-info,
  .fx-payroll-report .fx-payroll-report-summary,
  .fx-payroll-report .fx-payroll-report-block-title{
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .fx-payroll-report .fx-payroll-report-block{
    break-inside:auto;
    page-break-inside:auto;
  }

  .fx-payroll-report .fx-payroll-report-table{
    table-layout:fixed!important;
  }

  .fx-payroll-report .fx-payroll-report-table thead{
    display:table-header-group!important;
  }

  .fx-payroll-report .fx-payroll-report-table tfoot{
    display:table-footer-group!important;
  }

  .fx-payroll-report .fx-payroll-report-table tr,
  .fx-payroll-report .fx-payroll-report-table td,
  .fx-payroll-report .fx-payroll-report-table th{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .fx-payroll-report .fx-payroll-table-wrap{
    overflow:visible!important;
  }

  .fx-payroll-report .fx-payroll-report-footer{
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .fx-payroll-report .fx-payroll-report-table th{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .fx-payroll-report .fx-payroll-severity,
  .fx-payroll-report .fx-payroll-ok>span,
  .fx-payroll-report .fx-payroll-report-status{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}


/* Ações do histórico de análises */
.fx-payroll-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.fx-payroll-row-actions .btn {
  white-space: nowrap;
}

/* === APPROVED PAYROLL LIST LAYOUT START === */

/*
 * Conferência da Folha — lista de competências aprovada.
 *
 * Este bloco pertence ao próprio
 * fluxus-pessoal-conferencia-folha.css.
 *
 * Não altera shell, menu, cabeçalho global ou funcionalidades.
 */

.fx-payroll-approved-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 168px;
    gap:14px;
    width:100%;
    align-items:stretch;
}


.fx-payroll-approved-main{
    min-width:0;
    padding:20px;
    border:1px solid #d7e4ee;
    border-radius:12px;
    background:#fff;
    box-shadow:0 8px 24px rgba(21,67,92,.055);
}


/* ==========================================================
   CABEÇALHO
   ========================================================== */

.fx-payroll-approved-heading{
    display:flex;
    align-items:center;
    gap:16px;

    margin:0 0 18px;
    padding:4px 4px 18px;

    border-bottom:1px solid #d9e5ee;
}


.fx-payroll-approved-heading-icon{
    display:grid;
    place-items:center;

    flex:0 0 48px;

    width:48px;
    height:48px;

    border-radius:12px;

    background:#edf6fa;
    color:#086b92;
}


.fx-payroll-approved-heading-icon svg{
    width:27px;
    height:27px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-approved-heading h1{
    margin:0;

    color:#082d50;

    font-size:25px;
    font-weight:750;
    line-height:1.15;
}


.fx-payroll-approved-heading p{
    margin:5px 0 0;

    color:#607a91;

    font-size:13px;
    line-height:1.4;
}


/* ==========================================================
   CARD / TABELA
   ========================================================== */

.fx-payroll-approved-card{
    overflow:hidden;

    min-height:430px;

    margin:0;

    border:1px solid #cfdfeb;
    border-radius:11px;

    background:#fff;

    box-shadow:none;
}


.fx-payroll-approved-table-wrap{
    width:100%;
    min-height:430px;

    overflow:auto;
}


.fx-payroll-approved-table{
    width:100%;

    table-layout:fixed;
    border-collapse:separate;
    border-spacing:0;

    color:#17384f;
}


.fx-payroll-approved-table col.is-competency{
    width:25%;
}

.fx-payroll-approved-table col.is-count{
    width:25%;
}

.fx-payroll-approved-table col.is-date{
    width:27%;
}

.fx-payroll-approved-table col.is-time{
    width:23%;
}


.fx-payroll-approved-table thead th{
    height:58px;

    padding:0 16px;

    border-bottom:1px solid #d7e4ee;

    background:
        linear-gradient(
            180deg,
            #f5f9fc 0%,
            #edf4f8 100%
        );

    color:#163f67;

    font-size:11px;
    font-weight:750;

    letter-spacing:.025em;

    text-align:left;
    vertical-align:middle;

    white-space:nowrap;
}


/*
 * Divisores verticais entre TODAS as colunas,
 * inclusive Competência x Quantidade.
 */

.fx-payroll-approved-table thead th + th,
.fx-payroll-approved-table tbody td + td{
    border-left:1px solid #d8e5ee;
}


.fx-payroll-approved-table tbody td{
    height:48px;

    padding:8px 16px;

    border-bottom:1px solid #e6edf3;

    background:#fff;

    color:#2c4e67;

    font-size:12px;

    vertical-align:middle;
}


.fx-payroll-approved-table tbody tr:last-child td{
    border-bottom:0;
}


.fx-payroll-approved-table tbody tr[data-competency-row]{
    cursor:pointer;
}


.fx-payroll-approved-table tbody tr[data-competency-row]:hover td{
    background:#f8fbfd;
}


.fx-payroll-approved-table
tbody tr[data-competency-row].is-selected td{
    background:#edf7fb;
}


.fx-payroll-approved-table
tbody tr[data-competency-row].is-selected td:first-child{
    box-shadow:inset 3px 0 #19b6c5;
}


/* Nome da competência mantém a funcionalidade Abrir */

.fx-payroll-approved-competency{
    margin:0;
    padding:0;

    border:0;
    background:transparent;

    color:#123f63;

    font:inherit;
    font-weight:700;

    cursor:pointer;

    text-align:left;
}


.fx-payroll-approved-competency:hover{
    color:#087fa1;
    text-decoration:underline;
}


.fx-payroll-approved-number{
    color:#17384f;
}


/* ==========================================================
   ESTADO VAZIO
   ========================================================== */

.fx-payroll-approved-empty{
    display:flex;

    min-height:330px;

    align-items:center;
    justify-content:center;
    flex-direction:column;

    gap:8px;

    padding:30px;

    color:#607992;

    text-align:center;
}


.fx-payroll-approved-empty-icon{
    display:grid;
    place-items:center;

    width:82px;
    height:82px;

    margin-bottom:6px;

    border-radius:50%;

    background:#f0f6fa;

    color:#819bb1;
}


.fx-payroll-approved-empty svg{
    width:43px;
    height:43px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-approved-empty > strong{
    color:#153f67;

    font-size:14px;
    font-weight:700;
}


.fx-payroll-approved-empty > span:not(.fx-payroll-approved-empty-icon){
    font-size:12px;
}


/* ==========================================================
   COLUNA DIREITA DE BOTÕES
   ========================================================== */

.fx-payroll-approved-side{
    display:flex;
    flex-direction:column;

    align-self:stretch;

    gap:7px;

    padding:10px;

    border:1px solid #d7e4ee;
    border-radius:12px;

    background:#fff;

    box-shadow:0 8px 24px rgba(21,67,92,.045);
}


.fx-payroll-approved-side-button{
    display:flex;

    width:100%;
    height:34px;

    align-items:center;
    justify-content:flex-start;

    gap:7px;

    box-sizing:border-box;

    padding:0 9px;

    border:1px solid #bfd3e2;
    border-radius:7px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f6fafc 100%
        );

    color:#113e64;

    font-family:inherit;
    font-size:11px;
    font-weight:650;

    text-decoration:none;
    white-space:nowrap;
}


button.fx-payroll-approved-side-button{
    cursor:pointer;
}


.fx-payroll-approved-side-button svg{
    flex:0 0 16px;

    width:16px;
    height:16px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-approved-side-button.is-primary{
    border-color:#087fa8;

    background:
        linear-gradient(
            180deg,
            #1199bd 0%,
            #087da6 100%
        );

    color:#fff;

    box-shadow:
        0 5px 12px rgba(6,126,161,.15);
}


button.fx-payroll-approved-side-button.is-primary:hover{
    filter:brightness(1.035);
}


/*
 * Editar / Excluir / Consultar / Exportar / Imprimir:
 * aparência aprovada, sem função conectada nesta etapa.
 */

.fx-payroll-approved-side-button.is-layout-only{
    cursor:default;
    user-select:none;
}


/* ==========================================================
   RESPONSIVO
   ========================================================== */

@media(max-width:900px){

    .fx-payroll-approved-layout{
        grid-template-columns:1fr;
    }

    .fx-payroll-approved-side{
        min-height:auto;

        display:grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media(max-width:620px){

    .fx-payroll-approved-main{
        padding:14px;
    }

    .fx-payroll-approved-heading{
        align-items:flex-start;
    }

    .fx-payroll-approved-heading h1{
        font-size:20px;
    }

    .fx-payroll-approved-side{
        grid-template-columns:1fr;
    }

    .fx-payroll-approved-table{
        min-width:760px;
    }

}

/* === APPROVED PAYROLL LIST LAYOUT END === */

/* === NEW COMPETENCY MODAL START === */

.fx-payroll-new-competency-backdrop{
    position:fixed;
    inset:0;
    z-index:11050;

    display:grid;
    place-items:center;

    padding:20px;

    background:rgba(18,36,40,.46);
    backdrop-filter:blur(2px);
}


.fx-payroll-new-competency-modal{
    width:min(470px,calc(100vw - 32px));

    overflow:hidden;

    border:1px solid #c6d8d8;
    border-radius:14px;

    background:#ffffff;

    color:#163b43;

    box-shadow:
        0 26px 60px rgba(9,34,39,.24),
        0 4px 12px rgba(9,34,39,.08);
}


.fx-payroll-new-competency-modal,
.fx-payroll-new-competency-modal *{
    box-sizing:border-box;
}


/* CABECALHO */

.fx-payroll-new-competency-header{
    position:relative;

    display:grid;
    grid-template-columns:46px minmax(0,1fr) 32px;
    align-items:center;

    gap:13px;

    padding:19px 20px 18px;

    border-bottom:1px solid #d9e5e4;

    background:
        linear-gradient(
            180deg,
            #fbfdfd 0%,
            #ffffff 100%
        );
}


.fx-payroll-new-competency-icon{
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border-radius:12px;

    background:#d9f0ed;
    color:#14625f;
}


.fx-payroll-new-competency-icon svg{
    width:25px;
    height:25px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-new-competency-heading{
    min-width:0;
}


.fx-payroll-new-competency-heading h2{
    margin:0;

    color:#143e48;

    font-size:20px;
    line-height:1.15;
    font-weight:700;

    letter-spacing:-.02em;
}


.fx-payroll-new-competency-heading p{
    margin:5px 0 0;

    color:#687f84;

    font-size:11px;
    line-height:1.4;
}


.fx-payroll-new-competency-close{
    width:32px;
    height:32px;

    align-self:start;

    display:grid;
    place-items:center;

    padding:0;

    border:0;
    border-radius:7px;

    background:transparent;
    color:#547077;

    font-size:27px;
    font-weight:300;
    line-height:1;

    cursor:pointer;
}


.fx-payroll-new-competency-close:hover{
    background:#edf5f4;
    color:#174f58;
}


/* CORPO */

.fx-payroll-new-competency-body{
    padding:20px;
}


.fx-payroll-new-competency-body > label{
    display:block;

    margin:0 0 9px;

    color:#244c53;

    font-size:12px;
    font-weight:700;
}


.fx-payroll-new-competency-body > label span{
    color:#ad4343;
}


.fx-payroll-new-competency-field{
    position:relative;

    display:flex;
    align-items:center;
}


.fx-payroll-new-competency-field-icon{
    position:absolute;
    left:13px;

    z-index:1;

    display:grid;
    place-items:center;

    color:#58757b;

    pointer-events:none;
}


.fx-payroll-new-competency-field-icon svg{
    width:21px;
    height:21px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.fx-payroll-new-competency-field input{
    width:100%;
    height:44px;

    padding:0 13px 0 44px;

    border:1px solid #b9cbcd;
    border-radius:8px;

    outline:0;

    background:#ffffff;
    color:#173a41;

    font:inherit;
    font-size:14px;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}


.fx-payroll-new-competency-field input::placeholder{
    color:#8a9da2;
}


.fx-payroll-new-competency-field input:hover{
    border-color:#8fa9ab;
}


.fx-payroll-new-competency-field input:focus{
    border-color:#17625f;

    box-shadow:
        0 0 0 3px rgba(23,98,95,.11);
}


.fx-payroll-new-competency-body small{
    display:block;

    margin-top:8px;

    color:#71888d;

    font-size:10px;
}


/* RODAPE */

.fx-payroll-new-competency-footer{
    display:flex;
    align-items:center;
    justify-content:flex-end;

    gap:9px;

    padding:14px 20px;

    border-top:1px solid #d9e5e4;

    background:#f8fbfb;
}


.fx-payroll-new-competency-cancel,
.fx-payroll-new-competency-create{
    height:38px;

    padding:0 17px;

    border-radius:8px;

    font:inherit;
    font-size:12px;
    font-weight:700;

    cursor:pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}


.fx-payroll-new-competency-cancel{
    min-width:102px;

    border:1px solid #b8cbcd;

    background:#ffffff;
    color:#35575c;
}


.fx-payroll-new-competency-cancel:hover{
    border-color:#8da9aa;
    background:#f2f7f6;
}


.fx-payroll-new-competency-create{
    min-width:150px;

    border:1px solid #145451;

    background:
        linear-gradient(
            180deg,
            #1f716d 0%,
            #155a58 100%
        );

    color:#ffffff;

    box-shadow:
        0 6px 14px rgba(21,90,88,.18);
}


.fx-payroll-new-competency-create:hover{
    background:
        linear-gradient(
            180deg,
            #247c77 0%,
            #12504f 100%
        );

    box-shadow:
        0 8px 17px rgba(21,90,88,.22);

    transform:translateY(-1px);
}


.fx-payroll-new-competency-create:active,
.fx-payroll-new-competency-cancel:active{
    transform:translateY(0);
}


.fx-payroll-new-competency-create:disabled{
    cursor:wait;
    opacity:.62;
    transform:none;
}


/* === NEW COMPETENCY MODAL END === */

/* === ANALYSIS HISTORY STANDARD START === */

.fx-payroll-analysis-history{
    width:100%;
    min-width:0;
}


.fx-payroll-analysis-history
.fx-payroll-competency-main{
    min-width:0;
}


.fx-payroll-analysis-history-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    min-height:82px;

    padding:17px 20px 13px;

    border-bottom:1px solid #d7e3e3;

    background:#ffffff;
}


.fx-payroll-analysis-history-header h1{
    margin:0;

    color:#123f46;

    font-size:20px;
    line-height:1.2;
    font-weight:700;

    letter-spacing:-.015em;
}


.fx-payroll-analysis-history-header p{
    margin:5px 0 0;

    color:#6d8388;

    font-size:11px;
    line-height:1.4;
}


.fx-payroll-analysis-table tbody
tr[data-analysis-row]{
    cursor:pointer;
}


.fx-payroll-analysis-table tbody
tr[data-analysis-row]:hover td{
    background:#f5faf9;
}


.fx-payroll-analysis-table tbody
tr[data-analysis-row].is-selected td{
    background:#e8f4f2;
}


.fx-payroll-analysis-table tbody
tr[data-analysis-row].is-selected td:first-child{
    box-shadow:inset 3px 0 #176b68;
}


.fx-payroll-analysis-table tbody
tr[data-analysis-row] td:first-child{
    font-weight:700;
}


.fx-payroll-analysis-empty-row td{
    height:150px;
}


.fx-payroll-analysis-history
.fx-payroll-competency-empty{
    min-height:118px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:7px;

    color:#6f8387;

    text-align:center;
}


.fx-payroll-analysis-history
.fx-payroll-competency-empty strong{
    color:#526d72;
    font-size:11px;
}


.fx-payroll-analysis-history
.fx-payroll-competency-empty span{
    font-size:10px;
}


/* === ANALYSIS HISTORY STANDARD END === */

/* ==========================================================
   CONFERÊNCIA DA FOLHA — IMPORTAÇÃO + PROCESSAMENTO UNIFICADOS
   Aprovado em 23/09/2026
   Escopo restrito à tela de importação/processamento.
   Paleta Fluxus: verde-petróleo.
   ========================================================== */

.fx-payroll-unified-view{
  --fx-payroll-petrol-950:#073f45;
  --fx-payroll-petrol-900:#07545a;
  --fx-payroll-petrol-800:#076a68;
  --fx-payroll-petrol-700:#078078;
  --fx-payroll-petrol-100:#e9f6f3;
  --fx-payroll-petrol-050:#f5fbfa;
  --fx-payroll-line:#d9e5e8;
  --fx-payroll-muted:#718499;
  width:100%;
  min-width:0;
}

.fx-payroll-unified-view .fx-payroll-heading{
  margin-bottom:14px;
}

.fx-payroll-unified-view .fx-payroll-heading h1{
  color:#10284c;
  font-size:26px;
  letter-spacing:-.35px;
}

.fx-payroll-unified-view .fx-payroll-heading p{
  margin-top:4px;
  color:#6d8197;
  font-size:13px;
}

.fx-payroll-unified-context{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}

.fx-payroll-unified-context>div{
  min-height:62px;
  box-sizing:border-box;
  padding:11px 16px;
  border:1px solid var(--fx-payroll-line);
  border-radius:9px;
  background:linear-gradient(180deg,#fbfdfd 0%,#f6fafb 100%);
}

.fx-payroll-unified-context span,
.fx-payroll-unified-context strong{
  display:block;
}

.fx-payroll-unified-context span{
  margin-bottom:4px;
  color:var(--fx-payroll-muted);
  font-size:11px;
}

.fx-payroll-unified-context strong{
  color:#17384f;
  font-size:14px;
}

.fx-payroll-unified-view .fx-payroll-steps{
  gap:0;
  margin:0 0 18px;
}

.fx-payroll-unified-view .fx-payroll-steps li{
  min-height:42px;
  box-sizing:border-box;
  border:0;
  border-radius:0;
  background:transparent;
  color:#6b8094;
}

.fx-payroll-unified-view .fx-payroll-steps li:not(:last-child)::after{
  content:"";
  position:absolute;
  left:calc(50% + 24px);
  right:0;
  top:50%;
  height:1px;
  background:#cad9dd;
}

.fx-payroll-unified-view .fx-payroll-steps li span{
  position:relative;
  z-index:1;
  width:27px;
  height:27px;
  background:#e2ecee;
  color:#58717b;
}

.fx-payroll-unified-view .fx-payroll-steps li.is-active{
  background:transparent;
  color:var(--fx-payroll-petrol-800);
}

.fx-payroll-unified-view .fx-payroll-steps li.is-active span,
.fx-payroll-unified-view .fx-payroll-steps li.is-complete span{
  background:linear-gradient(145deg,var(--fx-payroll-petrol-700),var(--fx-payroll-petrol-900));
  color:#fff;
}

.fx-payroll-unified-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
  align-items:stretch;
}

.fx-payroll-unified-card{
  min-width:0;
  min-height:300px;
  padding:18px 20px;
  box-sizing:border-box;
  box-shadow:0 5px 16px rgba(8,67,72,.055);
}

.fx-payroll-unified-card-head,
.fx-payroll-unified-process-head{
  margin-bottom:14px;
}

.fx-payroll-unified-card-head h2,
.fx-payroll-unified-process-head h2{
  margin:0;
  color:#122d4d;
  font-size:16px;
  line-height:1.2;
}

.fx-payroll-unified-card-head p,
.fx-payroll-unified-process-head p{
  margin:5px 0 0;
  color:#718499;
  font-size:12px;
  line-height:1.4;
}

.fx-payroll-unified-view .fx-payroll-dropzone--compact{
  min-height:176px;
  margin:0;
  gap:7px;
  border-color:#a6c2c4;
  border-radius:8px;
  background:linear-gradient(180deg,#fbfefe 0%,var(--fx-payroll-petrol-050) 100%);
}

.fx-payroll-unified-view .fx-payroll-dropzone--compact:hover,
.fx-payroll-unified-view .fx-payroll-dropzone--compact.is-dragging{
  border-color:var(--fx-payroll-petrol-700);
  background:var(--fx-payroll-petrol-100);
}

.fx-payroll-unified-view .fx-payroll-upload-icon{
  color:var(--fx-payroll-petrol-700);
  font-size:30px;
}

.fx-payroll-unified-view .fx-payroll-dropzone--compact strong{
  color:#17384f;
  font-size:13px;
}

.fx-payroll-unified-view .fx-payroll-dropzone--compact small{
  margin-top:0;
  color:#788b9e;
  font-size:11px;
}

.fx-payroll-unified-file-selected .fx-payroll-file{
  margin:10px 0 0;
  padding:9px 10px;
  border-color:#cfe1df;
  background:#f5fbfa;
}

.fx-payroll-unified-file-selected .fx-payroll-file-icon{
  color:var(--fx-payroll-petrol-700)!important;
}

.fx-payroll-unified-process-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.fx-payroll-unified-percent{
  flex:0 0 auto;
  color:var(--fx-payroll-petrol-800);
  font-size:15px;
}

.fx-payroll-unified-view .fx-payroll-progress--compact{
  height:8px;
  margin:2px 0 15px;
  background:#e3ecee;
}

.fx-payroll-unified-view .fx-payroll-progress--compact span{
  background:linear-gradient(90deg,var(--fx-payroll-petrol-700),var(--fx-payroll-petrol-900));
  transition:width .25s ease;
}

.fx-payroll-unified-stages{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.fx-payroll-unified-stages li{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:43px;
  color:#76899b;
}

.fx-payroll-unified-stages li:not(:last-child)::after{
  content:"";
  position:absolute;
  left:13px;
  top:34px;
  bottom:-12px;
  width:1px;
  background:#d5e1e3;
}

.fx-payroll-unified-stage-marker{
  position:relative;
  z-index:1;
  display:grid;
  width:26px;
  height:26px;
  place-items:center;
  box-sizing:border-box;
  border-radius:50%;
  background:#e2eaed;
  color:#718695;
  font-size:11px;
  font-weight:750;
}

.fx-payroll-unified-stages strong,
.fx-payroll-unified-stages small{
  display:block;
}

.fx-payroll-unified-stages strong{
  color:#425d72;
  font-size:12px;
  font-weight:700;
}

.fx-payroll-unified-stages small{
  margin-top:2px;
  color:#8192a1;
  font-size:10.5px;
}

.fx-payroll-unified-stages li.is-current .fx-payroll-unified-stage-marker{
  border:3px solid #d8f0ec;
  background:var(--fx-payroll-petrol-700);
  color:#fff;
  box-shadow:0 0 0 1px var(--fx-payroll-petrol-700);
}

.fx-payroll-unified-stages li.is-current strong{
  color:var(--fx-payroll-petrol-900);
}

.fx-payroll-unified-stages li.is-current small{
  color:#5b7c7e;
}

.fx-payroll-unified-stages li.is-complete .fx-payroll-unified-stage-marker{
  background:#19a45f;
  color:#fff;
}

.fx-payroll-unified-stages li.is-complete strong{
  color:#315b55;
}

.fx-payroll-unified-error{
  margin-top:12px;
  padding:9px 11px;
  border:1px solid #efc5c5;
  border-radius:7px;
  background:#fff6f6;
  color:#a13e3e;
  font-size:11px;
}

.fx-payroll-unified-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e3eaed;
}

.fx-payroll-petrol-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:142px;
  border:1px solid var(--fx-payroll-petrol-900)!important;
  background:linear-gradient(145deg,var(--fx-payroll-petrol-700),var(--fx-payroll-petrol-950))!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(7,84,90,.14);
}

.fx-payroll-petrol-btn:hover:not(:disabled){
  filter:brightness(1.04);
}

.fx-payroll-petrol-btn:disabled{
  cursor:not-allowed;
  opacity:.48;
  box-shadow:none;
}

@media(max-width:900px){
  .fx-payroll-unified-grid{
    grid-template-columns:1fr;
  }

  .fx-payroll-unified-card{
    min-height:auto;
  }

  .fx-payroll-unified-view .fx-payroll-steps li:not(:last-child)::after{
    display:none;
  }
}

@media(max-width:620px){
  .fx-payroll-unified-context{
    grid-template-columns:1fr;
  }

  .fx-payroll-unified-actions{
    align-items:stretch;
    flex-direction:column-reverse;
  }

  .fx-payroll-unified-actions .btn{
    width:100%;
  }
}

/* AJUSTE VISUAL FINAL - 23/09/2026 */
.fx-payroll-unified-view{margin-top:-8px!important;padding-bottom:0!important}
.fx-payroll-unified-view .fx-payroll-heading{margin:-8px 0 4px!important}
.fx-payroll-unified-view .fx-payroll-heading h1{margin:0!important;font-size:20px!important;line-height:1!important}
.fx-payroll-unified-view .fx-payroll-heading p{display:none!important}
.fx-payroll-unified-context{gap:10px!important;margin:0 0 5px!important}
.fx-payroll-unified-context>div{min-height:44px!important;padding:5px 12px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;border-radius:7px!important}
.fx-payroll-unified-context span{margin:0 0 2px!important;font-size:9.5px!important;line-height:1!important}
.fx-payroll-unified-context strong{font-size:12.5px!important;line-height:1.05!important}
.fx-payroll-unified-view .fx-payroll-steps{margin:0 0 5px!important}
.fx-payroll-unified-view .fx-payroll-steps li{min-height:28px!important;padding:4px 7px!important;align-items:center!important;font-size:10px!important}
.fx-payroll-unified-view .fx-payroll-steps li span{width:23px!important;height:23px!important;font-size:10px!important}
.fx-payroll-unified-grid{gap:10px!important;margin-top:0!important}
.fx-payroll-unified-card{min-height:205px!important;padding:12px 14px 10px!important;border-radius:8px!important}
.fx-payroll-unified-card-head,.fx-payroll-unified-process-head{margin-bottom:7px!important}
.fx-payroll-unified-card-head h2,.fx-payroll-unified-process-head h2{font-size:14px!important;line-height:1.1!important}
.fx-payroll-unified-card-head p,.fx-payroll-unified-process-head p{margin-top:2px!important;font-size:10.5px!important;line-height:1.15!important}
.fx-payroll-unified-view .fx-payroll-dropzone--compact{min-height:108px!important;margin:0!important;gap:3px!important;border-radius:7px!important}
.fx-payroll-unified-view .fx-payroll-progress--compact{height:6px!important;margin:2px 0 8px!important}
.fx-payroll-unified-stages{gap:3px!important}
.fx-payroll-unified-stages li{min-height:28px!important;gap:7px!important}
.fx-payroll-unified-stage-marker{width:22px!important;height:22px!important;font-size:9.5px!important}
.fx-payroll-unified-stages strong{font-size:10.5px!important;line-height:1.05!important}
.fx-payroll-unified-stages small{margin-top:1px!important;font-size:9px!important;line-height:1!important}
.fx-payroll-unified-actions{margin-top:7px!important;padding-top:7px!important}

/* === IMPORT ACTION BUTTONS CANONICAL START === */

/*
   PADRÃO DEFINITIVO
   Fluxus Pessoal > Conferências > Folha > Importar/Processar

   Fonte única de estilo para:
   - Processar
   - Voltar
   - Sair
*/


/* ============================================================
   COLUNA
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side{
    padding-left:8px;
    padding-right:8px;
}


#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-inner{
    width:100%;

    display:flex;
    flex-direction:column;

    align-items:stretch;

    gap:9px;
}


/* ============================================================
   BASE DOS BOTÕES
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button{
    width:100%;
    min-width:0;

    height:48px;
    min-height:48px;

    box-sizing:border-box;

    display:flex;
    align-items:center;
    justify-content:flex-start;

    gap:8px;

    padding:0 11px;

    border:1px solid #9fc4be;
    border-radius:9px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f2f8f7 100%
        );

    color:#0f5c56;

    font-size:11.5px;
    font-weight:650;
    line-height:1;

    cursor:pointer;

    white-space:nowrap;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.98),
        0 2px 5px rgba(15,79,74,.09),
        0 5px 11px rgba(15,79,74,.055);

    transition:
        background .16s ease,
        border-color .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        transform .12s ease;
}


/* ============================================================
   TEXTO
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button > span:last-child{
    display:block;

    flex:1 1 auto;
    min-width:0;

    margin:0;

    text-align:left;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:clip;

    line-height:1.1;
}


/* ============================================================
   ÍCONES
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-action-icon{
    width:16px;
    height:16px;

    flex:0 0 16px;

    margin:0;

    fill:none;

    stroke:currentColor;
    stroke-width:1.9;

    stroke-linecap:round;
    stroke-linejoin:round;
}


/* ============================================================
   VOLTAR / SAIR
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button:not(.is-primary){
    border-color:#9fc4be;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f2f8f7 100%
        );

    color:#0f5c56;

    font-weight:650;
}


#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button:not(.is-primary):hover{
    border-color:#6fa9a1;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #eaf5f3 100%
        );

    color:#0b6962;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,1),
        0 3px 7px rgba(15,79,74,.12),
        0 6px 13px rgba(15,79,74,.075);
}


/* ============================================================
   PROCESSAR / RESULTADOS
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button.is-primary{
    border-color:#0d6d66;

    background:
        linear-gradient(
            180deg,
            #1b8a82 0%,
            #106760 100%
        );

    color:#ffffff;

    font-weight:700;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 3px 7px rgba(15,79,74,.20),
        0 7px 14px rgba(15,79,74,.12);
}


#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button.is-primary:hover:not(:disabled){
    border-color:#0a625c;

    background:
        linear-gradient(
            180deg,
            #20958d 0%,
            #0d625b 100%
        );

    color:#ffffff;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 4px 9px rgba(15,79,74,.24),
        0 8px 16px rgba(15,79,74,.14);
}


/* ============================================================
   PROCESSAR DESABILITADO
   Mantém o padrão visual verde aprovado,
   mas continua funcionalmente desabilitado.
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button.is-primary:disabled{
    opacity:1;

    cursor:not-allowed;

    border-color:#0d6d66;

    background:
        linear-gradient(
            180deg,
            #1b8a82 0%,
            #106760 100%
        );

    color:#ffffff;

    font-weight:700;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 3px 7px rgba(15,79,74,.20),
        0 7px 14px rgba(15,79,74,.12);
}


/* ============================================================
   CLIQUE
   ============================================================ */

#shell.fx-system
.fx-payroll-import-action-side
.fx-payroll-competency-side-button:active:not(:disabled){
    transform:translateY(1px);
}

/* === IMPORT ACTION BUTTONS CANONICAL END === */



/* === PAYROLL ERP APPROVED VISUAL START === */

/*
   Conferência da Folha > Competências
   Visual inspirado no sistema desktop de referência,
   mantendo a identidade verde-petróleo do Fluxus.
*/


/* ==========================================================
   ÁREA GERAL
   ========================================================== */

.fx-payroll-competency-screen{
    width:100% !important;
    height:100% !important;
    min-width:0 !important;

    background:transparent !important;
}


/*
   Quando a barra de ações estiver fora do conteúdo,
   reserva uma coluna mais confortável para os botões.
*/
body:has(.fx-payroll-competency-screen)
.fx-workspace{
    grid-template-columns:
        minmax(0,1fr)
        166px !important;

    gap:12px !important;
}


/* ==========================================================
   PAINEL PRINCIPAL
   ========================================================== */

.fx-payroll-competency-main{
    min-width:0 !important;

    padding:18px 20px 16px !important;

    border:1px solid #c5d2d7 !important;
    border-radius:5px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfdfd 100%
        ) !important;

    box-shadow:
        0 2px 6px rgba(26,52,59,.06),
        inset 0 1px 0 #ffffff !important;
}


/* se a coluna lateral ainda estiver dentro do módulo */
.fx-payroll-competency-columns{
    width:100% !important;
    min-width:0 !important;

    grid-template-columns:
        minmax(0,1fr)
        166px !important;

    gap:12px !important;

    align-items:stretch !important;
}


/* ==========================================================
   CABEÇALHO
   ========================================================== */

.fx-payroll-competency-hero{
    min-height:auto !important;

    display:block !important;

    margin:0 !important;
    padding:0 0 12px !important;

    background:transparent !important;
}


/* mockup aprovado não usa ícone ao lado do título */
.fx-payroll-competency-hero-icon{
    display:none !important;
}


.fx-payroll-competency-hero-copy{
    display:block !important;
}


.fx-payroll-competency-hero h1,
.fx-payroll-competency-hero-copy h1{
    margin:0 !important;

    color:#084b4b !important;

    font-size:22px !important;
    font-weight:750 !important;
    line-height:1.15 !important;

    letter-spacing:-.015em !important;
}


/* subtítulo não aparece no mockup aprovado */
.fx-payroll-competency-hero p,
.fx-payroll-competency-hero-copy p{
    display:none !important;
}


.fx-payroll-competency-divider{
    display:none !important;
}


/* ==========================================================
   TABELA / QUADRO PRINCIPAL
   ========================================================== */

.fx-payroll-competency-table-shell{
    width:100% !important;

    height:calc(100dvh - 300px) !important;
    min-height:360px !important;
    max-height:690px !important;

    overflow:auto !important;

    border:1px solid #8eb9b6 !important;
    border-radius:5px !important;

    background:#ffffff !important;

    box-shadow:
        inset 0 1px 2px rgba(19,62,64,.035) !important;
}


.fx-payroll-competency-table{
    width:100% !important;

    border-collapse:separate !important;
    border-spacing:0 !important;

    table-layout:fixed !important;

    background:#ffffff !important;
}


/* cabeçalho da tabela */
.fx-payroll-competency-table thead th{
    height:43px !important;

    padding:0 10px !important;

    border-right:1px solid #bfd4d2 !important;
    border-bottom:1px solid #9fc4c1 !important;

    background:
        linear-gradient(
            180deg,
            #f3f8f7 0%,
            #e1edeb 100%
        ) !important;

    color:#124c50 !important;

    font-size:11.5px !important;
    font-weight:750 !important;

    text-align:center !important;
    text-transform:uppercase !important;

    white-space:nowrap !important;
}


.fx-payroll-competency-table thead th:last-child{
    border-right:0 !important;
}


/* linhas */
.fx-payroll-competency-table tbody td{
    height:38px !important;

    padding:7px 10px !important;

    border-right:1px solid #e0e8e9 !important;
    border-bottom:1px solid #e0e8e9 !important;

    background:#ffffff !important;

    color:#173c48 !important;

    font-size:12px !important;
}


.fx-payroll-competency-table tbody td:last-child{
    border-right:0 !important;
}


.fx-payroll-competency-table tbody tr:hover td{
    background:#f5faf9 !important;
}


/* registro selecionado */
.fx-payroll-competency-table tbody tr.is-selected td{
    background:#e9f4f2 !important;
}


/* ==========================================================
   ESTADO VAZIO
   ========================================================== */

.fx-payroll-competency-empty-row td{
    height:100% !important;
    border:0 !important;
}


.fx-payroll-competency-empty{
    min-height:330px !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    gap:8px !important;

    padding:35px 20px !important;

    text-align:center !important;
}


.fx-payroll-competency-empty-icon{
    width:92px !important;
    height:92px !important;

    display:grid !important;
    place-items:center !important;

    margin:0 0 8px !important;

    border-radius:50% !important;

    background:
        linear-gradient(
            180deg,
            #f2f7fa,
            #e8f0f5
        ) !important;

    color:#87aac4 !important;
}


.fx-payroll-competency-empty-icon svg{
    width:43px !important;
    height:43px !important;

    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.7 !important;
}


.fx-payroll-competency-empty > strong{
    color:#082e5c !important;

    font-size:15px !important;
    font-weight:750 !important;
}


.fx-payroll-competency-empty > span{
    color:#426a88 !important;

    font-size:12.5px !important;
}


/* ==========================================================
   COLUNA DE AÇÕES
   ========================================================== */

.fx-payroll-competency-side{
    width:166px !important;
    min-width:166px !important;

    height:100% !important;

    padding:16px 10px !important;

    border:1px solid #b9c9ce !important;
    border-radius:5px !important;

    background:
        linear-gradient(
            180deg,
            #f8fafb 0%,
            #edf1f2 100%
        ) !important;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 2px 5px rgba(26,52,59,.07) !important;

    box-sizing:border-box !important;
}


.fx-payroll-competency-side-inner{
    display:flex !important;
    flex-direction:column !important;

    gap:9px !important;

    width:100% !important;
}


/* ==========================================================
   BOTÕES — ESTILO DESKTOP / ERP
   ========================================================== */

.fx-payroll-competency-side-button{
    width:100% !important;
    height:51px !important;
    min-height:51px !important;

    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) !important;
    align-items:center !important;

    gap:0 !important;

    padding:0 !important;

    overflow:hidden !important;

    border:1px solid #96aab2 !important;
    border-radius:4px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #edf1f2 48%,
            #dce3e6 100%
        ) !important;

    color:#123845 !important;

    text-align:left !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 1px 2px rgba(27,53,61,.14) !important;

    text-shadow:
        0 1px 0 rgba(255,255,255,.75) !important;

    cursor:pointer !important;

    transition:
        border-color .12s ease,
        background .12s ease,
        box-shadow .12s ease,
        transform .08s ease !important;
}


/* texto */
.fx-payroll-competency-side-button > span:last-child{
    display:flex !important;
    align-items:center !important;

    height:100% !important;

    padding:0 10px !important;

    color:inherit !important;

    font-size:12.5px !important;
    font-weight:650 !important;

    white-space:nowrap !important;
}


/* área do ícone */
.fx-payroll-competency-side-button
.fx-payroll-competency-action-icon,
.fx-payroll-competency-side-button
.fx-payroll-competency-plus{
    width:44px !important;
    height:100% !important;

    display:grid !important;
    place-items:center !important;

    margin:0 !important;
    padding:13px !important;

    border-right:1px solid #b7c5ca !important;

    color:#245c65 !important;

    box-sizing:border-box !important;
}


/* SVG */
.fx-payroll-competency-side-button
.fx-payroll-competency-action-icon{
    stroke:currentColor !important;
    fill:none !important;

    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}


/* + do botão incluir */
.fx-payroll-competency-side-button
.fx-payroll-competency-plus{
    padding:0 !important;

    font-size:27px !important;
    font-weight:400 !important;
    line-height:1 !important;
}


/* hover dos botões normais */
.fx-payroll-competency-side-button:not(:disabled):hover{
    border-color:#68878e !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #e9eeee 46%,
            #d5dfe1 100%
        ) !important;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 2px 4px rgba(25,52,60,.16) !important;
}


/* botão pressionado */
.fx-payroll-competency-side-button:not(:disabled):active{
    transform:translateY(1px) !important;

    background:
        linear-gradient(
            180deg,
            #d9e1e3,
            #f4f6f6
        ) !important;

    box-shadow:
        inset 0 2px 3px rgba(25,52,60,.14) !important;
}


/* ==========================================================
   BOTÃO PRINCIPAL — INCLUIR
   ========================================================== */

.fx-payroll-competency-side-button.is-primary{
    border-color:#075b56 !important;

    background:
        linear-gradient(
            180deg,
            #178d83 0%,
            #0d776f 48%,
            #07615b 100%
        ) !important;

    color:#ffffff !important;

    text-shadow:
        0 1px 1px rgba(0,0,0,.22) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.23),
        0 2px 4px rgba(6,74,70,.22) !important;
}


.fx-payroll-competency-side-button.is-primary
.fx-payroll-competency-action-icon,
.fx-payroll-competency-side-button.is-primary
.fx-payroll-competency-plus{
    border-right-color:rgba(255,255,255,.26) !important;

    color:#ffffff !important;
}


.fx-payroll-competency-side-button.is-primary:not(:disabled):hover{
    border-color:#064d49 !important;

    background:
        linear-gradient(
            180deg,
            #19998e 0%,
            #0f8077 48%,
            #076a63 100%
        ) !important;
}


/* ==========================================================
   DESABILITADOS
   ========================================================== */

.fx-payroll-competency-side-button:disabled{
    opacity:.54 !important;

    cursor:not-allowed !important;

    filter:saturate(.65) !important;
}


/* ==========================================================
   BOTÃO SAIR
   ========================================================== */

.fx-payroll-approved-exit{
    margin-top:2px !important;
}


/* ==========================================================
   BARRA SUPERIOR DA TELA — SOMENTE NESTE MÓDULO
   ========================================================== */

body:has(.fx-payroll-competency-screen)
.fx-context{
    min-height:48px !important;

    padding:0 20px !important;

    border:1px solid #c8d6dc !important;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f6f8f9
        ) !important;

    box-shadow:
        inset 0 1px 0 #ffffff !important;
}


body:has(.fx-payroll-competency-screen)
.fx-context button{
    color:#315d78 !important;

    font-size:13px !important;
    font-weight:500 !important;
}


/* ==========================================================
   RESPONSIVO
   ========================================================== */

@media(max-width:900px){

    body:has(.fx-payroll-competency-screen)
    .fx-workspace{
        grid-template-columns:1fr !important;
    }

    .fx-payroll-competency-columns{
        grid-template-columns:1fr !important;
    }

    .fx-payroll-competency-side{
        width:100% !important;
        min-width:0 !important;
    }

    .fx-payroll-competency-side-inner{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

/* === PAYROLL ERP APPROVED VISUAL END === */



/* === PAYROLL HISTORY BUTTON FIT START === */

/*
   Ajustes somente dos botões da tela
   Histórico da Competência.
*/

/* Reprocessar */
.fx-payroll-analysis-history
.fx-payroll-competency-side-button[data-reprocess-analysis]{
    grid-template-columns:
        31px
        minmax(0,1fr) !important;
}

.fx-payroll-analysis-history
.fx-payroll-competency-side-button[data-reprocess-analysis]
.fx-payroll-competency-action-icon{
    width:31px !important;
    padding:8px !important;
}

.fx-payroll-analysis-history
.fx-payroll-competency-side-button[data-reprocess-analysis]
> span:last-child{
    padding:0 4px !important;

    font-size:9px !important;
    font-weight:650 !important;
    letter-spacing:-.02em !important;

    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
}

/* Imprimir */
.fx-payroll-analysis-history
.fx-payroll-competency-side-button[data-print-analysis]
> span:last-child{
    font-size:11px !important;
    white-space:nowrap !important;
}

/* === PAYROLL HISTORY BUTTON FIT END === */



/* === REPROCESSAR BUTTON FINAL FIT START === */

/*
   O botão é movido para fora do conteúdo pelo
   mountPayrollExternalSide(), portanto o seletor
   não pode depender de .fx-payroll-analysis-history.
*/

.fx-payroll-competency-side-button[data-reprocess-analysis]{
    width:100% !important;
    min-width:0 !important;

    grid-template-columns:
        27px
        minmax(0,1fr) !important;
}


/* área do ícone menor */
.fx-payroll-competency-side-button[data-reprocess-analysis]
.fx-payroll-competency-action-icon{
    width:27px !important;
    min-width:27px !important;

    padding:7px !important;

    box-sizing:border-box !important;
}


/* texto Reprocessar */
.fx-payroll-competency-side-button[data-reprocess-analysis]
> span:last-child{
    min-width:0 !important;

    padding:0 2px !important;

    font-size:8.5px !important;
    font-weight:650 !important;
    line-height:1 !important;

    letter-spacing:-0.045em !important;

    white-space:nowrap !important;

    overflow:visible !important;
    text-overflow:clip !important;
}


/* garante alinhamento correto */
.fx-payroll-competency-side-button[data-reprocess-analysis]
> span:last-child{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
}

/* === REPROCESSAR BUTTON FINAL FIT END === */

