/* Hierarquia da área de trabalho. Regras de cálculo e relatório não dependem deste arquivo. */
:root {
    --calc-ink: #162c3a;
    --calc-muted: #657783;
    --calc-line: #dce4e8;
    --calc-canvas: #f5f7f8;
    --calc-blue: #14536d;
}

.main-content { background: var(--calc-canvas); }
.main-header {
    min-height: 72px;
    padding-inline: clamp(18px, 2.3vw, 36px);
    gap: 24px;
    box-shadow: 0 1px 0 rgba(20, 47, 61, .03);
}
.main-header-title { flex: 0 1 auto; gap: 12px; }
.main-header-copy { min-width: 0; }
.main-header-title h1 {
    color: var(--calc-ink);
    -webkit-text-fill-color: var(--calc-ink);
    font-size: 1.05rem;
    letter-spacing: -.025em;
    line-height: 1.2;
}
.product-eyebrow { letter-spacing: .11em; }
.product-mark { box-shadow: 0 5px 14px rgba(19, 67, 88, .13); }
.main-header-meta { gap: 8px; margin-left: auto; }
.main-header-meta > :is(button.btn, a.btn) { white-space: nowrap; }
.calc-date-block {
    margin-left: 8px;
    padding-left: 16px;
    border-left: 1px solid var(--calc-line);
}
.calc-date-label { color: var(--calc-muted); }
.cloud-save-toolbar { margin-left: 4px; }

