﻿/**
 * Moradiq â€” PÃ¡ginas financeiras (Controle, InadimplÃªncia, Extrato, RelatÃ³rios)
 */

body.mq-app .mq-fin-view,
body.mq-app .mq-view-controle,
body.mq-app .mq-view-extrato,
body.mq-app .mq-view-relatorios,
body.mq-app .mq-view-inadimplencia {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

/* â”€â”€ Filtros (toolbar) â”€â”€ */
body.mq-app .mq-fin-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    width: 100%;
}

body.mq-app .mq-fin-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .75rem;
    border-radius: 12px;
    border: 1px solid var(--mq-line);
    background: var(--mq-surface);
    font-size: .82rem;
    color: var(--mq-text);
    box-shadow: 0 1px 4px rgba(18, 18, 26, 0.03);
}

body.mq-app .mq-fin-filter-chip i {
    width: 14px;
    height: 14px;
    color: var(--mq-muted);
    flex-shrink: 0;
}

body.mq-app .mq-fin-filter-chip select,
body.mq-app .mq-fin-filter-chip input[type="number"] {
    border: none;
    outline: none;
    background: transparent;
    font: inherit;
    color: inherit;
    min-width: 0;
}

body.mq-app .mq-fin-filter-chip input[type="number"] {
    width: 4.5rem;
}

body.mq-app .mq-fin-filters .select-wrapper {
    min-width: 0;
}

body.mq-app .mq-fin-filters .filters-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    width: 100%;
}

body.mq-app .mq-fin-filters-spacer {
    flex: 1 1 auto;
    min-width: .5rem;
}

/* â”€â”€ KPIs resumo â”€â”€ */
body.mq-app .mq-fin-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .75rem;
}

body.mq-app .mq-fin-kpis--3 {
    grid-template-columns: repeat(3, 1fr);
}

body.mq-app .mq-fin-kpis--4 {
    grid-template-columns: repeat(4, 1fr);
}

body.mq-app .mq-fin-kpis--5 {
    grid-template-columns: repeat(5, 1fr);
}

body.mq-app .mq-fin-kpi {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1rem 1.1rem;
    border-radius: 16px;
    border: 1px solid var(--mq-line);
    background: var(--mq-surface);
    box-shadow: 0 2px 10px rgba(18, 18, 26, 0.04);
    transition: transform .2s ease, box-shadow .2s ease;
}

body.mq-app button.mq-fin-kpi {
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}

body.mq-app button.mq-fin-kpi:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(18, 18, 26, 0.08);
}

body.mq-app .mq-fin-kpi-label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--mq-muted);
    line-height: 1.3;
}

body.mq-app .mq-fin-kpi-value {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.15;
    color: var(--mq-text);
}

body.mq-app .mq-fin-kpi--success .mq-fin-kpi-value { color: #059669; }
body.mq-app .mq-fin-kpi--danger .mq-fin-kpi-value { color: #dc2626; }
body.mq-app .mq-fin-kpi--warn .mq-fin-kpi-value { color: #b45309; }
body.mq-app .mq-fin-kpi--primary .mq-fin-kpi-value { color: var(--primary); }
body.mq-app .mq-fin-kpi--blue .mq-fin-kpi-value { color: #0369a1; }

body.mq-app .mq-fin-kpi--highlight {
    background: linear-gradient(135deg, rgba(255, 247, 240, 0.95), rgba(255, 255, 255, 0.98));
    border-color: rgba(232, 93, 4, 0.2);
}

[data-theme="dark"] body.mq-app .mq-fin-kpi--highlight {
    background: linear-gradient(135deg, rgba(38, 24, 16, 0.55), rgba(22, 22, 30, 0.95));
}

/* RelatÃ³rios â€” KPIs com Ã­cone */
body.mq-app .mq-fin-view .kpi-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: .75rem !important;
    margin-bottom: 0 !important;
}

body.mq-app .mq-fin-view .kpi-card {
    grid-column: span 1 !important;
    padding: 1.15rem 1.2rem !important;
}

body.mq-app .mq-fin-view .kpi-card:nth-child(-n+2) {
    grid-column: span 1 !important;
    padding: 1.15rem 1.2rem !important;
}

body.mq-app .mq-fin-view .kpi-card:nth-child(-n+2) .kpi-value {
    font-size: 1.5rem !important;
}

/* â”€â”€ Tabela financeira â”€â”€ */
body.mq-app .mq-fin-table-panel {
    margin-bottom: 0;
}

body.mq-app .mq-fin-table-panel .mq-view-panel-body {
    padding: 0;
}

body.mq-app .mq-fin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .88rem;
}

body.mq-app .mq-fin-table thead tr {
    background: var(--mq-surface-2);
}

body.mq-app .mq-fin-table th {
    padding: .9rem 1.15rem;
    text-align: left;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--mq-muted);
    border-bottom: 1px solid var(--mq-line);
}

body.mq-app .mq-fin-table th:last-child,
body.mq-app .mq-fin-table td:last-child {
    text-align: right;
}

body.mq-app .mq-fin-table td {
    padding: 1rem 1.15rem;
    border-bottom: 1px solid var(--mq-line);
    vertical-align: middle;
    color: var(--mq-text);
}

body.mq-app .mq-fin-table tbody tr:last-child td {
    border-bottom: none;
}

body.mq-app .mq-fin-table tbody tr:hover td {
    background: rgba(232, 93, 4, 0.03);
}

body.mq-app .mq-fin-table-empty td {
    text-align: center !important;
    padding: 2.5rem 1rem !important;
    color: var(--mq-muted);
}

body.mq-app .mq-fin-table .mq-fin-desc {
    font-weight: 600;
    color: var(--mq-text);
}

body.mq-app .mq-fin-table .mq-fin-date {
    font-weight: 500;
    color: var(--mq-muted);
    white-space: nowrap;
}

body.mq-app .mq-fin-table .mq-fin-val--credit {
    font-weight: 700;
    color: #059669;
}

body.mq-app .mq-fin-table .mq-fin-val--debit {
    font-weight: 700;
    color: #dc2626;
}

body.mq-app .mq-fin-badge {
    display: inline-flex;
    align-items: center;
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .02em;
}

body.mq-app .mq-fin-badge--credit {
    background: #ecfdf5;
    color: #065f46;
}

body.mq-app .mq-fin-badge--debit {
    background: #fff1f2;
    color: #991b1b;
}

body.mq-app .mq-fin-badge--late {
    background: #fef2f2;
    color: #dc2626;
}

body.mq-app .mq-fin-contract {
    font-family: ui-monospace, monospace;
    font-size: .78rem;
    padding: .15rem .45rem;
    border-radius: 6px;
    background: var(--mq-surface-2);
    color: var(--mq-muted);
}

/* AÃ§Ãµes inadimplÃªncia */
body.mq-app .mq-fin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    justify-content: flex-end;
}

body.mq-app .mq-fin-actions .btn {
    padding: .35rem .55rem;
    font-size: .75rem;
}

body.mq-app .mq-fin-actions .btn i {
    width: 14px;
    height: 14px;
}

/* â”€â”€ GrÃ¡ficos (RelatÃ³rios) â”€â”€ */
body.mq-app .mq-fin-charts {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 1.15rem;
    align-items: start;
}

body.mq-app .mq-fin-chart-card {
    padding: 1.35rem 1.4rem;
    border-radius: 18px;
    border: 1px solid var(--mq-line);
    background: var(--mq-surface);
    box-shadow: 0 2px 12px rgba(18, 18, 26, 0.04);
}

body.mq-app .mq-fin-chart-head {
    margin-bottom: 1rem;
}

body.mq-app .mq-fin-chart-head h3 {
    margin: 0 0 .2rem;
    font-size: .95rem;
    font-weight: 700;
    color: var(--mq-text);
    display: flex;
    align-items: center;
    gap: .45rem;
}

body.mq-app .mq-fin-chart-head h3 i {
    width: 18px;
    height: 18px;
    color: var(--primary);
}

body.mq-app .mq-fin-chart-head p {
    margin: 0;
    font-size: .75rem;
    color: var(--mq-muted);
}

body.mq-app .mq-fin-donut-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