.workspace-more, .row-more { position: relative; flex: 0 0 auto; }
.workspace-more > summary, .row-more > summary {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--calc-muted);
    cursor: pointer;
    list-style: none;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1;
}
.workspace-more > summary::-webkit-details-marker,
.row-more > summary::-webkit-details-marker { display: none; }
.workspace-more > summary:hover, .workspace-more[open] > summary,
.row-more > summary:hover, .row-more[open] > summary {
    background: #edf3f5;
    color: var(--calc-ink);
}
:is(.workspace-more, .row-more) > summary:focus-visible,
:is(.workspace-more-panel, .row-more-panel) :is(a,button):focus-visible {
    outline: 2px solid var(--calc-blue);
    outline-offset: 2px;
}
.workspace-more-panel, .row-more-panel {
    z-index: 1000;
    min-width: 188px;
    padding: 5px;
    border: 1px solid var(--calc-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(18, 47, 63, .15);
}
.workspace-more-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
}
.main-header-meta #workspaceMore #btnNewCalc {
    width: 100%;
    min-width: 0;
    padding: 6px 10px;
}
.main-header-meta #workspaceMore #btnNewCalc span { display: inline; }
.row-more-panel { position: fixed; width: 176px; }
:is(.workspace-more-panel, .row-more-panel) :is(a,button) {
    display: flex;
    width: 100%;
    min-height: 38px;
    align-items: center;
    gap: 10px;
    padding: 6px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--calc-ink);
    cursor: pointer;
    font: inherit;
    font-size: .8125rem;
    text-align: left;
    text-decoration: none;
}
:is(.workspace-more-panel, .row-more-panel) :is(a,button):hover { background: #f0f5f6; }
.row-more-panel .is-danger { color: #a13e3e; }
:is(.workspace-more-panel, .row-more-panel) .ico { width: 16px; height: 16px; }

.section-content { background: var(--calc-canvas); }
#view-parcelas .calc-view-body, #view-encargos .calc-view-body {
    gap: 14px;
    padding: clamp(14px, 1.5vw, 24px) clamp(14px, 1.7vw, 28px) 22px;
}
.calc-panel {
    border: 1px solid var(--calc-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 20px rgba(17, 48, 64, .035);
}
.calc-view .list-toolbar { min-height: 58px; }
.calc-panel-toolbar .section-index {
    border-radius: 7px;
    background: #edf3f5;
    color: #597482;
}
.page-title { color: var(--calc-ink); font-size: .9375rem; letter-spacing: -.015em; }
.calc-view .tui-table th { color: var(--calc-muted); }
.calc-view .tui-table tbody tr:hover { background: #f7fafb; }
.calc-view .tui-table tbody tr.is-inspected { background: #f0f6f7; }
.calc-view .col-actions { white-space: nowrap; }
.calc-view .col-actions > .btn { vertical-align: middle; }
.calc-view .col-actions > .row-more { display: inline-block; vertical-align: middle; }
.calc-view .col-actions > .row-more > summary { width: 30px; height: 30px; }
.parcel-details-panel[hidden] { display: none; }
#view-parcelas .calc-view-body { grid-template-columns: minmax(0, 1fr); }
.parcel-details-close {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    margin-left: auto;
    padding: 4px 9px;
    border: 1px solid var(--calc-line);
    border-radius: 7px;
    background: #fff;
    color: var(--calc-muted);
    cursor: pointer;
    font: inherit;
    font-size: .75rem;
}
.parcel-details-close:focus-visible, #parcelDetailsTitle:focus-visible {
    outline: 2px solid var(--calc-blue);
    outline-offset: 2px;
}
.parcel-option-empty {
    margin: 2px 0 0;
    color: var(--calc-muted);
    font-size: .75rem;
    line-height: 1.4;
}
#parcelPaymentsSection:has(.partial-payment-row) > .parcel-option-empty,
#parcelCorrectionSection:has(.parcel-regime-line) > .parcel-option-empty,
#parcelInterestSection:has(.parcel-regime-line) > .parcel-option-empty { display: none; }

.parcelas-panel:has(#emptyParcels:not(.is-hidden)) { min-height: 250px; }
.parcelas-panel:has(#emptyParcels.is-hidden) { min-height: 0; }
#view-parcelas .calc-view-body:has(#emptyParcels:not(.is-hidden)) {
    display: flex;
    flex-direction: column;
}
#view-parcelas .calc-view-body:has(#emptyParcels:not(.is-hidden)) #parcelDetailsPanel { display: none; }
#emptyParcels {
    min-height: 190px;
    padding: 24px;
    background: #fff;
}
#emptyParcels .empty-state-title { font-size: .9375rem; }
#emptyParcels .empty-hint { color: var(--calc-muted); }
#emptyCharges { min-height: 72px; }

#calculationClosing { border-color: #c9d9de; }
#calculationClosing > .calc-panel-toolbar { background: #f9fbfb; }
#calculationClosing .grand-total,
#calculationClosing .result-total-label { color: var(--calc-ink); font-weight: 700; }
#calculationClosing .grand-total { font-size: 1.1rem; letter-spacing: -.025em; }
.workspace-action-bar { background: transparent; box-shadow: none; }
.workspace-action-bar .btn-calculate { min-height: 42px; border-radius: 10px; }

@media (max-width: 1400px) and (min-width: 769px) {
    #view-parcelas .calc-view-body { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1120px) and (min-width: 769px) {
    .main-header { gap: 12px; padding-inline: 18px; }
    .main-header-meta { gap: 4px; }
    .main-header-meta .calculations-button span { display: none; }
    .calc-date-block { margin-left: 2px; padding-left: 9px; }
}

@media (min-width: 901px) and (max-width: 1120px) {
    .main-header-title { flex-shrink: 0; }
    .main-header-title h1 { font-size: .93rem; white-space: nowrap; }
    .product-eyebrow { font-size: .61rem; }
    .main-header-meta .calculations-button span { display: inline; }
}

@media (max-width: 768px) {
    :root { --calc-shell-header-h: 146px; --workspace-drawer-top: 150px; }
    .main-header {
        display: grid;
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 9px;
        padding: 10px 14px 12px;
    }
    .main-header-title { display: flex; gap: 9px; }
    .main-header-title h1 { font-size: .92rem; }
    .product-mark { width: 32px; height: 32px; }
    .product-eyebrow { font-size: .59rem; }
    .cloud-document-context { max-width: 200px; }
    .main-header-meta {
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 80px;
        gap: 6px 8px;
        margin: 0;
    }
    .main-header-meta > :is(button.btn, a.btn) { width: 100%; min-width: 0; }
    .main-header-meta #btnOpenProcessInfo,
    .main-header-meta #btnMobileCalculations { min-height: 34px; justify-content: center; }
    .main-header-meta .workspace-more { grid-column: 3; grid-row: 1; justify-self: end; }
    .workspace-more > summary { width: 40px; height: 34px; border-color: var(--calc-line); }
    .main-header-meta .calc-date-block {
        display: flex;
        grid-column: 1 / 3;
        grid-row: 2;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .main-header-meta .calc-date-block .calc-date-controls { width: 100%; }
    .main-header-meta .calc-date-block .date-input-wrap { min-width: 0; width: 100%; }
    .main-header-meta .cloud-save-toolbar { grid-column: 3; grid-row: 2; width: 80px; margin: 0; }
    .main-header-meta:has(.cloud-save-more:not(.is-hidden)) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 110px;
    }
    .main-header-meta:has(.cloud-save-more:not(.is-hidden)) .cloud-save-toolbar,
    .main-header-meta:has(.cloud-save-more:not(.is-hidden)) .cloud-save-actions { width: 110px; }
    .main-header-meta .cloud-save-actions { width: 80px; }
    .main-header-meta #btnCloudSaveReport { width: 80px; min-width: 80px; padding: 0 7px; font-size: .72rem; }
    .main-header-meta:has(.cloud-save-more:not(.is-hidden)) #btnCloudSaveReport { width: 74px; min-width: 74px; }
    .main-header-meta #btnCloudSaveReport span { display: inline; }
    .main-header-meta #btnCloudSaveReport .ico { display: block; }
    .main-header-meta .cloud-save-more:not(.is-hidden) { display: block; }
    .main-header-meta .calc-date-label { display: inline; font-size: .65rem; }
    .main-header-meta .calc-date-block { flex-direction: column; align-items: stretch; gap: 3px; }
    .section-content { padding: 0 0 72px; }
    #view-parcelas .calc-view-body, #view-encargos .calc-view-body { padding: 12px 10px 18px; }
    #parcelListPanel > .calc-panel-toolbar { align-items: center; flex-wrap: nowrap; }
    #parcelListPanel .list-toolbar-end { width: auto; flex-basis: auto; margin: 0 0 0 auto; }
    #parcelListPanel .toolbar-primary-actions, #parcelListPanel #btnAddParcel { width: auto; }
    #parcelListPanel #btnAddParcel { white-space: nowrap; }
    #emptyParcels { min-height: 170px; }
    .calc-view .col-actions > .row-more > summary { width: 34px; height: 34px; }
    #parcelDetailsPanel > .calc-panel-toolbar {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
        min-height: 50px;
        padding: 8px 12px;
    }
    #parcelDetailsPanel > .calc-panel-toolbar .list-toolbar-start { width: auto; }
    .workspace-action-bar { right: 10px; left: 10px; }
}

@media (max-width: 390px) {
    #parcelListPanel #btnAddParcel { font-size: .72rem; padding-inline: 8px; }
    .main-header-title h1 { font-size: .86rem; }
}

@media (prefers-reduced-motion: reduce) {
    .calc-view { animation: none; }
}