body.mq-app .mq-fin-body {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

body.mq-app .mq-fin-loading {
    padding: 2rem;
    text-align: center;
    color: var(--mq-muted);
}

/* InadimplÃªncia â€” KPIs com Ã­cone (alias feat) */
body.mq-app .mq-view-inadimplencia .mq-feat-kpis,
body.mq-app .mq-fin-kpis.mq-feat-kpis {
    grid-template-columns: repeat(5, 1fr);
}

body.mq-app .mq-view-inadimplencia .mq-feat-kpi {
    padding: 1rem 1.1rem;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(18, 18, 26, 0.04);
}

/* Controle â€” filtros legados na toolbar */
body.mq-app .mq-view-controle .controle-header-filters,
body.mq-app .mq-view-controle .mq-fin-filters {
    width: 100%;
}

@media (max-width: 1366px) {
    body.mq-app .mq-fin-charts {
        grid-template-columns: 1fr 240px;
        gap: .9rem;
    }
}

@media (max-width: 1100px) {
    body.mq-app .mq-fin-kpis--5,
    body.mq-app .mq-view-inadimplencia .mq-feat-kpis {
        grid-template-columns: repeat(3, 1fr);
    }

    body.mq-app .mq-fin-view .kpi-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    body.mq-app .mq-fin-charts {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body.mq-app .mq-fin-kpis--3,
    body.mq-app .mq-fin-kpis--4,
    body.mq-app .mq-fin-kpis--5,
    body.mq-app .mq-view-inadimplencia .mq-feat-kpis,
    body.mq-app .mq-fin-view .kpi-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    body.mq-app .mq-fin-filter-chip {
        flex: 1 1 calc(50% - .55rem);
    }

    body.mq-app .mq-fin-table {
        font-size: .8rem;
    }

    body.mq-app .mq-fin-table th,
    body.mq-app .mq-fin-table td {
        padding: .75rem .65rem;
    }
}


/* ── Rescisões (ultra-compacto) ── */
body.mq-app .mq-view-rescisoes {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

/* Lista em cards */
body.mq-app .mq-resc-list-head {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .65rem;
}

body.mq-app .mq-resc-list-head h2 {
    margin: 0;
    font-size: .95rem;
    font-weight: 750;
}

body.mq-app .mq-resc-list-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 .4rem;
    border-radius: 999px;
    background: rgba(232, 93, 4, .12);
    color: #c2410c;
    font-size: .72rem;
    font-weight: 750;
}

body.mq-app .mq-resc-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: .65rem;
}

body.mq-app .mq-resc-card {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    text-align: left;
    padding: .9rem 1rem;
    border-radius: 14px;
    border: 1px solid var(--mq-line);
    background: var(--mq-surface, #fff);
    box-shadow: 0 2px 8px rgba(18, 18, 26, 0.04);
    cursor: pointer;
    font: inherit;
    color: inherit;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

body.mq-app .mq-resc-card:hover {
    border-color: color-mix(in srgb, var(--mq-o, #e85d04) 40%, var(--mq-line));
    box-shadow: 0 8px 22px rgba(18, 18, 26, 0.08);
    transform: translateY(-1px);
}

body.mq-app .mq-resc-card.is-done {
    background: linear-gradient(160deg, #f0fdf4 0%, #fff 55%);
    border-color: #bbf7d0;
}

body.mq-app .mq-resc-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .5rem;
}

body.mq-app .mq-resc-card-id {
    display: block;
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

body.mq-app .mq-resc-card-name {
    display: block;
    margin-top: .15rem;
    font-size: .78rem;
    color: var(--mq-muted);
}

body.mq-app .mq-resc-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    font-size: .72rem;
    color: var(--mq-muted);
}

body.mq-app .mq-resc-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

body.mq-app .mq-resc-card-meta i {
    width: 12px;
    height: 12px;
    color: var(--mq-o, #e85d04);
}

/* Badges / progresso */
body.mq-app .mq-resc-badge {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 750;
    white-space: nowrap;
}

body.mq-app .mq-resc-badge i { width: 12px; height: 12px; }

body.mq-app .mq-resc-badge--done {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

body.mq-app .mq-resc-badge--open {
    background: #fff7ed;
    color: #c2410c;
    border: 1px solid #fed7aa;
}

body.mq-app .mq-resc-badge--ready {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #86efac;
}

body.mq-app .mq-resc-progress {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 88px;
}

body.mq-app .mq-resc-progress em {
    font-style: normal;
    font-size: .7rem;
    font-weight: 750;
    color: var(--mq-muted);
    font-variant-numeric: tabular-nums;
}

body.mq-app .mq-resc-progress-track {
    flex: 1;
    height: 6px;
    border-radius: 999px;
    background: var(--mq-surface-2, #f1f5f9);
    overflow: hidden;
    min-width: 56px;
}

body.mq-app .mq-resc-progress-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mq-o, #e85d04);
    transition: width .25s ease;
}

body.mq-app .mq-resc-progress.is-complete .mq-resc-progress-track > span { background: #059669; }
body.mq-app .mq-resc-progress.is-complete em { color: #047857; }
body.mq-app .mq-resc-progress.is-low .mq-resc-progress-track > span { background: #f87171; }

/* Detalhe */
body.mq-app .mq-resc-detail {
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

body.mq-app .mq-view-rescisoes .mq-view-panel.mq-resc-compact { margin-bottom: 0; }

body.mq-app .mq-view-rescisoes .mq-resc-compact .mq-view-panel-head {
    padding: .55rem .9rem;
    gap: .5rem;
    align-items: center;
}

body.mq-app .mq-view-rescisoes .mq-resc-compact .mq-view-panel-head h2 {
    font-size: .88rem;
    flex: 1;
    margin: 0;
}

body.mq-app .mq-view-rescisoes .mq-resc-compact .mq-view-panel-body {
    padding: .55rem .75rem .75rem;
}

body.mq-app .mq-resc-detail-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem 1rem;
    background: linear-gradient(145deg, #fff7ed 0%, #fff 55%);
    border: 1px solid #ffedd5;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(18, 18, 26, 0.04);
}

body.mq-app .mq-resc-detail.is-finalized .mq-resc-detail-bar {
    background: linear-gradient(145deg, #ecfdf5 0%, #fff 55%);
    border-color: #bbf7d0;
}

body.mq-app .mq-resc-detail-bar-main {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    min-width: 0;
}

body.mq-app .mq-resc-detail-identity { min-width: 0; }

body.mq-app .mq-resc-detail-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
}

body.mq-app .mq-resc-detail-title {
    display: block;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

body.mq-app .mq-resc-detail-meta {
    display: block;
    margin-top: .15rem;
    font-size: .82rem;
    color: var(--mq-text);
    font-weight: 600;
}

body.mq-app .mq-resc-detail-dates {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .25rem;
    font-size: .72rem;
    color: var(--mq-muted);
}

body.mq-app .mq-resc-detail-dates i {
    width: 12px;
    height: 12px;
    color: var(--mq-o, #e85d04);
}

body.mq-app .mq-resc-detail-bar-side {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
}

body.mq-app .mq-resc-detail-bar-actions { display: flex; gap: .3rem; }

body.mq-app .mq-resc-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    flex-shrink: 0;
}

body.mq-app .mq-resc-pill i { width: 13px; height: 13px; }
body.mq-app .mq-resc-pill--ok {
    background: #059669;
    color: #fff;
    border: 0;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, .15);
}
body.mq-app .mq-resc-pill--pend {
    background: #fff;
    color: #c2410c;
    border: 1.5px solid #fdba74;
}

body.mq-app .mq-resc-rows {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

body.mq-app .mq-resc-block {
    border-radius: 12px;
    border: 1px solid var(--mq-line);
    background: var(--mq-surface, #fff);
    overflow: hidden;
}

body.mq-app .mq-resc-block.is-done { border-color: #bbf7d0; }
body.mq-app .mq-resc-block.is-pend { border-color: #ffedd5; }

body.mq-app .mq-resc-block > .mq-resc-row {
    border: 0;
    border-radius: 0;
}

body.mq-app .mq-resc-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .65rem;
    padding: .65rem .75rem;
    font-size: .82rem;
    border-radius: 12px;
    border: 1px solid var(--mq-line);
    background: var(--mq-surface, #fff);
}

body.mq-app .mq-resc-row.is-done {
    background: linear-gradient(90deg, rgba(5, 150, 105, .06), #fff 40%);
    border-color: #bbf7d0;
}

body.mq-app .mq-resc-row.is-pend {
    background: linear-gradient(90deg, rgba(232, 93, 4, .05), #fff 40%);
    border-color: #ffedd5;
}

body.mq-app .mq-resc-row--sub {
    padding-left: 1.4rem;
    margin-top: .35rem;
}

body.mq-app .mq-resc-row-main { flex: 1 1 180px; min-width: 0; }
body.mq-app .mq-resc-row-main b { display: block; font-size: .84rem; font-weight: 750; }
body.mq-app .mq-resc-row-main small { display: block; color: var(--mq-muted); font-size: .7rem; line-height: 1.35; overflow-wrap: anywhere; }
body.mq-app .mq-resc-row-actions { display: flex; flex-wrap: wrap; gap: .3rem; margin-left: auto; flex-shrink: 0; }

/* Botões do módulo: nunca esticam nem quebram o texto */
body.mq-app .mq-view-rescisoes .mq-resc-row .btn,
body.mq-app .mq-view-rescisoes .mq-resc-inline .btn,
body.mq-app .mq-view-rescisoes .mq-resc-subrow .btn,
body.mq-app .mq-view-rescisoes .mq-resc-row-actions .btn,
body.mq-app .mq-view-rescisoes .mq-resc-detail-bar-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    width: auto;
    flex: 0 0 auto;
    height: 36px;
    min-height: 36px;
    padding: 0 .8rem !important;
    white-space: nowrap;
    line-height: 1;
}

body.mq-app .mq-view-rescisoes .mq-resc-detail-bar-actions .btn,
body.mq-app .mq-view-rescisoes .mq-resc-back {
    width: 36px;
    padding: 0 !important;
}

body.mq-app .mq-view-rescisoes .mq-resc-detail-bar .btn i,
body.mq-app .mq-view-rescisoes .mq-resc-row .btn i,
body.mq-app .mq-view-rescisoes .mq-resc-inline .btn i {
    width: 15px;
    height: 15px;
}

body.mq-app .mq-resc-sublist {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .5rem .75rem .65rem 2.6rem;
    border-top: 1px dashed var(--mq-line);
}

body.mq-app .mq-resc-subrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .65rem;
    padding: .4rem .6rem;
    border-radius: 10px;
    background: var(--mq-surface-2, #f8fafc);
    font-size: .78rem;
}

body.mq-app .mq-resc-subrow-label { flex: 1 1 160px; min-width: 0; font-weight: 650; }
body.mq-app .mq-resc-subrow-label em {
    font-style: normal;
    font-size: .66rem;
    font-weight: 750;
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 999px;
    padding: .05rem .4rem;
    margin-left: .3rem;
}
body.mq-app .mq-resc-subrow.is-late { background: #fff5f5; }
body.mq-app .mq-resc-val {
    font-size: .88rem;
    font-weight: 800;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: var(--mq-text);
}

body.mq-app .mq-resc-row.is-done .mq-resc-val { color: #065f46; }

body.mq-app .mq-resc-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    padding: .55rem .75rem .65rem 2.6rem;
    border-top: 1px dashed var(--mq-line);
}

body.mq-app .mq-resc-pend .mq-resc-inline { border-top: 0; padding-left: 0; padding-right: 0; }

body.mq-app .mq-resc-inline input[type="date"],
body.mq-app .mq-resc-inline input[type="number"],
body.mq-app .mq-resc-inline input[type="text"],
body.mq-app .mq-resc-inline select {
    width: auto;
    height: 36px;
    padding: .3rem .55rem;
    border: 1px solid var(--mq-line);
    border-radius: 10px;
    background: var(--bg, #fff);
    font-size: .8rem;
    min-width: 0;
}

body.mq-app .mq-resc-inline--caucao input[type="number"] { width: 110px; }
body.mq-app .mq-resc-inline--pend input[type="text"] { flex: 1; min-width: 140px; }
body.mq-app .mq-resc-inline--pend input[type="number"] { width: 90px; }
body.mq-app .mq-resc-inline--pend select { width: 130px; }

body.mq-app .mq-resc-file {
    position: relative;
    display: inline-flex;
    margin: 0;
    cursor: pointer;
}

body.mq-app .mq-resc-file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

body.mq-app .mq-resc-file-btn {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    height: 36px;
    padding: 0 .7rem;
    border: 1px solid var(--mq-line);
    border-radius: 10px;
    background: var(--mq-surface, #fff);
    font-size: .75rem;
    font-weight: 600;
    color: var(--mq-text);
    white-space: nowrap;
}

body.mq-app .mq-resc-file-btn i { width: 13px; height: 13px; color: var(--mq-o, #e85d04); }
body.mq-app .mq-resc-file-btn em { font-style: normal; color: var(--mq-muted); max-width: 110px; overflow: hidden; text-overflow: ellipsis; }

body.mq-app .mq-resc-file:hover .mq-resc-file-btn {
    border-color: var(--mq-o, #e85d04);
}

body.mq-app .mq-resc-check {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    height: 36px;
    padding: 0 .6rem;
    border: 1px solid var(--mq-line);
    border-radius: 10px;
    background: var(--mq-surface, #fff);
    font-size: .78rem;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
    cursor: pointer;
}

body.mq-app .mq-resc-check input[type="checkbox"] {
    width: 15px;
    height: 15px;
    accent-color: var(--mq-o, #e85d04);
    cursor: pointer;
    margin: 0;
}

body.mq-app .mq-resc-pend { margin-top: .25rem; padding: 0 .75rem .35rem; }

body.mq-app .mq-resc-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .85rem 1rem;
    border-radius: 14px;
    border: 1px solid var(--mq-line);
    background: var(--mq-surface, #fff);
}

body.mq-app .mq-resc-footer.is-done {
    background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
    border-color: #a7f3d0;
    color: #047857;
}

body.mq-app .mq-resc-footer.is-ready {
    background: linear-gradient(135deg, #fff7ed, #fff);
    border-color: #fed7aa;
}

body.mq-app .mq-resc-footer.is-wait {
    background: var(--mq-surface-2, #f8fafc);
}

body.mq-app .mq-resc-footer-msg {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .84rem;
    font-weight: 600;
}

body.mq-app .mq-resc-footer-msg i {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

body.mq-app .mq-resc-footer.is-done .mq-resc-footer-msg i { color: #059669; }
body.mq-app .mq-resc-footer.is-ready .mq-resc-footer-msg i { color: var(--mq-o, #e85d04); }

body.mq-app .mq-resc-footer .btn { flex: 0 0 auto; width: auto; white-space: nowrap; }
body.mq-app .mq-resc-footer-msg { flex: 1 1 220px; min-width: 0; }

@media (max-width: 720px) {
    body.mq-app .mq-resc-detail-bar { align-items: stretch; }
    body.mq-app .mq-resc-detail-bar-side { width: 100%; justify-content: space-between; }
    body.mq-app .mq-resc-inline,
    body.mq-app .mq-resc-sublist { padding-left: .75rem; }
    body.mq-app .mq-resc-inline input[type="date"],
    body.mq-app .mq-resc-inline input[type="number"],
    body.mq-app .mq-resc-inline input[type="text"],
    body.mq-app .mq-resc-inline select { flex: 1 1 140px; }
    body.mq-app .mq-view-rescisoes .mq-resc-inline .btn-primary { flex: 1 1 100%; }
    body.mq-app .mq-resc-footer .btn { flex: 1 1 100%; }
    body.mq-app .mq-resc-row--sub { padding-left: .75rem; }
}

body.mq-app .mq-resc-muted { font-size: .75rem; color: var(--mq-muted); }
body.mq-app .mq-fin-badge--ok { background: #ecfdf5; color: #047857; }

[data-theme="dark"] body.mq-app .mq-resc-card,
[data-theme="dark"] body.mq-app .mq-resc-block,
[data-theme="dark"] body.mq-app .mq-resc-row,
[data-theme="dark"] body.mq-app .mq-resc-detail-bar,
[data-theme="dark"] body.mq-app .mq-resc-footer {
    background: var(--mq-surface-2);
}

[data-theme="dark"] body.mq-app .mq-resc-card.is-done,
[data-theme="dark"] body.mq-app .mq-resc-detail.is-finalized .mq-resc-detail-bar,
[data-theme="dark"] body.mq-app .mq-resc-footer.is-done,
[data-theme="dark"] body.mq-app .mq-resc-row.is-done {
    background: rgba(5, 150, 105, .12);
    border-color: rgba(52, 211, 153, .28);
}
