:root {
    color-scheme: light;
    --app-bg: #f5f7fb;
    --app-panel: #ffffff;
    --app-line: rgba(133, 147, 166, 0.24);
    --sheet-grid-line: rgba(203, 209, 216, 0.95);
    --erp-table-header-bg: #eef3f8;
    --erp-table-header-fg: #51637b;
    --secondary-nav-bg: var(--erp-table-header-bg);
    --secondary-nav-section-bg: #dbe7f3;
    --secondary-nav-section-fg: #23364d;
    --erp-table-row-bg: #ffffff;
    --erp-table-cell-fg: #0f172a;
    --erp-table-cell-font-size: 0.78rem;
    --erp-table-cell-line-height: 1.05rem;
    --erp-table-header-font-size: 0.64rem;
    --erp-table-header-letter-spacing: 0.12em;
    --erp-table-header-font-weight: 700;
    --erp-table-header-line-height: 0.95rem;
    --erp-table-cell-padding: 0.28rem 0.52rem;
    --erp-table-header-padding: 0.42rem 0.56rem;
    --sheet-inline-editor-font-size: var(--erp-table-cell-font-size);
    --sheet-inline-editor-line-height: var(--erp-table-cell-line-height);
    --sheet-inline-editor-font-weight: 400;
    --sheet-choice-hover-bg: #e8edf3;
    --app-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
    --sidebar-width: 244px;
    --sidebar-width-collapsed: 84px;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--app-bg);
}

.erp-active-state-label {
    color: #334155;
    font-weight: 600;
}

.erp-active-state-label.is-inactive {
    color: #94a3b8;
    font-weight: 400;
}

input[type="checkbox"]:disabled {
    border-color: #cbd5e1;
    background-color: #e2e8f0;
    accent-color: #94a3b8;
    cursor: not-allowed;
}

input[type="checkbox"]:disabled:checked {
    border-color: #94a3b8;
    background-color: #94a3b8;
    accent-color: #64748b;
}

.erp-modal-readonly-badge {
    display: none;
    width: fit-content;
    align-items: center;
    gap: 0.38rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #f1f4f7;
    padding: 0.28rem 0.5rem;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

[data-proposal-modal-readonly="1"] .erp-modal-readonly-badge,
[data-erp-relation-readonly="1"] .erp-modal-readonly-badge,
[data-readonly-generated="1"] .erp-modal-readonly-badge {
    display: inline-flex;
}

.erp-listing-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.erp-listing-toolbar-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.75rem;
}

.erp-listing-primary-action {
    flex-shrink: 0;
}

[data-proposal-annotations-modal] [data-proposal-interaction-id] {
    font-size: 0.875rem;
    padding: 0.625rem 0.9375rem;
}

[data-proposal-annotations-modal] [data-proposal-interaction-text] {
    font-size: 0.875rem;
}

[data-proposal-annotations-dialog] {
    height: min(46rem, calc(100vh - 2rem));
    max-height: calc(100vh - 2rem);
}

[data-proposal-interactions-list] > [data-proposal-interaction-day-badge],
[data-proposal-interactions-list] > [data-proposal-interaction-id] {
    margin-top: 0.5rem;
}

[data-proposal-interactions-list] > [data-proposal-interaction-id]:last-child {
    margin-bottom: 0.52rem;
}

[data-proposal-annotations-modal] .proposal-annotation-tail {
    position: absolute;
    bottom: 0.48rem;
    left: -0.42rem;
    width: 0;
    height: 0;
    border-top: 0.34rem solid transparent;
    border-right: 0.52rem solid #ffffff;
    border-bottom: 0.18rem solid transparent;
    filter: drop-shadow(-1px 0 0 #cbd5e1);
    pointer-events: none;
}

.crm-status-interaction {
    background: #eff8ff !important;
    border-color: #bae6fd !important;
}

.crm-status-transition {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0 0.38rem 0 0;
    vertical-align: middle;
}

.crm-status-badge {
    display: inline-flex;
    height: 1.35rem;
    width: 1.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    border-radius: 0.32rem;
    background: #fff;
}

.crm-status-badge svg {
    height: 0.82rem;
    width: 0.82rem;
}

.crm-status-arrow {
    display: inline-flex;
    height: 1.1rem;
    width: 1.1rem;
    align-items: center;
    justify-content: center;
    color: #64748b;
}

.crm-status-arrow svg {
    height: 1.1rem;
    width: 1.1rem;
}

.crm-status-interaction [data-proposal-interaction-text] {
    display: inline;
    vertical-align: middle;
    font-style: italic;
}

.crm-status-badge--planned {
    background: #fffbeb;
    color: #b45309;
}

.crm-status-badge--running {
    background: #e0f2fe;
    color: #0369a1;
}

.crm-status-badge--paused {
    background: #fff1f2;
    color: #be123c;
}

.crm-status-badge--negotiation {
    background: #f8fafc;
    color: #475569;
}

.crm-status-badge--completed {
    background: #ecfdf5;
    color: #047857;
}

.crm-status-badge--cancelled {
    background: #fef2f2;
    color: #b91c1c;
}

.crm-status-badge--archived,
.crm-status-badge--neutral {
    background: #f1f5f9;
    color: #64748b;
}

.crm-status-badge--executed {
    background: #eff6ff;
    color: #1d4ed8;
}

.commercial-attachment-card {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 0.5rem;
    border: 1px solid #d5dde8;
    border-radius: 0.375rem;
    background: #fff;
    padding: 0.5rem 2.25rem 0.5rem 0.58rem;
    cursor: pointer;
}

[data-proposal-attachment-sortable="1"] .commercial-attachment-card {
    cursor: grab;
}

[data-proposal-attachment-sortable="1"] .commercial-attachment-card:active {
    cursor: grabbing;
}

[data-proposal-attachment-id].is-dragging {
    opacity: 0.55;
}

.commercial-attachment-leading {
    display: flex;
    width: 2.58rem;
    flex: 0 0 2.58rem;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 0;
}

.commercial-attachment-file-icon {
    display: inline-flex;
    width: 2.44rem;
    height: 2.44rem;
    align-items: flex-start;
    justify-content: flex-end;
    color: #94a3b8;
    transform: translate(0.06rem, -0.04rem);
}

.commercial-attachment-file-svg {
    display: block;
    width: 2.44rem;
    height: 2.44rem;
}

.commercial-attachment-classification-badge {
    display: inline-flex;
    gap: 0.28rem;
    max-width: min(13.5rem, 100%);
    min-height: 1.22rem;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    overflow: hidden;
    border: 1px solid #d9e1eb;
    border-radius: 0.28rem;
    background: #f8fafc;
    padding: 0.16rem 0.5rem 0.12rem;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 400;
    line-height: 0.95rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-attachment-classification-badge > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.commercial-attachment-classification-remove {
    display: inline-flex;
    width: 0.86rem;
    height: 0.86rem;
    flex: 0 0 0.86rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #94a3b8;
    font-size: 0.82rem;
    line-height: 1;
    transition: background-color 0.16s ease, color 0.16s ease;
}

.commercial-attachment-classification-remove:hover {
    background: #e2e8f0;
    color: #334155;
}

.commercial-attachment-body {
    min-width: 0;
    flex: 1 1 auto;
    padding-top: 0.05rem;
}

.commercial-attachment-meta-row {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.38rem;
    margin-top: 0.28rem;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 500;
    line-height: 1rem;
}

.commercial-attachment-floating-tooltip {
    position: fixed;
    z-index: 280;
    max-width: min(28rem, calc(100vw - 5rem));
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.14);
    padding: 0.5rem 0.65rem;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.12rem;
    white-space: pre-line;
    pointer-events: none;
}

.commercial-attachment-floating-tooltip.hidden {
    display: none;
}

.commercial-attachment-preview-dialog {
    --attachment-preview-nav-width: min(22rem, 32vw);
    max-width: min(92rem, calc(100vw - 2rem));
    height: min(60rem, calc(100vh - 0.5rem));
}

.commercial-attachment-preview-workspace {
    position: relative;
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
}

.commercial-attachment-preview-nav {
    display: flex;
    width: var(--attachment-preview-nav-width);
    flex: 0 0 var(--attachment-preview-nav-width);
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    border-right: 1px solid #e2e8f0;
    background: #f8fafc;
    transition: flex-basis 180ms ease, width 180ms ease, border-color 180ms ease;
}

.commercial-attachment-preview-dialog.is-nav-hidden .commercial-attachment-preview-nav {
    width: 0;
    flex-basis: 0;
    overflow: hidden;
    border-right-color: transparent;
}

.commercial-attachment-preview-nav-toolbar {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.5rem;
    border-bottom: 1px solid #e2e8f0;
    padding: 0.55rem 3.1rem 0.55rem 0.65rem;
    background: #f8fafc;
}

.commercial-attachment-preview-upload-button {
    display: inline-flex;
    min-width: 0;
    height: 2.35rem;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0 0.8rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

.commercial-attachment-preview-upload-button:hover {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
}

.commercial-attachment-preview-upload-button:disabled {
    cursor: not-allowed;
    border-color: #e2e8f0;
    background: #f1f5f9;
    color: #94a3b8;
}

.commercial-attachment-preview-upload-button span:first-child {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.commercial-attachment-preview-nav-list {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 0.55rem 0;
}

.commercial-attachment-preview-nav-list [data-proposal-attachment-classify-toggle],
.commercial-attachment-preview-nav-list [data-delete-proposal-attachment],
.commercial-attachment-preview-nav-list [data-proposal-attachment-classify-menu] {
    display: none !important;
}

.commercial-attachment-preview-nav-list .commercial-attachment-card {
    cursor: pointer;
}

.commercial-attachment-preview-nav-list .is-preview-current .commercial-attachment-card {
    border-color: #94a3b8;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.65);
}

.commercial-attachment-preview-body {
    position: relative;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    background: #f8fafc;
}

.commercial-attachment-preview-nav-toggle {
    position: absolute;
    left: calc(var(--attachment-preview-nav-width) - 3rem);
    top: 0.55rem;
    z-index: 7;
    display: inline-flex;
    width: 2.35rem;
    height: 2.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 0.375rem;
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transition: left 180ms ease, top 180ms ease, background 150ms ease, border-color 150ms ease, color 150ms ease;
}

.commercial-attachment-preview-dialog.is-nav-hidden .commercial-attachment-preview-nav-toggle {
    left: 0.75rem;
    top: 0.75rem;
}

.commercial-attachment-preview-nav-toggle:hover {
    border-color: #94a3b8;
    background: #ffffff;
    color: #0f172a;
}

.commercial-attachment-preview-nav-toggle span {
    display: inline-flex;
    width: 1.1rem;
    height: 1.1rem;
}

.commercial-attachment-preview-frame,
.commercial-attachment-preview-image-stage {
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

.commercial-attachment-preview-frame.hidden,
.commercial-attachment-preview-image-stage.hidden {
    display: none;
}

.commercial-attachment-preview-loading {
    position: absolute;
    inset: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    background: #ffffff;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.commercial-attachment-preview-loading.hidden {
    display: none;
}

.commercial-proposal-status-progress-modal {
    z-index: 260;
}

.commercial-proposal-status-progress-spinner,
.commercial-attachment-preview-loading-spinner {
    width: 1.15rem;
    height: 1.15rem;
    border: 2px solid #cbd5e1;
    border-top-color: #f97316;
    border-radius: 999px;
    animation: commercialAttachmentPreviewSpin 0.8s linear infinite;
}

@keyframes commercialAttachmentPreviewSpin {
    to {
        transform: rotate(360deg);
    }
}

.commercial-proposal-status-progress-bar {
    animation: commercialProposalStatusProgress 1.2s ease-in-out infinite;
}

@keyframes commercialProposalStatusProgress {
    from {
        transform: translateX(-110%);
    }
    to {
        transform: translateX(210%);
    }
}

.commercial-attachment-preview-image-stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    touch-action: none;
    cursor: default;
}

.commercial-attachment-preview-image-stage.is-pannable {
    cursor: grab;
}

.commercial-attachment-preview-image-stage.is-panning {
    cursor: grabbing;
}

.commercial-attachment-preview-image {
    display: block;
    max-width: calc(100% - 2rem);
    max-height: calc(100% - 2rem);
    width: auto;
    height: auto;
    object-fit: contain;
    transform-origin: center center;
    user-select: none;
    pointer-events: none;
    will-change: transform;
}

.commercial-attachment-preview-image-toolbar {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 0.375rem;
    background: rgba(255, 255, 255, 0.94);
    padding: 0.25rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.commercial-attachment-preview-image-toolbar.hidden {
    display: none;
}

.commercial-attachment-preview-image-toolbar button {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.3rem;
    color: #475569;
    transition: background 150ms ease, color 150ms ease;
}

.commercial-attachment-preview-image-toolbar button:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.commercial-attachment-preview-image-toolbar button:disabled {
    cursor: wait;
    opacity: 0.45;
}

.commercial-attachment-preview-image-toolbar button span {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
}

.commercial-attachment-preview-toolbar-separator {
    width: 1px;
    height: 1.35rem;
    background: #e2e8f0;
}

.commercial-attachment-preview-empty {
    height: 100%;
    min-height: 24rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 2rem;
    color: #64748b;
}

.commercial-attachment-preview-empty:not(.hidden) {
    display: flex;
}

.commercial-attachment-preview-empty-icon {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    color: #94a3b8;
}

.commercial-attachment-preview-empty-icon .commercial-attachment-file-svg {
    width: 3.5rem;
    height: 3.5rem;
}

.erp-listing-actions-form {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1rem;
}

.erp-listing-primary-zone {
    display: flex;
    min-width: max-content;
    flex: 0 0 auto;
    align-items: flex-end;
}

.erp-listing-controls-row {
    display: flex;
    min-width: 0;
    flex: 1 1 42rem;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.75rem;
}

.erp-listing-actions-form-no-primary .erp-listing-controls-row {
    flex-basis: 100%;
}

.erp-listing-filter {
    flex: 0 0 10.5rem;
    min-width: min(100%, 10.5rem);
}

.erp-listing-filter-md {
    flex-basis: 11.75rem;
    min-width: min(100%, 11.75rem);
}

.erp-listing-filter-lg {
    flex-basis: 13.75rem;
    min-width: min(100%, 13.75rem);
}

.erp-listing-search-control {
    min-width: min(100%, 18.5rem);
    flex: 1 1 20rem;
    max-width: 24rem;
}

.erp-listing-search-control .erp-search-combo {
    width: 100%;
}

.obras-filter-narrow {
    flex-basis: 8.25rem;
    min-width: min(100%, 8.25rem);
}

.obras-filter-compact {
    flex-basis: 8.4rem;
    min-width: min(100%, 8.4rem);
}

.obras-filter-status-compact {
    flex-basis: 11rem;
    min-width: min(100%, 11rem);
}

.obras-search-compact {
    min-width: min(100%, 13rem);
    flex-basis: 14rem;
    max-width: 16.8rem;
}

.proposal-list-type-filter {
    flex-basis: 8.25rem;
    min-width: min(100%, 8.25rem);
}

.proposal-list-status-filter {
    flex-basis: 11rem;
    min-width: min(100%, 11rem);
}

.proposal-list-year-filter {
    flex-basis: 8.4rem;
    min-width: min(100%, 8.4rem);
}

.proposal-list-search {
    min-width: min(100%, 13rem);
    flex-basis: 14rem;
    max-width: 16.8rem;
}

.proposal-list-search .erp-search-combo {
    width: 100%;
    min-width: 0;
    flex-basis: 14rem;
}

.erp-clear-filters-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.erp-toolbar-select {
    min-width: 8rem;
    padding-right: 2rem;
}

.erp-toolbar-filter-wide > summary {
    min-width: 11.75rem;
}

.erp-multi-filter-panel {
    overflow: hidden;
}

.erp-multi-filter-select-all {
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
}

.erp-multi-filter-options {
    max-height: 14rem;
    overflow-y: auto;
}

.erp-multi-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-top: 1px solid #e2e8f0;
    background: #ffffff;
    padding: 0.5rem;
}

.erp-multi-filter-apply {
    display: inline-flex;
    width: 100%;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    background: #020617;
    padding: 0 0.75rem;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background-color 140ms ease;
}

.erp-multi-filter-apply:hover {
    background: #1e293b;
}

.erp-search-form {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.erp-search-combo {
    display: flex;
    min-width: min(100%, 18rem);
    flex: 1 1 18rem;
}

.erp-search-field {
    position: relative;
    min-width: 0;
    flex: 1 1 auto;
}

.erp-search-input {
    height: 2.5rem;
    width: 100%;
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding-left: 0.75rem;
    padding-right: 2.35rem;
}

.erp-search-submit {
    height: 2.5rem;
    width: 2.75rem;
    flex-shrink: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    border-left-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.erp-search-submit-icon {
    display: inline-flex;
    height: 1.15rem;
    width: 1.15rem;
}

.erp-search-clear {
    position: absolute;
    right: 0.55rem;
    top: 50%;
    display: inline-flex;
    height: 1.08rem;
    width: 1.08rem;
    transform: translateY(-50%);
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 0;
    background: #8da0b4;
    color: #ffffff;
    line-height: 1;
    transition: background 150ms ease, color 150ms ease;
}

.erp-search-clear svg {
    height: 0.64rem;
    width: 0.64rem;
    stroke: currentColor;
    stroke-width: 2.45;
}

.erp-search-clear:hover {
    background: #65788e;
    color: #ffffff;
}

.erp-search-clear.is-hidden {
    display: none;
}

.erp-bulk-action-button {
    height: 1.65rem;
    padding-right: 0.55rem;
    padding-left: 0.55rem;
    font-size: 0.68rem;
    line-height: 1rem;
}

.erp-selection-counter {
    font-weight: 400;
}

.erp-selection-counter.has-selection {
    font-weight: 600;
}

@media (min-width: 768px) {
    .erp-listing-toolbar-main {
        flex-direction: row;
        align-items: center;
    }

    .erp-listing-primary-action {
        margin-right: 1rem;
    }
}

@media (min-width: 1280px) {
    .erp-listing-toolbar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

.border {
    border-color: #ced0d3 !important;
}

.border-slate-100 {
    border-color: #d9dde0 !important;
}

.border-slate-200 {
    border-color: #cbd1d8 !important;
}

.border-slate-300,
.hover\:border-slate-300:hover,
.focus\:border-slate-300:focus {
    border-color: #b7c0cb !important;
}

.border-slate-800 {
    border-color: #1b2535 !important;
}

.border-rose-200 {
    border-color: #e5b9be !important;
}

.border-sky-200 {
    border-color: #a7cfe4 !important;
}

.border-amber-200 {
    border-color: #e4cf7c !important;
}

.border-emerald-200 {
    border-color: #96dbc0 !important;
}

.focus\:ring-sky-100:focus {
    --tw-ring-color: #cad9e5 !important;
}

.focus\:ring-sky-200:focus {
    --tw-ring-color: #a7cfe4 !important;
}

.app-topbar {
    background: rgba(252, 253, 255, 0.98);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.app-topbar:has(details[data-erp-dropdown][open]) {
    z-index: 175;
}

.app-topbar details[data-erp-dropdown] > div {
    z-index: 180;
}

.app-topbar-logo {
    max-width: 188px;
}

.app-page-title-context {
    display: none;
    min-width: 0;
    max-width: min(44vw, 720px);
    align-items: center;
    gap: 0.42rem;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 400;
    line-height: 1.1rem;
    white-space: nowrap;
}

html[data-estacas-general-state="collapsed"] .app-page-title-context {
    display: inline-flex;
}

.app-page-title-context-main {
    min-width: 0;
    overflow: hidden;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
    text-overflow: ellipsis;
}

.app-page-title-context-muted {
    min-width: 0;
    overflow: hidden;
    color: #64748b;
    font-weight: 400;
    text-overflow: ellipsis;
}

.app-page-title-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.42rem;
}

.app-sidebar {
    box-shadow: none;
    transition: width 180ms ease;
}

.app-main {
    margin-left: var(--sidebar-width);
    transition: margin-left 180ms ease;
}

.app-main-has-secondary-nav {
    min-height: 100vh;
}

.app-shell[data-sidebar-state="collapsed"] .app-sidebar {
    width: var(--sidebar-width-collapsed);
}

html[data-sidebar-state="collapsed"] .app-sidebar {
    width: var(--sidebar-width-collapsed);
}

.app-shell[data-sidebar-state="collapsed"] .app-main {
    margin-left: var(--sidebar-width-collapsed);
}

html[data-sidebar-state="collapsed"] .app-main {
    margin-left: var(--sidebar-width-collapsed);
}

.app-shell[data-sidebar-state="collapsed"] .app-nav-label,
.app-shell[data-sidebar-state="collapsed"] .app-sidebar-heading,
.app-shell[data-sidebar-state="collapsed"] .app-sidebar-meta {
    display: none;
}

html[data-sidebar-state="collapsed"] .app-nav-label,
html[data-sidebar-state="collapsed"] .app-sidebar-heading,
html[data-sidebar-state="collapsed"] .app-sidebar-meta {
    display: none;
}

.app-shell[data-sidebar-state="collapsed"] .app-nav-item {
    justify-content: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

html[data-sidebar-state="collapsed"] .app-nav-item {
    justify-content: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.app-shell[data-sidebar-state="collapsed"] .app-nav-icon {
    margin-inline: auto;
}

html[data-sidebar-state="collapsed"] .app-nav-icon {
    margin-inline: auto;
}

.app-sidebar .app-nav-item.bg-slate-800 {
    margin-right: -0.75rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    background: var(--secondary-nav-bg) !important;
    color: #0f172a !important;
}

.app-sidebar .app-nav-item.bg-slate-800 .app-nav-icon {
    background: rgba(81, 99, 123, 0.14);
    color: #0f172a;
}

.app-shell-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.config-secondary-shell {
    min-height: calc(100vh - 52px);
    border: 0;
    border-radius: 0;
    background: #f8fafc;
    overflow: visible !important;
}

.config-secondary-grid {
    min-height: calc(100vh - 52px);
    align-items: start;
}

.config-secondary-content {
    background: #f8fafc;
    padding: 1rem;
}

.config-secondary-content > section {
    max-width: 1520px;
    margin-right: auto;
    margin-left: auto;
}

.config-secondary-content > .erp-cadastros-listing-container {
    max-width: calc(1520px - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem;
}

.config-secondary-content > section + section {
    margin-top: 1rem;
}

.config-secondary-nav {
    background: var(--secondary-nav-bg);
    color: #0f172a;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 52px);
    min-height: calc(100vh - 52px);
}

@media (min-width: 1024px) {
    .config-secondary-nav {
        position: sticky;
        top: 52px;
        z-index: 20;
        max-height: calc(100vh - 52px);
    }
}

.config-secondary-nav-header {
    border-bottom: 1px solid rgba(15, 23, 42, 0.11);
    flex: 0 0 auto;
}

.config-secondary-nav-scroll {
    direction: rtl;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-color: rgba(51, 65, 85, 0.42) transparent;
    scrollbar-width: thin;
}

.config-secondary-nav-scroll::-webkit-scrollbar {
    width: 10px;
}

.config-secondary-nav-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.config-secondary-nav-scroll::-webkit-scrollbar-thumb {
    background: rgba(51, 65, 85, 0.32);
    border: 3px solid var(--secondary-nav-bg);
    border-radius: 999px;
}

.config-secondary-nav-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(51, 65, 85, 0.48);
}

.config-secondary-nav-inner {
    direction: ltr;
    padding: 0.75rem 0 0.75rem 0.75rem;
}

.config-secondary-nav > .space-y-5 {
    padding-right: 0;
}

.config-secondary-nav-kicker,
.config-secondary-nav-muted {
    color: #475569;
}

.config-secondary-nav-group {
    background: var(--secondary-nav-section-bg);
    color: var(--secondary-nav-section-fg);
    margin: 0.875rem 0 0.25rem -0.75rem;
    padding: 0.42rem 0.75rem 0.36rem 1.25rem;
}
.config-secondary-nav-section--collapsible {
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    margin: 0.75rem 0 0 -0.75rem;
}

.config-secondary-nav-section-summary {
    display: flex;
    min-height: 2.8rem;
    cursor: pointer;
    list-style: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem 0.5rem 1.25rem;
    color: #475569;
    font-size: 0.69rem;
    font-weight: 700;
    line-height: 1rem;
    text-transform: uppercase;
}

.config-secondary-nav-section-summary:hover {
    background: rgba(255, 255, 255, 0.38);
    color: #0f172a;
}

.config-secondary-nav-section-note {
    display: block;
    color: #94a3b8;
    font-size: 0.58rem;
    font-weight: 600;
    line-height: 0.85rem;
    text-transform: none;
}

.config-secondary-nav-section-chevron {
    width: 0.48rem;
    height: 0.48rem;
    flex: 0 0 auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 160ms ease;
}

.config-secondary-nav-section--collapsible[open] > .config-secondary-nav-section-summary .config-secondary-nav-section-chevron {
    transform: rotate(225deg);
}

.config-secondary-nav-item.is-system-rule {
    color: #64748b;
}

.config-secondary-nav-item.is-system-rule .config-secondary-nav-icon {
    color: #64748b;
    background: rgba(255, 255, 255, 0.28);
}

.config-secondary-nav-readonly {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
}

.config-secondary-nav-readonly svg {
    width: 0.78rem;
    height: 0.78rem;
}

.config-secondary-nav-title,
.config-secondary-nav-item {
    color: #0f172a;
}

.config-secondary-nav-item {
    border: 1px solid transparent;
    margin-right: 0;
}

.config-secondary-nav-item:hover {
    background: rgba(255, 255, 255, 0.54);
}

.config-secondary-nav-item.is-active {
    border-color: transparent;
    background: #ffffff;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    color: #0f172a;
    box-shadow: none;
}

.config-secondary-nav-icon {
    display: inline-flex;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 1.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 0.34rem;
    background: rgba(255, 255, 255, 0.42);
    color: #475569;
}

.config-secondary-nav-icon svg {
    width: 0.9rem;
    height: 0.9rem;
}

.config-secondary-nav-item:hover .config-secondary-nav-icon {
    border-color: rgba(100, 116, 139, 0.3);
    background: rgba(255, 255, 255, 0.78);
    color: #0f172a;
}

.config-secondary-nav-item.is-active .config-secondary-nav-icon {
    border-color: transparent;
    background: var(--secondary-nav-bg);
    color: #0f172a;
}
.config-secondary-nav-badge {
    background: rgba(15, 23, 42, 0.08);
    color: #1e293b;
}

.config-secondary-nav-item.is-active .config-secondary-nav-badge {
    background: var(--secondary-nav-bg);
    color: #0f172a;
}

.config-secondary-nav-dot {
    border: 1px solid rgba(255, 255, 255, 0.62);
}

.config-secondary-nav-dot.is-real {
    background: #10b981;
}

.config-secondary-nav-dot.is-real_crud {
    background: #0891b2;
    box-shadow: 0 0 0 2px rgba(8, 145, 178, 0.18);
}

.config-secondary-nav-dot.is-staging_review {
    background: #f97316;
}

.config-secondary-nav-dot.is-staging {
    background: #f59e0b;
}

.config-secondary-nav-dot.is-canonical {
    background: #0284c7;
}

.config-secondary-nav-dot.is-modeling {
    background: #fb7185;
}

.config-secondary-nav-dot.is-planned {
    background: #94a3b8;
}

.config-secondary-nav-dot.is-legacy {
    background: #cbd5e1;
}

.config-secondary-nav-dot.is-mapped {
    background: #64748b;
}

[data-dropdown-button],
[data-row-actions] > summary,
[data-bulk-actions] > summary {
    gap: 0.35rem;
}

.erp-form-select {
    appearance: none;
    border-color: #cbd5e1 !important;
    border-radius: 0.375rem;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");
    background-position: right 0.72rem center;
    background-repeat: no-repeat;
    background-size: 0.9rem 0.9rem;
    padding-right: 2.2rem !important;
}

.erp-form-select:focus {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");
}

summary::-webkit-details-marker {
    display: none;
}

summary::marker {
    content: "";
}

[data-dropdown-button]::after,
[data-row-actions] > summary::after,
[data-bulk-actions] > summary::after {
    content: "";
    width: 0.48rem;
    height: 0.48rem;
    border-right: 1.6px solid currentColor;
    border-bottom: 1.6px solid currentColor;
    opacity: 0.72;
    transform: translateY(-2px) rotate(45deg);
    transform-origin: 50% 50%;
}

[data-dropdown-button][data-dropdown-arrow-hidden]::after,
details[open] > [data-dropdown-button][data-dropdown-arrow-hidden]::after {
    display: none;
}

details[open] > [data-dropdown-button]::after,
[data-row-actions][open] > summary::after,
[data-bulk-actions][open] > summary::after {
    transform: translateY(2px) rotate(225deg);
}

.commercial-proposal-top-grid,
.commercial-proposal-main-grid {
    display: grid;
    gap: 1.25rem;
}

.commercial-proposal-header-summary {
    border-top: 1px solid #e2e8f0;
    padding-top: 1rem;
}

.commercial-proposal-total-anchor {
    min-width: 0;
}

.commercial-proposal-total-placeholder {
    display: none;
}

.commercial-proposal-total-placeholder.is-active {
    display: block;
}

.commercial-proposal-total-card {
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.commercial-proposal-total-card.is-floating {
    position: fixed;
    top: 0;
    z-index: 70;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16);
}

.commercial-proposal-meter-badge {
    max-width: 100%;
}

.commercial-document-modal {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: rgba(15, 23, 42, 0.45);
    padding: 1rem;
}

.commercial-document-modal.hidden {
    display: none;
}

.commercial-document-shell {
    display: flex;
    width: min(100%, 1120px);
    max-height: calc(100vh - 2rem);
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.22);
}

.commercial-document-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #d8e1eb;
    padding: 0.9rem 1rem;
}

.commercial-document-toolbar-eyebrow {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.commercial-document-toolbar h2 {
    margin-top: 0.12rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
}

.commercial-document-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.commercial-document-light-button,
.commercial-document-primary-button {
    display: inline-flex;
    height: 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    padding: 0 0.9rem;
    font-size: 0.9rem;
    font-weight: 700;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.commercial-document-light-button {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
}

.commercial-document-light-button:hover {
    background: #f8fafc;
}

.commercial-document-primary-button {
    border: 1px solid #020617;
    background: #020617;
    color: #fff;
}

.commercial-document-primary-button:hover {
    background: #111827;
}

.commercial-document-scroll {
    overflow: auto;
    background: #e6edf5;
    padding: 1.25rem;
}

.commercial-document-source {
    display: none !important;
}

.commercial-document-pages {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

.commercial-document-page {
    position: relative;
    display: flex;
    box-sizing: border-box;
    flex-direction: column;
    width: 210mm;
    height: 297mm;
    margin: 0 auto;
    overflow: hidden;
    padding: 9mm 21mm 15mm;
    background: #fff;
    color: #000;
    font-family: "Calibri Light", Calibri, Arial, "Helvetica Neue", sans-serif;
    font-size: 10pt;
    font-weight: 300;
    line-height: 1.16;
    box-shadow: 0 18px 55px rgba(15, 23, 42, 0.2);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.commercial-document-page *,
.commercial-document-source * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.commercial-document-page p,
.commercial-document-source p {
    margin: 0;
}

.commercial-document-flow {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: visible;
    padding-top: 3mm;
    clip-path: inset(0 -14mm 0 -14mm);
}

.commercial-document-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 11.5pt;
    line-height: 1.2;
}

.commercial-document-topline span,
.commercial-document-info-grid span,
.commercial-document-total {
    color: #757575;
}

.commercial-document-datebox {
    margin-top: 4.5mm;
    margin-left: auto;
    width: 39mm;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.18;
    text-align: right;
}

.commercial-document-brand {
    position: relative;
    margin-top: 5.5mm;
    text-align: center;
    overflow: visible;
}

.commercial-document-brand > img:not(.commercial-document-seal-image) {
    display: block;
    margin: 0 auto;
    width: 107.4mm;
    max-width: 100%;
    object-fit: contain;
    transform: translateY(-2.8mm);
}

.commercial-document-logo-text {
    color: #003d71;
    font-size: 34pt;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.commercial-document-logo-text span {
    color: #b8b8b8;
    font-weight: 700;
}

.commercial-document-seal {
    position: absolute;
    left: -3.4mm;
    top: 0.4mm;
    z-index: 3;
    display: flex;
    width: 28.3mm;
    height: 28.3mm;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 3px solid #073b66;
    border-radius: 999px;
    background: #ffd24d;
    color: #073b66;
    font-size: 11pt;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    box-shadow: inset 0 0 0 4px #f6a800;
}

.commercial-document-seal-image {
    position: absolute;
    left: -3.4mm;
    top: 0.4mm;
    z-index: 3;
    width: 28.3mm !important;
    height: 28.3mm;
    object-fit: contain;
}

.commercial-document-seal small {
    margin-top: 0.25rem;
    max-width: 22mm;
    font-size: 4.8pt;
    font-weight: 800;
    letter-spacing: 0.03em;
}

.commercial-document-solutions {
    margin-top: 4.2mm;
    margin-right: 0;
    margin-left: 0;
    padding-top: 1.4mm;
    padding-left: 25mm;
    box-sizing: border-box;
    color: #444;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 8.5pt;
    line-height: 1.05;
    width: calc(100% + 8mm);
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.commercial-document-certification {
    margin: 1.1mm 0 0 auto;
    width: 100%;
    background: #3e3e3e;
    background-color: #3e3e3e;
    color: #fff;
    font-family: "Calibri Light", Calibri, Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.1;
    padding: 1.7mm 4mm;
    text-align: center;
}

.commercial-document-title {
    margin-top: 2.4mm;
    color: #8a8a8a;
    font-size: 12pt;
    line-height: 1.18;
}

.commercial-document-title strong {
    display: block;
    margin-top: 0.8mm;
    color: #777;
    font-size: 14pt;
    font-weight: 700;
}

.commercial-document-identification {
    display: grid;
    grid-template-columns: 1fr 0.92fr;
    gap: 15mm;
    margin-top: 8.5mm;
    font-size: 11pt;
    line-height: 1.15;
}

.commercial-document-info-grid {
    display: grid;
    grid-template-columns: 17mm 1fr;
    column-gap: 2mm;
    row-gap: 1.2mm;
}

.commercial-document-info-grid strong {
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-weight: 700;
}

.commercial-document-email {
    color: #0563c1;
    text-decoration: underline;
}

.commercial-document-section {
    margin-top: 7mm;
}

.commercial-document-identification + .commercial-document-section {
    margin-top: 5.95mm;
}

.commercial-document-section-fragment {
    margin-top: 0;
}

.commercial-document-section-heading-fragment {
    margin-top: 5.25mm;
}

.commercial-document-section h3 {
    display: inline-flex;
    align-items: baseline;
    gap: 6.5mm;
    margin: 0 0 2.475mm;
    background: #d8d8d8;
    background-color: #d8d8d8;
    color: #111;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    font-weight: 400;
    line-height: 1.1;
    padding: 0.4mm 1.1mm 0.5mm;
}

.commercial-document-section h3 span {
    display: inline-block;
    min-width: 4mm;
}

.commercial-document-total {
    margin-top: 1mm;
    font-size: 13pt;
}

.commercial-document-total mark {
    background: #ffff00;
    background-color: #ffff00;
    color: #000;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 16pt;
    font-weight: 700;
    padding: 0 1.2mm;
}

.commercial-document-material {
    margin-top: 2mm;
    color: #000;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    text-transform: uppercase;
}

.commercial-document-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    color: #000;
    font-family: "Calibri Light", Calibri, Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.15;
}

.commercial-document-table + .commercial-document-table {
    margin-top: 5.95mm;
}

.commercial-document-table-fragment {
    margin-top: 0 !important;
}

.commercial-document-table-fragment-spaced {
    margin-top: 6mm !important;
}

.commercial-document-table th {
    border-bottom: 1px solid #9d9d9d;
    color: #767676;
    font-weight: 400;
    padding: 0.8mm 1.4mm;
    text-align: center;
}

.commercial-document-table td {
    border-bottom: 1px solid #b8b8b8;
    padding: 1mm 1.4mm;
    text-align: center;
    vertical-align: middle;
}

.commercial-document-items-table th:first-child,
.commercial-document-items-table td:first-child {
    width: 48%;
    text-align: left;
}

.commercial-document-items-table th:not(:first-child),
.commercial-document-items-table td:not(:first-child) {
    width: 17.33%;
}

.commercial-document-stakes-table th,
.commercial-document-stakes-table td {
    width: 20%;
}

.commercial-document-table-total td {
    border-top: 1px solid #b8b8b8;
    border-bottom: 1px solid #9d9d9d;
    font-weight: 700;
}

.commercial-document-table-total td:first-child {
    color: #777;
    font-weight: 400;
    text-align: right;
}

.commercial-document-extra-list {
    margin: 0;
    padding: 0;
    counter-reset: commercial-extra;
}

.commercial-document-extra-list li {
    display: grid;
    grid-template-columns: 7.5mm minmax(0, 1fr);
    margin-top: 2.8mm;
    column-gap: 0.7mm;
    list-style: none;
    counter-increment: commercial-extra;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.15;
}

.commercial-document-extra-list li:first-child {
    margin-top: 1.5mm;
}

.commercial-document-extra-list li::before {
    content: "3." counter(commercial-extra) ".";
    grid-column: 1;
    grid-row: 1 / span 2;
    font-weight: 700;
}

.commercial-document-extra-list strong,
.commercial-document-extra-list span {
    display: block;
    grid-column: 2;
    min-width: 0;
}

.commercial-document-extra-list strong {
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-weight: 700;
}

.commercial-document-extra-list span {
    margin-top: 0.45mm;
    font-weight: 400;
}

.commercial-document-conditions-preview p {
    font-size: 10pt;
}

.commercial-document-contract-list {
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.16;
}

.commercial-document-contract-row {
    display: grid;
    grid-template-columns: 7.5mm minmax(0, 1fr);
    column-gap: 0.7mm;
    align-items: start;
    margin: 1.05mm 0 0;
    color: #000;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    font-weight: 400;
    line-height: 1.16;
}

.commercial-document-contract-heading {
    margin-top: 0;
}

.commercial-document-payment-line {
    grid-template-columns: 10mm minmax(0, 1fr);
    margin-left: 6.5mm;
    margin-top: 0.55mm;
}

.commercial-document-contract-number {
    display: block;
    white-space: nowrap;
}

.commercial-document-contract-text {
    display: block;
    min-width: 0;
}

.commercial-document-clause-text {
    margin-top: 1.05mm;
}

.commercial-document-clause-title {
    padding-left: 0;
    text-indent: 0;
}

.commercial-document-registration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 10mm;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.15;
}

.commercial-document-registration-column {
    display: grid;
    gap: 0;
}

.commercial-document-registration-column p {
    display: grid;
    grid-template-columns: 33mm minmax(0, 1fr);
    column-gap: 2mm;
    margin: 0;
    min-height: 6mm;
    align-items: end;
    border-bottom: 1px solid #b7b7b7;
    padding: 0 1mm 1mm;
}

.commercial-document-registration-grid span {
    color: #757575;
}

.commercial-document-registration-grid strong {
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-weight: 400;
}

.commercial-document-signatures {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18mm 24mm;
    margin-top: 26mm;
    padding: 0 5mm;
}

.commercial-document-signature-group {
    display: grid;
    gap: 26mm;
}

.commercial-document-signature-line {
    color: #6a7280;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    text-align: center;
}

.commercial-document-signature-line span {
    display: block;
    border-top: 1px solid #777;
    margin-bottom: 1.7mm;
}

.commercial-document-signature-line strong,
.commercial-document-signature-line small {
    display: block;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 9pt;
    font-weight: 400;
    line-height: 1.22;
}

.commercial-document-signature-line small {
    font-size: 8.8pt;
}

.commercial-document-footer {
    flex: 0 0 auto;
    margin-top: auto;
    border-top: 1px solid #9d9d9d;
    padding-top: 2mm;
    color: #444;
    font-family: "Calibri Light", Calibri, Arial, sans-serif;
    font-size: 7pt;
    line-height: 1.35;
    text-align: center;
}

.commercial-version-compare-dialog {
    width: min(99vw, 112rem);
    height: calc(100vh - 2rem);
    max-width: min(99vw, 112rem);
}

.commercial-version-compare-strip {
    display: flex;
    height: 86px;
    flex: 0 0 86px;
    align-items: center;
    gap: 0.6rem;
    overflow: hidden;
    white-space: nowrap;
}

.commercial-version-compare-strip:empty::before {
    content: "Nenhuma versão registrada.";
    display: block;
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 600;
}

.commercial-version-compare-card {
    display: inline-flex;
    width: clamp(15.75rem, 18vw, 18.75rem);
    height: 64px;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0.38rem;
    border: 1px solid #d8e1eb;
    border-radius: 8px;
    background: #fff;
    padding: 0.58rem 0.72rem;
    color: #0f172a;
    cursor: pointer;
    overflow: hidden;
    user-select: none;
    vertical-align: top;
}

.commercial-version-compare-card input {
    display: grid;
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    margin: 0.1rem 0 0;
    appearance: none;
    place-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 0.25rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.commercial-version-compare-card input:checked {
    border-color: #2563eb;
    background: #2563eb;
}

.commercial-version-compare-card input:checked::after {
    content: "";
    width: 0.34rem;
    height: 0.58rem;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) translateY(-1px);
}

.commercial-version-compare-card input:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.18);
}

.commercial-version-compare-card-top,
.commercial-version-compare-card-bottom {
    display: flex;
    min-width: 0;
    align-items: center;
}

.commercial-version-compare-card-top {
    gap: 0.45rem;
}

.commercial-version-compare-card-bottom {
    justify-content: space-between;
    gap: 0.75rem;
}

.commercial-version-compare-card strong {
    overflow: hidden;
    font-size: 0.86rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-version-compare-card small {
    overflow: hidden;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-version-compare-card-status {
    display: inline-flex;
    max-width: 7.25rem;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0.1rem 0.45rem;
    color: #475569;
    font-size: 0.63rem;
    font-weight: 800;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.commercial-version-compare-card em {
    overflow: hidden;
    color: #334155;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-version-compare-documents {
    --proposal-compare-gap: clamp(0.75rem, 1vw, 1.25rem);
    --proposal-compare-sheet-scale: 0.78;
    display: flex;
    width: max-content;
    min-width: 0;
    align-items: flex-start;
    gap: var(--proposal-compare-gap);
}

.commercial-version-compare-document {
    position: relative;
    width: calc(210mm * var(--proposal-compare-sheet-scale));
    flex: 0 0 calc(210mm * var(--proposal-compare-sheet-scale));
    min-height: calc((297mm * var(--proposal-compare-sheet-scale)) + 0.75rem);
    padding-top: 0.75rem;
}

.commercial-version-compare-document-stage {
    position: absolute;
    top: 0.75rem;
    left: 0;
    width: 210mm;
    transform: scale(var(--proposal-compare-sheet-scale));
    transform-origin: top left;
}

.commercial-version-compare-document-stage .commercial-document-pages {
    align-items: stretch;
}

.commercial-version-compare-doc-title {
    position: absolute;
    top: 0.75rem;
    left: 50%;
    z-index: 8;
    display: inline-flex;
    height: 1.6rem;
    align-items: center;
    justify-content: center;
    min-width: 5.6rem;
    margin: 0;
    padding: 0 0.8rem;
    transform: translate(-50%, -50%);
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
    color: #334155;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

.commercial-version-compare-page {
    min-height: 297mm;
    height: auto;
    overflow: visible;
}

.commercial-version-compare-empty-document {
    display: grid;
    width: 210mm;
    min-height: 11rem;
    place-items: center;
    border: 1px dashed #cbd5e1;
    background: #fff;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 700;
}

.commercial-version-compare-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.commercial-version-compare-diff-box {
    position: absolute;
    z-index: 4;
    box-sizing: border-box;
    border: 2px solid #f97316;
    border-radius: 4px;
    pointer-events: none;
}

@page {
    size: A4;
    margin: 0;
}

@media print {
    html,
    body {
        width: 210mm !important;
        min-width: 210mm !important;
        margin: 0 !important;
        background: #fff !important;
    }

    body * {
        visibility: hidden !important;
    }

    body.is-printing-proposal-document > :not(.commercial-document-modal) {
        display: none !important;
    }

    .commercial-document-modal,
    .commercial-document-modal * {
        visibility: visible !important;
    }

    .commercial-document-modal {
        position: absolute !important;
        inset: 0 auto auto 0 !important;
        z-index: 9999 !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .commercial-document-shell {
        display: block !important;
        width: auto !important;
        max-height: none !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .commercial-document-toolbar {
        display: none !important;
    }

    .commercial-document-scroll {
        overflow: visible !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .commercial-document-pages {
        display: block !important;
        gap: 0 !important;
    }

    .commercial-document-page {
        box-sizing: border-box !important;
        width: 210mm !important;
        height: 297mm !important;
        margin: 0 !important;
        overflow: hidden !important;
        box-shadow: none !important;
        break-after: auto !important;
        page-break-after: auto !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .commercial-document-page *,
    .commercial-document-modal * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .commercial-document-certification {
        background: #3e3e3e !important;
        background-color: #3e3e3e !important;
        color: #fff !important;
    }

    .commercial-document-total mark {
        background: #ffff00 !important;
        background-color: #ffff00 !important;
        color: #000 !important;
    }

    .commercial-document-section h3 {
        background: #d8d8d8 !important;
        background-color: #d8d8d8 !important;
    }
}

.commercial-proposal-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.commercial-proposal-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.commercial-proposal-title-notice-card {
    position: relative;
    display: flex;
    min-height: 4.55rem;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 0;
}

.commercial-proposal-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
}

.commercial-proposal-title-copy {
    flex: 1 1 24rem;
    min-width: min(100%, 18rem);
    max-width: min(100%, 32rem);
}

.commercial-proposal-kicker {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem;
}

.commercial-relevant-schedule-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
}

.commercial-relevant-schedule-column {
    min-width: 0;
}

.commercial-relevant-schedule-column + .commercial-relevant-schedule-column {
    border-left: 1px solid #e2e8f0;
    padding-left: 0.9rem;
    margin-left: 0.9rem;
}

.commercial-equipment-possible-badge {
    display: inline-flex;
    min-height: 1.35rem;
    align-items: center;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0 0.45rem;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
}

.commercial-equipment-possible-badge.is-muted {
    color: #94a3b8;
    font-weight: 500;
}

.commercial-maggi-agenda-summary {
    display: flex;
    min-height: 1.45rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}

.commercial-maggi-agenda-badge {
    gap: 0.4rem;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.commercial-maggi-agenda-badge-date {
    color: #64748b;
    font-weight: 600;
}

.commercial-maggi-agenda-badge.is-ok {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.commercial-maggi-agenda-badge.is-ok .commercial-maggi-agenda-badge-date,
.commercial-maggi-agenda-badge.is-ok .commercial-maggi-agenda-badge-icon {
    color: #2563eb;
}

.commercial-maggi-agenda-badge.is-warning {
    border-color: #f5d08f;
    background: #fff7ed;
    color: #92400e;
}

.commercial-maggi-agenda-badge.is-warning .commercial-maggi-agenda-badge-date,
.commercial-maggi-agenda-badge.is-warning .commercial-maggi-agenda-badge-icon {
    color: #92400e;
}

.commercial-maggi-agenda-badge.is-conflict {
    border-color: #fecaca;
    background: #fef2f2;
    color: #b91c1c;
}

.commercial-maggi-agenda-badge.is-conflict .commercial-maggi-agenda-badge-date,
.commercial-maggi-agenda-badge.is-conflict .commercial-maggi-agenda-badge-icon {
    color: #b91c1c;
}

.commercial-maggi-agenda-badge.is-pending,
.commercial-maggi-agenda-badge.is-neutral {
    border-color: #dbe4ef;
    background: #f8fafc;
    color: #64748b;
}

.commercial-maggi-agenda-badge.is-pending .commercial-maggi-agenda-badge-date,
.commercial-maggi-agenda-badge.is-neutral .commercial-maggi-agenda-badge-date {
    color: #94a3b8;
}

.commercial-maggi-agenda-badge-icon {
    display: inline-flex;
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 0.9rem;
    align-items: center;
    justify-content: center;
    margin-left: 0.05rem;
}

.commercial-maggi-agenda-badge-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.commercial-proposal-title-notice-card > .commercial-proposal-title-row {
    position: relative;
    z-index: 6;
    width: 100%;
    max-width: 100%;
}

.commercial-proposal-header-notices {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 8;
    display: flex;
    width: auto;
    max-width: min(26rem, 58%);
    flex-direction: column;
    align-items: flex-end;
    gap: 0.45rem;
    pointer-events: none;
}

.commercial-proposal-sent-channel-icons {
    align-items: center;
    gap: 0.18rem;
}

.commercial-proposal-sent-channel-icon {
    display: inline-flex;
    width: 0.92rem;
    height: 0.92rem;
    align-items: center;
    justify-content: center;
}

.commercial-proposal-sent-channel-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}
.commercial-proposal-header-notices [data-proposal-state-badges] {
    width: fit-content;
    max-width: 100%;
}

.commercial-proposal-header-notices [data-proposal-state-badges],
.commercial-proposal-header-notices [data-proposal-lock-banner] {
    pointer-events: auto;
}

.commercial-proposal-lock-banner {
    align-items: center;
    width: fit-content;
    max-width: min(26rem, 100%);
    min-height: 2.7rem;
    max-height: 4.6rem;
    overflow: hidden;
    transition: max-height 180ms ease, box-shadow 180ms ease;
}

.commercial-proposal-lock-banner--message-only {
    max-width: min(21.5rem, 100%);
}

.commercial-proposal-lock-banner--message-only [data-proposal-unlock-pdf] {
    display: none !important;
}

.commercial-proposal-lock-banner--message-only .commercial-proposal-lock-content {
    max-width: 100%;
}

.commercial-proposal-lock-banner:hover,
.commercial-proposal-lock-banner:focus-within {
    max-height: 7.5rem;
}

.commercial-proposal-lock-banner.is-floating {
    position: fixed;
    z-index: 80;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.14);
}

.commercial-proposal-lock-content {
    display: flex;
    min-width: 0;
    align-items: center;
}

.commercial-proposal-lock-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-proposal-lock-details {
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-0.18rem);
    transition: max-height 180ms ease, margin-top 180ms ease, opacity 160ms ease, transform 180ms ease;
}


.commercial-proposal-lock-message {
    max-width: min(24rem, 100%);
    margin: 0;
    line-height: 1.05rem;
    overflow-wrap: anywhere;
    text-wrap: balance;
}
.commercial-proposal-lock-banner:hover .commercial-proposal-lock-details,
.commercial-proposal-lock-banner:focus-within .commercial-proposal-lock-details {
    max-height: 3rem;
    margin-top: 0.125rem;
    opacity: 0.8;
    transform: translateY(0);
}



.commercial-proposal-type-card {
    display: inline-flex;
    width: 7.5rem;
    flex-shrink: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.35rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0.5rem;
}

.commercial-proposal-type-card > span {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

@media (min-width: 1024px) {
    .commercial-proposal-top-grid {
        grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr);
        align-items: stretch;
    }

    .commercial-proposal-main-grid {
        grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    }

    .commercial-proposal-header-summary {
        border-top: 0;
        border-left: 1px solid #e2e8f0;
        padding-top: 0;
        padding-left: 1.25rem;
    }
}

.commercial-conditions-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
}

.commercial-condition-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.75rem;
    border: 1px solid #d7e0eb;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.9rem;
}

.commercial-condition-title {
    margin: 0;
    color: #40516a;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1;
    text-transform: uppercase;
}

.commercial-condition-label {
    display: block;
    margin-bottom: 0.32rem;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.1;
    text-transform: uppercase;
}

.commercial-condition-card .commercial-condition-input,
.commercial-condition-card .commercial-condition-select {
    appearance: none;
    font-family: inherit;
    height: 2.35rem;
    width: 100%;
    border: 1px solid #d5dee9;
    border-radius: 0.375rem;
    background: #ffffff;
    box-shadow: none;
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.2rem;
    outline: 0;
    padding: 0 0.72rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.commercial-condition-card .commercial-condition-select {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");
    background-position: right 0.72rem center;
    background-repeat: no-repeat;
    background-size: 0.9rem 0.9rem;
    padding-right: 2.2rem;
}

.commercial-condition-card .commercial-condition-input:focus,
.commercial-condition-card .commercial-condition-select:focus,
.commercial-condition-card .commercial-condition-mini-input:focus,
.commercial-billing-sheet .commercial-billing-percent-input:focus,
.commercial-billing-sheet .commercial-billing-company-select:focus {
    border-color: #94a3b8;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.14);
}

.commercial-condition-card .commercial-condition-select:focus,
.commercial-billing-sheet .commercial-billing-company-select:focus {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");
}

.commercial-condition-money-input {
    text-align: right;
}

.commercial-condition-check-card {
    display: flex;
    min-height: 2.35rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid #dbe4ef;
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0 0.72rem;
    color: #334155;
    font-size: 0.83rem;
    font-weight: 500;
}

.commercial-condition-row {
    display: flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 500;
}

.commercial-condition-toggle-row {
    min-height: 2rem;
}

.commercial-condition-row-leading {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.48rem;
    margin-right: auto;
}

.commercial-condition-cno-label span + span {
    font-size: 0.68rem;
    font-weight: 400;
    line-height: 1;
}

.commercial-proposal-toast {
    position: fixed;
    top: calc(var(--erp-topbar-height, 64px) + 0.75rem);
    left: 50%;
    z-index: 220;
    max-width: min(42rem, calc(100vw - 2rem));
    transform: translateX(-50%);
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    background: #ffffff;
    padding: 0.8rem 1rem;
    color: #334155;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.25rem;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14);
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.commercial-proposal-toast[data-notification-kind="success"] {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #047857;
}

.commercial-proposal-toast[data-notification-kind="error"] {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #9f1239;
}

.commercial-proposal-toast[data-notification-kind="warning"] {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.commercial-proposal-toast.is-hiding {
    transform: translate(-50%, -0.35rem);
    opacity: 0;
}

.commercial-proposal-notification-indicator {
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
}

.commercial-proposal-notification-indicator:not(.hidden) {
    display: inline-flex;
}

.commercial-proposal-notification-indicator svg {
    width: 0.78rem;
    height: 0.78rem;
}

.commercial-proposal-notification-indicator[data-notification-kind="success"] {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #047857;
}

.commercial-proposal-notification-indicator[data-notification-kind="error"] {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

.commercial-proposal-notification-indicator[data-notification-kind="warning"] {
    border-color: #fde68a;
    background: #fffbeb;
    color: #b45309;
}

[data-commercial-values][data-proposal-editing-locked="1"] [data-proposal-client-open],
[data-commercial-values][data-proposal-editing-locked="1"] [data-proposal-client-edit],
[data-commercial-values][data-proposal-editing-locked="1"] [data-proposal-client-clear],
[data-commercial-values][data-proposal-editing-locked="1"] [data-proposal-work-open],
[data-commercial-values][data-proposal-editing-locked="1"] [data-proposal-work-edit],
[data-commercial-values][data-proposal-editing-locked="1"] [data-proposal-work-clear],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-add],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-edit],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-inactivate],
[data-commercial-values][data-proposal-editing-locked="1"] [data-add-stake-row],
[data-commercial-values][data-proposal-editing-locked="1"] [data-remove-stake-row],
[data-commercial-values][data-proposal-editing-locked="1"] [data-add-flex-row],
[data-commercial-values][data-proposal-editing-locked="1"] [data-remove-flex-row],
[data-commercial-values][data-proposal-editing-locked="1"] [data-add-contract-clause],
[data-commercial-values][data-proposal-editing-locked="1"] [data-edit-proposal-clause],
[data-commercial-values][data-proposal-editing-locked="1"] [data-delete-proposal-clause],
[data-commercial-values][data-proposal-editing-locked="1"] [data-move-proposal-clause],
[data-commercial-values][data-proposal-editing-locked="1"] [data-project-foundation-responsibility-button] {
    display: none !important;
}

[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-card][data-relation-locked-contact-editing="1"][data-relation-variant="contato"] [data-erp-relation-add],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-card][data-relation-locked-contact-editing="1"][data-relation-variant="contato"] [data-erp-relation-edit],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-card][data-relation-locked-contact-editing="all"][data-relation-variant="contato"] [data-erp-relation-add],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-card][data-relation-locked-contact-editing="all"][data-relation-variant="contato"] [data-erp-relation-edit],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-card][data-relation-locked-contact-editing="all"][data-relation-variant="contato"] [data-erp-relation-inactivate],
[data-commercial-values][data-proposal-editing-locked="1"] [data-erp-relation-card][data-relation-locked-contact-editing="1"][data-relation-variant="contato"] [data-erp-relation-inactivate] {
    display: inline-flex !important;
}

[data-commercial-values][data-proposal-editing-locked="1"] [data-minimum-billing-mode-button] {
    cursor: default;
}

[data-commercial-values][data-proposal-editing-locked="1"] [data-minimum-billing-mode-button] [aria-hidden="true"] {
    display: none;
}

[data-commercial-values][data-proposal-editing-locked="1"] .commercial-contract-clause-card {
    cursor: default;
}

[data-commercial-values][data-proposal-editing-locked="1"] .commercial-sheet [data-commercial-sheet-cell]:not(.commercial-sheet-cell-readonly) {
    background: #f8fafc;
    cursor: default;
}

.commercial-condition-muted-note {
    margin: 0.1rem 0 0;
    color: #94a3b8;
    font-size: 0.82rem;
    font-weight: 400;
    line-height: 1.35rem;
}

.commercial-condition-card .is-hidden-by-full-payment {
    display: none !important;
}

.commercial-condition-card .commercial-condition-mini-input {
    box-sizing: border-box;
    appearance: none;
    font-family: inherit;
    height: 2rem;
    width: 3.2rem;
    flex: 0 0 3.2rem;
    border: 1px solid #d5dee9;
    border-radius: 0.375rem;
    background: #ffffff;
    box-shadow: none;
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.2rem;
    outline: none;
    padding: 0 0.45rem;
    text-align: right;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.commercial-condition-entry-row {
    min-height: 2.35rem;
}

.commercial-condition-card .commercial-condition-entry-money-input {
    height: 2.35rem;
    width: 12rem;
    flex-basis: 12rem;
    padding-right: 0.72rem;
    padding-left: 0.72rem;
}

.commercial-condition-card .commercial-condition-cno-input {
    height: 2.35rem;
    width: 12rem;
    flex-basis: 12rem;
    padding-right: 0.72rem;
    padding-left: 0.72rem;
    text-align: left;
}

.commercial-condition-fuel-card {
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.commercial-condition-fuel-toggle {
    display: flex;
    width: 100%;
    min-height: 1.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.commercial-condition-fuel-mode {
    margin-top: 0.55rem;
}

.commercial-condition-fuel-mode.hidden {
    display: none !important;
}

.commercial-condition-card .commercial-condition-fuel-select,
.commercial-condition-card .commercial-condition-fuel-mode .commercial-select-button {
    height: 2.25rem;
    width: 100%;
    font-size: 0.82rem;
}

.commercial-condition-installment-frequency {
    display: inline-flex;
    min-width: 8.4rem;
    flex: 0 0 8.4rem;
}

.commercial-condition-installment-frequency.hidden {
    display: none !important;
}

.commercial-condition-card .commercial-condition-installment-select,
.commercial-condition-card .commercial-condition-installment-frequency .commercial-select-button {
    appearance: none;
    box-sizing: border-box;
    display: inline-flex !important;
    height: 2rem;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #d5dee9;
    border-radius: 0.375rem;
    background: #ffffff;
    color: #334155;
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 400;
    line-height: 1.1rem;
    padding: 0 1.8rem 0 0.58rem;
}

.commercial-condition-card .commercial-condition-installment-frequency .commercial-select-button:focus,
.commercial-condition-card .commercial-condition-installment-frequency .commercial-select-button:focus-visible {
    border-color: #94a3b8;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.14);
}

.commercial-billing-sheet {
    width: 100%;
    overflow: hidden;
    border: 1px solid #d2dce8;
    border-radius: 0.375rem;
    background: #ffffff;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.commercial-billing-sheet th {
    border-bottom: 1px solid #c5d0dd;
    background: #eef3f8;
    color: #51637b;
    height: 1.45rem;
    padding: 0.16rem 0.45rem !important;
    font-size: var(--erp-table-header-font-size);
    font-weight: var(--erp-table-header-font-weight);
    letter-spacing: var(--erp-table-header-letter-spacing);
    line-height: 0.95rem;
    text-transform: uppercase;
}

.commercial-billing-sheet th,
.commercial-billing-sheet td {
    border-right: 1px solid #d2dce8;
}

.commercial-billing-sheet th:last-child,
.commercial-billing-sheet td:last-child {
    border-right: 0;
}

.commercial-billing-sheet tbody tr:not(:last-child) td {
    border-bottom: 1px solid #d2dce8;
}

.commercial-billing-col-type {
    width: 5.9rem;
}

.commercial-billing-col-percent {
    width: 4.2rem;
}

.commercial-billing-col-company {
    width: auto;
}

.commercial-billing-type-cell,
.commercial-billing-percent-cell,
.commercial-billing-company-cell {
    position: relative;
    height: 2.15rem;
    background: #ffffff;
    padding: 0 !important;
}

.commercial-billing-type-cell {
    padding: 0 0.55rem !important;
    color: #40516a;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.commercial-billing-sheet .commercial-billing-percent-input,
.commercial-billing-sheet .commercial-billing-company-select {
    appearance: none;
    font-family: inherit;
    height: 100%;
    width: 100%;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
    color: #0f172a;
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 1.08rem;
    outline: none;
}

.commercial-billing-sheet .commercial-billing-percent-input {
    padding: 0 0.4rem;
    text-align: center;
}

.commercial-billing-sheet .commercial-billing-company-select {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");
    background-position: right 0.52rem center;
    background-repeat: no-repeat;
    background-size: 0.82rem 0.82rem;
    padding: 0 1.65rem 0 0.55rem;
}

.commercial-select-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.commercial-select-button {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-align: left;
}

.commercial-select-button:disabled {
    cursor: not-allowed;
}

.commercial-select-button [data-commercial-select-label] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-relevant-equipment-field select.is-work-equipment-unset {
    color: #64748b;
    font-weight: 500;
}

.commercial-relevant-equipment-field select.is-work-equipment-defined {
    color: #0f172a;
    font-weight: 700;
}

.commercial-relevant-equipment-field .commercial-select-button.is-work-equipment-unset [data-commercial-select-label] {
    color: #64748b;
    font-weight: 500;
}

.commercial-relevant-equipment-field .commercial-select-button.is-work-equipment-defined [data-commercial-select-label] {
    color: #0f172a;
    font-weight: 700;
}

.commercial-relevant-equipment-field select.is-work-equipment-incompatible,
.commercial-relevant-equipment-field .commercial-select-button.is-work-equipment-incompatible {
    border-color: #fca5a5 !important;
    background-color: #fef2f2 !important;
    color: #b91c1c !important;
}

.commercial-relevant-equipment-field .commercial-select-button.is-work-equipment-incompatible [data-commercial-select-label] {
    color: #b91c1c;
    font-weight: 700;
}

.commercial-select-warning-icon {
    margin-left: auto;
    color: #dc2626;
}

.commercial-select-menu {
    position: fixed;
    z-index: 280;
    max-height: 16rem;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.25rem 0;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}

.commercial-select-search-wrap {
    position: sticky;
    top: -0.25rem;
    z-index: 1;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
    padding: 0.38rem;
}

.commercial-select-search {
    height: 2rem;
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0 0.55rem;
    color: #0f172a;
    font-size: 0.78rem;
    outline: none;
}

.commercial-select-search:focus {
    border-color: #94a3b8;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.14);
}

.commercial-select-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0.48rem 0.72rem;
    color: #334155;
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.15rem;
    text-align: left;
    white-space: nowrap;
}

.commercial-select-option-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.commercial-select-option:hover,
.commercial-select-option:focus-visible {
    background: #eef3f8;
    outline: none;
}

.commercial-select-option.is-selected {
    background: #e7edf4;
    color: #0f172a;
}

.commercial-select-option.is-incompatible {
    color: #b91c1c;
}

.commercial-select-option-warning-icon {
    display: inline-flex;
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    color: #b91c1c;
}

.commercial-select-menu-compact .commercial-select-option {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-align: center;
}

.commercial-dimension-menu {
    max-height: 10rem;
    overflow-y: auto;
    padding: 0;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.05rem;
}

.commercial-dimension-option {
    padding: 0.34rem 0.52rem;
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
    text-align: center;
}

.commercial-dimension-empty {
    padding: 0.34rem 0.52rem;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.05rem;
    text-align: center;
}

.commercial-billing-percent-cell:focus-within,
.commercial-billing-company-cell:focus-within {
    background: #eaf2ff;
}

.commercial-billing-percent-cell:focus-within::after,
.commercial-billing-company-cell:focus-within::after {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 2;
    border: 2px solid rgba(33, 89, 212, 0.95);
    pointer-events: none;
}

.commercial-condition-input.is-auto-filled {
    background: #f1f5f9;
    color: #64748b;
}

@media (min-width: 1024px) {
    .commercial-conditions-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.commercial-sheet {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: none;
}

.commercial-sheet th,
.commercial-sheet td {
    vertical-align: middle;
    border-right: 1px solid #cbd5e1;
}

.commercial-sheet th:last-child,
.commercial-sheet td:last-child {
    border-right: 0;
}

.commercial-sheet tbody tr:last-child > td {
    border-bottom: 0;
    box-shadow: none;
}

.commercial-sheet th {
    height: 1.45rem;
    padding: 0.16rem 0.5rem !important;
    text-align: center;
    line-height: 0.95rem;
    white-space: nowrap;
}

.commercial-sheet th.commercial-sheet-heading-item {
    text-align: left;
}

.commercial-items-sheet .commercial-sheet-col-item {
    width: 44%;
}

.commercial-items-sheet .commercial-sheet-col-qty {
    width: 13%;
}

.commercial-items-sheet .commercial-sheet-col-money {
    width: 20%;
    min-width: 0;
}

.commercial-items-sheet .commercial-sheet-col-subtotal {
    width: 23%;
    min-width: 0;
}

.commercial-stakes-sheet .commercial-sheet-col-stake-action {
    width: 4%;
}

.commercial-stakes-sheet .commercial-sheet-col-qty {
    width: 13%;
}

.commercial-stakes-sheet .commercial-sheet-col-dimension,
.commercial-stakes-sheet .commercial-sheet-col-meters,
.commercial-stakes-sheet .commercial-sheet-col-money {
    width: 20%;
    min-width: 0;
}

.commercial-stakes-sheet .commercial-sheet-col-subtotal {
    width: 23%;
    min-width: 0;
}

.commercial-flex-sheet {
    width: 100% !important;
    table-layout: fixed;
}

.commercial-flex-sheet-action .commercial-sheet-col-stake-action {
    width: 4%;
}

.commercial-flex-sheet-action .commercial-sheet-col-item {
    width: 40%;
}

.commercial-flex-sheet-action .commercial-sheet-col-qty {
    width: 13%;
}

.commercial-flex-sheet-action .commercial-sheet-col-money {
    width: 20%;
    min-width: 0;
}

.commercial-flex-sheet-action .commercial-sheet-col-subtotal {
    width: 23%;
    min-width: 0;
}

.commercial-fixed-extras-sheet .commercial-sheet-col-item {
    width: 44%;
}

.commercial-fixed-extras-sheet .commercial-sheet-col-qty {
    width: 13%;
}

.commercial-fixed-extras-sheet .commercial-sheet-col-money {
    width: 20%;
    min-width: 0;
}

.commercial-fixed-extras-sheet .commercial-sheet-col-subtotal {
    width: 23%;
    min-width: 0;
}

.commercial-sheet-col-item {
    width: 40%;
}

.commercial-sheet-col-qty {
    width: 10%;
}

.commercial-sheet-col-unit {
    width: 8%;
}

.commercial-sheet-col-money {
    width: 16%;
    min-width: 0;
}

.commercial-sheet-col-subtotal {
    width: 18%;
    min-width: 0;
}

.commercial-sheet-col-action {
    width: 3rem;
}

.commercial-sheet-col-stake-action {
    width: 2.25rem;
}

.commercial-sheet .commercial-sheet-item-name {
    min-width: 15rem;
    overflow: hidden;
    padding: 0.42rem 0.62rem !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-sheet .commercial-sheet-cell {
    position: relative;
    height: 2.15rem;
    min-height: 2.15rem;
    padding: 0 !important;
    background: #ffffff;
    cursor: cell;
    font-size: 0.82rem;
    line-height: 1.08rem;
    outline: none;
    box-shadow: none;
}

.commercial-sheet .commercial-sheet-cell:focus,
.commercial-sheet .commercial-sheet-cell:focus-visible {
    outline: none;
    box-shadow: none;
}

.commercial-sheet .commercial-sheet-cell-readonly {
    cursor: default;
    padding: 0.42rem 0.55rem !important;
    background: #f8fafd;
    text-align: center;
}

.commercial-sheet .commercial-sheet-cell-disabled {
    background: #f1f4f7;
    color: #94a3b8;
    cursor: not-allowed;
}

.commercial-sheet .commercial-sheet-cell-disabled .commercial-sheet-display {
    color: #94a3b8;
}

.commercial-sheet .commercial-sheet-display {
    display: flex;
    min-height: 2.15rem;
    align-items: center;
    padding: 0.44rem 0.62rem;
    overflow: hidden;
    color: #0f172a;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-sheet .commercial-sheet-cell-number .commercial-sheet-display,
.commercial-sheet .commercial-sheet-cell-money .commercial-sheet-display {
    justify-content: center;
    text-align: center;
}

.commercial-sheet .commercial-sheet-cell-center .commercial-sheet-display,
.commercial-sheet .commercial-sheet-cell-select .commercial-sheet-display {
    justify-content: center;
    text-align: center;
}

.commercial-sheet .commercial-sheet-cell-select .commercial-sheet-display {
    padding-right: 1.55rem;
}

.commercial-sheet .commercial-sheet-cell-select .commercial-sheet-display::after {
    content: "";
    position: absolute;
    right: 0.56rem;
    top: 50%;
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.6px solid #94a3b8;
    border-bottom: 1.6px solid #94a3b8;
    transform: translateY(-62%) rotate(45deg);
}

.commercial-sheet .commercial-sheet-input {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    padding: 0.44rem 0.62rem !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: none !important;
    color: #0f172a;
    font-size: 0.82rem !important;
    line-height: 1.08rem !important;
}

.commercial-sheet .commercial-sheet-cell-number .commercial-sheet-input,
.commercial-sheet .commercial-sheet-cell-money .commercial-sheet-input {
    text-align: center;
}

.commercial-sheet .commercial-sheet-cell-center .commercial-sheet-input,
.commercial-sheet .commercial-sheet-cell-select .commercial-sheet-input {
    text-align: center;
}

.commercial-sheet .commercial-sheet-cell.is-active,
.commercial-sheet .commercial-sheet-cell.is-editing {
    background: #eaf2ff;
}

.commercial-sheet .commercial-sheet-cell.is-active::after,
.commercial-sheet .commercial-sheet-cell.is-editing::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    border: 2px solid rgba(33, 89, 212, 0.95);
    pointer-events: none;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-selected:not(.is-active):not(.is-editing) {
    background: #eef5ff;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-selected::before,
.commercial-sheet .commercial-sheet-cell.sheet-cell-range-copied::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-selected::before {
    border-color: rgba(37, 99, 235, 0.95);
    border-style: solid;
    border-width: 0;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-selected-top::before {
    border-top-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-selected-right::before {
    border-right-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-selected-bottom::before {
    border-bottom-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-selected-left::before {
    border-left-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-copied::before {
    border-color: #0ea5e9;
    border-style: dashed;
    border-width: 0;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-copied-top::before {
    border-top-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-copied-right::before {
    border-right-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-copied-bottom::before {
    border-bottom-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.sheet-cell-range-copied-left::before {
    border-left-width: 1px;
}

.commercial-sheet .commercial-sheet-cell.is-editing .commercial-sheet-display {
    opacity: 0;
}

.commercial-sheet .commercial-sheet-cell.is-editing .commercial-sheet-input {
    opacity: 1;
    pointer-events: auto;
}

.commercial-sheet .commercial-sheet-input:focus {
    outline: none !important;
    box-shadow: none !important;
}

.commercial-sheet .commercial-sheet-input:disabled {
    background: #f1f4f7 !important;
    color: #94a3b8;
    opacity: 0;
}

.commercial-sheet .commercial-sheet-cell-readonly.commercial-sheet-cell-money {
    text-align: center !important;
}

.commercial-minimum-fee-wrap {
    display: none;
}

.commercial-minimum-fee-toggle {
    display: inline-flex;
    min-height: 2.15rem;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0 0.75rem;
    color: #475569;
    font-size: 0.76rem;
    font-weight: 600;
    white-space: nowrap;
    margin-left: auto;
}

.commercial-hazard-surcharge-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.55rem;
}

.commercial-stakes-total-control-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.55rem;
}

.commercial-stakes-total-control-row .commercial-recoverable-supplement-row {
    flex: 1 1 auto;
    margin-top: 0;
}

.commercial-stake-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    margin-top: var(--commercial-budget-vertical-gap, 0.55rem);
}

.commercial-stake-actions-row > .commercial-recoverable-supplement-row {
    min-width: 0;
    max-width: min(100%, 34rem);
    flex: 0 1 auto;
    margin-top: 0;
}

.commercial-stake-actions-row .commercial-recoverable-supplement-main {
    display: flex;
    width: auto;
    max-width: 100%;
    align-items: center;
    gap: 0.55rem;
}

.commercial-stake-actions-row > [data-add-flex-row],
.commercial-stake-actions-row > .commercial-stake-material-toggle {
    flex: 0 0 auto;
    max-width: 100%;
}

.commercial-stake-line-actions-row,
.commercial-flex-line-actions-row {
    display: grid;
    column-gap: 0;
    row-gap: var(--commercial-budget-vertical-gap, 0.55rem);
    align-items: center;
    margin-top: var(--commercial-budget-vertical-gap, 0.55rem);
}

.commercial-stake-line-actions-row.hidden,
.commercial-flex-line-actions-row.hidden {
    display: none !important;
}

.commercial-stake-line-actions-row {
    grid-template-columns: 4% 13% 20% 20% 20% 23%;
}

.commercial-flex-line-actions-row--subtotal-grid {
    grid-template-columns: 4% 40% 13% 20% 23%;
}

.commercial-line-secondary-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem 0.75rem;
}

.commercial-stake-line-actions-row > .commercial-line-secondary-actions {
    grid-column: 1 / 5;
}

.commercial-flex-line-actions-row--subtotal-grid > .commercial-line-secondary-actions {
    grid-column: 1 / 4;
}

.commercial-line-secondary-actions > [data-add-stake-row],
.commercial-line-secondary-actions > [data-add-flex-row],
.commercial-line-secondary-actions > .commercial-materials-client-toggle {
    flex: 0 0 auto;
    max-width: 100%;
}

.commercial-line-secondary-actions > .commercial-recoverable-supplement-row {
    min-width: min(100%, 18rem);
    flex: 1 1 18rem;
    margin-top: 0;
}

.commercial-line-secondary-actions .commercial-recoverable-supplement-main {
    flex: 0 1 auto;
    max-width: 100%;
}

.commercial-stake-line-actions-row > .commercial-stakes-total-control-row {
    grid-column: 5 / 7;
}

.commercial-flex-line-actions-row--subtotal-grid > .commercial-stakes-total-control-row {
    grid-column: 4 / 6;
}

.commercial-stake-line-actions-row > .commercial-stakes-total-control-row,
.commercial-flex-line-actions-row--subtotal-grid > .commercial-stakes-total-control-row {
    width: 100%;
    min-width: 0;
    margin-top: 0;
}

.commercial-stake-line-actions-row .commercial-stakes-total-main,
.commercial-flex-line-actions-row--subtotal-grid .commercial-stakes-total-main {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 20fr) minmax(0, 23fr);
    gap: 0;
    align-items: center;
}

.commercial-stake-line-actions-row .commercial-stakes-total-label,
.commercial-flex-line-actions-row--subtotal-grid .commercial-stakes-total-label {
    min-width: 0;
    padding-right: 0.65rem;
    overflow-wrap: anywhere;
}

.commercial-stake-line-actions-row .commercial-stakes-total-field-wrap,
.commercial-flex-line-actions-row--subtotal-grid .commercial-stakes-total-field-wrap {
    width: 100%;
    min-width: 0;
    flex: none;
}

.commercial-stake-material-toggle {
    margin-left: 0;
}

.commercial-stakes-total-main {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.08rem;
}

.commercial-stakes-total-field-wrap {
    position: relative;
    display: block;
    width: var(--commercial-subtotal-field-width, 23%);
    min-width: 9rem;
    flex: 0 0 var(--commercial-subtotal-field-width, 23%);
}

.commercial-stakes-total-label {
    text-align: right;
}

.commercial-sheet .commercial-stakes-total-row .commercial-stakes-total-label,
.commercial-sheet .commercial-stakes-total-row .commercial-stakes-total-value {
    border-top: 1px solid rgba(203, 209, 216, 0.9);
    border-bottom: 0;
    box-shadow: none;
}

.commercial-sheet .commercial-stakes-total-row .commercial-stakes-total-value {
    background: #f8fafd;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
}

.commercial-recoverable-supplement-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.55rem;
}

.commercial-recoverable-supplement-row.hidden {
    display: none !important;
}

.commercial-material-stakes-section {
    margin-top: 0;
}

.commercial-material-stakes-section > .commercial-stakes-total-control-row {
    display: grid;
    grid-template-columns: 4% 13% 20% 20% 20% 23%;
    column-gap: 0;
    row-gap: var(--commercial-budget-vertical-gap, 0.55rem);
    align-items: center;
    width: 100%;
    min-width: 0;
    margin-top: var(--commercial-budget-vertical-gap, 0.55rem);
}

.commercial-material-stakes-section > .commercial-stakes-total-control-row .commercial-material-stakes-actions {
    grid-column: 1 / 4;
    margin-top: 0;
}
.commercial-material-stakes-section > .commercial-stakes-total-control-row .commercial-stakes-total-main {
    display: grid;
    grid-column: 4 / 7;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 40fr) minmax(0, 23fr);
    gap: 0;
    align-items: center;
}

.commercial-material-stakes-section > .commercial-stakes-total-control-row .commercial-stakes-total-label {
    min-width: 0;
    padding-right: 0.65rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-material-stakes-section > .commercial-stakes-total-control-row .commercial-stakes-total-field-wrap {
    width: 100%;
    min-width: 0;
    flex: none;
}

.commercial-material-stakes-section.hidden {
    display: none !important;
}

.commercial-material-stake-empty-action {
    height: 2.15rem;
    min-height: 2.15rem;
    padding: 0 !important;
    background: #fff;
}

.commercial-material-stakes-sheet .commercial-sheet-cell-readonly {
    padding: 0 !important;
}

.commercial-sheet .commercial-single-stake-subtotal {
    font-weight: 700;
}

.commercial-hazard-surcharge-main {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: 0.65rem;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.15rem;
}

.commercial-hazard-surcharge-label {
    display: inline-flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.08rem;
}

.commercial-hazard-surcharge-label > span {
    display: block;
    min-width: 0;
    font-size: inherit;
    line-height: inherit;
}

.commercial-hazard-surcharge-label > span + span {
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
}

.commercial-recoverable-supplement-main .commercial-hazard-surcharge-label {
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center;
    gap: 0.35rem;
    overflow: hidden;
    white-space: nowrap;
}

.commercial-recoverable-supplement-main .commercial-hazard-surcharge-label > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-hazard-surcharge-row input.commercial-hazard-surcharge-percent-input,
.commercial-hazard-surcharge-row input.commercial-hazard-surcharge-value,
.commercial-recoverable-supplement-row input.commercial-hazard-surcharge-percent-input {
    box-sizing: border-box;
    appearance: none;
    height: 2.15rem;
    border: 1px solid rgba(203, 209, 216, 0.9);
    border-radius: 0.375rem;
    background: #ffffff;
    color: #0f172a;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.2rem;
    outline: none;
    padding: 0 0.55rem;
    text-align: right;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.commercial-hazard-surcharge-row input.commercial-hazard-surcharge-percent-input,
.commercial-recoverable-supplement-row input.commercial-hazard-surcharge-percent-input {
    width: 4.4rem;
    flex: 0 0 4.4rem;
}

.commercial-hazard-surcharge-row input.commercial-hazard-surcharge-value {
    width: var(--commercial-subtotal-field-width, 23%);
    min-width: 9rem;
    flex: 0 0 var(--commercial-subtotal-field-width, 23%);
    background: #f8fafd;
    color: #334155;
    font-weight: 600;
    text-align: center;
}

.commercial-stakes-total-main input.commercial-stakes-total-value {
    box-sizing: border-box;
    appearance: none;
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    height: 2.15rem;
    border: 1px solid rgba(203, 209, 216, 0.9);
    border-radius: 0.375rem;
    background: #f8fafd;
    color: #334155;
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.08rem;
    padding: 0 0.55rem;
    text-align: center;
}

.commercial-stakes-total-minimum-info {
    position: absolute;
    top: -0.42rem;
    right: -0.42rem;
    display: none;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #94a3b8;
    border-radius: 999px;
    background: #ffffff;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

.commercial-stakes-total-main.uses-minimum-service-fee .commercial-stakes-total-minimum-info {
    display: inline-flex;
}

.commercial-stakes-total-main.uses-minimum-service-fee input.commercial-stakes-total-value,
.commercial-stakes-total-value.commercial-stakes-total-minimum-ignored {
    color: #94a3b8;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.commercial-sheet [data-line-subtotal].commercial-minimum-fee-subtotal-considered {
    position: relative;
    padding-right: 2rem !important;
}

.commercial-sheet [data-line-subtotal].commercial-minimum-fee-subtotal-considered::after {
    content: "\2190";
    position: absolute;
    top: 50%;
    right: 0.42rem;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #334155;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
}

.commercial-hazard-surcharge-row input.commercial-hazard-surcharge-value.is-muted {
    background: #ffffff;
    color: #94a3b8;
    font-weight: 400;
}

.commercial-hazard-surcharge-row input.commercial-hazard-surcharge-percent-input:focus,
.commercial-hazard-surcharge-row input.commercial-hazard-surcharge-percent-input:focus-visible,
.commercial-recoverable-supplement-row input.commercial-hazard-surcharge-percent-input:focus,
.commercial-recoverable-supplement-row input.commercial-hazard-surcharge-percent-input:focus-visible {
    border-color: #94a3b8;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.14);
}

.commercial-hazard-surcharge-toggle {
    margin-left: 0;
}

@media (max-width: 900px) {
    .commercial-hazard-surcharge-row,
    .commercial-recoverable-supplement-row {
        flex-wrap: wrap;
    }

    .commercial-hazard-surcharge-main {
        flex-basis: 100%;
    }

    .commercial-hazard-surcharge-value {
        flex: 1 1 12rem;
    }
}

.commercial-complements-shell {
    --commercial-budget-vertical-gap: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: var(--commercial-budget-vertical-gap);
    margin-top: var(--commercial-budget-vertical-gap, 0.5rem) !important;
}

.commercial-complements-shell > .commercial-material-stakes-section {
    order: 10;
}

.commercial-complements-shell > .commercial-flex-section {
    margin-top: 0;
}

.commercial-complements-shell > [data-flex-section="outros_servicos"] {
    order: 20;
}

.commercial-complements-shell > [data-flex-actions-row="outros_servicos"] {
    order: 21;
}

.commercial-complements-shell > [data-flex-section="servicos_extras"] {
    order: 30;
    margin-top: 0.35rem;
    border-top: 1px solid rgba(203, 213, 225, 0.95);
    padding-top: 0.75rem;
}

.commercial-complements-shell > .commercial-flex-line-actions-row {
    margin-top: 0;
}

.commercial-complements-shell > [data-flex-section="materiais"] {
    order: 40;
}

.commercial-complements-shell > [data-flex-actions-row="materiais"] {
    order: 41;
}

.commercial-complements-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    margin-top: 0.8rem;
}

.commercial-complements-title,
.commercial-complement-heading p {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;
}

.commercial-complements-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.5rem;
}

.commercial-flex-section {
    margin-top: 0.8rem;
}

.commercial-complement-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.commercial-complement-heading span {
    color: #94a3b8;
    font-size: 0.68rem;
    font-weight: 500;
}

.commercial-minimum-fee-sheet {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.erp-table.commercial-minimum-fee-sheet {
    width: 100% !important;
}

.commercial-minimum-fee-label-col {
    width: auto;
}

.commercial-minimum-fee-label-cell {
    height: 2.15rem;
    padding: 0 0.62rem !important;
    background: #ffffff;
    white-space: nowrap;
}

.commercial-project-responsibility {
    display: inline-flex;
    margin-left: 0.5rem;
    vertical-align: middle;
}

.commercial-project-responsibility-button {
    display: inline-flex;
    height: 1.35rem;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0 0.48rem;
    color: #475569;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
}

.commercial-project-responsibility-button.is-maggi {
    border-color: #bae6fd;
    background: #f0f9ff;
    color: #0369a1;
}

.commercial-project-responsibility-button [aria-hidden="true"]::before {
    content: "";
    display: block;
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-0.08rem) rotate(45deg);
}

.commercial-project-line-controls {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 18.25rem) minmax(4.75rem, 1fr);
    align-items: center;
    gap: 0.5rem;
    vertical-align: middle;
}

.commercial-project-line-controls .commercial-project-responsibility {
    margin-left: 0;
    justify-self: center;
}

.commercial-project-line-controls > [data-project-foundation-line-label] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-minimum-billing-button {
    display: inline-flex;
    width: 100%;
    height: 1.31rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-align: left;
    white-space: nowrap;
}

.commercial-minimum-billing-button:not(:disabled) {
    cursor: pointer;
}

.commercial-minimum-billing-button:disabled {
    cursor: default;
}

.commercial-minimum-billing-button [aria-hidden="true"]::before {
    content: "";
    display: block;
    width: 0.46rem;
    height: 0.46rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-0.12rem) rotate(45deg);
}

.commercial-minimum-billing-button:disabled [aria-hidden="true"] {
    display: none;
}

.commercial-sheet-item-name [data-project-foundation-mode-button] {
    width: auto;
    max-width: calc(100% - 5.5rem);
    vertical-align: middle;
}

.commercial-project-line-controls [data-project-foundation-mode-button] {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.commercial-sheet-item-name [data-project-foundation-mode-button] [data-project-foundation-line-label] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.commercial-project-client-cell {
    background: #f8fafc !important;
    height: 2.15rem;
    padding: 0 !important;
    text-align: center;
}

.commercial-project-client-cell .commercial-sheet-display,
.commercial-project-client-cell .commercial-sheet-input {
    display: none !important;
    pointer-events: none !important;
}

.commercial-project-client-badge {
    position: relative;
    z-index: 1;
    display: inline-flex;
    min-height: 1.35rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eef3f8;
    padding: 0 0.75rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.commercial-sheet .commercial-sheet-cell-ignored,
.commercial-sheet .commercial-sheet-cell-ignored .commercial-sheet-display {
    background: #f8fafc !important;
    color: #94a3b8 !important;
    text-decoration: line-through;
}

.commercial-sheet .commercial-sheet-cell-ignored .commercial-sheet-input {
    background: #f8fafc !important;
    color: #94a3b8 !important;
    text-decoration: line-through;
}

.commercial-stake-delete-head {
    width: 2.25rem;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.sheet-commercial-pile-table .sheet-commercial-col-row-action {
    width: 2.25rem;
}

.commercial-stake-delete-head-icon,
.commercial-stake-delete-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.commercial-stake-delete-head-icon {
    color: #64748b;
}

.commercial-stake-delete-head-icon svg,
.commercial-stake-delete-button svg {
    width: 0.95rem;
    height: 0.95rem;
}

.commercial-stake-delete-cell {
    padding: 0 !important;
    text-align: center;
}

.commercial-stake-delete-button {
    display: flex;
    width: 1.55rem;
    height: 1.55rem;
    margin: 0 auto;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #ffffff;
    color: #64748b;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.commercial-stake-delete-button:hover,
.commercial-stake-delete-button:focus-visible {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #b91c1c;
}

.commercial-stake-delete-button:disabled,
.commercial-stake-delete-button.is-disabled,
.commercial-stake-delete-button:disabled:hover,
.commercial-stake-delete-button:disabled:focus-visible {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #cbd5e1;
    cursor: not-allowed;
}

.sheet-commercial-add-line-button {
    display: inline-flex;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0 0.45rem;
    color: #51637b;
    font-size: 0.68rem;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.sheet-commercial-add-line-button:hover,
.sheet-commercial-add-line-button:focus-visible {
    border-color: #aeb9c7;
    background: #f8fbff;
    color: #0f172a;
}

.sheet-commercial-cell-select {
    cursor: pointer;
}

.sheet-commercial-cell-select .sheet-cell-value {
    position: relative;
    padding-right: 1.55rem;
}

.sheet-commercial-cell-select .sheet-cell-value::after {
    content: "";
    position: absolute;
    right: 0.56rem;
    top: 50%;
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.6px solid #94a3b8;
    border-bottom: 1.6px solid #94a3b8;
    transform: translateY(-62%) rotate(45deg);
    pointer-events: none;
}

.sheet-commercial-cell-select.sheet-cell-editing .sheet-cell-value::after {
    display: none;
}

.sheet-commercial-cell-select .sheet-commercial-editor {
    text-align: center;
}

.commercial-contract-tabs-header {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    border-bottom: 1px solid #e2e8f0;
    padding: 0.75rem 1rem 0;
}

.commercial-contract-tab {
    display: inline-flex;
    height: 2.5rem;
    align-items: center;
    border: 1px solid transparent;
    border-bottom-color: transparent;
    border-radius: 0.375rem 0.375rem 0 0;
    margin-bottom: -1px;
    padding: 0 1rem;
    color: #475569;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background 150ms ease, color 150ms ease;
}

.commercial-contract-tab:hover {
    background: #f8fafc;
}

.commercial-contract-tab.is-active {
    border-color: #e2e8f0;
    border-bottom: 1px solid #ffffff;
    background: #ffffff;
    color: #0f172a;
}

.commercial-contract-clauses-toolbar {
    display: flex;
    justify-content: flex-start;
    margin: 1rem 0 0.5rem;
}
.commercial-contract-automatic-section {
    border: 1px solid #e5d8a8;
    border-radius: 0.375rem;
    background: #fffdf4;
    margin-top: 1rem;
    overflow: hidden;
}

.commercial-contract-automatic-summary {
    display: flex;
    min-height: 2.5rem;
    cursor: pointer;
    list-style: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.85rem;
}

.commercial-contract-automatic-summary::-webkit-details-marker {
    display: none;
}

.commercial-contract-automatic-title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #3f3a1f;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1rem;
}

.commercial-contract-automatic-title::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.6px solid #a16207;
    border-bottom: 1.6px solid #a16207;
    transform: translateY(-0.08rem) rotate(45deg);
    transition: transform 0.15s ease;
}

.commercial-contract-automatic-section[open] .commercial-contract-automatic-title::before {
    transform: translateY(0.05rem) rotate(225deg);
}

.commercial-contract-automatic-count {
    flex: 0 0 auto;
    border: 1px solid #fde68a;
    border-radius: 999px;
    background: #fffbeb;
    padding: 0.12rem 0.5rem;
    color: #92400e;
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1rem;
}

.commercial-contract-automatic-list {
    display: grid;
    gap: 0.5rem;
    border-top: 1px solid #f1e4b4;
    padding: 0.75rem;
}

.commercial-contract-automatic-empty {
    margin: 0;
    border: 1px dashed #e7d8a4;
    border-radius: 0.375rem;
    background: #fffaf0;
    padding: 0.75rem 0.85rem;
    color: #8a6a25;
    font-size: 0.78rem;
    line-height: 1.2rem;
}

.commercial-contract-automatic-unused-section {
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #f8fafc;
    overflow: hidden;
}

.commercial-contract-automatic-unused-summary {
    display: flex;
    min-height: 2.25rem;
    cursor: pointer;
    list-style: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1rem;
}

.commercial-contract-automatic-unused-summary::-webkit-details-marker {
    display: none;
}

.commercial-contract-automatic-unused-summary::before {
    content: "";
    width: 0.36rem;
    height: 0.36rem;
    border-right: 1.4px solid #94a3b8;
    border-bottom: 1.4px solid #94a3b8;
    transform: translateY(-0.06rem) rotate(45deg);
    transition: transform 0.15s ease;
}

.commercial-contract-automatic-unused-section[open] .commercial-contract-automatic-unused-summary::before {
    transform: translateY(0.04rem) rotate(225deg);
}

.commercial-contract-automatic-unused-summary span:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.commercial-contract-automatic-unused-summary span:last-child {
    flex: 0 0 auto;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f1f5f9;
    padding: 0.08rem 0.45rem;
    color: #94a3b8;
    font-size: 0.64rem;
    line-height: 0.95rem;
}

.commercial-contract-automatic-unused-list {
    display: grid;
    gap: 0.5rem;
    border-top: 1px solid #e2e8f0;
    padding: 0.6rem;
}

.commercial-contract-clause-card.commercial-contract-automatic-clause-card {
    border-color: #f0d98b;
    background: #fff8e1;
}

.commercial-contract-clause-card.commercial-contract-automatic-clause-card.is-inactive {
    border-color: #e2e8f0;
    background: #f8fafc;
}

.commercial-contract-automatic-clause-card.is-inactive .commercial-contract-clause-main h4,
.commercial-contract-automatic-clause-card.is-inactive .commercial-contract-clause-main p {
    color: #94a3b8;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.commercial-contract-automatic-clause-card.is-inactive .commercial-contract-automatic-variable {
    border-color: #cbd5e1;
    background: #f1f5f9;
    color: #94a3b8;
    text-decoration: line-through;
}

.commercial-contract-clause-state.is-generated {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.commercial-contract-clause-state.is-generated-inactive {
    border-color: #cbd5e1;
    background: #f1f5f9;
    color: #94a3b8;
}

.commercial-contract-automatic-variable {
    display: inline-flex;
    align-items: center;
    border: 1px solid #facc15;
    border-radius: 999px;
    background: #fef3c7;
    padding: 0 0.22rem;
    color: #78350f;
    font-weight: 800;
    line-height: 1.05rem;
    white-space: nowrap;
}

.commercial-contract-automatic-variable-text {
    color: #78350f;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.12em;
}

.commercial-contract-automatic-clause-card.is-inactive .commercial-contract-automatic-variable-text {
    color: #94a3b8;
    text-decoration-line: underline line-through;
}

.commercial-contract-add-clause-button {
    display: inline-flex;
    height: 2rem;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0 0.75rem;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 600;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.commercial-contract-add-clause-button:hover,
.commercial-contract-add-clause-button:focus-visible {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    outline: none;
}

.commercial-contract-clauses-list {
    display: grid;
    gap: 0.5rem;
}

.commercial-contract-clause-card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    border: 1px solid #d5dee9;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.75rem 0.85rem;
    transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.commercial-contract-clause-card[draggable="true"] {
    cursor: grab;
}

.commercial-contract-clause-card.is-dragging {
    opacity: 0.55;
}

.commercial-contract-clause-card.is-drag-over {
    border-color: #93c5fd;
    background: #eff6ff;
}

.commercial-contract-clause-main {
    min-width: 0;
    flex: 1 1 auto;
}

.commercial-contract-clause-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.5rem;
}

.commercial-contract-clause-main h4 {
    margin: 0;
    min-width: 0;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.15rem;
}

.commercial-contract-clause-main p {
    margin: 0.35rem 0 0;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.25rem;
}

.commercial-contract-clause-state {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0.125rem 0.45rem;
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1rem;
    text-transform: uppercase;
}

.commercial-contract-clause-state.is-linked {
    border-color: #bae6fd;
    background: #f0f9ff;
    color: #0369a1;
}

.commercial-contract-clause-state.is-own {
    border-color: #ddd6fe;
    background: #f5f3ff;
    color: #6d28d9;
}

.commercial-contract-clause-state.is-stale {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}

.commercial-contract-clause-state.is-consolidated {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #64748b;
}

.commercial-contract-clause-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.25rem;
}

.commercial-contract-clause-action {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #94a3b8;
    font-size: 1rem;
    line-height: 1;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.commercial-contract-clause-action svg {
    width: 0.8rem;
    height: 0.8rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.commercial-contract-clause-action:hover,
.commercial-contract-clause-action:focus-visible {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #2563eb;
    outline: none;
}

.commercial-contract-clause-action.is-danger:hover,
.commercial-contract-clause-action.is-danger:focus-visible {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #b91c1c;
    outline: none;
}

.commercial-clause-edit-input,
.commercial-clause-edit-textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35rem;
}

.commercial-clause-edit-input {
    height: 2.5rem;
    padding: 0 0.75rem;
}

.commercial-clause-edit-textarea {
    min-height: 11rem;
    padding: 0.75rem;
    resize: vertical;
}

.commercial-clause-edit-input:focus,
.commercial-clause-edit-textarea:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.18);
    outline: none;
}

[data-row-actions-menu] {
    z-index: 220;
    margin-top: 0.25rem;
}

[data-row-actions-menu].is-floating {
    position: fixed;
    margin-top: 0;
}

.app-nav-icon svg {
    width: 16px;
    height: 16px;
}

.obra-row {
    transition: background-color 140ms ease;
}

.obra-row-discreto td {
    color: #64748b;
}

.obra-row-discreto .obra-link,
.obra-row-discreto .obra-title {
    color: #475569;
}

.obra-row-muito-discreto td,
.obra-row-muito-discreto td a,
.obra-row-muito-discreto td div,
.obra-row-muito-discreto td span {
    color: #94a3b8;
}

.obra-row-muito-discreto .obra-link,
.obra-row-muito-discreto .obra-title {
    color: #94a3b8;
}

.obra-row-muito-discreto .progress-tooltip,
.obra-row-muito-discreto .progress-tooltip div {
    color: #f1f5f9;
}

.obras-list-table {
    table-layout: fixed;
}

.obras-list-table .obras-col-contrato {
    width: 7.5%;
}

.obras-list-table .obras-col-cliente {
    width: 15%;
}

.obras-list-table .obras-col-obra {
    width: 16%;
}

.obras-list-table .obras-col-tipo-equipamentos {
    width: 9%;
}

.obras-list-table .obras-col-status {
    width: 13.5%;
}

.obras-list-table .obras-col-data {
    width: 11.5%;
}

.obras-list-table .obras-col-progresso {
    width: 16%;
}

.obras-list-table .obras-client-column,
.obras-list-table .obras-type-equipment-column {
    min-width: 0;
}

.obras-list-table .obras-client-name {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.obras-list-table .obras-type-text {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    color: #94a3b8;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1rem;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.obras-list-table .obras-type-badge {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    padding: 0.08rem 0.48rem;
}

.obras-list-table .obras-equipment-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
    margin-top: 0.35rem;
}

.obras-list-table .obras-equipment-badge {
    display: inline-flex;
    max-width: 5.25rem;
    align-items: center;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 0.34rem;
    background: #f8fafc;
    padding: 0.14rem 0.44rem;
    color: #475569;
    font-size: 0.625rem;
    font-weight: 750;
    line-height: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.obras-list-table .obras-equipment-empty {
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 400;
}

.obras-list-table .obras-date-marker {
    display: block;
    margin-top: 0.04rem;
}

.obras-list-table .obras-progress-trigger {
    width: 9.5rem;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.erp-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.erp-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.erp-table th,
.erp-table td {
    border-bottom: 1px solid rgba(203, 209, 216, 0.9);
    vertical-align: middle;
}

.erp-table-compact th {
    background: var(--erp-table-header-bg);
    color: var(--erp-table-header-fg);
    padding: var(--erp-table-header-padding);
    font-size: var(--erp-table-header-font-size);
    font-weight: var(--erp-table-header-font-weight);
    line-height: var(--erp-table-header-line-height);
    letter-spacing: var(--erp-table-header-letter-spacing);
    text-transform: uppercase;
}

.erp-table-compact td {
    background: var(--erp-table-row-bg);
    color: var(--erp-table-cell-fg);
    padding: var(--erp-table-cell-padding);
    font-size: var(--erp-table-cell-font-size);
    line-height: var(--erp-table-cell-line-height);
    transition: background-color 140ms ease, box-shadow 140ms ease;
}

.erp-table-compact th:first-child,
.erp-table-compact td:first-child {
    padding-left: 0.95rem;
}

.erp-table-compact th:first-child:has(input[type="checkbox"]),
.erp-table-compact td:first-child:has(input[type="checkbox"]) {
    width: 3.25rem;
    min-width: 3.25rem;
    padding-right: 0.8rem;
}

.erp-table-compact th:first-child:has(input[type="checkbox"]) + th,
.erp-table-compact td:first-child:has(input[type="checkbox"]) + td {
    padding-left: 0.78rem;
}

.erp-table-compact tbody tr[data-listing-editable-row],
.erp-table-compact tbody tr.obra-row {
    cursor: pointer;
}

.erp-table-compact tbody tr[data-listing-editable-row]:hover > td,
.erp-table-compact tbody tr[data-listing-editable-row]:focus-within > td,
.erp-table-compact tbody tr.obra-row:hover > td,
.erp-table-compact tbody tr.obra-row:focus-within > td {
    background-color: #eaf5ff;
    box-shadow: inset 0 1px 0 rgba(56, 139, 204, 0.16), inset 0 -1px 0 rgba(56, 139, 204, 0.16);
}

.erp-table-compact tbody tr[data-listing-editable-row]:hover > td:first-child,
.erp-table-compact tbody tr[data-listing-editable-row]:focus-within > td:first-child,
.erp-table-compact tbody tr.obra-row:hover > td:first-child,
.erp-table-compact tbody tr.obra-row:focus-within > td:first-child {
    box-shadow: inset 3px 0 0 #2f8dcc, inset 0 1px 0 rgba(56, 139, 204, 0.16), inset 0 -1px 0 rgba(56, 139, 204, 0.16);
}

.erp-table-compact td.proposal-client-forecast {
    color: #475569;
    font-weight: 500;
}

.erp-table-compact td.proposal-client-forecast--none {
    color: #cbd5e1;
    font-weight: 400;
}

.erp-table-compact td.proposal-client-forecast--normal {
    color: #475569;
    font-weight: 500;
}

.erp-table-compact td.proposal-client-forecast--urgent {
    color: #0f172a;
    font-weight: 700;
}

.erp-table-compact td.proposal-client-forecast--current-active {
    color: #be123c;
    font-weight: 700;
}

.erp-table-compact td.proposal-client-forecast--current-closed {
    color: #0f172a;
    font-weight: 400;
}
.erp-table-compact [data-value-code] {
    color: #94a3b8;
    font-weight: 400;
}

.erp-table-compact [data-value-name] {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1.25rem;
}

.config-values-table {
    table-layout: fixed;
}

.config-values-table .config-values-col-select {
    width: 3.25rem;
}

.config-values-table .config-values-col-identifier {
    width: 9rem;
}

.config-values-table .config-values-col-name {
    width: 34%;
}

.config-values-table .config-values-col-description {
    width: 26%;
}


.config-values-table .config-values-col-price {
    width: 7.25rem;
}

.config-values-table--priced .config-values-col-identifier {
    width: 7.25rem;
}

.config-values-table--priced .config-values-col-name {
    width: 34%;
}

.config-values-table--priced .config-values-col-description {
    width: 16%;
}

.config-values-table--equipments .config-values-col-identifier {
    width: 10rem;
}

.config-values-table--equipments .config-values-col-name {
    width: 34%;
}

.config-values-table--equipments .config-values-col-description {
    width: 22%;
}

.config-values-table--dimensions .config-values-col-identifier {
    width: 6.5rem;
}

.config-values-table--dimensions .config-values-col-name {
    width: 18%;
}

.config-values-table--dimensions .config-values-col-description {
    width: 35%;
}

.config-values-table--cost-center-tree {
    min-width: 48rem;
}

.config-values-table--cost-center-tree .config-values-col-name {
    width: 56%;
}

.config-values-table--cost-center-tree .config-values-col-description {
    width: auto;
}

.config-values-table.config-values-table--cost-center-tree .config-values-col-state {
    width: 8.5rem;
}

.config-values-table--cost-center-tree td {
    vertical-align: middle;
}

.config-values-table--cost-center-tree [data-cost-center-path] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.config-values-table .config-values-col-protection {
    width: 8.75rem;
}

.config-values-table .config-values-col-state {
    width: 5rem;
}

.config-values-table .config-values-col-actions {
    width: 6.75rem;
}

.config-values-table [data-config-value-row].is-lookup-highlight td {
    animation: config-lookup-highlight 1.6s ease;
}
.config-values-table [data-config-value-row][data-active="0"] {
    color: #94a3b8;
}
.config-values-table [data-config-value-row][data-active="0"] [data-value-name],
.config-values-table [data-config-value-row][data-active="0"] [data-row-name],
.config-values-table [data-config-value-row][data-active="0"] .text-slate-950,
.config-values-table [data-config-value-row][data-active="0"] .text-slate-900,
.config-values-table [data-config-value-row][data-active="0"] .text-slate-800 {
    color: #94a3b8 !important;
}

.config-values-table [data-config-value-row][data-active="0"] td,
.config-values-table [data-config-value-row][data-active="0"] [data-value-description],
.config-values-table [data-config-value-row][data-active="0"] .text-slate-700,
.config-values-table [data-config-value-row][data-active="0"] .text-slate-600,
.config-values-table [data-config-value-row][data-active="0"] .text-slate-500 {
    color: #cbd5e1 !important;
}

.config-values-table [data-config-value-row][data-active="0"] .text-slate-400,
.config-values-table [data-config-value-row][data-active="0"] .text-slate-300 {
    color: #e2e8f0 !important;
}

.config-values-table [data-config-value-row][data-active="0"] [data-value-active-label],
.config-values-table [data-config-value-row][data-active="0"] .rounded-md.border {
    border-color: #e2e8f0 !important;
    background-color: #f8fafc !important;
    color: #cbd5e1 !important;
}

.config-values-table [data-config-value-row][data-active="0"] svg,
.config-values-table [data-config-value-row][data-active="0"] .cadastros-row-role-icon {
    color: #cbd5e1 !important;
}

@keyframes config-lookup-highlight {
    0%,
    100% {
        background-color: transparent;
    }

    12%,
    72% {
        background-color: #e8f2ff;
    }
}


.config-list-filter-select {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.config-custom-select-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.config-custom-select-button {
    appearance: none;
    display: flex;
    width: 100%;
    height: 38px;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    border: 1px solid #d5dee9;
    border-radius: 0.375rem;
    background: #ffffff;
    color: #0f172a;
    font-family: inherit;
    font-size: 0.875rem;
    line-height: 1.15rem;
    padding: 0 0.65rem;
    text-align: left;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.config-custom-select-button::after {
    content: "";
    flex: 0 0 auto;
    width: 0.82rem;
    height: 0.82rem;
    background: currentColor;
    opacity: 0.74;
    clip-path: polygon(20% 35%, 50% 65%, 80% 35%, 88% 43%, 50% 82%, 12% 43%);
}

.config-custom-select-button:hover:not(:disabled) {
    border-color: #c5d0dd;
    background: #f8fafc;
}

.config-custom-select-button:focus,
.config-custom-select-button:focus-visible {
    border-color: #94a3b8;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.14);
}

.config-custom-select-button:disabled {
    cursor: not-allowed;
    background: #f8fafc;
    color: #94a3b8;
}

.config-custom-select-button [data-config-custom-select-label] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.config-custom-select-button.is-empty [data-config-custom-select-label] {
    color: transparent;
}

.config-custom-select-menu {
    position: fixed;
    z-index: 280;
    max-height: 16rem;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.25rem 0;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}

.config-custom-select-option {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0.48rem 0.72rem;
    color: #334155;
    font-family: inherit;
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.15rem;
    text-align: left;
    white-space: nowrap;
}

.config-custom-select-option:hover,
.config-custom-select-option:focus-visible {
    background: #eef3f8;
    outline: none;
}

.config-custom-select-option.is-selected {
    background: #e7edf4;
    color: #0f172a;
}

.config-custom-select-menu[data-config-custom-select-context="filter"] .config-custom-select-option[data-value=""] {
    font-weight: 700;
}

.config-custom-select-menu[data-config-custom-select-context="filter"] .config-custom-select-option[data-value="sem_grupo"] {
    color: #94a3b8;
}

.config-custom-select-menu[data-config-custom-select-context="filter"] .config-custom-select-option[data-value="sem_grupo"].is-selected {
    color: #64748b;
}

.config-floating-notice {
    position: fixed;
    top: 64px;
    right: 24px;
    z-index: 260;
    max-width: min(420px, calc(100vw - 48px));
    border: 1px solid #bfdbfe;
    border-radius: 0.375rem;
    background: #eff6ff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.13);
    padding: 0.75rem 0.9rem;
    color: #1e3a8a;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    transition: opacity 220ms ease, transform 220ms ease;
}

.config-floating-notice--warning {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.config-floating-notice--success {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.config-floating-notice.is-leaving {
    opacity: 0;
    transform: translateY(-6px);
}

.cadastros-list-table {
    table-layout: fixed;
}

.cadastros-list-table .cadastros-col-select {
    width: 3.25rem;
}

.cadastros-list-table .cadastros-col-name {
    width: 33%;
}

.cadastros-list-table .cadastros-col-function {
    width: 15%;
}

.cadastros-list-table .cadastros-col-document {
    width: 13%;
}

.cadastros-list-table .cadastros-col-contact {
    width: 19%;
}

.cadastros-list-table .cadastros-col-relations {
    width: 10%;
}

.cadastros-list-table .cadastros-col-actions {
    width: 6%;
}

[data-listing-container="cadastros"] [data-row-name] {
    overflow: hidden;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-listing-container="cadastros"] .cadastros-row-name-line {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.45rem;
}

[data-listing-container="cadastros"] .cadastros-row-name-line [data-row-name] {
    min-width: 0;
    flex: 1 1 auto;
}

[data-listing-container="cadastros"] .cadastros-row-role-icons {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.22rem;
    color: #64748b;
}

[data-listing-container="cadastros"] .cadastros-row-role-icon {
    display: inline-flex;
    width: 1.05rem;
    height: 1.05rem;
    align-items: center;
    justify-content: center;
    color: inherit;
}

[data-listing-container="cadastros"] .cadastros-row-role-icon svg {
    width: 100%;
    height: 100%;
}

[data-listing-container="cadastros"] [data-row-phone],
[data-listing-container="cadastros"] [data-row-related] {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.05rem;
}

[data-listing-container="cadastros"] [data-row-person-type] {
    color: #64748b;
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1rem;
}

[data-listing-container="cadastros"] [data-row-relations-empty],
[data-listing-container="cadastros"] [data-row-function-empty] {
    color: #94a3b8;
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1rem;
}

[data-listing-container="cadastros"] [data-row-document],
[data-listing-container="cadastros"] [data-row-relations] {
    color: #475569;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.2rem;
}

[data-listing-container="cadastros"] [data-row-relations] {
    max-width: 100%;
}

[data-listing-container="cadastros"] .cadastro-relation-lines {
    display: grid;
    max-height: 2.4rem;
    max-width: 100%;
    overflow: hidden;
    gap: 0.05rem;
}
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] {
    color: #94a3b8;
}

[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-name],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-950,
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-900,
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-800 {
    color: #94a3b8 !important;
}

[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] td,
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-email],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-document],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-relations],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-700,
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-600,
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-500 {
    color: #cbd5e1 !important;
}

[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-person-type],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-phone],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-related],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-relations-empty],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] [data-row-function-empty],
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-400,
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .text-slate-300 {
    color: #e2e8f0 !important;
}

[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] .cadastros-row-role-icon,
[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] svg {
    color: #cbd5e1 !important;
}

[data-listing-container="cadastros"] [data-cadastro-row][data-ativo="0"] details > summary {
    border-color: #e2e8f0 !important;
    background-color: #ffffff !important;
    color: #cbd5e1 !important;
}

[data-listing-container="cadastros"] .cadastro-relation-line,
[data-listing-container="cadastros"] .cadastro-relation-count {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}




@media (min-width: 768px) {
    [data-cadastro-work-type-wrapper],
    [data-cadastro-work-salary-wrapper] {
        width: 230px;
        max-width: 230px;
    }
}

.cadastro-details-summary {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    list-style: none;
}

.cadastro-details-summary::-webkit-details-marker {
    display: none;
}

.cadastro-details-arrow {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: transform 0.15s ease;
}

.cadastro-details-arrow svg {
    width: 0.9rem;
    height: 0.9rem;
}

details[open] > .cadastro-details-summary .cadastro-details-arrow {
    transform: rotate(90deg);
}

.erp-relation-action-button {
    display: inline-flex;
    width: 1.7rem;
    height: 1.7rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    color: #64748b;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.erp-relation-action-button:hover,
.erp-relation-action-button:focus-visible {
    border-color: rgba(148, 163, 184, 0.95);
    background: #f8fafc;
    color: #0f172a;
    outline: none;
}

.erp-relation-action-button-danger {
    color: #b45359;
}

.erp-relation-action-button-danger:hover,
.erp-relation-action-button-danger:focus-visible {
    border-color: #e5b9be;
    background: #fff5f6;
    color: #9f1239;
}

.erp-relation-action-button svg {
    width: 0.86rem;
    height: 0.86rem;
}

.erp-relation-card-item {
    position: relative;
}

.erp-relation-card-item[data-erp-relation-open] {
    padding-right: 1.25rem;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.erp-relation-card-item[data-erp-relation-open]:hover {
    border-color: #cbd5e1;
    background: #ffffff;
}

.erp-relation-card-item[data-erp-relation-open]:focus-visible {
    border-color: #bae6fd;
    box-shadow: 0 0 0 2px rgba(186, 230, 253, 0.55);
    outline: none;
}

.erp-relation-card-item > .flex {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: flex-start;
}

.erp-relation-card-item > .flex > .min-w-0 {
    width: 100%;
    max-width: 100%;
}

.erp-relation-title-row {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.45rem;
}

.erp-relation-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.erp-relation-role-badge {
    display: inline-flex;
    max-width: 9.5rem;
    flex: 0 1 auto;
    align-items: center;
    overflow: hidden;
    border: 1px solid #d7e0ea;
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0.13rem 0.42rem;
    color: #52637a;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.05;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.erp-relation-contact-line {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    align-items: center;
    justify-content: flex-start;
    gap: 0.45rem;
    margin-top: 0.22rem;
    color: #64748b;
    font-size: 0.75rem;
    line-height: 1.1rem;
}

.erp-relation-contact-email {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.erp-relation-contact-phones {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.erp-relation-contact-email:empty,
.erp-relation-contact-phones:empty {
    display: none;
}

.erp-relation-card-item:hover .erp-relation-remove-button,
.erp-relation-card-item:focus-within .erp-relation-remove-button {
    opacity: 0.52;
}

.commercial-identity-card-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    border: 1px solid #d8e0ea;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.72rem 2rem 0.72rem 0.8rem;
}

.commercial-identity-card-item[data-proposal-client-card-open],
.commercial-identity-card-item[data-proposal-work-card-open] {
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.commercial-identity-card-item[data-proposal-client-card-open]:hover,
.commercial-identity-card-item[data-proposal-work-card-open]:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.commercial-identity-card-item[data-proposal-client-card-open]:focus-visible,
.commercial-identity-card-item[data-proposal-work-card-open]:focus-visible {
    border-color: #bae6fd;
    box-shadow: 0 0 0 2px rgba(186, 230, 253, 0.55);
    outline: none;
}

.commercial-identity-card-loader {
    position: absolute;
    top: 0.18rem;
    right: 0.22rem;
    z-index: 6;
    display: none;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    color: #64748b;
    pointer-events: none;
}

.commercial-identity-card-loader svg {
    width: 0.9rem;
    height: 0.9rem;
    animation: commercial-identity-card-loader-spin 0.75s linear infinite;
}

[data-client-relations-loading="1"] [data-proposal-client-card-open] .commercial-identity-card-loader {
    display: inline-flex;
}

.commercial-async-surface {
    position: relative;
}

.commercial-async-surface[data-proposal-async-loading="1"] > .commercial-async-loader {
    display: inline-flex;
}

.commercial-select-button.commercial-async-surface > .commercial-async-loader {
    top: 50%;
    right: 1.55rem;
    transform: translateY(-50%);
}

[data-client-relations-loading="1"] [data-proposal-client-card-open] [data-proposal-client-clear] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

@keyframes commercial-identity-card-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .commercial-identity-card-loader svg {
        animation: none;
    }
}

.commercial-identity-card-title {
    min-width: 0;
    overflow: hidden;
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.15rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-identity-card-meta,
.commercial-identity-card-note {
    margin-top: 0.18rem;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.1rem;
}

.commercial-identity-card-meta-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-identity-card-note {
    color: #475569;
}

.commercial-identity-card-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.35rem;
}

.erp-table-compact tbody tr.cadastro-list-row > td {
    padding-top: 0.62rem;
    padding-bottom: 0.62rem;
}

[data-listing-container="cadastros"] [data-row-email] {
    color: #1e293b;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.2rem;
}

.erp-table-align-left {
    text-align: left !important;
}

.erp-table-align-center {
    text-align: center !important;
}

.erp-table-align-right {
    text-align: right !important;
}

.progress-tooltip {
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
    z-index: 120;
}

.progress-trigger:hover .progress-tooltip,
.progress-trigger:focus-within .progress-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-trigger {
    isolation: isolate;
}

.work-progress-track,
.work-progress-remainder {
    background: #fcd34d;
}

.work-progress-fill {
    height: 100%;
    background: #10b981;
}

.work-progress-remainder {
    height: 100%;
}

.work-progress-palette-planned .work-progress-fill {
    background: #f1d58c;
}

.work-progress-palette-planned .work-progress-track,
.work-progress-palette-planned .work-progress-remainder {
    background: #f6e8bf;
}

.work-progress-palette-paused .work-progress-fill {
    background: rgba(16, 185, 129, 0.5);
}

.work-progress-palette-paused .work-progress-track,
.work-progress-palette-paused .work-progress-remainder {
    background: rgba(252, 211, 77, 0.5);
}

.work-progress-palette-completed .work-progress-fill {
    background: #bfdbfe;
}

.work-progress-palette-completed .work-progress-track,
.work-progress-palette-completed .work-progress-remainder {
    background: #bfdbfe;
}

.work-progress-palette-executed .work-progress-fill {
    background: #22c55e;
}

.work-progress-palette-executed .work-progress-track,
.work-progress-palette-executed .work-progress-remainder {
    background: #bbf7d0;
}

.work-progress-palette-cancelled .work-progress-fill {
    background: #a8b4c3;
}

.work-progress-palette-cancelled .work-progress-track,
.work-progress-palette-cancelled .work-progress-remainder {
    background: #dbe3ec;
}

.work-progress-palette-negotiation .work-progress-fill {
    background: #c8d0db;
}

.work-progress-palette-negotiation .work-progress-track,
.work-progress-palette-negotiation .work-progress-remainder {
    background: #e1e6ed;
}

.work-progress-palette-location .work-progress-fill,
.work-progress-palette-location .work-progress-track,
.work-progress-palette-location .work-progress-remainder {
    background: #e0f2fe;
}

.allocation-board-shell {
    position: relative;
    width: 100%;
    max-width: none;
    margin-left: 0;
    overflow: hidden;
    border: 1px solid #cfd8e3;
    border-radius: 0.5rem;
    background: #ffffff;
}

.allocation-board-shell:fullscreen,
.allocation-board-shell.is-allocation-fullscreen {
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    margin: 0;
    display: flex;
    flex-direction: column;
    border: 0;
    border-radius: 0;
    background: #ffffff;
}

.allocation-board-shell.is-allocation-fullscreen {
    position: fixed;
    inset: 0;
    z-index: 210;
}

body.allocation-board-fullscreen-active {
    overflow: hidden;
}

.allocation-loading-banner {
    position: fixed;
    top: 4.75rem;
    left: 50%;
    z-index: 80;
    display: flex;
    min-width: 13rem;
    transform: translateX(-50%);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.04rem;
    border: 1px solid #bfdbfe;
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
    padding: 0.55rem 1.15rem 0.65rem;
    color: #1e3a8a;
    pointer-events: none;
}

.allocation-loading-banner.hidden {
    display: none;
}

.allocation-loading-banner span {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.2em;
}

.allocation-loading-banner strong {
    font-size: 1.04rem;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.allocation-board-shell[data-allocation-loading="1"] .allocation-board-grid {
    pointer-events: none;
    user-select: none;
}

.allocation-board-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #dbe3ec;
    background: #ffffff;
}

.allocation-board-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
    min-width: 20rem;
}

.allocation-board-header-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0.55rem;
    min-width: 0;
}
.allocation-board-title {
    margin: 0;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.1;
    text-transform: uppercase;
}

.allocation-board-fullscreen-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6.65rem;
    height: 2rem;
    flex: 0 0 auto;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    background: #ffffff;
    padding: 0 0.68rem;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.allocation-board-fullscreen-toggle:hover,
.allocation-board-fullscreen-toggle:focus-visible {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    outline: none;
}

.allocation-fullscreen-button-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.38rem;
}

.allocation-fullscreen-icon {
    width: 1.02rem;
    height: 1.02rem;
    flex: 0 0 auto;
}

.allocation-fullscreen-button-content--exit,
.allocation-board-shell[data-allocation-fullscreen-active="1"] .allocation-fullscreen-button-content--enter {
    display: none;
}

.allocation-board-shell[data-allocation-fullscreen-active="1"] .allocation-fullscreen-button-content--exit {
    display: inline-flex;
}

.allocation-drag-mode-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    min-height: 2.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.55rem;
    background: #ffffff;
    padding: 0.42rem 0.68rem;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 0.86rem;
    text-align: left;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
    transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, opacity 0.14s ease, transform 0.14s ease;
}

.allocation-drag-mode-toggle--floating {
    position: fixed;
    z-index: 2400;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.allocation-drag-mode-toggle--floating.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.allocation-drag-mode-toggle svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.allocation-drag-mode-toggle-icons {
    display: inline-grid;
    grid-template-columns: 0.86rem 1.05rem;
    align-items: center;
    color: #2563eb;
}

.allocation-drag-mode-toggle-arrow {
    margin-right: -0.1rem;
}

.allocation-drag-mode-toggle-calendar {
    color: #334155;
}

.allocation-drag-mode-toggle-label {
    display: inline-block;
}

.allocation-drag-mode-toggle:hover,
.allocation-drag-mode-toggle:focus-visible {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.allocation-drag-mode-toggle.is-active {
    border-color: #a78bfa;
    background: #f5f3ff;
    color: #6d28d9;
}

.allocation-drag-mode-toggle.is-active .allocation-drag-mode-toggle-icons,
.allocation-drag-mode-toggle.is-active .allocation-drag-mode-toggle-calendar {
    color: #6d28d9;
}

.allocation-drag-mode-toggle.is-date-toggle {
    border-color: #334155;
    background: #f8fafc;
    color: #0f172a;
}

.allocation-drag-mode-toggle.is-date-toggle .allocation-drag-mode-toggle-icons,
.allocation-drag-mode-toggle.is-date-toggle .allocation-drag-mode-toggle-calendar {
    color: #0f172a;
}

.allocation-drag-mode-toggle--date .allocation-drag-mode-toggle-icons {
    grid-template-columns: 1.42rem;
    color: #0f172a;
}

.allocation-date-mode-icon {
    position: relative;
    display: inline-flex;
    width: 1.42rem;
    height: 1.42rem;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 0.24rem;
}

.allocation-date-mode-icon .allocation-drag-mode-toggle-calendar {
    width: 1rem;
    height: 1rem;
}

.allocation-date-mode-icon-slash {
    position: absolute;
    left: 0.12rem;
    right: 0.12rem;
    top: 50%;
    display: none;
    height: 2px;
    border-radius: 999px;
    background: #cbd5e1;
    transform: rotate(-38deg);
    transform-origin: center;
}

.allocation-drag-mode-toggle--date.is-define-date .allocation-date-mode-icon {
    border-color: #cbd5e1;
    background: #e5e7eb;
    color: #0f172a;
}

.allocation-drag-mode-toggle--date.is-clear-date .allocation-date-mode-icon {
    color: #cbd5e1;
}

.allocation-drag-mode-toggle--date.is-clear-date .allocation-date-mode-icon-slash {
    display: block;
}

.allocation-drag-mode-toggle--date.is-clear-date .allocation-drag-mode-toggle-calendar,
.allocation-drag-mode-toggle--date.is-clear-date.is-date-toggle .allocation-drag-mode-toggle-calendar,
.allocation-drag-mode-toggle--date.is-clear-date.is-active .allocation-drag-mode-toggle-calendar {
    color: #cbd5e1;
}

.allocation-drag-mode-toggle--date.is-clear-date.is-active {
    border-color: #ef4444;
    background: #fff1f2;
    color: #b91c1c;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.16), 0 12px 26px rgba(185, 28, 28, 0.18);
    transition: opacity 0.14s ease, transform 0.14s ease, box-shadow 0.16s ease;
}

.allocation-drag-mode-toggle--date.is-clear-date.is-active .allocation-date-mode-icon {
    border-color: #fecdd3;
    background: #ffe4e6;
    color: #b91c1c;
}

.allocation-drag-mode-toggle--date.is-clear-date.is-active .allocation-date-mode-icon-slash {
    background: #ef4444;
}

.allocation-drag-mode-toggle--date.is-clear-date.is-active .allocation-drag-mode-toggle-calendar,
.allocation-drag-mode-toggle--date.is-clear-date.is-date-toggle.is-active .allocation-drag-mode-toggle-calendar {
    color: #b91c1c;
}

.allocation-board-summary .allocation-board-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.75rem;
    border-radius: 0.375rem;
    padding: 0.25rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1rem;
    text-transform: lowercase;
}

.allocation-board-summary .allocation-board-status-badge strong {
    font-size: 0.84rem;
    color: currentColor;
}

.allocation-dirty-note {
    margin: 0.75rem 1rem 0;
    border: 1px solid #fde68a;
    border-radius: 0.375rem;
    background: #fffbeb;
    padding: 0.65rem 0.8rem;
    color: #92400e;
    font-size: 0.82rem;
    font-weight: 600;
}

.allocation-board-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    --allocation-card-min-height: 9.89rem;
    --allocation-lane-min-height: 11.55rem;
    --allocation-drop-preview-line-height: 6.77rem;
    padding: 0.85rem 0 1rem;
}

.allocation-board-shell:fullscreen .allocation-board-grid,
.allocation-board-shell.is-allocation-fullscreen .allocation-board-grid {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.allocation-row {
    position: relative;
    grid-column: 1 / -1;
    min-width: 0;
    --allocation-focus-color: #0284c7;
    --allocation-focus-shadow: rgba(2, 132, 199, 0.18);
}

.allocation-row.is-equipment-menu-open,
.allocation-row.is-work-status-menu-open {
    z-index: 160;
}

.allocation-row.is-focus-muted {
    --allocation-focus-color: #94a3b8;
    --allocation-focus-shadow: rgba(148, 163, 184, 0.2);
}

.allocation-row + .allocation-row {
    border-top: 2px solid #cbd5e1;
}

.allocation-group-title {
    position: relative;
    z-index: 30;
    grid-column: 1 / -1;
    min-height: 0.5rem;
    height: 0.5rem;
    border: 1px solid #cbd5e1;
    border-bottom: 0;
    background: #cbd5e1;
    padding: 0;
    color: #f8fafc;
}

.allocation-group-title span {
    display: none;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.allocation-group-title small {
    color: #cbd5e1;
    font-size: 0.72rem;
    font-weight: 600;
}

.allocation-group-title--queue {
    margin-top: 0.85rem;
}

.allocation-equipment-cell {
    position: absolute;
    z-index: 28;
    top: var(--allocation-equipment-top, 5px);
    left: 0.38rem;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 7.95rem;
    min-height: 3.9rem;
    border: 2px solid var(--allocation-focus-color, #0284c7);
    border-radius: 0.38rem;
    border-top-right-radius: 0;
    background: rgba(248, 250, 252, 0.88);
    padding: 0.48rem 0.56rem;
    text-align: left;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14);
    backdrop-filter: blur(4px);
    cursor: pointer;
}

.allocation-equipment-cell.is-equipment-menu-open {
    z-index: 170;
}

.allocation-equipment-reset {
    display: flex;
    min-width: 0;
    width: 100%;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
}

.allocation-equipment-reset:focus-visible {
    outline: none;
}

.allocation-equipment-cell:hover,
.allocation-equipment-cell:focus-visible {
    background: rgba(255, 255, 255, 0.96);
    outline: none;
}

.allocation-equipment-cell strong,
.allocation-equipment-cell small,
.allocation-equipment-cell span {
    display: block;
}

.allocation-equipment-type {
    color: #64748b;
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.allocation-equipment-cell strong {
    margin-top: 0.18rem;
    overflow: hidden;
    color: #0f172a;
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.18rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-equipment-cell small {
    margin-top: 0.3rem;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.1rem;
}

.allocation-equipment-cell--queue {
    background: #fbfdff;
}

.allocation-equipment-menu-wrap {
    position: absolute;
    right: 0.22rem;
    top: 0.22rem;
}

.allocation-equipment-menu-toggle {
    display: inline-flex;
    height: 1.38rem;
    width: 1.38rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.32rem;
    border: 1px solid rgba(148, 163, 184, 0.42);
    background: rgba(255, 255, 255, 0.86);
    color: #475569;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.allocation-equipment-menu-toggle:hover,
.allocation-equipment-menu-toggle:focus-visible {
    border-color: var(--allocation-focus-color, #0284c7);
    background: #ffffff;
    color: #0f172a;
    outline: none;
}

.allocation-equipment-menu-toggle svg {
    height: 0.85rem;
    width: 0.85rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.4;
}

.allocation-equipment-menu {
    position: absolute;
    top: calc(100% + 0.25rem);
    left: 0;
    z-index: 260;
    min-width: 13.5rem;
    max-height: 14rem;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 0.38rem;
    background: #ffffff;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
}

.allocation-equipment-menu-title,
.allocation-work-status-menu-title,
.allocation-menu-title {
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 0.48rem 0.7rem;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 0.9rem;
    text-transform: uppercase;
}

.allocation-menu-section {
    border-bottom: 1px solid #e2e8f0;
}

.allocation-menu-section:last-child {
    border-bottom: 0;
}

.allocation-menu-section--exception .allocation-menu-title {
    background: #fff7ed;
    color: #9a3412;
}

.allocation-menu-section--exception .allocation-action-menu-item:hover,
.allocation-menu-section--exception .allocation-action-menu-item:focus-visible {
    background: #fff7ed;
}

.allocation-menu-section + .allocation-equipment-menu-title,
.allocation-menu-section + .allocation-work-status-menu-title {
    border-top: 0;
}

.allocation-equipment-menu-item {
    display: block;
    width: 100%;
    padding: 0.55rem 0.7rem;
    text-align: left;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 650;
    line-height: 1.15rem;
    transition: background-color 120ms ease, color 120ms ease;
}

.allocation-equipment-menu-item + .allocation-equipment-menu-item {
    border-top: 1px solid #e2e8f0;
}

.allocation-equipment-menu-item:hover,
.allocation-equipment-menu-item:focus-visible {
    background: #f1f5f9;
    color: #0f172a;
    outline: none;
}

.allocation-move-menu-item,
.allocation-menu-item-with-icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.42rem;
}

.allocation-move-menu-item span {
    color: inherit;
    transform: none;
}

.allocation-move-menu-item > span {
    display: inline-flex;
    align-items: center;
}

.allocation-move-label {
    min-width: 0;
    flex: 0 1 auto;
    justify-content: flex-start;
    text-align: left;
}

.allocation-move-icon {
    display: inline-flex;
    height: 1.28rem;
    width: 1.28rem;
    flex: 0 0 1.28rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    color: #64748b;
}

.allocation-move-menu-item > .allocation-move-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.allocation-move-icon svg {
    display: block;
    height: 0.92rem;
    width: 0.92rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.allocation-move-icon circle {
    fill: currentColor;
    stroke: none;
}

.allocation-move-menu-item:hover .allocation-move-icon,
.allocation-move-menu-item:focus-visible .allocation-move-icon {
    border-color: #94a3b8;
    background: #e2e8f0;
    color: #334155;
}

.allocation-row.is-focus-muted .allocation-equipment-cell {
    background: #f1f5f9;
}

.allocation-row.is-focus-muted .allocation-equipment-reset strong,
.allocation-row.is-focus-muted .allocation-equipment-reset small,
.allocation-row.is-focus-muted .allocation-equipment-reset span {
    color: #64748b;
    opacity: 1;
}

.allocation-status-option {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid #dbe3ec;
    border-radius: 0.38rem;
    background: #ffffff;
    padding: 0.65rem 0.75rem;
    color: #334155;
    font-size: 0.88rem;
    font-weight: 650;
}

.allocation-status-option:hover {
    background: #f8fafc;
}

.allocation-status-option input {
    height: 1rem;
    width: 1rem;
    accent-color: #0284c7;
}

.allocation-lane {
    position: relative;
    display: flex;
    min-height: var(--allocation-lane-min-height, 11.55rem);
    gap: 0.65rem;
    overflow-x: auto;
    overflow-y: visible;
    overflow-anchor: none;
    scrollbar-width: none;
    border: 1px solid #dbe3ec;
    border-bottom: 0;
    background: #ffffff;
    padding: 0.75rem;
    transition: background-color 140ms ease, box-shadow 140ms ease;
    cursor: grab;
    user-select: none;
}

.allocation-lane-loader {
    display: inline-flex;
    flex: 0 0 16.5rem;
    align-self: center;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: var(--allocation-card-min-height, 9.89rem);
    border: 1px dashed #cbd5e1;
    border-radius: 0.5rem;
    background: linear-gradient(90deg, #f8fafc 0%, #ffffff 45%, #f1f5f9 100%);
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 700;
}

.allocation-lane-spinner {
    width: 1rem;
    height: 1rem;
    border: 2px solid #cbd5e1;
    border-top-color: #2563eb;
    border-radius: 999px;
    animation: allocationSpin 0.78s linear infinite;
}

.allocation-lane-loader-text {
    white-space: nowrap;
}

@keyframes allocationSpin {
    to {
        transform: rotate(360deg);
    }
}

.allocation-lane.is-panning,
.allocation-board-grid.is-panning-vertical {
    cursor: grabbing;
    user-select: none;
}

.allocation-lane::-webkit-scrollbar {
    display: none;
}

.allocation-lane::before,
.allocation-lane::after {
    content: "";
    pointer-events: none;
}

.allocation-lane::before {
    flex: 0 0 9.6rem;
}

.allocation-lane::after {
    flex: 0 0 calc(100% - 9.6rem);
    min-width: 16.8rem;
}

.allocation-lane.has-uncertainty-group::after {
    flex-basis: 0;
    min-width: 0;
}

.allocation-focus-connector {
    position: absolute;
    z-index: 27;
    top: var(--allocation-equipment-top, 5px);
    left: 0;
    display: none;
    width: 100%;
    height: 1rem;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
    shape-rendering: crispEdges;
}

.allocation-focus-connector rect,
.allocation-focus-connector polygon {
    fill: var(--allocation-focus-color, #0284c7);
    stroke: none;
}

.allocation-focus-connector.is-visible {
    display: block;
}

.allocation-focus-connector.is-focus-moving {
    z-index: 44;
}

.allocation-row-scroll {
    position: absolute;
    z-index: 26;
    bottom: 0.72rem;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #0f172a;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);
    transition: opacity 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

.allocation-row-scroll--left {
    left: 0.72rem;
}

.allocation-row-scroll--right {
    right: 0.72rem;
}

.allocation-row-scroll svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.allocation-row-scroll:hover,
.allocation-row-scroll:focus-visible {
    border-color: var(--allocation-focus-color, #0284c7);
    background: #ffffff;
    outline: none;
}

.allocation-row-scroll:disabled {
    opacity: 0.35;
    cursor: default;
}

.allocation-lane.is-drag-over {
    background: #f8fbff;
    box-shadow: inset 0 0 0 1px #93c5fd;
}

.allocation-lane.is-locked {
    background: #f8fafc;
}

.allocation-lane-empty {
    align-self: center;
    color: #94a3b8;
    font-size: 0.82rem;
    font-weight: 600;
}

.allocation-work-card {
    position: relative;
    z-index: 12;
    display: flex;
    flex-direction: column;
    flex: 0 0 var(--allocation-card-width, 24rem);
    width: var(--allocation-card-width, 24rem);
    min-height: var(--allocation-card-min-height, 9.89rem);
    border: 1px solid #cfd8e3;
    border-radius: 0.38rem;
    background: #ffffff;
    padding: 0.58rem 0.68rem;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
    cursor: grab;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.allocation-gap-card {
    flex: 0 0 var(--allocation-gap-space, 0.3rem);
    display: flex;
    width: var(--allocation-gap-space, 0);
    min-height: var(--allocation-card-min-height, 9.89rem);
    min-width: 0;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.18rem;
    pointer-events: none;
}

.allocation-focus-scroll-extra {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    min-height: var(--allocation-card-min-height, 9.89rem);
    align-self: stretch;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.allocation-uncertainty-gap-card {
    display: flex;
    flex: 0 0 8.5rem;
    width: 8.5rem;
    min-width: 8.5rem;
    min-height: var(--allocation-card-min-height, 9.89rem);
    align-self: stretch;
    align-items: center;
    justify-content: flex-end;
    gap: 0.38rem;
    color: #94a3b8;
    pointer-events: none;
}

.allocation-uncertainty-gap-card--main {
    flex-grow: 1;
    flex-shrink: 0;
    margin-left: 0;
}

.allocation-uncertainty-gap-card--compact {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    justify-content: center;
    gap: 0;
}

.allocation-uncertainty-gap-card--compact .allocation-uncertainty-dots {
    display: none;
}

.allocation-uncertainty-dots {
    display: inline-flex;
    align-items: center;
    gap: 0.27rem;
    line-height: 0;
}

.allocation-uncertainty-dots i {
    display: block;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 999px;
    background: #cbd5e1;
    font-size: 0;
    line-height: 0;
}

.allocation-uncertainty-question {
    margin: 0 0.22rem;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1;
}

.allocation-drop-preview {
    position: relative;
    flex: 0 0 var(--allocation-drop-preview-space, 0);
    width: var(--allocation-drop-preview-space, 0);
    min-height: var(--allocation-drop-preview-height, var(--allocation-card-min-height, 9.89rem));
    min-width: 0;
    align-self: stretch;
    overflow: visible;
    pointer-events: none;
}

.allocation-drop-preview.is-internal-card-snap {
    position: absolute;
    top: var(--allocation-drop-preview-overlay-top, 0);
    left: var(--allocation-drop-preview-overlay-left, 0);
    z-index: 30;
    flex: 0 0 auto;
    width: var(--allocation-drop-preview-overlay-width, 0);
}

.allocation-drop-preview.is-no-date-group-overlay {
    position: absolute;
    top: var(--allocation-drop-preview-overlay-top, 0);
    left: var(--allocation-drop-preview-overlay-left, 0);
    z-index: 31;
    flex: 0 0 auto;
    width: var(--allocation-drop-preview-overlay-width, 0);
}

.allocation-drop-preview.is-no-date-temporal-overlay {
    position: absolute;
    top: var(--allocation-drop-preview-overlay-top, 0);
    left: var(--allocation-drop-preview-overlay-left, 0);
    z-index: 31;
    flex: 0 0 auto;
    width: var(--allocation-drop-preview-overlay-width, 0);
}

.allocation-drop-preview.is-append-before-uncertainty-overlay {
    position: absolute;
    top: var(--allocation-drop-preview-overlay-top, 0);
    left: var(--allocation-drop-preview-overlay-left, 0);
    z-index: 31;
    flex: 0 0 auto;
    width: var(--allocation-drop-preview-overlay-width, 0);
}

.allocation-drop-preview-line {
    position: absolute;
    left: var(--allocation-drop-preview-line-left, 0);
    top: 50%;
    z-index: 6;
    width: 5px;
    height: var(--allocation-drop-preview-height, var(--allocation-drop-preview-line-height, 6.77rem));
    border-radius: 999px;
    background: #f97316;
    box-shadow: 0 10px 18px rgba(249, 115, 22, 0.22);
    transform: translateY(-50%);
}

.allocation-drop-preview-blocked-x {
    position: absolute;
    left: calc(var(--allocation-drop-preview-line-left, 0px) + 2.5px);
    top: 50%;
    z-index: 8;
    display: none;
    height: var(--allocation-drop-preview-height, var(--allocation-drop-preview-line-height, 6.77rem));
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    color: #a56b70;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
    transform: translate(-50%, -50%);
}

.allocation-drop-preview-blocked-x i {
    display: block;
    font-style: normal;
}

.allocation-drop-preview-marker {
    position: absolute;
    left: calc(var(--allocation-drop-preview-line-left, 0px) + 2.5px);
    top: calc(50% - (var(--allocation-drop-preview-height, var(--allocation-drop-preview-line-height, 6.77rem)) / 2) - 0.62rem);
    z-index: 7;
    width: 0;
    height: 0;
    border-right: 0.52rem solid transparent;
    border-left: 0.52rem solid transparent;
    border-top: 0.68rem solid #f97316;
    filter: drop-shadow(0 5px 8px rgba(249, 115, 22, 0.26));
    transform: translateX(-50%);
}

.allocation-drop-preview-date {
    position: absolute;
    left: calc(var(--allocation-drop-preview-line-left, 0px) + 2.5px);
    top: calc(50% - (var(--allocation-drop-preview-height, var(--allocation-drop-preview-line-height, 6.77rem)) / 2) - 2.08rem);
    z-index: 8;
    display: none;
    min-width: 4.9rem;
    justify-content: center;
    border: 1px solid #fb923c;
    border-radius: 999px;
    background: #fff7ed;
    color: #ea580c;
    padding: 0.16rem 0.42rem;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1rem;
    white-space: nowrap;
    box-shadow: 0 8px 16px rgba(249, 115, 22, 0.14);
    transform: translateX(-50%);
}

.allocation-drop-preview-date--portal {
    position: fixed;
    z-index: 10050;
    display: inline-flex;
    pointer-events: none;
}

.allocation-drop-preview-date--portal.is-ctrl-locked {
    border-color: #c084fc;
    background: #faf5ff;
    color: #7e22ce;
    box-shadow: 0 8px 16px rgba(168, 85, 247, 0.14);
}

.allocation-drop-preview-date--portal.is-no-date-group {
    border-color: #334155;
    background: #f8fafc;
    color: #0f172a;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.14);
}

.allocation-drop-preview-date--portal.is-blocked {
    border-color: #d7a3a8;
    background: #fff7f7;
    color: #9f5e65;
    box-shadow: 0 8px 16px rgba(163, 94, 101, 0.12);
}

.allocation-drop-preview.has-date-preview:not(.is-ctrl-locked) .allocation-drop-preview-date:not(.allocation-drop-preview-date--portal) {
    display: none;
}

.allocation-drop-preview.is-no-date-group .allocation-drop-preview-line {
    background: #334155;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.16);
}

.allocation-drop-preview.is-no-date-group .allocation-drop-preview-marker {
    border-top-color: #334155;
    filter: drop-shadow(0 5px 8px rgba(15, 23, 42, 0.18));
}

.allocation-drop-preview-dots {
    position: absolute;
    left: 0.72rem;
    top: 50%;
    z-index: 5;
    display: none;
    max-width: calc(var(--allocation-drop-preview-gap-space, 0px) - 0.9rem);
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.27rem;
    line-height: 0;
    transform: translateY(-50%);
}

.allocation-gap-card.is-preview-suppressed {
    display: none;
}

.allocation-drop-preview.has-gap-preview .allocation-drop-preview-dots {
    top: var(--allocation-drop-preview-dots-top, calc(50% - 0.6rem));
    left: 0;
    display: block;
    width: var(--allocation-drop-preview-gap-space, 0px);
    max-width: none;
    height: 0.3rem;
    transform: none;
}

.allocation-drop-preview-dots i {
    display: block;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 999px;
    background: #94a3b8;
}

.allocation-drop-preview.has-gap-preview .allocation-drop-preview-dots i {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
}

.allocation-drop-preview.has-gap-preview:not(.is-ctrl-locked):not(.is-blocked) .allocation-drop-preview-dots i {
    background: #f0b98d;
}

.allocation-drop-preview.has-gap-preview.is-ctrl-locked .allocation-drop-preview-dots i {
    background: #a855f7;
}

.allocation-drop-preview-gap-label {
    position: absolute;
    left: 0;
    top: calc(var(--allocation-drop-preview-dots-top, calc(50% - 0.6rem)) + 0.48rem);
    z-index: 5;
    display: none;
    width: var(--allocation-drop-preview-gap-space, 0px);
    color: #c18155;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 0.72rem;
    text-align: center;
    white-space: nowrap;
}

.allocation-drop-preview-gap-label.is-visible {
    display: block;
}

.allocation-drop-preview.is-ctrl-locked .allocation-drop-preview-gap-label {
    color: #8b5cf6;
}

.allocation-drop-preview.is-blocked .allocation-drop-preview-gap-label {
    color: #a56b70;
}

.allocation-drop-preview.is-blocked .allocation-drop-preview-line {
    background: #c98d94;
    box-shadow: 0 10px 18px rgba(156, 91, 99, 0.16);
}

.allocation-drop-preview.is-blocked .allocation-drop-preview-blocked-x {
    display: flex;
}

.allocation-drop-preview.is-blocked .allocation-drop-preview-marker {
    border-top-color: #c98d94;
    filter: drop-shadow(0 5px 8px rgba(156, 91, 99, 0.18));
}

.allocation-drop-preview.is-gap-snap .allocation-drop-preview-line {
    transform: translate(-50%, -50%);
}

.allocation-drop-preview.is-internal-card-snap .allocation-drop-preview-line {
    transform: translate(-50%, -50%);
}

.allocation-drop-preview.is-gap-snap .allocation-drop-preview-marker {
    left: var(--allocation-drop-preview-line-left, 0);
}

.allocation-drop-preview.is-internal-card-snap .allocation-drop-preview-marker {
    left: var(--allocation-drop-preview-line-left, 0);
}

.allocation-drop-preview.is-ctrl-locked .allocation-drop-preview-line {
    background: #a855f7;
    box-shadow: 0 10px 18px rgba(168, 85, 247, 0.2);
    transform: translate(-50%, -50%);
}

.allocation-drop-preview.is-ctrl-locked .allocation-drop-preview-marker {
    left: var(--allocation-drop-preview-line-left, 0);
    border-top-color: #a855f7;
    filter: drop-shadow(0 5px 8px rgba(168, 85, 247, 0.24));
}

.allocation-gap-card.is-allocation-hidden {
    display: none;
}

.allocation-work-card > .allocation-card-gap {
    display: none;
}

.allocation-gap-dots {
    display: flex;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.27rem;
    line-height: 0;
    overflow: hidden;
}

.allocation-gap-dots i {
    display: block;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 999px;
    background: #94a3b8;
}

.allocation-gap-label {
    color: #64748b;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 0.72rem;
    text-align: center;
    white-space: nowrap;
}

.allocation-work-card:hover,
.allocation-work-card:focus-within {
    z-index: 20;
    border-color: #9fb3c8;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

.allocation-work-card.is-work-status-menu-open {
    z-index: 240;
}

.allocation-work-card.is-current {
    border-color: var(--allocation-focus-color, #0284c7);
    box-shadow: 0 0 0 2px var(--allocation-focus-color, #0284c7), 0 14px 28px rgba(15, 23, 42, 0.1);
}

.allocation-work-card.is-focus-reordering-front {
    z-index: 24;
}

.allocation-work-card.is-focus-reordering-behind {
    z-index: 8;
    pointer-events: none;
}

.allocation-work-card.is-current.is-focus-leaving {
    border-color: transparent;
    box-shadow: 0 0 0 2px transparent, 0 10px 22px rgba(15, 23, 42, 0.04);
}

.allocation-work-card.is-current.is-focus-arriving {
    animation: allocationFocusArrive 180ms ease-out both;
}

.allocation-work-card.is-schedule-conflict {
    border-color: #ef4444;
    box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.62);
}

@keyframes allocationFocusArrive {
    from {
        border-color: transparent;
        box-shadow: 0 0 0 2px transparent, 0 10px 22px rgba(15, 23, 42, 0.04);
    }
    to {
        border-color: var(--allocation-focus-color, #0284c7);
        box-shadow: 0 0 0 2px var(--allocation-focus-color, #0284c7), 0 14px 28px rgba(15, 23, 42, 0.1);
    }
}

.allocation-work-card.is-current::before {
    content: none;
    display: none;
}

.allocation-work-card.is-locked {
    cursor: default;
}

.allocation-work-card.is-dragging {
    opacity: 0.5;
    transform: none;
}

.allocation-work-card.is-dragging.is-ctrl-dragging,
.allocation-work-card.is-dragging.is-date-preview-dragging,
.allocation-work-card.is-dragging.is-no-date-preview-dragging {
    opacity: 1;
}

.allocation-work-card.is-dragging.is-ctrl-dragging > *,
.allocation-work-card.is-dragging.is-date-preview-dragging > *,
.allocation-work-card.is-dragging.is-no-date-preview-dragging > * {
    opacity: 0.5;
}

.allocation-work-card.is-dragging.is-ctrl-dragging .allocation-card-date-group--start,
.allocation-work-card.is-dragging.is-ctrl-dragging .allocation-card-date-group--start *,
.allocation-work-card.is-dragging.is-date-preview-dragging .allocation-card-date-group--start,
.allocation-work-card.is-dragging.is-date-preview-dragging .allocation-card-date-group--start *,
.allocation-work-card.is-dragging.is-no-date-preview-dragging .allocation-card-date-group--start,
.allocation-work-card.is-dragging.is-no-date-preview-dragging .allocation-card-date-group--start * {
    opacity: 1;
}

.allocation-work-card.is-dragging.is-ctrl-dragging .allocation-card-date-group--start > span,
.allocation-work-card.is-dragging.is-ctrl-dragging .allocation-card-date-group--start .allocation-date-button,
.allocation-work-card.is-dragging.is-date-preview-dragging .allocation-card-date-group--start > span,
.allocation-work-card.is-dragging.is-date-preview-dragging .allocation-card-date-group--start .allocation-date-button {
    display: inline-flex;
    align-items: center;
    border: 1px solid #c084fc;
    border-radius: 999px;
    padding: 0 0.26rem;
    border-color: #c084fc;
    background: #faf5ff;
    color: #7e22ce;
    box-shadow: 0 0 0 1px rgba(192, 132, 252, 0.24);
}

.allocation-work-card.is-dragging.is-no-date-preview-dragging .allocation-card-date-group--start > span,
.allocation-work-card.is-dragging.is-no-date-preview-dragging .allocation-card-date-group--start .allocation-date-button {
    display: inline-flex;
    align-items: center;
    border: 1px solid #334155;
    border-radius: 999px;
    padding: 0 0.26rem;
    background: #f8fafc;
    color: #0f172a;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.14);
}

.allocation-work-card.is-allocation-hidden {
    display: none;
}

.allocation-work-card[data-timeline-side="before"] > * {
    opacity: 0.5;
}

.allocation-work-card[data-timeline-side="after"] > * {
    opacity: 0.75;
}

.allocation-work-card.is-current > * {
    opacity: 1;
}

.allocation-work-card.is-allocation-executed > * {
    opacity: 0.52;
}

.allocation-work-status-toggle--completed {
    border-color: #a8d8bd !important;
    background: none !important;
    background-color: #f3fbf6 !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #2f7a55 !important;
}

.allocation-work-status-toggle--completed:hover,
.allocation-work-status-toggle--completed:focus-visible {
    border-color: #95cdaa !important;
    background: none !important;
    background-color: #eef8f2 !important;
    background-image: none !important;
    color: #2f7a55 !important;
    filter: none;
}

.allocation-work-status-toggle--completed span {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #2f7a55 !important;
}

.allocation-load-more-card {
    flex: 0 0 6.7rem;
    width: 6.7rem;
    min-height: var(--allocation-drop-preview-line-height, 6.77rem);
    border: 1px dashed #b8c7d8;
    border-radius: 0.38rem;
    background: #f8fafc;
    color: #334155;
    padding: 0.55rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.1rem;
    text-align: center;
    text-transform: uppercase;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.allocation-load-more-card:hover,
.allocation-load-more-card:focus-visible {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #0f172a;
}

.allocation-work-card-top,
.allocation-work-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}

.allocation-work-card-top {
    overflow: visible;
}

.allocation-work-footer {
    margin-top: auto;
}

.allocation-work-card-title-actions {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.28rem;
}

.allocation-work-code {
    min-width: 0;
    overflow: hidden;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.allocation-work-status-wrap {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.allocation-work-status-toggle {
    gap: 0.22rem;
    appearance: none;
    line-height: 1rem;
    transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

.allocation-work-status-toggle:hover,
.allocation-work-status-toggle:focus-visible {
    outline: none;
    filter: saturate(1.05);
}

.allocation-status-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72em;
    line-height: 1;
    transform-origin: center;
    transition: transform 120ms ease;
}

.allocation-work-status-toggle.is-open .allocation-status-chevron {
    transform: rotate(90deg);
}

.allocation-work-status-menu {
    position: absolute;
    top: calc(100% + 0.25rem);
    right: 0;
    z-index: 260;
    min-width: 12.5rem;
    max-height: 13.5rem;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 0.38rem;
    background: #ffffff;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
}

.allocation-work-status-menu.is-portaled {
    position: fixed;
    z-index: 10000;
}

.allocation-work-status-menu-item {
    display: block;
    width: 100%;
    padding: 0.55rem 0.7rem;
    text-align: left;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 650;
    line-height: 1.15rem;
    transition: background-color 120ms ease, color 120ms ease;
}

.allocation-work-status-menu-item + .allocation-work-status-menu-item {
    border-top: 1px solid #e2e8f0;
}

.allocation-work-status-menu-item:hover,
.allocation-work-status-menu-item:focus-visible {
    background: #f1f5f9;
    color: #0f172a;
    outline: none;
}

.allocation-action-menu-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
}

.allocation-action-menu-label {
    min-width: 0;
    color: inherit;
}

.allocation-action-menu-icon {
    display: inline-flex;
    height: 1.25rem;
    width: 1.25rem;
    flex: 0 0 1.25rem;
    align-items: center;
    justify-content: center;
    color: #64748b;
}

.allocation-action-menu-icon svg {
    display: block;
    height: 1rem;
    width: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.allocation-action-menu-icon--running {
    color: #0369a1;
}

.allocation-action-menu-icon--paused {
    color: #b45309;
}

.allocation-action-menu-icon--planned {
    color: #a16207;
}

.allocation-action-menu-icon--negotiation {
    color: #475569;
}

.allocation-action-menu-icon--cancelled {
    color: #be123c;
}

.allocation-action-menu-icon--completed {
    color: #047857;
}

.allocation-action-menu-icon--archived,
.allocation-action-menu-icon--unarchive {
    color: #64748b;
}

.allocation-action-menu-icon--patio {
    color: #0f766e;
}

.allocation-action-menu-icon--transport {
    color: #2563eb;
}

.allocation-action-menu-icon--workshop {
    color: #92400e;
}

.allocation-work-identity {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
    margin-top: 0.38rem;
    line-height: 1.15rem;
}

.allocation-work-identity span {
    flex: 0 1 auto;
    max-width: 40%;
    min-width: 0;
    overflow: hidden;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-work-identity strong {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-work-place {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
    margin-top: 0.2rem;
    color: #475569;
    font-size: 0.76rem;
    line-height: 1.05rem;
}

.allocation-work-place span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-work-place strong {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 700;
    white-space: nowrap;
}

.allocation-work-place--location-spacer {
    visibility: hidden;
}

.allocation-card-progress {
    margin-top: 0.38rem;
}

.allocation-work-card.is-location .allocation-card-progress {
    position: relative;
    margin-top: 0.38rem;
    padding-top: 0;
}

.allocation-work-card.is-location .allocation-card-progress::before {
    content: "";
    display: block;
    height: 0.5rem;
}

.allocation-card-progress .work-progress-track {
    margin-top: 0 !important;
}

.allocation-location-status-badge {
    display: inline-flex;
    position: absolute;
    top: -0.5rem;
    right: 0;
    left: 0;
    width: 100%;
    height: 1rem;
    min-height: 1rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #94a3b8;
    padding: 0 0.42rem;
    font-size: 0.56rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.allocation-card-dates {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    margin-top: 0.14rem;
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1rem;
}

.allocation-card-date-group {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.22rem;
    overflow: hidden;
}

.allocation-card-date-group--start {
    flex: 1 1 auto;
    justify-content: flex-start;
}

.allocation-card-date-group--end {
    flex: 0 1 auto;
    justify-content: flex-end;
    text-align: right;
}

.allocation-card-date-group > span,
.allocation-date-button {
    min-width: 0;
    overflow: hidden;
    line-height: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-card-dates .is-real {
    color: #0f172a;
    font-weight: 700;
}

.allocation-card-dates .is-planned {
    color: #94a3b8;
    font-weight: 400;
}

.allocation-date-button {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #ffffff;
    padding: 0 0.26rem;
    font: inherit;
    cursor: pointer;
    transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease;
}

.allocation-date-button:hover,
.allocation-date-button:focus-visible {
    border-color: #9fb3c8;
    background: #f8fafc;
    color: #64748b;
    outline: none;
}

.allocation-card-date-group > span.is-client-window-ok,
.allocation-card-date-group > span.is-client-window-warning,
.allocation-card-date-group > span.is-client-unknown,
.allocation-card-date-group > span.is-schedule-conflict {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    padding: 0 0.26rem;
}

.allocation-card-date-group > span.is-client-window-ok,
.allocation-date-button.is-client-window-ok {
    border-color: #86efac;
    color: #047857;
}

.allocation-card-date-group > span.is-client-window-warning,
.allocation-date-button.is-client-window-warning,
.allocation-card-date-group > span.is-client-unknown,
.allocation-date-button.is-client-unknown,
.allocation-date-button.is-no-date-start {
    gap: 0.18rem;
}

.allocation-date-button.is-no-date-start {
    border-color: #dbe4ef;
    background: #ffffff;
    color: #64748b;
}

.allocation-card-date-group > span.is-schedule-conflict,
.allocation-date-button.is-schedule-conflict {
    border-color: #dc2626;
    background: #dc2626;
    color: #ffffff;
}

.allocation-date-button.is-schedule-conflict:hover,
.allocation-date-button.is-schedule-conflict:focus-visible {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #ffffff;
}

.allocation-date-marker {
    display: inline-flex;
    flex: 0 0 auto;
    width: 0.72rem;
    height: 0.72rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 900;
    line-height: 1;
}

.allocation-date-marker--warning {
    background: #fee2e2;
    color: #dc2626;
}

.allocation-date-marker--unknown {
    background: transparent;
    color: #111827;
}

.allocation-date-popover {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10040;
    width: min(25.5rem, calc(100vw - 1.5rem));
    max-width: calc(100vw - 1.5rem);
    transition: left 180ms ease, width 180ms ease;
}

.allocation-date-popover.is-opening {
    transition: none;
}

.allocation-date-popover.is-client-window-tab {
    width: min(34rem, calc(100vw - 1.5rem));
}

.allocation-date-popover.hidden {
    display: none;
}

.allocation-date-popover::before {
    content: "";
    position: absolute;
    left: var(--allocation-date-popover-arrow-left, 1.5rem);
    top: -0.42rem;
    width: 0.78rem;
    height: 0.78rem;
    border-left: 1px solid #cbd5e1;
    border-top: 1px solid #cbd5e1;
    background: #ffffff;
    transform: rotate(45deg);
}

.allocation-date-popover-card {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-color: #cbd5e1 !important;
    border-radius: 0.5rem !important;
    transition: height 180ms ease;
}

.allocation-date-tabs {
    display: flex;
    gap: 0.18rem;
    margin: -0.55rem -0.75rem 1rem;
    border: 1px solid #dbe3ec;
    border-radius: 0.45rem;
    background: #eef3f8;
    padding: 0.18rem;
}

.allocation-date-tabs.hidden,
.allocation-date-popover [data-allocation-date-panel].hidden {
    display: none;
}

.allocation-date-tab {
    flex: 1 1 0;
    min-width: 0;
    border: 1px solid transparent;
    border-radius: 0.34rem;
    background: transparent;
    overflow: hidden;
    padding: 0.48rem 0.46rem;
    color: #51637b;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.allocation-date-tab:hover,
.allocation-date-tab:focus-visible {
    background: #eef3f8;
    color: #334155;
    outline: none;
}

.allocation-date-tab.is-active {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.allocation-date-popover [data-allocation-date-label] {
    display: block;
    margin: -1rem -1.25rem 0;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 0.48rem 0.7rem;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 0.9rem;
    text-transform: uppercase;
}

.allocation-date-tabs:not(.hidden) ~ [data-allocation-date-panel="maggi"] [data-allocation-date-label] {
    margin-top: 0;
    border: 0;
    background: transparent;
    padding: 0;
    font-weight: 700;
    text-align: center;
}

.allocation-client-window-toggle {
    box-sizing: border-box;
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    gap: 0.5rem;
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #dbe3ec;
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0 0.72rem;
    color: #64748b;
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

.allocation-date-popover [data-allocation-date-panel="cliente"] {
    text-align: center;
}

.allocation-date-popover [data-allocation-date-panel="maggi"] {
    text-align: center;
}

.allocation-define-date-toggle {
    margin-right: auto;
    margin-left: auto;
}

.allocation-define-date-toggle.hidden,
.allocation-date-popover [data-allocation-date-fields].hidden,
.allocation-date-no-date.hidden {
    display: none;
}

.allocation-client-window-toggle input {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    appearance: none;
    border: 1px solid #cbd5e1;
    border-radius: 0.25rem;
    background-color: #ffffff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 0.72rem 0.72rem;
    cursor: pointer;
    transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.allocation-client-window-toggle input:checked {
    border-color: #2563eb;
    background-color: #2563eb;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 8.2 6.6 11.2 12.8 4.8' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.allocation-client-window-toggle input:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.45);
}

.allocation-client-window-toggle span {
    min-width: 0;
    line-height: 1;
}

.allocation-client-window-fields {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    gap: 1rem;
    margin-top: 0.62rem;
}

.allocation-client-window-fields.hidden {
    display: none;
}

.allocation-client-window-fields label {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-direction: column;
    gap: 0.08rem;
}

.allocation-client-window-fields span {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.allocation-client-window-fields label:has(input:disabled) {
    opacity: 0.55;
}

.allocation-client-window-fields input:disabled,
.allocation-client-window-fields .erp-date-control:has(input:disabled) {
    background: #f8fafc;
    color: #94a3b8;
}

.allocation-client-window-fields .datepickermaggiERP {
    width: fit-content;
    margin: 0;
}

.allocation-date-popover [data-allocation-date-panel="maggi"] .datepickermaggiERP {
    margin-top: 0.55rem;
}

.allocation-date-tabs:not(.hidden) ~ [data-allocation-date-panel="maggi"] [data-allocation-date-fields] {
    margin-top: 0.65rem;
}

.allocation-date-no-date {
    display: flex;
    width: fit-content;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    margin-top: 0.55rem;
    margin-right: auto;
    margin-left: auto;
    border: 1px dashed #cbd5e1;
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0 1.1rem;
    color: #64748b;
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1;
}

.allocation-date-popover .allocation-client-window-fields .datepickermaggiERP {
    margin-top: 0.14rem;
}

.allocation-client-window-fields .datepickermaggiERP-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.allocation-location-note {
    margin-top: 0.6rem;
    border-radius: 0.35rem;
    background: #f8fafc;
    padding: 0.6rem 0.7rem;
}

.allocation-location-note span,
.allocation-location-note strong {
    display: block;
}

.allocation-location-note span {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.allocation-location-note strong {
    margin-top: 0.22rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.12rem;
}

.allocation-magnets {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.25rem;
    margin-top: 3px;
}

.allocation-team-strip {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    gap: 0.25rem;
    margin-top: 6px;
}

.allocation-magnet {
    position: relative;
    display: inline-flex;
    width: 4.8rem;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    padding: 0 0.45rem;
    overflow: visible;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.allocation-team-person-label {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-team-strip .allocation-magnets {
    margin-top: 0;
}

.allocation-team-row {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    gap: 0.25rem;
}

.allocation-team-slot {
    position: relative;
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.25rem;
    border-radius: 999px;
}

.allocation-team-slot--helpers {
    flex: 1 1 auto;
    margin-left: 2px;
}

.allocation-team-row--menu {
    margin-top: 0;
}

.allocation-team-row--menu .allocation-team-slot--helpers {
    padding-left: 0.62rem;
}

.allocation-team-row--menu .allocation-team-slot--helpers::before {
    content: "|";
    position: absolute;
    left: 0;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.42rem;
    color: #94a3b8;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
    z-index: 2;
}

.allocation-team-row--menu .allocation-team-slot--helpers > * {
    position: relative;
    z-index: 1;
}

.allocation-team-placeholder-badge {
    display: inline-flex;
    width: 4.8rem;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #ffffff;
    color: #94a3b8;
    padding: 0 0.42rem;
    overflow: hidden;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-magnet:nth-child(2n) {
    border-color: #bbf7d0;
    background: #dcfce7;
    color: #166534;
}

.allocation-magnet:nth-child(3n) {
    border-color: #fde68a;
    background: #fef3c7;
    color: #92400e;
}

.allocation-team-person.team-color-1 {
    border-color: #bfdbfe;
    background: #e0f2fe;
    color: #075985;
}

.allocation-team-person.team-color-2 {
    border-color: #bbf7d0;
    background: #dcfce7;
    color: #166534;
}

.allocation-team-person.team-color-3 {
    border-color: #fde68a;
    background: #fef3c7;
    color: #92400e;
}

.allocation-team-person.team-color-4 {
    border-color: #fed7aa;
    background: #ffedd5;
    color: #9a3412;
}

.allocation-team-person.team-color-5 {
    border-color: #ddd6fe;
    background: #ede9fe;
    color: #5b21b6;
}

.allocation-team-person.team-color-6 {
    border-color: #e9d5ff;
    background: #f3e8ff;
    color: #7e22ce;
}

.allocation-team-person.team-color-7 {
    border-color: #fbcfe8;
    background: #fce7f3;
    color: #be185d;
}

.allocation-team-person.team-color-8 {
    border-color: #99f6e4;
    background: #ccfbf1;
    color: #0f766e;
}

.allocation-work-card[data-allocation-terminal="1"] .allocation-magnet,
.allocation-work-card[data-allocation-terminal="1"] .allocation-magnet:nth-child(2n),
.allocation-work-card[data-allocation-terminal="1"] .allocation-magnet:nth-child(3n) {
    border-color: #cbd5e1;
    background: #eef2f7;
    color: #64748b;
    font-weight: 700;
}

.allocation-work-muted {
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 400;
}

.allocation-work-link,
.allocation-team-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    width: 1.08rem;
    height: 1.08rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    color: #64748b;
    text-decoration: none;
    transition: border-color 140ms ease, color 140ms ease, background-color 140ms ease;
}

.allocation-work-link svg,
.allocation-team-toggle svg {
    width: 0.72rem;
    height: 0.72rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.allocation-work-link:hover,
.allocation-team-toggle:hover,
.allocation-team-toggle:focus-visible {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #334155;
    outline: none;
}

.allocation-team-menu {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.35rem);
    z-index: 260;
    width: min(27rem, calc(100vw - 1rem));
    max-height: 28rem;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 0.42rem;
    background: #ffffff;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
}

.allocation-team-menu.is-portaled {
    position: fixed;
    z-index: 10020;
}

[data-allocation-team-conflict-modal] {
    z-index: 10080;
}

.allocation-team-menu-assigned {
    min-height: 2rem;
    padding: 0.42rem 0.58rem;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
}

.allocation-team-role-separator {
    display: inline-flex;
    align-items: center;
    align-self: stretch;
    justify-content: center;
    width: 0.52rem;
    color: #94a3b8;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

.allocation-team-menu-assigned.is-drop-target {
    background: #eff6ff;
}

.allocation-team-menu-assigned.is-drop-full {
    background: #fff1f2;
}

.allocation-team-slot.is-drop-target {
    min-height: 1.55rem;
    outline: 2px solid #38bdf8;
    outline-offset: 2px;
    background: rgba(239, 246, 255, 0.78);
}

.allocation-team-slot.is-drop-full {
    min-height: 1.55rem;
    outline: 2px solid #f43f5e;
    outline-offset: 2px;
    background: rgba(255, 241, 242, 0.82);
}

.allocation-team-row--menu .allocation-team-slot--helpers.is-drop-target,
.allocation-team-row--menu .allocation-team-slot--helpers.is-drop-full {
    outline: none;
    background: transparent;
}

.allocation-team-row--menu .allocation-team-slot--helpers.is-drop-target::after,
.allocation-team-row--menu .allocation-team-slot--helpers.is-drop-full::after {
    content: "";
    position: absolute;
    top: -0.17rem;
    right: -0.17rem;
    bottom: -0.17rem;
    left: 0.62rem;
    border: 2px solid #38bdf8;
    border-radius: 999px;
    background: rgba(239, 246, 255, 0.78);
    pointer-events: none;
    z-index: 0;
}

.allocation-team-row--menu .allocation-team-slot--helpers.is-drop-full::after {
    border-color: #f43f5e;
    background: rgba(255, 241, 242, 0.82);
}

.allocation-magnets[data-allocation-team-card-row].is-drop-target {
    outline: 2px solid #38bdf8;
    outline-offset: 2px;
    border-radius: 999px;
    background: rgba(239, 246, 255, 0.78);
}

.allocation-magnets[data-allocation-team-card-row].is-drop-full {
    outline: 2px solid #f43f5e;
    outline-offset: 2px;
    border-radius: 999px;
    background: rgba(255, 241, 242, 0.82);
}

.allocation-team-tabs {
    display: flex;
    gap: 0.4rem;
    padding: 0.42rem 0.5rem 0;
    border-bottom: 1px solid #dbe3ec;
}

.allocation-team-tabs .allocation-team-tab {
    min-height: 1.95rem;
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    padding: 0.34rem 0.66rem;
    font-size: 0.78rem;
}

.allocation-team-tabs .allocation-team-tab:hover,
.allocation-team-tabs .allocation-team-tab:focus-visible,
.allocation-team-tabs .allocation-team-tab.is-active {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.allocation-team-tabs .allocation-team-tab.is-active {
    border-color: rgba(183, 192, 203, 0.95);
    background: #fff;
    color: #0f172a;
    box-shadow: none;
    transform: translateY(1px);
    z-index: 2;
}

.allocation-team-panel {
    max-height: 20rem;
    overflow-y: auto;
    padding-bottom: 0.55rem;
}

.allocation-team-panel.hidden {
    display: none;
}

.allocation-team-pool {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.58rem 0.7rem 0.7rem;
    border-radius: 0.38rem;
}

.allocation-team-pool.is-drop-target {
    outline: 2px solid #38bdf8;
    outline-offset: -0.2rem;
    background: rgba(239, 246, 255, 0.78);
}

.allocation-team-panel .allocation-menu-title {
    position: sticky;
    top: 0;
}

.allocation-team-history-row {
    display: grid;
    grid-template-columns: minmax(4.6rem, 7rem) minmax(8rem, 1fr);
    gap: 0.55rem;
    align-items: center;
    padding: 0.58rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
}

.allocation-team-history-name {
    overflow: hidden;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-team-history-bar {
    position: relative;
    height: 0.5rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef5;
}

.allocation-team-history-bar span {
    position: absolute;
    top: 0;
    bottom: 0;
    border-radius: 999px;
    background: #38bdf8;
}

.allocation-team-empty-history {
    margin: 0;
    padding: 0.9rem 0.7rem;
    color: #94a3b8;
    font-size: 0.78rem;
    font-weight: 500;
}

@media (max-width: 900px) {
    .allocation-board-header {
        flex-direction: column;
    }

    .allocation-board-summary {
        justify-content: flex-start;
        min-width: 0;
        width: 100%;
    }

    .allocation-board-header-tools {
        justify-content: flex-start;
        width: 100%;
    }

    .allocation-board-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .allocation-equipment-cell {
        border-right: 1px solid #dbe3ec;
    }

    .allocation-lane {
        border-top: 0;
    }
}

@media (min-width: 1024px) {
    .estacas-obra-summary-grid {
        grid-template-columns: minmax(0, 1.264fr) minmax(182px, 0.64fr) repeat(2, minmax(153px, 0.522fr));
    }
}

@media (min-width: 1280px) {
    .estacas-obra-header-grid {
        grid-template-columns: minmax(0, 1fr) 320px;
    }
}

.sheet-shell {
    border: 1px solid rgba(203, 209, 216, 0.95);
    background: #fff;
}

.sheet-shell .erp-table-compact td,
.sheet-shell .erp-table-compact th {
    white-space: nowrap;
}

.sheet-grid-shell {
    --sheet-readonly-cell-bg: var(--sheet-subrecord-row-bg, #f1f4f7);
    --sheet-inline-editor-font-size: var(--sheet-cell-font-size, var(--erp-table-cell-font-size));
    --sheet-inline-editor-line-height: var(--sheet-cell-line-height, var(--erp-table-cell-line-height));
    background: #fff;
}

.sheet-grid-scroll {
    overflow-x: auto;
    overflow-y: visible;
}

.erp-table-sheet {
    border-collapse: separate;
    border-spacing: 0;
    width: max-content;
    min-width: 100%;
    table-layout: fixed;
}

.erp-table-sheet thead th {
    position: sticky;
    z-index: 8;
    background: var(--erp-table-header-bg);
}

.sheet-head-row-1 th {
    top: 0;
}

.sheet-head-row-2 th {
    top: 2.1rem;
}

.sheet-head-row-3 th {
    top: 4.2rem;
}

.sheet-head-cell {
    padding: var(--erp-table-header-padding);
    border-bottom: 1px solid var(--sheet-grid-line);
    border-right: 1px solid var(--sheet-grid-line);
    background: var(--erp-table-header-bg);
    color: var(--erp-table-header-fg);
    font-size: var(--erp-table-header-font-size);
    letter-spacing: var(--erp-table-header-letter-spacing);
    text-transform: uppercase;
    font-weight: var(--erp-table-header-font-weight);
    line-height: var(--erp-table-header-line-height);
    white-space: nowrap;
}

.sheet-head-group {
    background: var(--erp-table-header-bg);
    text-align: center;
}

.sheet-head-sticky {
    left: 0;
    z-index: 10 !important;
    box-shadow: 4px 0 0 var(--sheet-grid-line);
}

.sheet-grid-cell {
    position: relative;
    padding: var(--erp-table-cell-padding);
    border-bottom: 1px solid rgba(203, 209, 216, 0.86);
    border-right: 1px solid var(--sheet-grid-line);
    font-size: var(--erp-table-cell-font-size);
    line-height: var(--erp-table-cell-line-height);
    color: var(--erp-table-cell-fg);
    background: var(--erp-table-row-bg);
    vertical-align: middle;
    outline: none;
}

.sheet-grid-cell[data-editable="1"] {
    cursor: text;
}

.sheet-grid-cell[data-editable="0"] {
    background: var(--sheet-readonly-cell-bg);
}

.sheet-grid-cell.sheet-cell-active {
    box-shadow: inset 0 0 0 1px #0e1526;
    z-index: 4;
}

.sheet-identity-cell.sheet-cell-active {
    box-shadow: inset 0 0 0 1px #0e1526, 4px 0 0 var(--sheet-grid-line);
}

.sheet-grid-cell.sheet-cell-editing {
    padding: 0.24rem 0.52rem;
}

.sheet-grid-cell.sheet-cell-saving::after {
    content: "";
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    width: 0.28rem;
    height: 0.28rem;
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.72);
    pointer-events: none;
}

.sheet-grid-cell.has-save-error::after {
    content: "";
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    width: 0.32rem;
    height: 0.32rem;
    border-radius: 999px;
    background: rgba(220, 38, 38, 0.78);
    pointer-events: none;
}

.sheet-save-retry-cell {
    position: absolute;
    right: 0.18rem;
    bottom: 0.14rem;
    z-index: 7;
    width: 1rem;
    height: 1rem;
    border: 1px solid rgba(220, 38, 38, 0.48);
    border-radius: 999px;
    background: rgba(255, 241, 242, 0.96);
    color: #b91c1c;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.sheet-save-retry-cell:hover {
    border-color: rgba(185, 28, 28, 0.72);
    background: #ffe4e6;
}

.sheet-save-queue-summary {
    margin-top: 0.35rem;
    min-height: 1.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 0.45rem;
    background: rgba(248, 250, 252, 0.96);
    color: #475569;
    font-size: 0.75rem;
    line-height: 1.15;
    padding: 0.28rem 0.45rem;
}

.sheet-save-queue-summary.hidden {
    display: none;
}

.sheet-save-queue-summary.has-pending {
    border-color: rgba(14, 165, 233, 0.38);
    background: rgba(240, 249, 255, 0.94);
    color: #075985;
}

.sheet-save-queue-summary.has-errors {
    border-color: rgba(244, 63, 94, 0.38);
    background: rgba(255, 241, 242, 0.94);
    color: #9f1239;
}

.sheet-save-queue-action {
    border: 1px solid rgba(244, 63, 94, 0.45);
    border-radius: 0.35rem;
    background: rgba(255, 255, 255, 0.9);
    color: #9f1239;
    font: inherit;
    font-weight: 600;
    line-height: 1;
    padding: 0.22rem 0.4rem;
    cursor: pointer;
}

.sheet-save-queue-action:hover {
    background: #ffe4e6;
}

.sheet-dependent-updating,
.sheet-dependent-pending,
.sheet-dependent-confirmed {
    position: relative;
}

.sheet-dependent-updating {
    box-shadow: inset 0 0 0 1px rgba(14, 165, 233, 0.18);
}

.sheet-dependent-pending {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.2);
}

.sheet-dependent-updating::after,
.sheet-dependent-pending::after,
.sheet-dependent-confirmed::after {
    position: absolute;
    top: 0.35rem;
    right: 0.55rem;
    z-index: 8;
    border: 1px solid rgba(14, 165, 233, 0.32);
    border-radius: 0.35rem;
    background: rgba(240, 249, 255, 0.94);
    color: #075985;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.22rem 0.38rem;
    pointer-events: none;
}

.sheet-dependent-updating::after {
    content: "Atualizando...";
}

.sheet-dependent-pending::after {
    content: "Pendente";
    border-color: rgba(245, 158, 11, 0.32);
    background: rgba(255, 251, 235, 0.95);
    color: #92400e;
}

.sheet-dependent-confirmed::after {
    content: "Atualizado";
    border-color: rgba(34, 197, 94, 0.32);
    background: rgba(240, 253, 244, 0.95);
    color: #166534;
}

.sheet-cell-value {
    min-height: 1.2rem;
    display: flex;
    align-items: center;
}

.sheet-align-right .sheet-cell-value,
.sheet-align-right {
    text-align: right;
    justify-content: flex-end;
}

.sheet-align-center .sheet-cell-value,
.sheet-align-center {
    text-align: center;
    justify-content: center;
}

.sheet-align-left .sheet-cell-value,
.sheet-align-left {
    text-align: left;
    justify-content: flex-start;
}

.sheet-cell-editor {
    display: block;
    width: 100%;
    min-width: 0;
    height: 1.2rem;
    border: 0 !important;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    padding: 0;
    font-family: inherit;
    font-size: var(--sheet-inline-editor-font-size);
    font-weight: var(--sheet-inline-editor-font-weight);
    line-height: var(--sheet-inline-editor-line-height);
    color: #0f172a;
    outline: none !important;
    box-shadow: none !important;
}

.sheet-cell-editor::-webkit-calendar-picker-indicator {
    opacity: 0.72;
}

.erp-date-control {
    position: relative;
    display: block;
    width: 100%;
}

.erp-date-input {
    font-family: inherit;
    font-variant-numeric: normal;
    font-feature-settings: normal;
    letter-spacing: 0;
    padding-right: 2.35rem !important;
}

.commercial-relevant-date-field .erp-date-control,
.commercial-relevant-equipment-field .erp-form-select {
    width: 100%;
}

.erp-date-input::placeholder {
    color: transparent;
}

.erp-date-calendar {
    position: absolute;
    right: 0.55rem;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border: 0;
    border-radius: 0.25rem;
    background: transparent;
    color: #334155;
    transform: translateY(-50%);
    transition: background-color 140ms ease, color 140ms ease;
}

.erp-date-calendar:hover,
.erp-date-calendar:focus-visible {
    background: #eef3f8;
    color: #0f172a;
    outline: none;
}

.erp-date-calendar svg {
    width: 0.92rem;
    height: 0.92rem;
}

.erp-date-native {
    position: absolute;
    right: 0.55rem;
    top: 50%;
    width: 1.35rem;
    height: 1.35rem;
    border: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-50%);
}

.datepickermaggiERP {
    --datepickermaggi-side-width: 2.25rem;
    --datepickermaggi-center-width: 8.85rem;
    display: flex;
    flex-direction: column;
    width: fit-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    gap: 0.36rem;
}

.allocation-date-popover .datepickermaggiERP {
    margin-top: 1rem;
}

.datepickermaggiERP-row {
    display: flex;
    width: 100%;
    max-width: 100%;
    align-items: stretch;
}

.datepickermaggiERP-button,
.datepickermaggiERP .erp-date-control,
.datepickermaggiERP-row > input,
.datepickermaggiERP-label {
    height: 2.35rem;
}

.datepickermaggiERP-button {
    display: inline-flex;
    flex: 0 0 var(--datepickermaggi-side-width);
    min-width: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    padding: 0;
    color: #334155;
    font-size: 1.18rem;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
    transition: background-color 140ms ease, color 140ms ease;
}

.datepickermaggiERP-label {
    display: inline-flex;
    flex: 0 0 var(--datepickermaggi-center-width);
    width: var(--datepickermaggi-center-width);
    min-width: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-left-width: 0;
    background: #f8fafc;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.datepickermaggiERP-button:hover,
.datepickermaggiERP-button:focus-visible {
    background: #eef3f8;
    color: #0f172a;
    outline: none;
}

.datepickermaggiERP-row > :first-child {
    border-left-width: 1px;
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

.datepickermaggiERP-row > :last-child {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.datepickermaggiERP .erp-date-control,
.datepickermaggiERP-row > input {
    flex: 0 0 var(--datepickermaggi-center-width);
    width: var(--datepickermaggi-center-width);
    margin-left: -1px;
}

.datepickermaggiERP .erp-date-control + .datepickermaggiERP-button,
.datepickermaggiERP-row > input + .datepickermaggiERP-button,
.datepickermaggiERP-label + .datepickermaggiERP-button {
    margin-left: -1px;
}

.datepickermaggiERP .erp-date-input,
.datepickermaggiERP-row > input {
    height: 2.35rem;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    text-align: center;
}

.datepickermaggiERP .erp-date-calendar {
    right: 0.42rem;
}

.commercial-relevant-agenda-control {
    display: flex;
    width: 100%;
    align-items: stretch;
    gap: 0;
}

.commercial-relevant-agenda-control.hidden,
[data-proposal-work-light-equipment-row-agenda-shell].hidden {
    display: none !important;
}

.commercial-relevant-agenda-control .commercial-relevant-date-field {
    flex: 0 0 8.98rem;
    width: 8.98rem;
    min-width: 0;
}

.commercial-relevant-agenda-control .datepickermaggiERP-button {
    height: 2.5rem;
    flex: 0 0 2.5rem;
    width: 2.5rem;
    border-radius: 0;
}

.commercial-relevant-agenda-control-prev {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
}

.commercial-relevant-agenda-control-next {
    margin-left: -1px;
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

.commercial-relevant-agenda-control .commercial-relevant-date-field {
    margin-left: -1px;
}

[data-proposal-work-relevant-agenda-block][data-client-start-known="0"] [data-proposal-client-date-empty],
[data-proposal-work-relevant-agenda-block][data-client-start-known="0"] [data-proposal-work-light-client-date-empty] {
    margin-top: 1.55rem;
}

.commercial-relevant-equipment-row {
    min-height: 5.6rem;
    position: relative;
}

.commercial-relevant-equipment-row:not(.has-work-light-allocation):not(.is-operational-locked) {
    min-height: auto;
}

.commercial-relevant-equipment-row.has-work-light-team {
    min-height: 9.35rem;
}

.commercial-relevant-equipment-field {
    transform: translateX(0.75rem);
}

.commercial-relevant-equipment-row.is-operational-locked {
    min-height: 6rem;
    align-items: center;
}

.commercial-relevant-equipment-row.is-operational-locked.has-work-light-team {
    min-height: 9.35rem;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-delete {
    display: none !important;
}

.commercial-relevant-equipment-actual-date {
    position: relative;
    width: 8.98rem;
}

.commercial-relevant-equipment-row:not(.is-operational-locked) [data-proposal-work-light-equipment-row-actual-end-wrap] {
    display: flex;
    height: 40px;
    align-items: flex-end;
    align-self: end;
}

.commercial-relevant-equipment-row:not(.is-operational-locked) [data-proposal-work-light-equipment-row-actual-end-wrap].hidden {
    display: none !important;
}

.commercial-relevant-equipment-row:not(.is-operational-locked) [data-proposal-work-light-equipment-row-actual-end-wrap] .erp-date-control {
    width: 100%;
    transform: translateY(8px);
}

.commercial-relevant-equipment-actual-date > span {
    display: block;
    margin-bottom: 0.5rem;
    text-align: center;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    line-height: 1.05;
    text-transform: uppercase;
    color: #64748b;
}

.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-define-date-wrap],
.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-agenda-ok] {
    display: none !important;
}

.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-actual-start-wrap],
.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-actual-end-wrap] {
    display: flex !important;
    align-items: center;
    align-self: center;
    min-height: 40px;
    width: 100%;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-field {
    align-self: center;
    opacity: 0.82;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-agenda-control .datepickermaggiERP-button {
    display: none !important;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-agenda-control.hidden,
.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-no-date].hidden {
    display: none !important;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-agenda-control .commercial-relevant-date-field {
    flex: 0 0 8.98rem;
    width: 8.98rem;
    margin-left: 0;
}

.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-agenda-shell],
.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-agenda-control:not(.hidden) {
    display: flex;
    align-items: center;
    align-self: center;
    min-height: 40px;
    width: 100%;
}

.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-agenda] {
    border-radius: 0.375rem !important;
    background: #f8fafc;
    color: #475569;
    pointer-events: none;
}

.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-no-date] {
    width: 100%;
    border-style: dashed;
    background: #f8fafc;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-actual-date .erp-date-control {
    display: block;
    height: 40px;
    width: 100%;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-actual-date .erp-date-input {
    height: 40px;
    border-color: #cbd5e1;
    background: #f8fafc;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-actual-date .erp-date-input::placeholder {
    color: #94a3b8;
}

.commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-actual-date .erp-date-calendar {
    color: #94a3b8;
    pointer-events: none;
}

.commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-actual-start] {
    font-weight: 700;
}

[data-proposal-work-light-equipment-row-actual-end].is-planned-end {
    color: #94a3b8;
    padding-left: 1.55rem;
    font-weight: 400;
}

[data-proposal-work-light-equipment-row-actual-end].is-real-end {
    color: #0f172a;
    font-weight: 700;
}

.commercial-relevant-equipment-actual-date.is-planned-end::before {
    content: "~";
    position: absolute;
    top: 50%;
    left: 0.95rem;
    z-index: 2;
    color: #94a3b8;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}

@media (min-width: 640px) {
    .commercial-relevant-equipment-row:not(.is-operational-locked) {
        grid-template-columns: 8.85rem 6.5rem 13.98rem 1.5rem 8.98rem !important;
        column-gap: 0.65rem;
        align-items: end;
        justify-content: space-between;
        padding-right: 1.45rem;
    }

    .commercial-relevant-equipment-row:not(.is-operational-locked) [data-proposal-work-light-equipment-row-define-date-wrap] {
        transform: translateX(0.75rem);
    }

    [data-proposal-work-modal-equipment-header]:not(.is-operational-locked-header),
    [data-proposal-work-light-equipment-header]:not(.is-operational-locked-header) {
        column-gap: 0.65rem;
        padding-right: 1.45rem;
    }

    .commercial-relevant-equipment-row.is-operational-locked {
        grid-template-columns: 8.85rem repeat(3, 8.98rem) !important;
        column-gap: 0.65rem;
        align-items: center;
        justify-content: space-between;
        padding-right: 1.45rem;
    }

    .commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-actual-date > span {
        display: none;
    }

    [data-proposal-work-modal-equipment-header].is-operational-locked-header,
    [data-proposal-work-light-equipment-header].is-operational-locked-header {
        grid-template-columns: 8.85rem repeat(3, 8.98rem) !important;
        column-gap: 0.65rem;
        justify-content: space-between;
        padding-right: 1.45rem;
    }

    .commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-agenda-shell] {
        grid-column: 2 !important;
        width: 100%;
    }

    .commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-actual-start-wrap] {
        grid-column: 3;
    }

    .commercial-relevant-equipment-row.is-operational-locked [data-proposal-work-light-equipment-row-actual-end-wrap] {
        grid-column: 4;
    }

    .commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-actual-date .erp-date-control {
        transform: translateY(4px);
    }

    .commercial-relevant-equipment-row.is-operational-locked .commercial-relevant-equipment-timeline-layout {
        grid-column: 1 / -1;
    }
}

.commercial-relevant-equipment-delete {
    position: absolute;
    top: 0.06rem;
    right: 0.16rem;
    z-index: 5;
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 0;
    opacity: 0.34;
    pointer-events: auto;
    transition: opacity 140ms ease, color 140ms ease, background 140ms ease;
}

.commercial-relevant-equipment-delete span {
    display: inline-flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    transform: translateY(-0.03rem);
}

.commercial-relevant-equipment-delete.hidden {
    display: none;
}

.commercial-relevant-equipment-row:hover .commercial-relevant-equipment-delete,
.commercial-relevant-equipment-row:focus-within .commercial-relevant-equipment-delete,
.commercial-identity-card-item:hover .commercial-relevant-equipment-delete,
.commercial-identity-card-item:focus-within .commercial-relevant-equipment-delete,
.erp-relation-card-item:hover .commercial-relevant-equipment-delete,
.erp-relation-card-item:focus-within .commercial-relevant-equipment-delete {
    opacity: 0.52;
}

.commercial-relevant-equipment-delete:hover,
.commercial-relevant-equipment-delete:focus-visible {
    opacity: 1;
    background: #fee2e2;
    color: #b91c1c;
    outline: none;
}

.commercial-relevant-equipment-add-shell {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
    padding-right: 0.15rem;
}

.commercial-relevant-equipment-add-shell.is-in-observations-header {
    margin-top: 0;
    padding-right: 0;
}

.edit-work-party-cards,
[data-edit-work-party-cards] {
    row-gap: 0.25rem;
}

[data-edit-work-party-cards] > [data-edit-work-client-card],
[data-edit-work-party-cards] > [data-edit-work-contact-card] {
    display: flex;
    min-height: 0;
    flex-direction: column;
}

[data-edit-work-party-cards] [data-proposal-client-list],
[data-edit-work-party-cards] [data-erp-relation-list] {
    flex: 1 1 auto;
}

[data-edit-work-party-cards] .commercial-identity-card-item,
[data-edit-work-party-cards] .erp-relation-card-item {
    min-height: 4.35rem;
}

[data-edit-work-party-cards] [data-edit-work-contact-card] .erp-relation-card-item {
    display: flex;
    align-items: center;
}

[data-edit-work-party-cards] [data-edit-work-contact-card] .erp-relation-card-item > .flex {
    display: block;
    width: 100%;
    min-width: 0;
}

[data-edit-work-party-cards] [data-edit-work-contact-card] .erp-relation-card-item > .flex > .min-w-0 {
    width: 100%;
    padding-top: 0.18rem;
}

[data-edit-work-party-cards] [data-edit-work-contact-card] .erp-relation-card-item > .flex > .shrink-0 {
    position: absolute;
    top: 0.58rem;
    right: 0.98rem;
    z-index: 3;
    padding-top: 0;
}

[data-edit-work-party-cards] [data-edit-work-contact-card] .erp-relation-title {
    max-width: calc(100% - 7.2rem);
}

[data-edit-work-party-cards] .erp-relation-action-button {
    width: 1.52rem;
    height: 1.52rem;
}

[data-edit-work-party-cards] .erp-relation-action-button svg {
    width: 0.78rem;
    height: 0.78rem;
}

[data-edit-work-party-cards] [data-edit-work-contact-card] .erp-relation-action-button {
    margin-right: 0.72rem;
}

.edit-work-contact-add-slot {
    position: relative;
    z-index: 2;
    height: 1rem;
    min-height: 0;
    margin-top: -0.5rem;
    margin-bottom: -0.15rem;
    overflow: visible;
    transform: translateY(0.02rem);
}

[data-proposal-work-hours-column] [data-proposal-work-hours-row] {
    width: 100%;
}

[data-proposal-work-expediente-toggle][aria-expanded="true"] [data-proposal-work-expediente-title]::after,
[data-proposal-work-hours-title]::after {
    content: ":";
}

[data-proposal-work-schedule-inline-header]:not(.hidden) {
    display: grid;
}

[data-proposal-work-hours-inline-header] {
    position: relative;
    display: block;
    justify-self: center;
    width: 72px;
    min-height: 1rem;
}

[data-proposal-work-hours-inline-header] [data-proposal-work-hours-title] {
    position: absolute;
    top: 0;
    left: -4.4rem;
}

[data-proposal-work-hours-inline-header] > span {
    display: block;
    width: 100%;
    text-align: center;
}

@media (min-width: 1024px) {
    [data-proposal-work-hours-column] [data-proposal-work-hours-row] {
        width: calc(100% - 0.75rem);
    }
}

[data-proposal-work-hours-column] [data-proposal-work-hours-row] > label {
    justify-self: center;
    width: 72px;
}

.commercial-work-observations-block {
    margin-top: -1.25rem;
}

.commercial-relevant-equipment-add {
    display: inline-flex;
    height: 1.7rem;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    padding: 0 0.7rem;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.commercial-relevant-equipment-add:hover,
.commercial-relevant-equipment-add:focus-visible {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
    outline: none;
}

.commercial-relevant-equipment-add:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.commercial-relevant-equipment-timeline-layout {
    grid-column: 1 / -1;
    display: grid;
    min-width: 0;
    width: calc(100% + 1.125rem);
    grid-template-columns: minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
    margin-top: 0.32rem;
}

.commercial-relevant-equipment-row:not(.has-work-light-allocation) .commercial-relevant-equipment-timeline-layout {
    display: none;
}

@media (min-width: 640px) {
    .commercial-relevant-equipment-row .commercial-relevant-equipment-timeline-layout {
        grid-column: 1 / -1;
    }
}

.commercial-relevant-equipment-row.has-work-light-allocation .commercial-relevant-equipment-timeline-layout {
    grid-template-columns: 8.85rem minmax(0, 1fr) 3.8rem 1.25rem;
    column-gap: 0.35rem;
    row-gap: 1.15rem;
}

.commercial-relevant-equipment-row.has-work-light-allocation .commercial-relevant-equipment-timeline {
    margin-right: 0.7rem;
    margin-left: 0.7rem;
}

.commercial-relevant-equipment-team-table {
    --sheet-inline-editor-font-size: var(--erp-table-cell-font-size);
    --sheet-inline-editor-font-weight: 400;
    --sheet-inline-editor-line-height: var(--erp-table-cell-line-height);
    --sheet-dropdown-inline-offset: 0.34rem;
    --sheet-dropdown-reserve-width: 1.85rem;
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 0.55rem;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #ffffff;
}

.commercial-relevant-equipment-team-table th,
.commercial-relevant-equipment-team-table td {
    width: 25%;
    border-right: 1px solid #e2e8f0;
    text-align: center;
}

.commercial-relevant-equipment-team-table th:last-child,
.commercial-relevant-equipment-team-table td:last-child {
    border-right: 0;
}

.commercial-relevant-equipment-team-table th {
    height: 1.55rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.commercial-relevant-equipment-team-table td {
    height: 1.82rem !important;
    padding: 0 !important;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell {
    position: relative;
    height: 1.82rem !important;
    min-height: 1.82rem !important;
    background: #ffffff;
    cursor: cell;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell:hover,
.commercial-relevant-equipment-team-table .commercial-relevant-team-cell:focus-visible {
    background: #f8fafc;
    outline: 0;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-active,
.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-editing,
.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-menu-open {
    z-index: 20;
    isolation: isolate;
    overflow: visible;
    background: var(--sheet-cell-active-bg, #eaf2ff);
    outline: 0 !important;
    box-shadow: none !important;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-editing {
    z-index: 22;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-active::before,
.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-editing::before,
.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-menu-open::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 30;
    border: 2px solid var(--sheet-selection-ring, rgba(33, 89, 212, 0.95));
    pointer-events: none;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-active::after,
.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-editing::after,
.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-menu-open::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 35;
    border: 1.5px solid var(--sheet-selection-ring, rgba(33, 89, 212, 0.95));
    pointer-events: none;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell .sheet-cell-value {
    display: flex;
    height: 100%;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding-left: var(--sheet-dropdown-text-padding-left, 0.52rem);
    padding-right: var(--sheet-dropdown-reserve-width, 1.52rem);
    color: #334155;
    font-size: var(--erp-table-cell-font-size);
    font-weight: 400;
    line-height: var(--erp-table-cell-line-height);
    text-align: center;
}

.commercial-relevant-equipment-team-table [data-proposal-work-light-team-display] {
    display: block;
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-relevant-team-cell-editor {
    height: 100% !important;
    color: #0f172a !important;
    font-family: inherit !important;
    font-size: var(--erp-table-cell-font-size) !important;
    font-weight: 400 !important;
    line-height: var(--erp-table-cell-line-height) !important;
    text-align: center;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell.sheet-cell-editing > .sheet-cell-value {
    visibility: hidden;
}

.commercial-relevant-equipment-team-table .commercial-relevant-team-cell-disabled {
    cursor: default;
}

.commercial-relevant-equipment-timeline {
    grid-column: auto;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    padding-bottom: 0;
    transition: max-height 180ms ease, margin-top 180ms ease, opacity 160ms ease, padding-bottom 180ms ease;
}

.commercial-relevant-equipment-timeline.is-visible {
    max-height: 5.25rem;
    overflow: visible;
    opacity: 1;
    padding-bottom: 0.55rem;
}

.commercial-relevant-equipment-allocation {
    display: grid;
    height: 40px;
    align-items: flex-end;
    grid-template-columns: minmax(0, 1fr) 4.29rem;
    gap: 0.4rem;
    margin-top: 0;
    transform: translateY(0.12rem);
    color: #64748b;
    font-family: inherit;
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1rem;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.commercial-relevant-equipment-allocation span {
    align-self: center;
    transform: translateY(4px);
}

.commercial-relevant-equipment-allocation.hidden {
    display: none;
}

.commercial-relevant-equipment-allocation-input {
    box-sizing: border-box;
    appearance: none;
    height: 40px;
    width: 4.29rem;
    min-width: 0;
    color: #0f172a;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.25rem;
    text-align: center;
}

.commercial-relevant-equipment-allocation-input.is-readonly,
.commercial-relevant-equipment-allocation-input[readonly] {
    background: #f8fafc;
    color: #64748b;
}

.commercial-relevant-equipment-days-info {
    position: relative;
    display: flex;
    min-height: 40px;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    align-self: end;
    align-items: flex-end;
    padding-left: 0;
    color: #64748b;
    font-family: inherit;
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 0.98rem;
    text-align: right;
    text-transform: none;
}

.commercial-relevant-equipment-days-info.hidden {
    display: none;
}

.commercial-relevant-equipment-days-value {
    display: block;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1rem;
    white-space: nowrap;
}

.commercial-relevant-equipment-days-caption {
    display: block;
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 0.92rem;
}

.commercial-relevant-equipment-days-ok {
    display: inline-flex;
    height: 40px;
    width: 1.25rem;
    align-items: center;
    justify-content: center;
    align-self: end;
    color: #cbd5e1;
}

.commercial-relevant-equipment-days-ok.hidden {
    visibility: hidden;
    display: inline-flex;
}

.commercial-relevant-equipment-days-info.is-conflict {
    color: #b91c1c;
}

.commercial-relevant-equipment-days-info.is-conflict .commercial-relevant-equipment-days-value,
.commercial-relevant-equipment-days-info.is-conflict .commercial-relevant-equipment-days-caption {
    color: #b91c1c;
}

.commercial-relevant-equipment-days-info.is-warning {
    color: #92400e;
}

.commercial-relevant-equipment-days-info.is-warning .commercial-relevant-equipment-days-value,
.commercial-relevant-equipment-days-info.is-warning .commercial-relevant-equipment-days-caption {
    color: #92400e;
}

.commercial-relevant-equipment-timeline-bar {
    position: relative;
    height: 0.833rem;
    width: 100%;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: rgb(226 232 240);
}

.commercial-relevant-equipment-timeline-segment {
    position: absolute;
    display: flex;
    top: 50%;
    box-sizing: border-box;
    height: 0.833rem;
    min-width: 0.625rem;
    align-items: center;
    transform: translateY(-50%);
    overflow: hidden;
    border: 1px solid rgb(180 83 9 / 0.34);
    border-radius: 0;
    background: rgb(254 243 199 / 0.72);
    color: rgb(120 53 15);
    cursor: default;
    font-size: 0.5rem;
    font-weight: 700;
    line-height: 1;
    padding: 2px 0.18rem 0;
    text-overflow: ellipsis;
    user-select: none;
    white-space: nowrap;
    z-index: 1;
}

.commercial-relevant-equipment-timeline-segment.is-status-planned {
    border-color: rgb(180 83 9 / 0.34);
    background: rgb(254 243 199 / 0.72);
    color: rgb(120 53 15);
}

.commercial-relevant-equipment-timeline-segment.is-status-running {
    border-color: rgb(2 132 199 / 0.34);
    background: rgb(224 242 254 / 0.76);
    color: rgb(7 89 133);
}

.commercial-relevant-equipment-timeline-segment.is-status-paused {
    border-color: rgb(225 29 72 / 0.3);
    background: rgb(255 228 230 / 0.72);
    color: rgb(159 18 57);
}

.commercial-relevant-equipment-timeline-segment.is-status-negotiation,
.commercial-relevant-equipment-timeline-segment.is-status-neutral {
    border-color: rgb(100 116 139 / 0.28);
    background: rgb(241 245 249 / 0.84);
    color: rgb(71 85 105);
}

.commercial-relevant-equipment-timeline-segment.is-status-completed {
    border-color: rgb(22 163 74 / 0.3);
    background: rgb(220 252 231 / 0.72);
    color: rgb(22 101 52);
}

.commercial-relevant-equipment-timeline-segment.is-status-cancelled {
    border-color: rgb(220 38 38 / 0.28);
    background: rgb(254 226 226 / 0.72);
    color: rgb(153 27 27);
}

.commercial-relevant-equipment-timeline.is-undated .commercial-relevant-equipment-timeline-segment,
.commercial-relevant-equipment-timeline-segment.is-muted {
    border-color: rgb(148 163 184 / 0.28);
    background: rgb(241 245 249 / 0.66);
    color: rgb(100 116 139 / 0.78);
    font-weight: 600;
}

.commercial-relevant-equipment-timeline-segment.is-clipped-left {
    border-left: 0;
}

.commercial-relevant-equipment-timeline-segment.is-clipped-right {
    border-right: 0;
}

.commercial-relevant-equipment-timeline-status-badge {
    position: absolute;
    top: calc(50% - 2.05rem);
    display: inline-flex;
    max-width: min(10rem, calc(100% - 1rem));
    height: 1rem;
    align-items: center;
    justify-content: center;
    padding: 0 0.34rem;
    transform: translateX(-50%);
    border-width: 1px;
    border-style: solid;
    border-radius: 0.375rem;
    cursor: default;
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    overflow: hidden;
    pointer-events: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    user-select: none;
    white-space: nowrap;
    z-index: 4;
}

.commercial-relevant-equipment-timeline-status-badge.is-status-planned {
    border-color: rgb(253 230 138);
    background: rgb(255 251 235);
    color: rgb(146 64 14);
}

.commercial-relevant-equipment-timeline-status-badge.is-status-running {
    border-color: rgb(186 230 253);
    background: rgb(240 249 255);
    color: rgb(7 89 133);
}

.commercial-relevant-equipment-timeline-status-badge.is-status-paused {
    border-color: rgb(254 205 211);
    background: rgb(255 241 242);
    color: rgb(159 18 57);
}

.commercial-relevant-equipment-timeline-status-badge.is-status-negotiation,
.commercial-relevant-equipment-timeline-status-badge.is-status-neutral {
    border-color: rgb(226 232 240);
    background: rgb(248 250 252);
    color: rgb(51 65 85);
}

.commercial-relevant-equipment-timeline-status-badge.is-status-completed {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(6 95 70);
}

.commercial-relevant-equipment-timeline-status-badge.is-status-cancelled {
    border-color: rgb(254 202 202);
    background: rgb(254 242 242);
    color: rgb(153 27 27);
}

.commercial-relevant-equipment-timeline-planned {
    position: absolute;
    display: inline-flex;
    top: 50%;
    box-sizing: border-box;
    height: 1.25rem;
    min-width: 0.833rem;
    align-items: center;
    justify-content: center;
    gap: 0.32rem;
    padding: 0 0.35rem;
    transform: translateY(-50%);
    border: 2px solid rgb(2 132 199);
    border-radius: 0;
    background: transparent;
    color: rgb(12 74 110);
    cursor: default;
    font-size: 0.58rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    user-select: none;
    white-space: nowrap;
    z-index: 2;
}

.commercial-relevant-equipment-timeline-planned.is-warning {
    border-color: rgb(180 83 9);
    color: rgb(120 53 15);
}

.commercial-relevant-equipment-timeline-planned.is-conflict {
    border-color: rgb(220 38 38);
    color: rgb(153 27 27);
}

.commercial-relevant-equipment-timeline-planned.is-undated {
    border-color: rgb(51 65 85);
    color: rgb(51 65 85);
}

.commercial-relevant-equipment-timeline-planned.is-operational-progress {
    border-color: #10b981;
    background: transparent;
    color: rgb(22 101 52);
}

.commercial-relevant-equipment-timeline-planned.is-client-muted {
    border-color: rgb(100 116 139 / 0.62);
    color: rgb(100 116 139);
}

.commercial-relevant-equipment-timeline-planned.is-warning.is-client-muted {
    border-color: rgb(148 122 87 / 0.68);
}

.commercial-relevant-equipment-timeline-planned.is-conflict.is-client-muted {
    border-color: rgb(148 113 113 / 0.68);
}

.commercial-relevant-equipment-timeline-planned.is-undated.is-client-muted {
    border-color: rgb(100 116 139 / 0.55);
}

.commercial-relevant-equipment-timeline-progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    background: rgb(16 185 129 / 0.42);
    pointer-events: none;
    z-index: 2;
}

.commercial-relevant-equipment-timeline-progress-remainder {
    position: absolute;
    inset: 0 auto 0 auto;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    background: rgb(252 211 77 / 0.42);
    pointer-events: none;
    z-index: 1;
}

.commercial-relevant-equipment-timeline-planned-label {
    position: relative;
    z-index: 2;
    display: inline-flex;
    flex: 0 0 auto;
    max-width: 100%;
    overflow: hidden;
    pointer-events: none;
    text-overflow: ellipsis;
}

.commercial-relevant-equipment-timeline-planned.is-undated .commercial-relevant-equipment-timeline-planned-label {
    padding-left: 0.75rem;
}

.commercial-relevant-equipment-timeline-meters-badge {
    position: relative;
    display: inline-flex;
    height: 0.82rem;
    max-width: 6.5rem;
    min-width: 0;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(203 213 225);
    border-radius: 999px;
    background: rgb(248 250 252);
    color: rgb(51 65 85);
    cursor: default;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1;
    padding: 0 0.32rem;
    pointer-events: none;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: none;
    white-space: nowrap;
    z-index: 3;
}

.commercial-relevant-equipment-timeline-question {
    position: absolute;
    left: 0.45rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgb(100 116 139);
    cursor: default;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
    user-select: none;
    z-index: 2;
}

.commercial-relevant-equipment-timeline-planned::before,
.commercial-relevant-equipment-timeline-planned::after {
    content: "";
    position: absolute;
    left: -2px;
    width: 0;
    height: 0;
    transform: translateX(-50%);
}

.commercial-relevant-equipment-timeline-planned::before {
    top: -7px;
    border-top: 5px solid rgb(2 132 199);
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.commercial-relevant-equipment-timeline-planned.is-warning::before {
    border-top-color: rgb(180 83 9);
}

.commercial-relevant-equipment-timeline-planned.is-conflict::before {
    border-top-color: rgb(220 38 38);
}

.commercial-relevant-equipment-timeline-planned.is-undated::before {
    border-top-color: rgb(51 65 85);
}

.commercial-relevant-equipment-timeline-planned.is-operational-progress::before {
    border-top-color: #10b981;
}

.commercial-relevant-equipment-timeline-planned.is-client-muted::before {
    border-top-color: rgb(100 116 139 / 0.62);
}

.commercial-relevant-equipment-timeline-planned.is-warning.is-client-muted::before {
    border-top-color: rgb(148 122 87 / 0.68);
}

.commercial-relevant-equipment-timeline-planned.is-conflict.is-client-muted::before {
    border-top-color: rgb(148 113 113 / 0.68);
}

.commercial-relevant-equipment-timeline-planned.is-undated.is-client-muted::before {
    border-top-color: rgb(100 116 139 / 0.55);
}

.commercial-relevant-equipment-timeline-planned::after {
    bottom: -7px;
    border-right: 4px solid transparent;
    border-bottom: 5px solid rgb(2 132 199);
    border-left: 4px solid transparent;
}

.commercial-relevant-equipment-timeline-planned.is-warning::after {
    border-bottom-color: rgb(180 83 9);
}

.commercial-relevant-equipment-timeline-planned.is-conflict::after {
    border-bottom-color: rgb(220 38 38);
}

.commercial-relevant-equipment-timeline-planned.is-undated::after {
    border-bottom-color: rgb(51 65 85);
}

.commercial-relevant-equipment-timeline-planned.is-operational-progress::after {
    border-bottom-color: #10b981;
}

.commercial-relevant-equipment-timeline-planned.is-client-muted::after {
    border-bottom-color: rgb(100 116 139 / 0.62);
}

.commercial-relevant-equipment-timeline-planned.is-warning.is-client-muted::after {
    border-bottom-color: rgb(148 122 87 / 0.68);
}

.commercial-relevant-equipment-timeline-planned.is-conflict.is-client-muted::after {
    border-bottom-color: rgb(148 113 113 / 0.68);
}

.commercial-relevant-equipment-timeline-planned.is-undated.is-client-muted::after {
    border-bottom-color: rgb(100 116 139 / 0.55);
}

.commercial-relevant-equipment-timeline.is-client-muted .commercial-relevant-equipment-timeline-question {
    color: rgb(148 163 184);
}

@media (max-width: 640px) {
    .datepickermaggiERP-button,
    .datepickermaggiERP .erp-date-control,
    .datepickermaggiERP-row > input,
    .datepickermaggiERP-label {
        height: 2.35rem;
    }
}

.sheet-align-center .sheet-cell-editor,
.sheet-align-center .sheet-refuro-input {
    text-align: center;
}

.sheet-align-left .sheet-cell-editor,
.sheet-align-left .sheet-refuro-input,
.sheet-align-left .sheet-refuro-note {
    text-align: left;
}

.sheet-identity-cell {
    left: 0;
    z-index: 7;
    background: #fff;
    box-shadow: 4px 0 0 var(--sheet-grid-line);
}

.sheet-identity-main {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
}

.sheet-identity-sub {
    margin-top: 0.1rem;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.sheet-row-feedback {
    margin-top: 0.16rem;
    font-size: 0.7rem;
    line-height: 1rem;
    color: #b91c1c;
}

.sheet-row-warning .sheet-row-feedback {
    color: #b45309;
}

.sheet-summary-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
}

.sheet-summary-text {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sheet-elements-cell {
    vertical-align: top;
}

.sheet-elements-shell {
    display: grid;
    gap: 0.4rem;
}

.sheet-elements-summary {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 1.55rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.28rem;
    background: #fff;
    padding: 0.2rem 0.42rem;
    color: #0f172a;
    text-align: left;
}

.sheet-elements-shell.is-open .sheet-elements-summary {
    border-color: rgba(133, 147, 166, 0.95);
    background: #f8fafc;
}

.sheet-elements-editor {
    padding-top: 0.05rem;
}

.sheet-elements-editor-grid {
    display: grid;
    gap: 0.3rem;
}

.sheet-elemento-item {
    display: grid;
    grid-template-columns: 1.4rem minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.28rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.3rem;
    background: #fbfdff;
}

.sheet-elemento-item-saving {
    opacity: 0.78;
}

.sheet-elemento-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 999px;
    background: #e2e8f0;
    font-size: 0.62rem;
    font-weight: 700;
    color: #475569;
}

.sheet-elemento-input {
    width: 100%;
    min-width: 0;
    height: 1.7rem;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 0.26rem;
    background: #fff;
    padding: 0.18rem 0.38rem;
    font-size: 0.74rem;
    color: #0f172a;
    outline: none;
}

.sheet-elemento-input:focus {
    border-color: #8593a6;
    box-shadow: 0 0 0 2px rgba(13, 149, 210, 0.1);
}

.sheet-elemento-check,
.sheet-solda-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.sheet-elemento-check input,
.sheet-solda-toggle input {
    margin: 0;
}

.sheet-elemento-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border: 1px solid rgba(229, 185, 190, 0.95);
    border-radius: 0.28rem;
    background: #fff1f2;
    color: #be123c;
}

.sheet-elemento-remove:hover {
    background: #ffe4e6;
}

.sheet-elements-empty {
    padding: 0.35rem 0.1rem;
    font-size: 0.7rem;
    color: #64748b;
}

.sheet-inline-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    flex: 0 0 auto;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 0.3rem;
    background: #fff;
    color: #334155;
    transition: background-color 120ms ease, border-color 120ms ease;
}

.sheet-inline-action:hover {
    background: #f8fafc;
    border-color: rgba(133, 147, 166, 0.9);
}

.sheet-inline-action.is-placeholder {
    cursor: default;
    opacity: 0.62;
}

.sheet-inline-action.is-placeholder:hover {
    background: #fff;
    border-color: rgba(183, 192, 203, 0.95);
}

.sheet-consistency-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.2rem;
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(203, 209, 216, 0.95);
    background: #f8fafc;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #475569;
}

.sheet-consistency-chip.is-ok {
    border-color: #a8debb;
    background: #f0fdf4;
    color: #166534;
}

.sheet-consistency-chip.is-warning {
    border-color: #e4cf7c;
    background: #fffbeb;
    color: #b45309;
}

.sheet-consistency-chip.is-error {
    border-color: #e5b6b6;
    background: #fff1f2;
    color: #be123c;
}

.sheet-consistency-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 1.2rem;
}

.sheet-consistency-toggle input {
    width: 0.92rem;
    height: 0.92rem;
    margin: 0;
    accent-color: #0f172a;
}

.sheet-grid-cell[data-consistency-level="error"] .sheet-consistency-toggle {
    background: #fff1f2;
}

.sheet-grid-cell[data-consistency-level="warning"] .sheet-consistency-toggle {
    background: #fffbeb;
}

.sheet-obra-areas-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem 0.75rem;
    overflow: visible;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.4rem;
    background-color: #fff;
    transition: border-radius 160ms ease, border-color 140ms ease;
}

.sheet-obra-areas-header.is-open {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.sheet-commercial-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex: 0 0 auto;
    width: auto;
    border: 0;
    border-radius: 0;
    background: #fff;
    padding: 0.72rem 1rem;
    color: #0f172a;
    transition: background-color 140ms ease;
}

.sheet-commercial-toggle:hover {
    background: #f8fafc;
}

.sheet-commercial-toggle-icon {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    color: #475569;
    transition: transform 180ms ease;
}

.sheet-commercial-toggle-icon.is-open {
    transform: rotate(90deg);
}

.sheet-commercial-toggle-label {
    font-size: 0.9rem;
    font-weight: 700;
    color: #0f172a;
}

.sheet-obra-overview-surface {
    width: 100%;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.4rem;
    background: #fff;
    padding: 0.85rem;
    transition: padding 160ms ease;
}

.sheet-obra-overview-surface.is-collapsed {
    padding-top: 0.62rem;
    padding-bottom: 0.62rem;
}

.sheet-general-toolbar {
    min-width: 0;
}

.sheet-general-toggle {
    min-height: 2.25rem;
    padding: 0.42rem 0.65rem 0.42rem 0.1rem;
}

.sheet-general-actions {
    justify-content: flex-start;
}

.sheet-general-linked-proposal-button {
    width: 2.375rem;
    height: 2.375rem;
}

@media (min-width: 1024px) {
    .sheet-general-actions {
        flex: 0 0 auto;
        flex-wrap: nowrap;
        align-items: flex-start;
    }
}

.sheet-general-compact-only {
    display: none;
}

.sheet-obra-overview-surface.is-collapsed .sheet-general-compact-only {
    display: inline-flex;
}

.sheet-obra-overview-surface.is-collapsed .sheet-general-title-block,
.sheet-obra-overview-surface.is-collapsed .sheet-general-expanded-only {
    display: none;
}

.sheet-obra-overview-surface.is-collapsed .sheet-obra-overview-grid {
    display: block;
}

.sheet-obra-overview-surface.is-collapsed .sheet-obra-section-column + .sheet-obra-section-column {
    border: 0;
    margin: 0;
    padding: 0;
}

.sheet-general-compact-progress {
    align-items: center;
    gap: 0.45rem;
    width: min(9.8rem, 22vw);
    min-width: 7.2rem;
    height: 1.75rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.36rem;
    background: #f8fafc;
    padding: 0 0.55rem;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
}

.sheet-general-compact-progress-track {
    flex: 1 1 auto;
    height: 0.32rem;
    overflow: hidden;
    border-radius: 999px;
}

.sheet-general-compact-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: #10b981;
}

.sheet-general-compact-badges {
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.sheet-general-compact-badge {
    display: inline-flex;
    max-width: 11.5rem;
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.36rem;
    background: #f8fafc;
    padding: 0.34rem 0.55rem;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sheet-general-equipment-badge {
    display: inline-flex;
    max-width: 7.5rem;
    align-items: center;
    overflow: hidden;
    border: 1px solid #334155;
    border-radius: 0.36rem;
    background: #0f172a;
    padding: 0.32rem 0.58rem;
    color: #f8fafc;
    font-size: 0.68rem;
    font-weight: 750;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.estacas-edit-obra-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(20rem, 1.3fr);
    gap: 1.15rem;
    align-items: start;
}

.estacas-add-modal-header,
.estacas-add-modal-form {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
}

#add-estacas-modal {
    align-items: flex-start;
    overflow: hidden;
}

#add-estacas-modal .estacas-add-modal-panel {
    display: flex;
    max-height: calc(100vh - 3rem);
    flex-direction: column;
    overflow: hidden;
}

#add-estacas-modal .estacas-add-modal-header {
    flex: 0 0 auto;
}

#add-estacas-modal .estacas-add-modal-form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}

#add-estacas-modal .estacas-add-modal-body {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow-y: visible;
    overflow-x: visible;
    overscroll-behavior: contain;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

#add-estacas-modal .estacas-add-modal-actions {
    flex: 0 0 auto;
    margin-top: 0 !important;
    background: #ffffff;
}

.estacas-edit-modal-actions,
.estacas-add-modal-actions {
    margin-right: -4rem;
    margin-left: -4rem;
    padding-right: 4rem !important;
    padding-left: 4rem !important;
}

.estacas-edit-obra-main,
.estacas-edit-assignment-card,
.estacas-edit-assignment-section {
    min-width: 0;
}

.estacas-edit-obra-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.estacas-edit-obra-main > div:nth-child(-n+4) {
    grid-column: 1 / -1;
}

.estacas-edit-date-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.estacas-edit-date-readonly-box {
    display: flex;
    min-height: 2.625rem;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0 0.75rem;
    color: #334155;
    font-size: 0.875rem;
    font-weight: 600;
}

.estacas-edit-date-readonly-box.is-planned {
    color: #94a3b8;
    font-weight: 400;
}

.estacas-edit-date-planned {
    margin-top: 0.25rem;
    color: #cbd5e1;
    font-size: 0.72rem;
    font-weight: 500;
}

.estacas-edit-assignment-card {
    display: grid;
    gap: 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    background: #f8fafc;
    padding: 1rem;
}

.estacas-edit-assignment-section {
    display: grid;
    gap: 0.8rem;
}

.estacas-edit-designation-list {
    display: grid;
    gap: 0.7rem;
}

.estacas-edit-designation-card {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    background: #f8fafc;
}

.estacas-edit-designation-summary {
    display: flex;
    min-height: 2.7rem;
    cursor: pointer;
    list-style: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    border-bottom: 1px solid #e2e8f0;
    padding: 0.62rem 0.75rem;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.estacas-edit-designation-summary::-webkit-details-marker {
    display: none;
}

.estacas-edit-equipment-summary {
    border-bottom: 0;
    padding: 0;
    letter-spacing: 0.14em;
}

.estacas-edit-designation-card[open] > .estacas-edit-equipment-summary {
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 0.72rem;
}

.estacas-edit-designation-summary::before {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid #64748b;
    border-bottom: 2px solid #64748b;
    flex: 0 0 auto;
    transform: rotate(-45deg);
    transition: transform 0.16s ease;
}

.estacas-edit-designation-card[open] > .estacas-edit-designation-summary::before {
    transform: rotate(45deg);
}

.estacas-edit-designation-summary > span:first-of-type {
    margin-right: auto;
    white-space: nowrap;
}

.estacas-edit-designation-equipment-select {
    flex: 0 1 11.2rem;
    width: min(11.2rem, 36%);
    height: 2.625rem;
    min-width: 8.75rem;
    margin-right: 0.45rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background-color: #fff;
    padding-left: 0.72rem;
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.estacas-edit-designation-equipment-select:focus {
    border-color: #38bdf8;
    outline: none;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.14);
}

.estacas-edit-designation-card .commercial-modal-select.is-empty,
.commercial-relevant-equipment-row .commercial-modal-select.is-empty {
    color: #94a3b8;
    font-weight: 400;
}

.estacas-edit-designation-card .commercial-modal-select.is-defined,
.commercial-relevant-equipment-row .commercial-modal-select.is-defined {
    color: #0f172a;
    font-weight: 700;
}

.estacas-edit-designation-remove {
    display: inline-flex;
    width: 1.7rem;
    height: 1.7rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #fff;
    color: #94a3b8;
    transition: background 0.16s ease, color 0.16s ease;
}

.estacas-edit-designation-remove:hover {
    background: #fee2e2;
    color: #b91c1c;
}

.estacas-edit-designation-remove span {
    width: 0.9rem;
    height: 0.9rem;
}

.estacas-edit-designation-body {
    display: grid;
    gap: 0.72rem;
    padding: 0.95rem 1rem;
}

.commercial-relevant-equipment-row .estacas-edit-designation-body {
    padding: 0.85rem 0 0;
}

.estacas-edit-team-sheet {
    --erp-table-cell-font-size: 0.78rem;
    --erp-table-cell-line-height: 1.05rem;
    --erp-table-cell-padding-x: 0.38rem;
    overflow: hidden;
    border: 1px solid #d6dee8;
    border-radius: 0.45rem;
    background: #ffffff;
}

.estacas-edit-team-table {
    width: 100%;
    table-layout: fixed;
}

.estacas-edit-team-table .sheet-head-cell {
    height: 1.85rem;
    padding: 0.35rem 0.45rem;
    text-align: center;
    font-size: 0.64rem;
    letter-spacing: 0.12em;
    white-space: nowrap;
}

.estacas-edit-team-table .sheet-grid-cell {
    position: relative;
    height: 2.35rem !important;
    min-width: 0;
    padding: 0.24rem 0.3rem;
}

.estacas-edit-team-table .sheet-cell-value {
    height: 100%;
    min-height: 1.85rem;
    min-width: 0;
}

.estacas-edit-team-cell .sheet-cell-dropdown-trigger {
    right: 0;
}

.estacas-edit-team-select {
    position: absolute;
    inset: 0;
    z-index: 6;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
}

.estacas-edit-team-cell:focus-within::after,
.estacas-edit-team-cell.sheet-cell-active::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    border: 2px solid #2563eb;
    border-radius: 0.16rem;
    pointer-events: none;
}

.estacas-edit-allocation-row {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: end;
}

.estacas-edit-allocation-row label {
    display: grid;
    grid-template-columns: 4.8rem minmax(0, 1fr);
    gap: 0.42rem;
    align-items: center;
}

.estacas-edit-allocation-row span {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1rem;
    text-align: right;
    text-transform: uppercase;
    white-space: nowrap;
}

.estacas-edit-allocation-input {
    box-sizing: border-box;
    appearance: none;
    height: 2.625rem;
    width: 100%;
    border: 1px solid #cbd5e1 !important;
    border-radius: 0.375rem !important;
    background: #fff !important;
    padding: 0 0.75rem;
    color: #0f172a;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    box-shadow: none;
    text-align: right;
}

.estacas-edit-allocation-input:focus {
    border-color: #38bdf8 !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.14) !important;
}

.estacas-edit-team-card {
    display: grid;
    gap: 0.64rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.45rem;
    background: #f8fafc;
    padding: 0.75rem;
}

.estacas-edit-add-designation {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 0.45rem;
    background: #fff;
    padding: 0 0.9rem;
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 700;
    transition: background 0.16s ease, border-color 0.16s ease;
}

.estacas-edit-add-designation:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

.estacas-edit-assignment-field {
    display: grid;
    grid-template-columns: 5.35rem minmax(0, 1fr);
    gap: 0.42rem;
    align-items: center;
}

.estacas-edit-assignment-field > span {
    justify-self: end;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-align: right;
    text-transform: uppercase;
    line-height: 1rem;
    white-space: nowrap;
}

.estacas-edit-assignment-field > select {
    height: 2.625rem;
    border-color: #cbd5e1 !important;
    font-size: 0.875rem;
    font-weight: 400;
}

.estacas-edit-assignment-field > div > p {
    grid-column: 2;
}

@media (max-width: 1023px) {
    .estacas-edit-obra-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .estacas-edit-obra-main {
        grid-template-columns: minmax(0, 1fr);
    }

    .estacas-edit-obra-main > div:nth-child(-n+4) {
        grid-column: auto;
    }

.estacas-edit-modal-header,
.estacas-edit-modal-form,
.estacas-add-modal-header,
.estacas-add-modal-form {
        padding-right: 1.25rem !important;
        padding-left: 1.25rem !important;
    }

    .estacas-edit-modal-actions,
    .estacas-add-modal-actions {
        margin-right: -1.25rem;
        margin-left: -1.25rem;
        padding-right: 1.25rem !important;
        padding-left: 1.25rem !important;
    }

    .estacas-edit-date-row,
    .estacas-edit-assignment-field {
        grid-template-columns: minmax(0, 1fr);
    }

    .estacas-edit-designation-equipment-select {
        width: min(12rem, 50%);
    }

    .estacas-edit-allocation-row,
    .estacas-edit-allocation-row label {
        grid-template-columns: minmax(0, 1fr);
    }
}

.sheet-obra-section-grid {
    display: grid;
    gap: 0.85rem;
}

.sheet-obra-overview-grid {
    align-items: stretch;
}

.sheet-obra-section-tabs {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.45rem;
    margin: 0;
    padding: 0.45rem 0.55rem;
    background: transparent;
}

.sheet-obra-areas-header.is-open .sheet-obra-section-tabs {
    padding-bottom: 0;
}

.sheet-obra-section-tabs.hidden {
    display: flex;
}

.sheet-obra-section-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    min-height: 2.25rem;
    padding: 0.42rem 0.78rem;
    border: 1px solid rgba(203, 209, 216, 0.92);
    border-radius: 0.42rem;
    background: #fff;
    color: #334155;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    white-space: nowrap;
    box-shadow: 0 1px 1px rgba(15, 23, 42, 0.03);
    transform: translateY(0);
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.sheet-obra-section-tab-icon {
    display: inline-flex;
    width: 0.95rem;
    height: 0.95rem;
    color: #64748b;
    transition: transform 180ms ease;
}

.sheet-obra-section-tab-icon.is-open {
    transform: rotate(90deg);
}

.sheet-obra-section-tab:hover {
    color: #0f172a;
    border-color: rgba(148, 163, 184, 0.95);
    background: #f8fafc;
}

.sheet-obra-areas-header.is-open .sheet-obra-section-tab:not(.is-active) {
    margin-bottom: 0.45rem;
}

.sheet-obra-areas-header.is-open .sheet-obra-section-tab.is-active {
    border-color: rgba(183, 192, 203, 0.95);
    border-bottom-color: #fff;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    background: #fff;
    color: #0f172a;
    box-shadow: none;
    transform: translateY(1px);
    z-index: 2;
}

.sheet-obra-areas-header.is-open .sheet-obra-section-tab.is-active::after {
    content: "";
    position: absolute;
    right: -1px;
    bottom: -1px;
    left: -1px;
    height: 1px;
    background: #fff;
}

.sheet-obra-section-panel.hidden {
    display: none;
}

.sheet-obra-areas-panel.expand-panel.is-open {
    margin-top: 0;
}

.sheet-obra-section-surface {
    width: 100%;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-top: 0;
    border-radius: 0 0 0.4rem 0.4rem;
    background: #fff;
    padding: 0.85rem;
}

.sheet-obra-commercial-grid {
    display: grid;
    gap: 0.85rem;
}

.sheet-obra-commercial-grid-full > .sheet-commercial-demo-column {
    display: none;
}

.sheet-commercial-summary-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(17rem, 1fr);
    gap: 0.85rem;
    align-items: start;
}

.sheet-commercial-tables-stack {
    display: flex;
    grid-column: 1 / 3;
    grid-row: 1;
    min-width: 0;
    flex-direction: column;
    gap: 0.85rem;
}

.sheet-commercial-unexpected-grid {
    display: grid;
    grid-column: 1 / 3;
    grid-row: 4;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.85rem;
    min-width: 0;
}

.sheet-commercial-unexpected-grid.is-no-services-visible {
    grid-row: 3;
}

.sheet-commercial-unexpected-grid.is-no-services-or-add-row {
    grid-row: 2;
}

.sheet-commercial-unexpected-grid.is-minimum-wide {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

.sheet-commercial-unexpected-grid.is-overtime-wide {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}

.sheet-commercial-unexpected-card {
    grid-column: 1 / 3;
    grid-row: 4;
    min-width: 0;
}

.sheet-commercial-unexpected-grid > .sheet-commercial-unexpected-card {
    grid-column: auto;
    grid-row: auto;
}

.sheet-commercial-unexpected-table.no-quantity .sheet-commercial-col-item {
    width: 62%;
}

.sheet-commercial-unexpected-table.no-quantity .sheet-commercial-col-unit {
    width: 38%;
}

.sheet-commercial-unexpected-table.no-quantity .sheet-commercial-quantity-dependent {
    display: none;
}

.sheet-commercial-fmd-subtotal {
    position: relative;
}

.sheet-commercial-fmd-star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.12rem;
    transform: translateY(-0.35em);
    font-size: 0.62rem;
    font-weight: 800;
    color: #b45309;
}

.sheet-commercial-floating-tooltip {
    position: fixed;
    z-index: 1000;
    max-width: min(16rem, calc(100vw - 2rem));
    border: 1px solid rgba(180, 83, 9, 0.24);
    border-radius: 0.45rem;
    background: #fff7ed;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
    color: #7c2d12;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.25;
    padding: 0.42rem 0.5rem;
    pointer-events: none;
    text-align: left;
    white-space: pre-line;
}

.sheet-commercial-services-card {
    grid-column: 1 / 3;
    grid-row: 3;
}

.sheet-commercial-add-services-row {
    display: flex;
    grid-column: 1 / 3;
    grid-row: 2;
    justify-content: flex-start;
}

.sheet-commercial-services-card,
.sheet-commercial-total-sheet {
    min-width: 0;
}

.sheet-commercial-total-sheet {
    grid-column: 1;
    grid-row: 4;
    border-top: 1px solid rgba(183, 192, 203, 0.95);
    padding-top: 0.85rem;
}

.sheet-commercial-settings-inline {
    grid-column: 1;
    grid-row: 5;
}

.sheet-commercial-demo-financial-area {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem;
    margin-top: 0.9rem;
    align-items: start;
}

.sheet-commercial-demo-financial-area .sheet-commercial-total-sheet,
.sheet-commercial-demo-financial-area .sheet-commercial-settings-inline {
    grid-column: auto;
    grid-row: auto;
    border-top: 0;
    padding-top: 0;
}

.sheet-commercial-demo-financial-area .sheet-commercial-financial-summary {
    border-top: 0;
    padding-top: 0;
}

.sheet-commercial-crm-financial-area {
    margin-top: 0.85rem;
}

.sheet-commercial-financial-summary {
    display: grid;
    gap: 0.45rem;
}

.sheet-commercial-financial-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.sheet-commercial-financial-label {
    min-width: 0;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1rem;
    text-transform: uppercase;
}

.sheet-commercial-financial-value {
    display: inline-flex;
    justify-content: flex-end;
    min-width: 5.8rem;
    min-height: 1rem;
    border: 0;
    background: transparent;
    padding: 0;
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1rem;
    text-align: right;
    white-space: nowrap;
}

.sheet-commercial-financial-value[data-commercial-cell="1"] {
    cursor: cell;
    border-radius: 0.25rem;
}

.sheet-commercial-financial-value[data-commercial-cell="1"]:focus,
.sheet-commercial-financial-value.sheet-cell-active {
    outline: 2px solid rgba(96, 165, 250, 0.72);
    outline-offset: 2px;
}

.sheet-commercial-financial-value .sheet-cell-value {
    justify-content: flex-end;
    min-width: 0;
    text-align: right;
}

.sheet-commercial-table-card {
    min-width: 0;
}

.sheet-commercial-action-row {
    display: flex;
    justify-content: flex-end;
}

.sheet-commercial-linked-proposal-button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 1.6rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0 0.55rem;
    color: #51637b;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.sheet-commercial-linked-proposal-button:hover {
    border-color: #aeb9c7;
    background: #f8fbff;
    color: #0f172a;
}

.sheet-commercial-linked-proposal-button-icon {
    flex: 0 0 1.65rem;
    justify-content: center;
    width: 1.65rem;
    padding: 0;
}

.sheet-commercial-crm-block {
    grid-column: 3;
    grid-row: 1 / 5;
    align-self: start;
    min-width: 0;
}

.sheet-commercial-contract-header {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    margin-bottom: 0.75rem;
}

.sheet-commercial-contract-header .sheet-commercial-contract-summary {
    flex: 1 1 auto;
    margin-bottom: 0;
}

.sheet-commercial-contract-summary {
    border-top: 0;
    margin-bottom: 0.75rem;
    padding-top: 0;
}

.sheet-commercial-contract-summary .sheet-commercial-financial-label {
    color: #475569;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.1rem;
}

.sheet-commercial-contract-summary .sheet-commercial-financial-value {
    min-width: 7.8rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.18rem;
}

.sheet-commercial-entry-summary {
    margin-top: -0.1rem;
}

.sheet-commercial-settings-inline .sheet-sheet-table {
    border-top: 1px solid rgba(183, 192, 203, 0.95);
}

.sheet-commercial-crm-section-title {
    margin: 0 0 0.35rem;
    color: #708196;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    line-height: 0.9rem;
    text-transform: uppercase;
}

.sheet-commercial-crm-card {
    min-width: 0;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    overflow: hidden;
}

.sheet-commercial-inline-add-button,
.sheet-commercial-add-service-button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.75rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.24rem 0.55rem;
    color: #51637b;
    font-size: 0.72rem;
    font-weight: 650;
    line-height: 1;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.sheet-commercial-inline-add-button:hover,
.sheet-commercial-add-service-button:hover {
    border-color: #aeb9c7;
    background: #f8fbff;
    color: #0f172a;
}

.sheet-commercial-pile-table .sheet-commercial-inline-add-button {
    min-height: 0;
    width: 1.22rem;
    height: 1.22rem;
    justify-content: center;
    gap: 0;
    padding: 0;
}

.sheet-commercial-pile-table .sheet-commercial-inline-add-button > span {
    display: inline-flex;
    width: 0.75rem;
    height: 0.75rem;
}

.sheet-commercial-crm-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    padding: 0.75rem 0.85rem;
}

.sheet-commercial-crm-eyebrow {
    margin: 0;
    color: #708196;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 0.85rem;
    text-transform: uppercase;
}

.sheet-commercial-crm-title {
    margin: 0.1rem 0 0;
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.2rem;
}

.sheet-commercial-crm-list {
    display: flex;
    max-height: 18rem;
    flex-direction: column;
    gap: 0.45rem;
    overflow-y: auto;
    border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    background: #f8fafc;
    padding: 0.65rem 0.75rem;
}

.sheet-commercial-crm-empty {
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.65rem 0.75rem;
    color: #708196;
    font-size: 0.78rem;
    line-height: 1.05rem;
}

.sheet-commercial-crm-note {
    width: fit-content;
    max-width: 100%;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.55rem 0.65rem;
}

.sheet-commercial-crm-note.is-follow-up {
    border-color: #e5c667;
    background: #fffbea;
}

.sheet-commercial-crm-note-text {
    margin: 0;
    color: #334155;
    font-size: 0.78rem;
    line-height: 1.1rem;
}

.sheet-commercial-crm-note-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
    color: #8a9bb0;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 0.9rem;
}

.sheet-commercial-crm-form {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    padding: 0.7rem 0.75rem;
}

.sheet-commercial-crm-input {
    min-height: 2.25rem;
    max-height: 6.25rem;
    min-width: 0;
    flex: 1 1 auto;
    resize: none;
    overflow-y: auto;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.5rem 0.65rem;
    color: #0f172a;
    font: inherit;
    font-size: 0.78rem;
    line-height: 1.1rem;
    outline: none;
}

.sheet-commercial-crm-input:focus {
    border-color: #9fb7d8;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.12);
}

.sheet-commercial-crm-input:disabled {
    background: #f1f4f7;
    color: #94a3b8;
}

.sheet-commercial-crm-send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 0.375rem;
    background: #0f172a;
    color: #ffffff;
    transition: background-color 0.16s ease, color 0.16s ease;
}

.sheet-commercial-crm-send > span {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
}

.sheet-commercial-crm-send:hover {
    background: #1e293b;
}

.sheet-commercial-crm-send:disabled {
    cursor: not-allowed;
    background: #cbd5e1;
}

.sheet-commercial-crm-feedback {
    min-height: 1rem;
    margin: 0;
    padding: 0 0.75rem 0.65rem;
    color: #708196;
    font-size: 0.7rem;
    line-height: 0.95rem;
}

.sheet-commercial-crm-feedback.is-error {
    color: #b91c1c;
}

.sheet-commercial-table-title {
    margin: 0 0 0.35rem;
    color: #51637b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 0.95rem;
    text-transform: uppercase;
}

.sheet-commercial-settings-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.35rem;
    width: 1.35rem;
    height: 1.35rem;
    border: 0;
    border-radius: 0.3rem;
    background: transparent;
    color: #51637b;
    transition: background-color 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}

.sheet-commercial-settings-button > span {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
}

.sheet-commercial-settings-button:hover {
    background: #f8fbff;
    color: #0f172a;
}

.sheet-commercial-sheet {
    --sheet-header-bg: #eef3f8;
    --sheet-header-fg: #51637b;
    --sheet-row-bg: #ffffff;
    --sheet-row-active-bg: #f8fbff;
    --sheet-cell-active-bg: #eaf2ff;
    --sheet-cell-editing-bg: #ffffff;
    --sheet-readonly-soft-cell-bg: #f8fafd;
    --sheet-selection-ring: rgba(33, 89, 212, 0.95);
    --sheet-body-row-height: 1.95rem;
    --sheet-cell-font-size: 0.78rem;
    --sheet-cell-line-height: 1.05rem;
    --sheet-dropdown-hit-width: 1.34rem;
    --sheet-dropdown-box-size: 0.9rem;
    --sheet-dropdown-inline-offset: 0.08rem;
    --sheet-dropdown-text-padding-left: 0.52rem;
    --sheet-dropdown-reserve-width: 1.52rem;
    --sheet-header-font-size: 0.64rem;
    --sheet-header-letter-spacing: 0.12em;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #fff;
}

.sheet-commercial-sheet .sheet-grid-scroll {
    overflow-x: auto;
    overflow-y: visible;
}

.sheet-commercial-tables-stack .sheet-commercial-sheet .sheet-grid-scroll {
    overflow-x: hidden;
}

.sheet-commercial-grid-table {
    width: max-content;
    min-width: 8.4rem;
    table-layout: fixed;
}

.sheet-commercial-grid-table .sheet-head-cell {
    height: 1.85rem;
    text-align: center;
    white-space: nowrap;
}

.sheet-commercial-grid-table .sheet-grid-cell {
    height: var(--sheet-body-row-height);
    min-height: var(--sheet-body-row-height);
    box-sizing: border-box;
    background: var(--sheet-row-bg);
    cursor: default;
    white-space: nowrap;
}

.sheet-commercial-grid-table .sheet-grid-cell[data-commercial-cell="1"] {
    cursor: cell;
}

.sheet-commercial-grid-table .sheet-grid-cell[data-commercial-cell="0"] {
    background: var(--sheet-readonly-cell-bg);
}

.sheet-commercial-grid-table .sheet-grid-cell.sheet-commercial-cell-readonly-soft[data-commercial-cell="0"] {
    background: var(--sheet-readonly-soft-cell-bg);
}

.sheet-commercial-grid-table .sheet-cell-value {
    justify-content: center;
    min-width: 0;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sheet-commercial-grid-table .sheet-align-left .sheet-cell-value {
    justify-content: flex-start;
    text-align: left;
}

.sheet-commercial-grid-table tbody .sheet-row-active .sheet-grid-cell {
    background: var(--sheet-row-active-bg);
}

.sheet-commercial-grid-table tbody .sheet-row-active .sheet-grid-cell[data-commercial-cell="0"] {
    background: var(--sheet-readonly-cell-bg);
}

.sheet-commercial-grid-table tbody .sheet-row-active .sheet-grid-cell.sheet-commercial-cell-readonly-soft[data-commercial-cell="0"] {
    background: var(--sheet-readonly-soft-cell-bg);
}

.sheet-commercial-grid-table tbody .sheet-grid-cell.sheet-cell-active {
    background: var(--sheet-cell-active-bg) !important;
    box-shadow: none;
    z-index: 8;
    isolation: isolate;
    overflow: visible;
}

.sheet-commercial-grid-table tbody .sheet-grid-cell.sheet-cell-editing {
    background: var(--sheet-cell-editing-bg) !important;
    z-index: 15;
}

.sheet-commercial-grid-table tbody .sheet-grid-cell.sheet-cell-active::before,
.sheet-commercial-grid-table tbody .sheet-grid-cell.sheet-cell-editing::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 2px solid var(--sheet-selection-ring);
    pointer-events: none;
}

.sheet-commercial-field-item .sheet-cell-value {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    font-weight: 400;
    text-overflow: ellipsis;
}

.sheet-commercial-editor {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: #fff;
    padding: 0.22rem 0.55rem;
    color: #0f172a;
    font-family: inherit;
    font-size: var(--sheet-inline-editor-font-size);
    font-weight: var(--sheet-inline-editor-font-weight);
    line-height: var(--sheet-inline-editor-line-height);
    text-align: center;
    outline: none;
}

.sheet-commercial-work-table .sheet-commercial-col-item {
    width: 28%;
}

.sheet-commercial-work-table .sheet-commercial-col-unit {
    width: 20%;
}

.sheet-commercial-work-table .sheet-commercial-col-qty {
    width: 16%;
}

.sheet-commercial-work-table .sheet-commercial-col-qty-budget,
.sheet-commercial-work-table .sheet-commercial-col-qty-project {
    width: 13%;
}

.sheet-commercial-work-table .sheet-commercial-col-subtotal,
.sheet-commercial-pile-table .sheet-commercial-col-subtotal {
    width: 26%;
}

.sheet-commercial-planned-table .sheet-commercial-col-item {
    width: 38%;
}

.sheet-commercial-planned-table .sheet-commercial-col-unit {
    width: 16%;
}

.sheet-commercial-planned-table .sheet-commercial-col-qty-budget,
.sheet-commercial-planned-table .sheet-commercial-col-qty-project {
    width: 11%;
}

.sheet-commercial-planned-table .sheet-commercial-col-subtotal {
    width: 24%;
}

.sheet-commercial-project-line-controls {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.35rem;
}

.sheet-commercial-project-line-controls .commercial-minimum-billing-button,
.sheet-commercial-project-line-controls [data-project-foundation-line-label] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sheet-commercial-project-line-controls .commercial-project-responsibility-button {
    min-width: 4.45rem;
    justify-content: center;
    opacity: 1;
}

.sheet-commercial-project-line-controls .commercial-project-responsibility-button:disabled [aria-hidden="true"] {
    display: none;
}

.sheet-commercial-project-client-cell {
    background: #f8fafc !important;
}

.sheet-commercial-project-client-cell .sheet-cell-value {
    justify-content: center;
    text-align: center;
}

.sheet-commercial-pile-table .sheet-commercial-col-dimension {
    width: 14%;
}

.sheet-commercial-pile-table .sheet-commercial-col-unit {
    width: 14%;
}

.sheet-commercial-pile-table .sheet-commercial-col-pile-count {
    width: 10%;
}

.sheet-commercial-pile-table .sheet-commercial-col-pile-meters {
    width: 12%;
}

.sheet-commercial-pile-table[data-commercial-soil-rock="1"] .sheet-commercial-col-dimension {
    width: 16%;
}

.sheet-commercial-pile-table[data-commercial-soil-rock="1"] .sheet-commercial-col-pile-count {
    width: 9%;
}
.sheet-commercial-grid-table tfoot .sheet-grid-cell {
    border-top: 1px solid rgba(183, 192, 203, 0.95);
    background: #f8fbff;
}

.sheet-commercial-grid-table tfoot .sheet-cell-value {
    font-weight: 600;
}

.sheet-commercial-total-label .sheet-cell-value {
    justify-content: center;
    text-align: center;
}

.sheet-commercial-total-action .sheet-cell-value {
    justify-content: center;
}

.sheet-commercial-pile-total-combined {
    padding: 0;
}

.sheet-commercial-pile-total-combined-grid {
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: 100%;
}

.sheet-commercial-pile-total-combined-grid .sheet-cell-value {
    min-height: var(--sheet-commercial-cell-height);
    padding: 0 0.25rem;
}

.sheet-commercial-pile-total-combined-grid .sheet-commercial-total-label {
    justify-content: center;
    padding-left: 0.35rem;
    text-align: center;
}

.sheet-commercial-pile-total-combined-grid .sheet-commercial-total-value {
    justify-content: center;
    padding-left: 0.72rem;
}

.sheet-commercial-row.is-muted .sheet-commercial-field-dimension,
.sheet-commercial-row.is-muted .sheet-commercial-field-dimension .sheet-cell-value,
.sheet-commercial-row.is-muted .sheet-commercial-muted-unit,
.sheet-commercial-row.is-muted .sheet-commercial-muted-unit .sheet-cell-value {
    color: #94a3b8;
}

.sheet-commercial-col-total {
    width: 33.33%;
}

.sheet-commercial-demo-column {
    display: flex;
    min-height: 100%;
    flex-direction: column;
}

.sheet-commercial-demo-list {
    flex: 1 1 auto;
}

.sheet-commercial-settings-sheet {
    width: 100%;
}

.sheet-commercial-settings-col-label {
    width: 52%;
}

.sheet-commercial-settings-col-value {
    width: 28%;
}

.sheet-commercial-settings-col-unit {
    width: 20%;
}

.sheet-commercial-settings-label .sheet-cell-value {
    font-weight: 400;
}

.sheet-commercial-settings-unit .sheet-cell-value {
    color: #51637b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sheet-commercial-demo-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.sheet-commercial-demo-title-row {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.sheet-commercial-demo-title-row p {
    margin: 0;
}

.sheet-commercial-demo-status-badge {
    flex: 0 0 auto;
}

.sheet-commercial-demo-value {
    color: #0f172a;
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.1rem;
    white-space: nowrap;
}

.sheet-commercial-demo-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 0.75rem;
}

.sheet-commercial-demo-metric-column {
    display: grid;
    grid-template-columns: minmax(4.45rem, max-content) minmax(0, 1fr);
    align-items: baseline;
    gap: 0.32rem 0.48rem;
    justify-content: start;
}

.sheet-commercial-demo-metric-row {
    display: contents;
}

.sheet-commercial-demo-totals div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.sheet-commercial-demo-metric-row > span:first-child,
.sheet-commercial-demo-totals span {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1rem;
    text-transform: uppercase;
}

.sheet-commercial-demo-metric-row > span:first-child {
    text-align: left;
}

.sheet-commercial-demo-totals span {
    font-weight: 500;
}

.sheet-commercial-demo-metric-value,
.sheet-commercial-demo-totals strong {
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1rem;
    text-align: left;
    white-space: nowrap;
}

.sheet-commercial-demo-totals strong {
    font-weight: 600;
}

.sheet-commercial-demo-totals {
    display: grid;
    flex: 0 0 auto;
    gap: 0.45rem;
    margin-top: 0;
    border-top: 1px solid rgba(203, 209, 216, 0.95);
    padding-top: 0.85rem;
}

.sheet-demonstratives-section-surface {
    padding: 0;
    overflow: hidden;
}

.sheet-demonstratives-workspace {
    display: grid;
    grid-template-columns: minmax(311px, 391px) minmax(0, 1fr);
    height: clamp(620px, 72vh, 900px);
    min-height: 0;
    background: #eef2f7;
}

.sheet-demonstratives-sidebar {
    display: flex;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    flex-direction: column;
    gap: 0.85rem;
    border-right: 1px solid rgba(203, 209, 216, 0.95);
    background: #fff;
    padding: 0.95rem;
}

.sheet-demonstratives-sidebar-head,
.sheet-demonstratives-preview-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.sheet-demonstratives-sidebar-head {
    flex: 0 0 auto;
}

.sheet-demonstratives-sidebar-head h3,
.sheet-demonstratives-preview-toolbar h3 {
    margin: 0;
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2rem;
}

.sheet-demonstratives-sidebar-head span,
.sheet-demonstratives-preview-toolbar p {
    margin: 0;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1rem;
    text-transform: uppercase;
}

.sheet-demonstratives-icon-button,
.sheet-demonstratives-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #fff;
    color: #334155;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.sheet-demonstratives-icon-button {
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
}

.sheet-demonstratives-icon-button span,
.sheet-demonstratives-action-button > span:first-child {
    display: inline-flex;
    width: 0.95rem;
    height: 0.95rem;
}

.sheet-demonstratives-icon-button:hover,
.sheet-demonstratives-action-button:hover:not(:disabled) {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
}

.sheet-demonstratives-list {
    display: grid;
    flex: 1 1 auto;
    align-content: start;
    gap: 0.65rem;
    min-height: 0;
    overflow-y: auto;
    padding: 0.15rem 0.2rem 0.2rem;
}

.sheet-demonstratives-card,
.sheet-demonstratives-empty-card {
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.5rem;
    background: #f8fafc;
}

.sheet-demonstratives-card {
    position: relative;
    display: grid;
    gap: 0.42rem;
    width: 100%;
    padding: 0.85rem;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.sheet-demonstratives-card:focus-visible {
    outline: 2px solid #93c5fd;
    outline-offset: 2px;
}

.sheet-demonstratives-card.is-active {
    border-color: #60a5fa;
    background: #f8fbff;
    outline: 2px solid #60a5fa;
    outline-offset: 0;
}

.sheet-demonstratives-card.is-dashboard-target {
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.22), 0 16px 34px rgba(15, 23, 42, 0.12);
}

.sheet-demonstratives-card.has-divergence {
    border-color: #fbbf24;
    background: #fffaf0;
}

.sheet-demonstratives-card.has-divergence.is-active {
    border-color: #60a5fa;
    outline: 2px solid #60a5fa;
    outline-offset: 0;
}

.sheet-demonstratives-card.is-closed {
    background: #f8fffb;
}

.sheet-demonstratives-card.is-ongoing {
    background: #f8fafc;
}

.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-title strong {
    color: #64748b;
    font-weight: 700;
}

.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-line span,
.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-measured span,
.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-payable span {
    color: #94a3b8;
}

.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-line strong,
.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-measured strong,
.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-period strong,
.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-payable strong {
    color: #64748b;
    font-weight: 600;
}

.sheet-demonstratives-card.is-ongoing .sheet-demonstratives-card-total {
    color: #475569;
}

.sheet-demonstratives-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.sheet-demonstratives-card-head-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: flex-start;
    gap: 0.32rem;
}

.sheet-demonstratives-card-total-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    gap: 0.08rem;
    min-width: 0;
    border: 0;
    border-radius: 0.25rem;
    background: transparent;
    color: #0f172a;
    cursor: pointer;
    font: inherit;
    line-height: 1;
    padding: 0.08rem 0 0.08rem 0.12rem;
    text-align: right;
    transition: background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.sheet-demonstratives-card-total-toggle:hover,
.sheet-demonstratives-card-total-toggle:focus-visible {
    background: #eef6ff;
    color: #0f172a;
    box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.28);
    outline: none;
}

.sheet-demonstratives-card-adjust-icon {
    width: 0.82rem;
    height: 0.82rem;
    flex: 0 0 auto;
    opacity: 0;
    transition: opacity 0.16s ease, color 0.16s ease;
}

.sheet-demonstratives-card:hover .sheet-demonstratives-card-adjust-icon,
.sheet-demonstratives-card:focus-within .sheet-demonstratives-card-adjust-icon,
.sheet-demonstratives-card-total-toggle:hover .sheet-demonstratives-card-adjust-icon,
.sheet-demonstratives-card-total-toggle:focus-visible .sheet-demonstratives-card-adjust-icon,
.sheet-demonstratives-card.is-adjustments-expanded .sheet-demonstratives-card-adjust-icon {
    opacity: 1;
}

.sheet-demonstratives-card-title {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: 0.42rem;
}

.sheet-demonstratives-card-title strong {
    color: #0f172a;
    font-size: 0.86rem;
    line-height: 1.1rem;
}

.sheet-demonstratives-card-line,
.sheet-demonstratives-card-measured {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 0.38rem;
    white-space: nowrap;
}

.sheet-demonstratives-card-line {
    overflow: visible;
}

.sheet-demonstratives-card-measured {
    display: grid;
    grid-template-columns: max-content max-content minmax(0, 1fr);
    column-gap: 0.48rem;
    margin-top: 0.55rem;
}

.sheet-demonstratives-card-title span,
.sheet-demonstratives-card-line span,
.sheet-demonstratives-card-measured span,
.sheet-demonstratives-card-payable span {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 0.95rem;
    text-transform: uppercase;
}

.sheet-demonstratives-card-line strong,
.sheet-demonstratives-card-measured strong,
.sheet-demonstratives-card-payable strong {
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1rem;
    white-space: nowrap;
}

.sheet-demonstratives-card-period {
    margin-top: 0.12rem;
}

.sheet-demonstratives-card-period strong {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 0.95rem;
    text-transform: uppercase;
}

.sheet-demonstratives-card-period small {
    display: inline;
    margin-left: 0.36rem;
    color: #9aa6b6;
    font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 0.9rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.sheet-demonstratives-card-alert {
    flex: 0 0 auto;
    color: #a16207;
    font-size: 0.62rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.9rem;
    text-transform: lowercase;
    white-space: nowrap;
}

.sheet-demonstratives-card-measured .sheet-demonstratives-card-total {
    justify-self: end;
    font-size: 0.84rem;
    line-height: 1.05rem;
    text-align: right;
}

.sheet-demonstratives-card.has-adjustment .sheet-demonstratives-card-measured .sheet-demonstratives-card-total {
    font-size: 0.78rem;
}

.sheet-demonstratives-card-payable {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    padding-top: 0.44rem;
    white-space: nowrap;
}

.sheet-demonstratives-card-payable strong {
    flex: 0 0 auto;
    font-size: 0.84rem;
    line-height: 1.05rem;
    text-align: right;
}

.sheet-demonstratives-card-adjust-summary {
    display: grid;
    box-sizing: border-box;
    width: 100%;
    gap: 0.18rem;
    border: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    background: transparent;
    padding-top: 0.42rem;
    color: #475569;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1rem;
    text-align: left;
}

.sheet-demonstratives-card-adjust-summary:hover,
.sheet-demonstratives-card-adjust-summary:focus-visible {
    outline: none;
}

.sheet-demonstratives-card-adjust-summary:hover strong,
.sheet-demonstratives-card-adjust-summary:focus-visible strong {
    color: #6f6870;
}

.sheet-demonstratives-card-adjust-summary > span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
    min-width: 0;
    white-space: nowrap;
}

.sheet-demonstratives-card-adjust-summary > span > span {
    min-width: 0;
    overflow: hidden;
    color: #64748b;
    text-overflow: ellipsis;
}

.sheet-demonstratives-card-adjust-summary strong {
    flex: 0 0 auto;
    color: #8f878b;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.sheet-demonstratives-status {
    flex: 0 0 auto;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #fff;
    padding: 0.22rem 0.42rem;
    color: #475569;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 0.78rem;
    text-transform: uppercase;
}

.sheet-demonstratives-status-menu-wrap {
    display: inline-flex;
    position: relative;
    flex: 0 0 auto;
}

.sheet-demonstratives-status-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 0;
    cursor: pointer;
    appearance: none;
}

.sheet-demonstratives-status-toggle:hover,
.sheet-demonstratives-status-toggle:focus-visible {
    border-color: #94a3b8;
    outline: none;
}

.sheet-demonstratives-status-arrow {
    display: inline-block;
    width: 0.26rem;
    height: 0.26rem;
    border-right: 1.4px solid currentColor;
    border-bottom: 1.4px solid currentColor;
    margin-top: -0.08rem;
    transform: rotate(45deg);
}

.sheet-demonstratives-status-toggle[aria-expanded="true"] .sheet-demonstratives-status-arrow {
    margin-top: 0.08rem;
    transform: rotate(225deg);
}

.sheet-demonstratives-card-action-toggle {
    display: inline-flex;
    width: 1.28rem;
    height: 1.24rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.32rem;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    padding: 0;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.sheet-demonstratives-card-action-toggle:hover,
.sheet-demonstratives-card-action-toggle:focus-visible {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #334155;
    outline: none;
}

.sheet-demonstratives-card-action-toggle[aria-expanded="true"] .sheet-demonstratives-status-arrow {
    margin-top: 0.08rem;
    transform: rotate(225deg);
}

.sheet-demonstratives-status-menu {
    display: grid;
    position: absolute;
    top: calc(100% + 0.28rem);
    right: 0;
    z-index: 30;
    width: max-content;
    min-width: 8.4rem;
    border: 1px solid rgba(203, 213, 225, 0.98);
    border-radius: 0.42rem;
    background: #fff;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14);
    padding: 0.28rem;
}

.sheet-demonstratives-status-menu[hidden] {
    display: none;
}

.sheet-demonstratives-status-menu button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.32rem;
    width: 100%;
    min-height: 1.55rem;
    border: 0;
    border-radius: 0.3rem;
    background: transparent;
    color: #334155;
    cursor: pointer;
    font: inherit;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 0.78rem;
    padding: 0.28rem 0.32rem;
    text-align: center;
    text-transform: uppercase;
    white-space: normal;
}

.sheet-demonstratives-status-menu-check {
    position: relative;
    flex: 0 0 auto;
    width: 0.48rem;
    height: 0.48rem;
}

.sheet-demonstratives-status-menu-check::before {
    content: "";
    position: absolute;
    left: 0.07rem;
    top: 0.12rem;
    width: 0.3rem;
    height: 0.16rem;
    border-left: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
}

.sheet-demonstratives-status-menu button:hover,
.sheet-demonstratives-status-menu button:focus-visible {
    background: #f1f5f9;
    color: #0f172a;
    outline: none;
}
.sheet-demonstratives-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 260;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.42);
    padding: 1rem;
}

.sheet-demonstratives-confirm-modal.hidden {
    display: none;
}

.sheet-demonstratives-confirm-dialog {
    width: min(25rem, calc(100vw - 2rem));
    border: 1px solid #dbe3ec;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
    padding: 1rem;
}

.sheet-demonstratives-confirm-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.sheet-demonstratives-confirm-head span {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 0.9rem;
    text-transform: uppercase;
}

.sheet-demonstratives-confirm-close {
    display: inline-flex;
    width: 1.85rem;
    height: 1.85rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe3ec;
    border-radius: 0.42rem;
    background: #ffffff;
    color: #64748b;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
}

.sheet-demonstratives-confirm-close:hover,
.sheet-demonstratives-confirm-close:focus-visible {
    background: #f8fafc;
    color: #0f172a;
    outline: none;
}

.sheet-demonstratives-confirm-dialog h3 {
    margin: 0.3rem 0 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25rem;
}

.sheet-demonstratives-confirm-dialog p {
    margin: 0.55rem 0 0;
    color: #475569;
    font-size: 0.84rem;
    line-height: 1.28rem;
}

.sheet-demonstratives-confirm-detail {
    margin-top: 0.7rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.42rem;
    background: #f8fafc;
    padding: 0.55rem 0.65rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1rem;
}

.sheet-demonstratives-confirm-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

.sheet-demonstratives-confirm-cancel,
.sheet-demonstratives-confirm-primary {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.42rem;
    padding: 0 0.8rem;
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
}

.sheet-demonstratives-confirm-cancel {
    border: 1px solid #dbe3ec;
    background: #ffffff;
    color: #475569;
}

.sheet-demonstratives-confirm-primary {
    border: 1px solid #0f172a;
    background: #0f172a;
    color: #ffffff;
}

.sheet-demonstratives-confirm-cancel:hover,
.sheet-demonstratives-confirm-cancel:focus-visible {
    background: #f8fafc;
    color: #0f172a;
    outline: none;
}

.sheet-demonstratives-confirm-primary:hover,
.sheet-demonstratives-confirm-primary:focus-visible {
    border-color: #1e293b;
    background: #1e293b;
    outline: none;
}

.sheet-demonstratives-status.is-ongoing {
    border-color: #d6dce4;
    background: #f1f4f7;
    color: #64748b;
}

.sheet-demonstratives-status.is-pending {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.sheet-demonstratives-status.is-closed {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.sheet-demonstratives-empty-card {
    display: grid;
    gap: 0.2rem;
    padding: 0.95rem;
    color: #64748b;
}

.sheet-demonstratives-empty-card strong {
    color: #334155;
    font-size: 0.84rem;
}

.sheet-demonstratives-empty-card span {
    font-size: 0.78rem;
    line-height: 1.15rem;
}

.sheet-demonstratives-totals {
    margin-top: 0;
}

.sheet-demonstratives-card-adjustments {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.34rem;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    margin-top: 0.18rem;
    padding-top: 0.52rem;
    cursor: default;
}

.sheet-demonstratives-card-adjustments[hidden] {
    display: none;
}

.sheet-demonstratives-card-adjustments-actions {
    display: block;
    grid-column: 1 / -1;
    margin: 0;
    min-height: 0;
}

.sheet-demonstratives-card-adjustments-actions[hidden] {
    display: none;
}

.sheet-demonstratives-card-adjustments label span {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1rem;
    text-transform: uppercase;
}

.sheet-demonstratives-card-adjustments label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    min-width: 0;
}

.sheet-demonstratives-adjust-field {
    display: grid;
    grid-template-columns: 0.85rem minmax(7.4rem, 8.8rem);
    align-items: center;
    gap: 0.25rem;
    justify-self: end;
    min-width: 0;
}

.sheet-demonstratives-adjust-input-wrap {
    display: block;
    position: relative;
    min-width: 0;
}

.sheet-demonstratives-adjust-check {
    position: relative;
    width: 0.75rem;
    height: 0.75rem;
    color: #059669;
    opacity: 0;
    transform: scale(0.82);
    transition: opacity 0.28s ease, transform 0.28s ease;
}

.sheet-demonstratives-adjust-check.is-visible {
    opacity: 1;
    transform: scale(1);
}

.sheet-demonstratives-adjust-check::before {
    content: "";
    position: absolute;
    left: 0.14rem;
    top: 0.22rem;
    width: 0.42rem;
    height: 0.22rem;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

.sheet-demonstratives-card-adjustments input {
    box-sizing: border-box;
    width: 100%;
    height: 1.74rem;
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 0.38rem;
    background: #fff;
    color: #0f172a;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    line-height: 1.2rem;
    padding: 0.25rem 1.55rem 0.25rem 0.42rem;
    text-align: right;
}

.sheet-demonstratives-adjust-clear {
    display: inline-flex;
    position: absolute;
    top: 50%;
    right: 0.32rem;
    align-items: center;
    justify-content: center;
    width: 0.96rem;
    height: 0.96rem;
    border: 1px solid rgba(148, 163, 184, 0.72);
    border-radius: 999px;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
    padding: 0;
    transform: translateY(-50%);
}

.sheet-demonstratives-adjust-clear[hidden] {
    display: none;
}

.sheet-demonstratives-adjust-clear::before,
.sheet-demonstratives-adjust-clear::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.42rem;
    height: 1.45px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
}

.sheet-demonstratives-adjust-clear::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sheet-demonstratives-adjust-clear::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.sheet-demonstratives-adjust-clear:hover,
.sheet-demonstratives-adjust-clear:focus-visible {
    border-color: #94a3b8;
    background: #eef2f7;
    color: #334155;
    outline: none;
}

.sheet-demonstratives-adjust-clear:disabled {
    opacity: 0.45;
    cursor: default;
}

.sheet-demonstratives-card-adjustments input:disabled {
    background: #f1f5f9;
    color: #64748b;
}

.sheet-demonstratives-card-adjustments-actions span {
    min-width: 0;
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1rem;
}

.sheet-demonstratives-card-adjustments-actions span.is-error {
    color: #b91c1c;
}

.sheet-demonstratives-card-adjustments-actions span.is-ok {
    color: #047857;
}

.sheet-demonstratives-financial-area {
    margin-top: 0;
}

.sheet-demonstratives-preview-pane {
    display: grid;
    position: relative;
    grid-template-rows: minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
}

.sheet-demonstratives-preview-toolbar {
    position: absolute;
    top: 1.85rem;
    right: 2rem;
    z-index: 5;
    border: 0;
    background: transparent;
    padding: 0;
    pointer-events: none;
}

.sheet-demonstratives-preview-title {
    display: none;
}

.sheet-demonstratives-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.42rem;
    pointer-events: auto;
}

.sheet-demonstratives-action-button {
    gap: 0.42rem;
    min-height: 2rem;
    padding: 0 0.62rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.12);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1rem;
}

.sheet-demonstratives-action-button-primary {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}

.sheet-demonstratives-action-button-primary:hover:not(:disabled) {
    border-color: #22c55e;
    background: #dcfce7;
    color: #14532d;
}

.sheet-demonstratives-action-button:disabled {
    cursor: not-allowed;
    background: #f8fafc;
    color: #94a3b8;
}

.sheet-demonstratives-action-button-quiet {
    color: #475569;
}

.sheet-demonstratives-document-viewport {
    height: calc(297mm + 2.5rem);
    min-height: 0;
    overflow-x: auto;
    overflow-y: auto;
    padding: 1.25rem;
}

.sheet-demonstratives-document {
    display: grid;
    gap: 1.05rem;
    width: min(100%, 820px);
    min-height: 980px;
    margin: 0 auto;
    border: 1px solid rgba(203, 209, 216, 0.95);
    background: #fff;
    padding: 1.6rem;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.11);
}

.sheet-demonstratives-document.commercial-document-page {
    display: flex;
    gap: 0;
    width: 210mm;
    height: 297mm;
    min-height: 0;
    border: 0;
    padding: 9mm 21mm 15mm;
    box-shadow: 0 18px 55px rgba(15, 23, 42, 0.2);
}

.sheet-demonstratives-document-viewport.commercial-document-scroll {
    background: #e6edf5;
    padding: 1.25rem;
}

.sheet-demonstratives-document .commercial-document-datebox {
    margin-top: 7mm;
}

.sheet-demonstratives-document .commercial-document-brand {
    margin-top: 9mm;
}

.sheet-demonstratives-document .commercial-document-identification {
    margin-top: 8mm;
}

.sheet-demonstratives-document .commercial-document-section {
    margin-top: 5.5mm;
}

.sheet-demonstratives-document .commercial-document-total mark {
    min-width: 29mm;
    text-align: right;
}

.sheet-demonstratives-document .commercial-document-total {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: baseline;
    column-gap: 4mm;
    width: 66.666%;
    margin-left: 0;
}

.sheet-demonstratives-document .commercial-document-total mark {
    justify-self: end;
}

.sheet-demonstratives-detail-document {
    padding-top: 12mm;
}

.sheet-demonstratives-continuation-page[hidden],
.sheet-demonstratives-page-one-after-detail[hidden] {
    display: none !important;
}

.sheet-demonstratives-detail-heading {
    margin-top: 7mm !important;
}

.sheet-demonstratives-detail-heading h3 {
    margin-bottom: 0.6mm;
}

.sheet-demonstratives-detail-heading + .sheet-demonstratives-detail-section {
    margin-top: 1.4mm;
}

.sheet-demonstratives-dates-grid {
    display: grid;
    grid-template-columns: 54mm minmax(0, 1fr);
    max-width: none;
    column-gap: 8mm;
    color: #555;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 8.6pt;
    line-height: 1.12;
}

.sheet-demonstratives-date-column {
    display: grid;
    grid-template-columns: 27mm minmax(0, 1fr);
    align-items: baseline;
    row-gap: 1mm;
}

.sheet-demonstratives-dates-grid span {
    color: #7a7a7a;
    font-weight: 400;
    white-space: nowrap;
    text-transform: uppercase;
}

.sheet-demonstratives-dates-grid strong {
    color: #111;
    font-weight: 700;
    white-space: nowrap;
}

.sheet-demonstratives-daily-table {
    table-layout: fixed;
    font-size: 7.6pt;
    line-height: 1.08;
}

.sheet-demonstratives-daily-table th,
.sheet-demonstratives-daily-table td {
    border-right: 1px solid #444;
    border-bottom: 1px solid #444;
    padding: 1mm 1.2mm;
    vertical-align: middle;
}

.sheet-demonstratives-daily-table th:first-child,
.sheet-demonstratives-daily-table td:first-child {
    border-left: 1px solid #444;
}

.sheet-demonstratives-daily-table th {
    border-top: 1px solid #444;
    background: #9b9b9b;
    color: #fff;
    font-weight: 700;
    text-align: center;
}

.sheet-demonstratives-daily-table th:nth-child(1) {
    width: 18mm;
}

.sheet-demonstratives-daily-table th:nth-child(2) {
    width: 24mm;
}

.sheet-demonstratives-daily-table th:nth-child(3) {
    width: 12mm;
}

.sheet-demonstratives-daily-table th:nth-child(4) {
    width: 18mm;
}

.sheet-demonstratives-daily-table th:nth-child(5) {
    width: 21mm;
}

.sheet-demonstratives-daily-table th:nth-child(6),
.sheet-demonstratives-daily-table th:nth-child(7),
.sheet-demonstratives-daily-table th:nth-child(8) {
    width: 20mm;
}

.sheet-demonstratives-daily-table td:nth-child(1),
.sheet-demonstratives-daily-table td:nth-child(3),
.sheet-demonstratives-daily-table td:nth-child(4),
.sheet-demonstratives-daily-table td:nth-child(5),
.sheet-demonstratives-daily-table td:nth-child(6),
.sheet-demonstratives-daily-table td:nth-child(7),
.sheet-demonstratives-daily-table td:nth-child(8) {
    text-align: center;
}

.sheet-demonstratives-daily-table td:nth-child(8) {
    background: #fff2b3;
}

.sheet-demonstratives-daily-table .sheet-demonstratives-production-value {
    color: #111;
}

.sheet-demonstratives-daily-table .sheet-demonstratives-production-value.is-muted {
    color: #94a3b8;
}

.sheet-demonstratives-daily-table tbody tr:not(.is-day-group-end) td:not([rowspan]) {
    border-bottom-color: transparent;
}

.sheet-demonstratives-daily-table tbody tr.is-day-group-continuation td {
    padding-top: 0.75mm;
}

.sheet-demonstratives-daily-table tbody tr.is-day-group-start:not(:first-child) td {
    border-top: 1px solid #444;
}

.sheet-demonstratives-daily-table .sheet-demonstratives-group-date,
.sheet-demonstratives-daily-table .sheet-demonstratives-group-value {
    vertical-align: middle;
}

.sheet-demonstratives-daily-table .sheet-demonstratives-group-value {
    background: #fff2b3;
}

.sheet-demonstratives-value-title {
    gap: 3mm;
}

.sheet-demonstratives-value-title .sheet-demonstratives-value-title-text,
.sheet-demonstratives-value-title [data-demonstratives-preview-type-title] {
    display: inline;
    min-width: 0;
}

.sheet-demonstratives-items-table td:nth-child(2),
.sheet-demonstratives-items-table td:nth-child(3),
.sheet-demonstratives-items-table td:nth-child(4) {
    text-align: center;
}

.sheet-demonstratives-measured-total {
    margin-top: 2.4mm;
    border-bottom: 1px solid #444;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.15;
    padding-bottom: 1.1mm;
}

.sheet-demonstratives-measured-total > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20mm;
    align-items: baseline;
    column-gap: 7mm;
}

.sheet-demonstratives-measured-total span {
    color: #777;
    font-weight: 400;
    text-align: right;
}

.sheet-demonstratives-measured-total strong {
    justify-self: center;
    width: max-content;
    color: #111;
    font-weight: 700;
    text-align: right;
    transform: translateX(-4.4mm);
}

.sheet-demonstratives-continued-note {
    margin: 1.3mm 0 0;
    color: #777;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    font-size: 8.2pt;
    font-style: italic;
    line-height: 1.1;
    text-align: right;
}

.sheet-demonstratives-closing-block {
    width: 66.666%;
    margin-top: 2.4mm;
    margin-bottom: 3mm;
    margin-left: 0;
}

.sheet-demonstratives-closing-table td:first-child {
    width: 72%;
    text-align: left;
}

.sheet-demonstratives-closing-table td:last-child {
    width: 28%;
    text-align: right;
}

.sheet-demonstratives-closing-table .commercial-document-table-total td:last-child {
    font-weight: 700;
}

.sheet-demonstratives-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4mm;
}

.sheet-demonstratives-payment-part {
    border: 1px solid #444;
    font-family: Calibri, "Calibri Light", Arial, sans-serif;
    text-align: center;
}

.sheet-demonstratives-payment-part:only-child {
    grid-column: 1 / -1;
}

.sheet-demonstratives-payment-part h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2mm;
    margin: 0;
    border-bottom: 1px solid #444;
    background: #9b9b9b;
    color: #fff;
    font-size: 8.2pt;
    font-weight: 700;
    line-height: 1.1;
    padding: 1.1mm 1.5mm;
    text-transform: uppercase;
}

.sheet-demonstratives-payment-part h4 small {
    color: #f7f7f7;
    font-size: 7.2pt;
    font-weight: 700;
}

.sheet-demonstratives-payment-part strong {
    display: block;
    border-bottom: 1px solid #444;
    background: #ffff00;
    color: #111;
    font-size: 9pt;
    font-weight: 800;
    line-height: 1.1;
    padding: 1.4mm 1.5mm;
}

.sheet-demonstratives-payment-part p {
    margin: 0;
    color: #111;
    font-size: 7.6pt;
    font-weight: 700;
    line-height: 1.15;
    min-height: 7mm;
    padding: 1.2mm 1.5mm;
}

.sheet-demonstratives-document-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 2px solid #0f172a;
    padding-bottom: 0.8rem;
}

.sheet-demonstratives-document-header p,
.sheet-demonstratives-document-header span,
.sheet-demonstratives-document-grid span,
.sheet-demonstratives-document-notes span {
    margin: 0;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 0.98rem;
    text-transform: uppercase;
}

.sheet-demonstratives-document-header h2 {
    margin: 0.18rem 0;
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.8rem;
}

.sheet-demonstratives-document-ref {
    min-width: 8.25rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    padding: 0.55rem 0.7rem;
    text-align: right;
}

.sheet-demonstratives-document-ref strong {
    display: block;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.3rem;
}

.sheet-demonstratives-document-grid,
.sheet-demonstratives-document-notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid rgba(203, 209, 216, 0.95);
}

.sheet-demonstratives-document-grid > div,
.sheet-demonstratives-document-notes > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    border-right: 1px solid rgba(203, 209, 216, 0.95);
    border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    padding: 0.58rem 0.65rem;
}

.sheet-demonstratives-document-grid > div:nth-child(3n),
.sheet-demonstratives-document-notes > div:nth-child(3n) {
    border-right: 0;
}

.sheet-demonstratives-document-grid > div:nth-last-child(-n+3),
.sheet-demonstratives-document-notes > div:nth-last-child(-n+3) {
    border-bottom: 0;
}

.sheet-demonstratives-document-grid strong,
.sheet-demonstratives-document-notes strong {
    min-width: 0;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.12rem;
}

.sheet-demonstratives-document-table {
    width: 100%;
    border-collapse: collapse;
    color: #0f172a;
    font-size: 0.78rem;
}

.sheet-demonstratives-document-table th,
.sheet-demonstratives-document-table td {
    border: 1px solid rgba(203, 209, 216, 0.95);
    padding: 0.62rem 0.7rem;
    text-align: right;
    vertical-align: top;
}

.sheet-demonstratives-document-table th:first-child,
.sheet-demonstratives-document-table td:first-child {
    text-align: left;
}

.sheet-demonstratives-document-table thead th {
    background: #f1f5f9;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sheet-demonstratives-document-table tfoot th {
    background: #f8fafc;
    font-weight: 800;
}

.sheet-demonstratives-workspace.is-sidebar-collapsed {
    grid-template-columns: 3.65rem minmax(0, 1fr);
}

.sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-sidebar {
    align-items: center;
    padding: 0.85rem 0.5rem;
}

.sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-sidebar-head {
    flex-direction: column;
    align-items: center;
}

.sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-sidebar-head > div,
.sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-list,
.sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-totals,
.sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-financial-area {
    display: none;
}

.sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-icon-button span {
    transform: rotate(180deg);
}

.sheet-obra-section-column + .sheet-obra-section-column {
    border-top: 1px solid rgba(203, 209, 216, 0.95);
    padding-top: 0.85rem;
}

@media (min-width: 1280px) {
    .sheet-obra-overview-grid {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
        gap: 0;
    }

    .sheet-obra-commercial-grid {
        grid-template-columns: minmax(0, 2.15fr) minmax(240px, 0.85fr);
        gap: 0;
    }

    .sheet-obra-commercial-grid-full {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .sheet-obra-section-column + .sheet-obra-section-column {
        border-top: 0;
        border-left: 1px solid rgba(203, 209, 216, 0.95);
        padding-top: 0;
        padding-left: 0.85rem;
        margin-left: 0.85rem;
    }
}

@media (max-width: 767px) {
    .sheet-commercial-summary-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .sheet-commercial-tables-stack,
    .sheet-commercial-add-services-row,
    .sheet-commercial-services-card,
    .sheet-commercial-total-sheet,
    .sheet-commercial-unexpected-grid,
    .sheet-commercial-unexpected-card,
    .sheet-commercial-settings-inline,
    .sheet-commercial-crm-block,
    .sheet-commercial-crm-card {
        grid-column: 1;
        grid-row: auto;
    }

    .sheet-commercial-unexpected-grid,
    .sheet-commercial-unexpected-grid.is-minimum-wide,
    .sheet-commercial-unexpected-grid.is-overtime-wide {
        grid-template-columns: minmax(0, 1fr);
    }

    .sheet-general-actions {
        width: 100%;
    }

    .sheet-general-compact-progress {
        width: 100%;
        max-width: 12rem;
    }

    .sheet-commercial-demo-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .sheet-demonstratives-workspace,
    .sheet-demonstratives-workspace.is-sidebar-collapsed {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
        min-height: auto;
    }

    .sheet-demonstratives-sidebar {
        border-right: 0;
        border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    }

    .sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-sidebar {
        align-items: stretch;
        padding: 0.85rem;
    }

    .sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-sidebar-head {
        flex-direction: row;
    }

    .sheet-demonstratives-workspace.is-sidebar-collapsed .sheet-demonstratives-sidebar-head > div {
        display: block;
    }

    .sheet-demonstratives-preview-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .sheet-demonstratives-actions {
        justify-content: flex-start;
    }

    .sheet-demonstratives-document-viewport {
        padding: 0.75rem;
    }

    .sheet-demonstratives-document {
        min-height: auto;
        padding: 1rem;
    }

    .sheet-demonstratives-document-header {
        flex-direction: column;
    }

    .sheet-demonstratives-document-grid,
    .sheet-demonstratives-document-notes {
        grid-template-columns: minmax(0, 1fr);
    }

    .sheet-demonstratives-document-grid > div,
    .sheet-demonstratives-document-grid > div:nth-child(3n),
    .sheet-demonstratives-document-grid > div:nth-last-child(-n+3),
    .sheet-demonstratives-document-notes > div,
    .sheet-demonstratives-document-notes > div:nth-child(3n),
    .sheet-demonstratives-document-notes > div:nth-last-child(-n+3) {
        border-right: 0;
        border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    }

    .sheet-demonstratives-document-grid > div:last-child,
    .sheet-demonstratives-document-notes > div:last-child {
        border-bottom: 0;
    }
}

.sheet-daily-create-form {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
}

.sheet-daily-date-control {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 8.35rem;
}

.sheet-daily-date-input {
    --sheet-daily-date-icon-space: 1.66rem;
    --sheet-daily-date-text-width: 9ch;
    box-sizing: border-box;
    width: 100%;
    min-height: 2rem;
    border: 1px solid rgba(203, 209, 216, 0.95) !important;
    border-radius: 0.375rem !important;
    background: #fff;
    box-shadow: none;
    padding: 0.18rem var(--sheet-daily-date-icon-space) 0.18rem max(0.35rem, calc((100% - var(--sheet-daily-date-icon-space) - var(--sheet-daily-date-text-width)) / 2));
    color: #0f172a;
    font-family: inherit;
    font-size: 0.9rem !important;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
    line-height: 1.1rem;
    outline: none;
    text-align: left;
}

.sheet-daily-date-input:focus {
    border-color: rgba(33, 89, 212, 0.95) !important;
    box-shadow: 0 0 0 2px rgba(33, 89, 212, 0.12);
}

.sheet-daily-date-calendar {
    position: absolute;
    right: 0.38rem;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.28rem;
    height: 1.28rem;
    border: 0;
    border-radius: 0.25rem;
    background: transparent;
    color: #334155;
    transform: translateY(-50%);
    transition: background-color 140ms ease, color 140ms ease;
}

.sheet-daily-date-calendar:hover,
.sheet-daily-date-calendar:focus-visible {
    background: #eef3f8;
    color: #0f172a;
    outline: none;
}

.sheet-daily-date-calendar svg {
    width: 0.92rem;
    height: 0.92rem;
}

.sheet-daily-native-date-input {
    position: absolute;
    right: 0.38rem;
    top: 50%;
    width: 1.28rem;
    height: 1.28rem;
    border: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-50%);
}

.sheet-daily-sheet {
    --sheet-header-bg: #eef3f8;
    --sheet-header-fg: #51637b;
    --sheet-header-muted: #64748b;
    --sheet-row-bg: #ffffff;
    --sheet-row-active-bg: #f8fbff;
    --sheet-cell-active-bg: #eaf2ff;
    --sheet-cell-editing-bg: #ffffff;
    --sheet-selection-ring: rgba(33, 89, 212, 0.95);
    --sheet-cell-font-size: 0.78rem;
    --sheet-cell-line-height: 1.05rem;
    --sheet-header-font-size: 0.64rem;
    --sheet-header-letter-spacing: 0.12em;
    --sheet-body-row-height: 2.15rem;
    --sheet-daily-visible-rows-height: 34.1rem;
    --sheet-daily-date-width: 5.27rem;
    --sheet-daily-observation-width: clamp(20.1rem, calc(19vw + 7.6rem), 22.6rem);
    --sheet-body-scrollbar-gutter: 10px;
    --sheet-body-scrollbar-width: 10px;
    overflow: hidden;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #fff;
}

.sheet-daily-status {
    margin: 0 0 0.35rem;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1rem;
}

.sheet-daily-status:not(.is-error) {
    display: none;
}

.sheet-daily-status:empty {
    display: none;
}

.sheet-daily-status.is-saving {
    color: #2563eb;
}

.sheet-daily-status.is-error {
    color: #b91c1c;
}

.sheet-daily-sheet .sheet-grid-scroll {
    position: relative;
    overflow-x: hidden;
    overflow-y: hidden;
    max-height: none;
    background: var(--erp-table-header-bg);
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

.sheet-daily-table {
    width: max-content;
    min-width: 100%;
    table-layout: fixed;
}

.sheet-daily-body-scroll {
    max-height: calc(var(--sheet-daily-visible-rows-height) - 1.85rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.sheet-daily-body-scroll::-webkit-scrollbar,
.sheet-daily-summary-body-scroll::-webkit-scrollbar {
    width: var(--sheet-body-scrollbar-width, 10px);
}

.sheet-daily-sheet .sheet-grid-scroll > .sheet-daily-table:not(.sheet-daily-body-table),
.sheet-daily-summary-scroll > .sheet-daily-summary-table:not(.sheet-daily-summary-body-table) {
    width: calc(100% - var(--sheet-body-scrollbar-gutter, 10px));
    min-width: calc(100% - var(--sheet-body-scrollbar-gutter, 10px));
}

.sheet-daily-table thead .sheet-head-cell {
    padding-right: 0.42rem;
    padding-left: 0.42rem;
    text-align: center;
}

.sheet-daily-table thead .sheet-daily-group-row .sheet-head-cell {
    height: 1.65rem;
    border-bottom: 1px solid rgba(183, 192, 203, 0.95);
    background: var(--erp-table-header-bg);
    color: var(--erp-table-header-fg);
    font-size: var(--erp-table-header-font-size);
    font-weight: var(--erp-table-header-font-weight);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: var(--erp-table-header-letter-spacing);
}

.sheet-daily-table thead .sheet-daily-label-row .sheet-head-cell {
    position: static;
    height: 1.85rem;
    background: var(--erp-table-header-bg);
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 rgba(183, 192, 203, 0.95);
}

.sheet-daily-table thead .sheet-daily-action-head .sheet-head-trash-icon,
.sheet-daily-delete-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.sheet-daily-table thead .sheet-daily-action-head .sheet-head-trash-icon svg,
.sheet-daily-delete-icon svg {
    width: 0.95rem;
    height: 0.95rem;
}

.sheet-daily-table thead .sheet-daily-group-day {
    position: sticky;
    left: 0;
    z-index: 18;
    text-align: left;
}

.sheet-daily-table thead .sheet-daily-group-action {
    color: transparent;
}

.sheet-daily-table tbody .sheet-grid-cell {
    position: relative;
    height: var(--sheet-body-row-height);
    min-height: var(--sheet-body-row-height);
    padding: 0.22rem 0.42rem;
    background: var(--erp-table-row-bg);
    box-sizing: border-box;
    cursor: cell;
}

.sheet-daily-table .sheet-daily-section-divider-left {
    border-left: 4px solid rgba(203, 209, 216, 0.95) !important;
}

.sheet-daily-table tbody .sheet-grid-cell[data-daily-cell="0"] {
    cursor: default;
    background: var(--sheet-readonly-cell-bg);
    color: #334155;
    font-weight: 700;
}

.sheet-daily-table tbody .sheet-row-active .sheet-grid-cell {
    background: var(--sheet-row-active-bg);
}

.sheet-daily-table tbody .sheet-row-active .sheet-grid-cell[data-daily-cell="0"] {
    background: var(--sheet-readonly-cell-bg);
}

.sheet-daily-table tbody .sheet-grid-cell.sheet-cell-active {
    background: var(--sheet-cell-active-bg) !important;
    box-shadow: none;
    z-index: 20;
    isolation: isolate;
    overflow: visible;
}

.sheet-daily-table tbody .sheet-grid-cell.sheet-cell-active::before,
.sheet-daily-table tbody .sheet-grid-cell.sheet-cell-editing::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px solid var(--sheet-selection-ring);
    pointer-events: none;
    z-index: 30;
}

.sheet-daily-table tbody .sheet-grid-cell.sheet-cell-editing {
    background: var(--sheet-cell-editing-bg) !important;
    z-index: 22;
    isolation: isolate;
    overflow: visible;
}

.sheet-daily-table tbody .sheet-grid-cell.sheet-cell-menu-open {
    z-index: 60;
    overflow: visible;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-active::before,
.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing::before {
    left: 4px;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-active,
.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing {
    box-shadow: inset 4px 0 0 rgba(203, 209, 216, 0.95);
}

.sheet-daily-table tbody .sheet-grid-cell.sheet-cell-editing > .sheet-cell-value {
    visibility: hidden;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing > .sheet-cell-value {
    visibility: visible;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing [data-daily-display] {
    display: none;
}

.sheet-daily-table thead .sheet-daily-field-data_referencia,
.sheet-daily-table tbody .sheet-daily-field-data_referencia {
    position: sticky;
    left: 0;
    z-index: 12;
    box-shadow: 4px 0 0 rgba(203, 209, 216, 0.95);
}

.sheet-daily-table thead .sheet-daily-label-row .sheet-daily-field-data_referencia {
    z-index: 30;
    overflow: visible;
    box-shadow: 4px 0 0 rgba(203, 209, 216, 0.95), inset 0 -1px 0 rgba(183, 192, 203, 0.95);
}

.sheet-daily-table thead .sheet-daily-label-row .sheet-daily-field-observacao_dia {
    position: relative;
}

.sheet-daily-table thead .sheet-daily-label-row .sheet-daily-field-observacao_dia::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    width: 4px;
    background: rgba(203, 209, 216, 0.95);
    pointer-events: none;
}

.sheet-daily-table tbody .sheet-daily-field-data_referencia.sheet-cell-active,
.sheet-daily-table tbody .sheet-daily-field-data_referencia.sheet-cell-editing {
    z-index: 16;
}

.sheet-daily-table tbody .sheet-grid-cell.is-saving {
    background: #eff6ff;
}

.sheet-daily-table tbody .sheet-grid-cell.is-error {
    background: #fff1f2;
}

.sheet-daily-table .sheet-cell-value {
    justify-content: flex-start;
    text-align: left;
    font-size: var(--erp-table-cell-font-size);
    line-height: var(--erp-table-cell-line-height);
}

.sheet-daily-table .sheet-align-center .sheet-cell-value {
    justify-content: center;
    text-align: center;
}

.sheet-daily-table tbody .sheet-daily-choice-cell {
    cursor: cell;
}

.sheet-daily-table tbody .sheet-daily-choice-cell .sheet-cell-value {
    min-width: 0;
    overflow: hidden;
    padding-left: 0.28rem;
    padding-right: 1.18rem;
    white-space: nowrap;
}

.sheet-daily-table tbody .sheet-daily-choice-cell [data-daily-display] {
    display: block;
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-team-person.is-pool,
.allocation-team-person.is-assigned {
    cursor: grab;
}

.allocation-team-person.is-team-locked {
    cursor: default;
}

.allocation-team-person.is-unavailable {
    border-color: #dbe3ec !important;
    background: #f1f5f9 !important;
    color: #94a3b8 !important;
    cursor: not-allowed;
    font-weight: 700;
}

.allocation-team-person small {
    position: absolute;
    top: -0.42rem;
    right: -0.18rem;
    display: inline-flex;
    max-width: 2.6rem;
    height: 0.86rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e2e8f0;
    color: #64748b;
    padding: 0 0.22rem;
    overflow: hidden;
    font-size: 0.46rem;
    font-weight: 800;
    line-height: 0.86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allocation-team-person .allocation-team-op-badge {
    top: calc(-0.48rem + 2px);
    right: -0.1rem;
    max-width: none;
    height: 0.78rem;
    border: 1px solid rgba(51, 65, 85, 0.18);
    background: #f8fafc;
    color: #334155;
    padding: 0 0.2rem;
    font-size: 0.43rem;
    line-height: 0.78rem;
}

.allocation-team-person .allocation-team-unavailable-badge {
    right: auto;
    left: -0.18rem;
    font-weight: 400;
}

.allocation-team-person.is-conflict .allocation-team-unavailable-badge {
    max-width: none;
    border: 1px solid #fecaca;
    background: #fee2e2;
    color: #b91c1c;
    font-weight: 800;
}

.sheet-daily-table .sheet-daily-choice-trigger {
    cursor: pointer;
}

.sheet-daily-table .sheet-daily-choice-cell .sheet-cell-dropdown-trigger {
    right: 0;
}

.sheet-daily-table .sheet-daily-choice-trigger:hover .sheet-cell-dropdown-arrow,
.sheet-daily-table .sheet-daily-choice-trigger:focus-visible .sheet-cell-dropdown-arrow {
    background: #475569;
    color: #ffffff;
}

.sheet-daily-col-date {
    width: var(--sheet-daily-date-width);
}

.sheet-daily-col-observation {
    width: var(--sheet-daily-observation-width);
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia {
    padding-right: 0;
}

.sheet-daily-observation-value {
    position: relative;
    align-items: center;
    min-height: 100%;
    padding-right: 1.32rem;
}

.sheet-daily-observation-value.has-commercial-items {
    align-items: flex-start;
    padding-top: 0.04rem;
}

.sheet-daily-observation-value.is-observation-multiline {
    align-items: flex-start;
}

.sheet-daily-observation-body {
    display: flex;
    min-width: 0;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem 0.32rem;
}

.sheet-daily-observation-value.is-observation-multiline .sheet-daily-observation-body {
    align-items: flex-start;
}

.sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-body {
    display: block;
    --sheet-daily-observation-text-inset: 0.32rem;
}

.sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-commercial-badges {
    float: left;
    margin: -0.06rem 0.32rem 0.08rem 0;
}

.sheet-daily-observation-body [data-daily-display] {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-body [data-daily-display] {
    display: block;
    overflow: visible;
}

.sheet-daily-observation-value.has-commercial-items.is-observation-text-below-badges .sheet-daily-observation-body [data-daily-display],
.sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-lines-rest {
    padding-left: var(--sheet-daily-observation-text-inset, 0.32rem);
}

.sheet-daily-observation-value.has-commercial-items.is-observation-text-below-badges .sheet-daily-observation-body [data-daily-display] {
    padding-left: 0.32rem;
}

.sheet-daily-observation-line-first {
    display: inline-block;
}

.sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-line-first {
    padding-top: 0.3rem;
    transform: translateY(0.22rem);
    vertical-align: top;
}

.sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-line-first {
    margin-left: calc(var(--sheet-daily-commercial-badges-inline-size, 0px) + 0.34rem);
}

.sheet-daily-observation-lines-rest {
    display: block;
}

.sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-lines-rest {
    clear: both;
    padding-top: 0.06rem;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing .sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-body {
    display: block;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing .sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-commercial-badges {
    position: absolute;
    top: 0;
    left: 0;
    float: none;
    margin: -0.06rem 0 0 0;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing .sheet-daily-observation-body [data-daily-display] {
    display: none;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing .sheet-daily-observation-value.has-commercial-items .sheet-daily-observation-editor {
    flex-basis: auto;
    min-width: 4rem;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing .sheet-daily-observation-value.has-commercial-items.is-observation-multiline .sheet-daily-observation-editor {
    display: block;
    width: 100%;
    min-width: 0;
    padding-top: 0.5rem;
    padding-left: var(--sheet-daily-observation-text-inset, 0.52rem);
    text-indent: calc(var(--sheet-daily-commercial-badges-inline-size, 0px) + 0.34rem - var(--sheet-daily-observation-text-inset, 0.52rem));
    caret-color: #0f172a;
}

.sheet-daily-commercial-badges {
    display: inline-flex;
    max-width: 100%;
    flex-wrap: wrap;
    align-items: flex-start;
    align-self: flex-start;
    gap: 0.18rem;
}

.sheet-daily-commercial-badge {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    min-height: 1.56rem;
    gap: 0.34rem;
    border: 1px solid rgba(179, 196, 218, 0.95);
    border-radius: 999px;
    background: #eef5fb;
    margin-block: -0.04rem;
    padding: 0.07rem 0.26rem 0.07rem 0.58rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.26rem;
}

.sheet-daily-commercial-badge > span {
    display: block;
    min-width: 0;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sheet-daily-commercial-badge-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    height: 1.2rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #94a3b8;
    font-size: 0;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.sheet-daily-commercial-badge-remove::before {
    content: "\00d7";
    display: block;
    font-size: 0.88rem;
    line-height: 1;
    transform: translateY(-0.01rem);
}

.sheet-daily-commercial-badge-remove:hover,
.sheet-daily-commercial-badge-remove:focus-visible {
    background: #e2e8f0;
    color: #64748b;
    outline: none;
}

.sheet-daily-commercial-add-button {
    position: absolute;
    top: 0.1rem;
    right: 0.26rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border: 1px solid rgba(179, 196, 218, 0.95);
    border-radius: 0.28rem;
    background: rgba(255, 255, 255, 0.72);
    color: #7b8da3;
    cursor: pointer;
    opacity: 0.54;
    transition: opacity 120ms ease, border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

.sheet-daily-table tbody .sheet-daily-field-observacao_dia:hover .sheet-daily-commercial-add-button,
.sheet-daily-table tbody .sheet-daily-field-observacao_dia:focus-within .sheet-daily-commercial-add-button,
.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-active .sheet-daily-commercial-add-button,
.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-editing .sheet-daily-commercial-add-button,
.sheet-daily-table tbody .sheet-daily-field-observacao_dia.sheet-cell-menu-open .sheet-daily-commercial-add-button,
.sheet-daily-commercial-add-button:hover,
.sheet-daily-commercial-add-button:focus-visible {
    border-color: #94a3b8;
    background: #f1f5f9;
    color: #0f172a;
    opacity: 1;
}

.sheet-daily-commercial-add-button:focus-visible {
    outline: none;
}

.sheet-daily-commercial-add-button:disabled {
    border-color: rgba(203, 213, 225, 0.8);
    background: #f8fafc;
    color: #cbd5e1;
    cursor: not-allowed;
}

.sheet-daily-commercial-add-icon {
    display: inline-flex;
    width: 0.7rem;
    height: 0.7rem;
}

.sheet-daily-commercial-add-icon svg {
    width: 100%;
    height: 100%;
}

.sheet-daily-col-machine {
    width: 4.29rem;
}

.sheet-daily-col-person {
    width: 5.65rem;
}

.sheet-daily-col-number {
    width: 4.29rem;
}

.sheet-daily-col-action {
    width: 2.45rem;
}

.sheet-daily-editor {
    position: absolute;
    inset: 0.22rem 0.42rem;
    z-index: 2;
    width: auto;
    height: auto;
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    color: #0f172a;
    font-family: inherit;
    font-size: var(--erp-table-cell-font-size);
    font-weight: 400;
    line-height: var(--erp-table-cell-line-height);
    text-align: inherit;
    outline: none;
    resize: none;
}

.sheet-daily-editor:focus,
.sheet-daily-editor:focus-visible,
.sheet-daily-editor:active {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.sheet-daily-editor:disabled {
    opacity: 1;
    color: #0f172a;
    -webkit-text-fill-color: #0f172a;
}

.sheet-daily-table .sheet-align-center .sheet-daily-editor {
    text-align: center;
}

.sheet-daily-table .sheet-align-left .sheet-daily-editor {
    text-align: left;
}

.sheet-daily-table .sheet-daily-observation-editor {
    position: relative;
    inset: auto;
    z-index: 2;
    flex: 1 1 12rem;
    min-width: 8rem;
    width: auto;
    min-height: var(--erp-table-cell-line-height);
    margin: 0;
    overflow: hidden;
    white-space: pre-wrap;
    vertical-align: top;
}

.sheet-daily-choice-editor {
    cursor: text;
    inset: 0;
    padding-left: var(--sheet-dropdown-text-padding-left, 0.52rem) !important;
    padding-right: var(--sheet-dropdown-reserve-width, 1.52rem) !important;
    text-align: center;
}

.sheet-daily-table .sheet-daily-editor-trigger {
    z-index: 3;
    pointer-events: auto;
}

.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-active,
.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-editing,
.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-menu-open {
    box-shadow: none !important;
    outline: 0 !important;
}

.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-active::before,
.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-editing::before,
.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-menu-open::before {
    content: none !important;
}

.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-active::after,
.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-editing::after,
.sheet-daily-table.commercial-relevant-equipment-team-table tbody .commercial-relevant-team-cell.sheet-cell-menu-open::after {
    content: "" !important;
    position: absolute;
    inset: 0;
    z-index: 35;
    border: 1.5px solid var(--sheet-selection-ring, rgba(33, 89, 212, 0.95));
    pointer-events: none;
}

.sheet-choice-menu.sheet-daily-choice-menu {
    position: absolute;
    z-index: 190;
    min-width: 100%;
    max-height: 10rem;
    overflow-y: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
    border: 1px solid rgba(183, 192, 203, 0.96);
    border-radius: 0.38rem;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
    padding: 0;
    font-family: var(--sheet-daily-choice-font-family, inherit);
    font-size: var(--sheet-daily-choice-font-size, var(--sheet-inline-editor-font-size, var(--erp-table-cell-font-size)));
    font-weight: var(--sheet-daily-choice-font-weight, 400);
    line-height: var(--sheet-daily-choice-line-height, var(--sheet-inline-editor-line-height, var(--erp-table-cell-line-height)));
}

.sheet-choice-menu.sheet-daily-commercial-menu {
    position: fixed;
    z-index: 195;
    min-width: 13rem;
    max-height: 15.5rem;
    overflow-y: auto;
}

.sheet-daily-commercial-menu-title {
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid rgba(203, 209, 216, 0.9);
    background: #ffffff;
    padding: 0.34rem 0.48rem;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1rem;
    text-transform: uppercase;
}

.sheet-daily-commercial-menu .sheet-daily-commercial-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.sheet-daily-commercial-menu .sheet-daily-commercial-option small {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 700;
}

.sheet-daily-commercial-menu .sheet-daily-commercial-option:disabled {
    color: #94a3b8;
    cursor: not-allowed;
    opacity: 0.62;
}

.sheet-daily-commercial-menu .sheet-daily-commercial-option:disabled:hover {
    background: #ffffff;
}

.sheet-daily-choice-menu.hidden {
    display: none;
}

.sheet-daily-choice-menu.is-floating {
    position: fixed;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    min-width: 0;
}

.sheet-daily-choice-menu.is-above {
    box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.16);
}

.sheet-daily-choice-menu.is-scrollable {
    overflow-y: auto !important;
    scrollbar-gutter: stable;
}

.sheet-daily-choice-option.is-filtered-out {
    display: none;
}

.sheet-daily-choice-empty {
    padding: 0.42rem 0.48rem;
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1rem;
    text-align: center;
}

.sheet-daily-choice-empty.hidden {
    display: none;
}

.sheet-daily-choice-menu .sheet-daily-choice-option {
    display: block;
    width: 100%;
    min-height: 1.55rem;
    border: 0;
    border-radius: 0;
    background: #fff;
    padding: 0.28rem 0.48rem;
    color: #0f172a;
    font: inherit;
    font-weight: 400;
    text-align: left;
}

.sheet-daily-choice-menu .sheet-daily-choice-option:hover,
.sheet-daily-choice-menu .sheet-daily-choice-option.is-active,
.sheet-daily-choice-menu .sheet-daily-choice-option:focus-visible {
    background: var(--sheet-choice-hover-bg, #e8edf3);
    color: #0f172a;
    outline: none;
}

.sheet-daily-delete-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border: 1px solid rgba(229, 182, 182, 0.95);
    border-radius: 0.3rem;
    background: #fff;
    color: #b91c1c;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
}

.sheet-daily-delete-button:hover {
    background: #fff1f2;
}

.sheet-daily-delete-button.is-locked {
    border-color: rgba(183, 192, 203, 0.95);
    background: #f8fafc;
    color: #94a3b8;
    cursor: help;
}

.sheet-daily-delete-button.is-locked:hover {
    background: #f1f5f9;
    color: #64748b;
}

.sheet-daily-summary-table th,
.sheet-daily-summary-table td {
    border-bottom: 1px solid rgba(203, 209, 216, 0.9);
    border-right: 1px solid rgba(203, 209, 216, 0.8);
    padding: var(--erp-table-cell-padding);
    background: var(--erp-table-row-bg);
    color: var(--erp-table-cell-fg);
    font-size: var(--erp-table-cell-font-size);
    line-height: var(--erp-table-cell-line-height);
    vertical-align: middle;
}

.sheet-daily-summary-scroll {
    position: relative;
    overflow-x: hidden;
    overflow-y: hidden;
    background: var(--erp-table-header-bg);
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
}

.sheet-daily-summary-scroll::after {
    content: "";
    position: absolute;
    top: var(--sheet-summary-header-height, 3.2rem);
    right: var(--sheet-body-scrollbar-gutter, 10px);
    left: 0;
    z-index: 20;
    height: 2px;
    background: rgba(183, 192, 203, 0.95);
    pointer-events: none;
}

.sheet-daily-summary-table {
    width: 100%;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.sheet-daily-summary-scroll > .sheet-daily-summary-table:not(.sheet-daily-summary-body-table) {
    border-bottom: 0;
}

.sheet-daily-summary-body-scroll {
    max-height: calc(34.1rem - 3.2rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    border-top: 0;
}

.sheet-daily-summary-table th {
    position: static;
    background: var(--erp-table-header-bg);
    background-clip: padding-box;
    color: var(--erp-table-header-fg);
    padding: var(--erp-table-header-padding);
    font-size: var(--erp-table-header-font-size);
    font-weight: var(--erp-table-header-font-weight);
    line-height: var(--erp-table-header-line-height);
    text-transform: uppercase;
    letter-spacing: var(--erp-table-header-letter-spacing);
    text-align: center;
}

.sheet-daily-summary-table .sheet-summary-head-groups th {
    padding-top: 0.44rem;
    padding-bottom: 0.28rem;
    box-shadow: none;
}

.sheet-daily-summary-table .sheet-summary-head-groups .sheet-summary-head-group {
    border-bottom: 1px solid rgba(183, 192, 203, 0.95);
}

.sheet-daily-summary-table .sheet-summary-head-groups th:not(.sheet-summary-head-group) {
    border-bottom: 0;
    box-shadow: none;
}

.sheet-daily-summary-table .sheet-summary-head-columns th {
    padding-top: 0.32rem;
    padding-bottom: 0.38rem;
    border-bottom: 0;
    box-shadow: none;
}

.sheet-summary-head-group {
    color: var(--erp-table-header-fg) !important;
    font-size: var(--erp-table-header-font-size) !important;
    letter-spacing: var(--erp-table-header-letter-spacing) !important;
}

.sheet-summary-col-date {
    width: 5.8rem;
}

.sheet-summary-col-qty {
    width: 3.8rem;
}

.sheet-summary-col-dimension {
    width: 6.6rem;
}

.sheet-summary-col-depth {
    width: 7.2rem;
}

.sheet-summary-col-observation {
    width: auto;
}

.sheet-summary-col-money {
    width: 8rem;
}

.sheet-summary-col-money-production {
    width: 7.8rem;
}

.sheet-summary-col-money-considered {
    width: 8.2rem;
}

.sheet-summary-col-minimum-policy {
    width: 6.4rem;
}

.sheet-summary-date-cell {
    min-width: 6.2rem;
    background: var(--erp-table-row-bg);
    color: var(--erp-table-cell-fg);
    font-weight: 400;
    text-align: center;
}

.sheet-summary-lines {
    display: grid;
    gap: 0.18rem;
    justify-items: center;
}

.sheet-summary-lines span {
    display: block;
    min-height: 1.05rem;
    line-height: 1.05rem;
}

.sheet-summary-items-cell {
    min-width: 17.6rem;
    padding: 0 !important;
}

.sheet-summary-items-lines {
    display: grid;
    gap: 0.18rem;
}

.sheet-summary-items-line {
    display: grid;
    min-height: 1.05rem;
    grid-template-columns: 3.8rem 6.6rem 7.2rem;
    align-items: stretch;
}

.sheet-summary-items-line-commercial + .sheet-summary-items-line-commercial {
    margin-top: -0.38rem;
}

.sheet-summary-items-line-commercial + .sheet-summary-items-line:not(.sheet-summary-items-line-commercial) {
    margin-top: -0.135rem;
}

.sheet-summary-items-line > span {
    display: flex;
    min-width: 0;
    min-height: 1.05rem;
    align-items: center;
    justify-content: center;
    line-height: 1.05rem;
    padding: 0.06rem 0.42rem;
}

.sheet-summary-items-dimension,
.sheet-summary-items-depth {
    border-left: 1px solid rgba(203, 209, 216, 0.55);
}

.sheet-summary-depth-composed {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.18rem;
    white-space: nowrap;
}

.sheet-summary-depth-plus {
    color: #64748b;
}

.sheet-summary-refuro-mark {
    display: inline-flex;
    width: 0.64rem;
    height: 0.64rem;
    align-items: center;
    justify-content: center;
    margin-left: -0.04rem;
    border: 1px solid rgba(100, 116, 139, 0.7);
    border-radius: 999px;
    color: #64748b;
    font-size: 0.47rem;
    font-weight: 700;
    line-height: 1;
}

.sheet-summary-items-merged {
    grid-column: 1 / -1;
    justify-self: center;
    border-left: 0;
    padding: 0.2rem 0.56rem !important;
    gap: 0.34rem;
    flex-wrap: wrap;
}

.sheet-summary-commercial-item-badge {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    min-height: 1.29rem;
    gap: 0.4rem;
    border: 1px solid rgba(179, 196, 218, 0.72);
    border-radius: 999px;
    background: #f3f8fc;
    padding: 0 0.66rem;
    color: #475569;
    font-size: 0.79rem;
    font-weight: 400;
    line-height: 1.05rem;
}

.sheet-summary-commercial-item-badge--overtime,
.sheet-summary-commercial-item-badge--overtime-50,
.sheet-summary-commercial-item-badge--overtime-100 {
    border-color: rgba(147, 197, 253, 0.78);
    background: #eef6ff;
    color: #31547e;
}

.sheet-summary-commercial-item-badge--daily-charge {
    border-color: rgba(251, 191, 36, 0.62);
    background: #fffbeb;
    color: #854d0e;
}

.sheet-summary-commercial-item-qty {
    display: inline-flex;
    min-width: 1.2rem;
    justify-content: center;
    color: #51637b;
    font-weight: 650;
}

.sheet-summary-commercial-item-subtotal {
    color: #64748b;
    font-size: 0.72rem;
    white-space: nowrap;
}

.sheet-summary-observation-cell {
    min-width: 14rem;
    width: auto;
}

.sheet-summary-observation-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 0.32rem;
    row-gap: 0.16rem;
}

.sheet-summary-observation-empty {
    color: #64748b;
}

.sheet-summary-observation-note {
    display: inline-flex;
    max-width: 100%;
    align-items: flex-start;
    gap: 0.38rem;
    color: #334155;
    line-height: 1.05rem;
}

.sheet-summary-observation-note > span {
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sheet-summary-observation-note > strong {
    font-weight: 400;
}

.sheet-summary-observation-badge {
    display: inline-flex;
    max-width: 100%;
    align-items: flex-start;
    gap: 0.35rem;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 0.35rem;
    background: #f8fbff;
    padding: 0.12rem 0.42rem;
    color: #334155;
    line-height: 1.05rem;
}

.sheet-summary-observation-badge-label {
    flex: 0 0 auto;
    color: #51637b;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.05rem;
    padding-top: 0;
}

.sheet-summary-money-cell {
    min-width: 0;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.sheet-summary-minimum-policy-head {
    line-height: 0.82rem !important;
}

.sheet-summary-minimum-policy-head span {
    display: block;
}

.sheet-summary-minimum-policy-cell {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
    text-align: center;
    white-space: nowrap;
}

.sheet-summary-minimum-policy-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.24rem;
    max-width: 100%;
    min-width: 4.9rem;
    height: 1.35rem;
    border: 1px solid #93c5fd;
    border-radius: 0.32rem;
    background: #eff6ff;
    padding: 0 0.28rem;
    color: #1d4ed8;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

.sheet-summary-minimum-policy-badge:hover,
.sheet-summary-minimum-policy-badge:focus-visible {
    border-color: #60a5fa;
    background: #dbeafe;
    outline: none;
}

.sheet-summary-minimum-policy-badge.is-waive,
.sheet-summary-minimum-policy-badge[data-summary-minimum-policy="waive"] {
    border-color: #d8a19a;
    background: #fff1f0;
    color: #9f3a31;
}

.sheet-summary-minimum-policy-badge.is-waive:hover,
.sheet-summary-minimum-policy-badge.is-waive:focus-visible,
.sheet-summary-minimum-policy-badge[data-summary-minimum-policy="waive"]:hover,
.sheet-summary-minimum-policy-badge[data-summary-minimum-policy="waive"]:focus-visible {
    border-color: #c47b72;
    background: #fee2df;
}

.sheet-summary-minimum-policy-badge.is-half,
.sheet-summary-minimum-policy-badge[data-summary-minimum-policy="half"] {
    border-color: #f6c96b;
    background: #fff7df;
    color: #a15c05;
}

.sheet-summary-minimum-policy-badge.is-half:hover,
.sheet-summary-minimum-policy-badge.is-half:focus-visible,
.sheet-summary-minimum-policy-badge[data-summary-minimum-policy="half"]:hover,
.sheet-summary-minimum-policy-badge[data-summary-minimum-policy="half"]:focus-visible {
    border-color: #f2b84a;
    background: #ffefc2;
}

.sheet-summary-minimum-policy-arrow {
    width: 0.38rem;
    height: 0.38rem;
    border-right: 1.4px solid currentColor;
    border-bottom: 1.4px solid currentColor;
    opacity: 0.72;
    transform: translateY(-1px) rotate(45deg);
}

.sheet-summary-minimum-policy-badge[aria-expanded="true"] .sheet-summary-minimum-policy-arrow {
    transform: translateY(1px) rotate(225deg);
}

.sheet-summary-minimum-policy-menu {
    position: fixed;
    z-index: 275;
    min-width: 8.8rem;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 0.38rem;
    background: #ffffff;
    padding: 0.2rem;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}

.sheet-summary-minimum-policy-option {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-radius: 0;
    padding: 0.42rem 0.52rem;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1rem;
    text-align: left;
}

.sheet-summary-minimum-policy-option:hover,
.sheet-summary-minimum-policy-option:focus-visible,
.sheet-summary-minimum-policy-option.is-active {
    background: #eef3f8;
    color: #0f172a;
    outline: none;
}

.sheet-summary-measurement-row td {
    border-top: 2px solid rgba(183, 192, 203, 0.95);
    background: #f8fafc;
}

.sheet-summary-measurement-row.has-following-rows td {
    border-bottom: 2px solid rgba(183, 192, 203, 0.95);
}

.sheet-summary-measurement-row.is-ongoing td {
    background: #fbfdff;
    color: #94a3b8;
}

.sheet-summary-measurement-title {
    color: #475569;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
}

.sheet-summary-measurement-row.is-ongoing .sheet-summary-measurement-title {
    font-weight: 650;
}

.sheet-summary-measurement-value {
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.sheet-summary-measurement-production-value {
    color: #94a3b8;
    font-weight: 600;
}

.sheet-summary-measurement-row.is-ongoing .sheet-summary-measurement-value {
    color: #94a3b8;
}

.sheet-summary-measurement-row .sheet-summary-measurement-production-value,
.sheet-summary-measurement-row.is-ongoing .sheet-summary-measurement-production-value {
    color: #94a3b8;
}

.sheet-daily-summary-period-totals {
    display: grid;
    grid-template-columns: 6.2rem 4.6rem 7.4rem 8.4rem minmax(0, 1fr) 9.4rem 9.4rem;
    align-items: stretch;
    padding-right: var(--sheet-body-scrollbar-gutter, 10px);
    background: var(--erp-table-header-bg);
    border-top: 1px solid rgba(183, 192, 203, 0.95);
}

.sheet-daily-summary-period-total-label {
    grid-column: 1 / 6;
    display: flex;
    min-height: 2.3rem;
    align-items: center;
    justify-content: flex-end;
    padding: 0.38rem 0.72rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sheet-daily-summary-period-total-field {
    display: flex;
    min-height: 2.3rem;
    align-items: center;
    justify-content: flex-end;
    border: 1px solid rgba(183, 192, 203, 0.95);
    background: #fff;
    padding: 0.38rem 0.58rem;
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    border-radius: 0;
}

.sheet-daily-summary-period-total-production {
    grid-column: 6 / 7;
    color: #94a3b8;
}

.sheet-daily-summary-period-total-considered {
    grid-column: 7 / 8;
    margin-left: -1px;
}

.sheet-summary-money-lines {
    display: grid;
    gap: 0.18rem;
    justify-items: end;
}

.sheet-summary-money-lines span {
    display: block;
    min-height: 1.05rem;
    line-height: 1.05rem;
}

.sheet-summary-production-value-cell.is-disconsidered [data-summary-currency-display] {
    color: #94a3b8;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.sheet-summary-considered-value-cell {
    position: relative;
    padding-right: 2.8rem !important;
    font-weight: 600;
}

.sheet-summary-considered-value-cell.uses-minimum-rate {
    color: #0f172a;
}

.sheet-summary-tmd-badge {
    position: absolute;
    top: 50%;
    right: 0.42rem;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    border: 1px solid #94a3b8;
    border-radius: 0.28rem;
    background: #f8fafc;
    padding: 0.08rem 0.22rem;
    color: #475569;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
}

.sheet-summary-tmd-badge.hidden {
    display: none;
}

.sheet-geo-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    border: 1px solid rgba(133, 147, 166, 0.95);
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    color: #475569;
}

.sheet-inline-action.is-active {
    border-color: rgba(50, 170, 223, 0.9);
    background: #e0f2fe;
    color: #0369a1;
}

.sheet-grid-shell:not(.is-geo-expanded) .sheet-geo-group-cell {
    width: 2.7rem !important;
    min-width: 2.7rem !important;
    max-width: 2.7rem !important;
    padding-left: 0.2rem !important;
    padding-right: 0.2rem !important;
    font-size: 0 !important;
    letter-spacing: 0 !important;
}

.sheet-grid-shell:not(.is-geo-expanded) .sheet-geo-detail-column {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    color: transparent !important;
    overflow: hidden;
}

.sheet-grid-shell:not(.is-geo-expanded) .sheet-geo-detail-column .sheet-cell-value {
    opacity: 0;
}

.sheet-grid-shell.is-geo-expanded .sheet-geo-group-cell {
    font-size: 0.64rem;
    letter-spacing: 0.12em;
}

.sheet-grid-shell.is-geo-expanded .sheet-geo-detail-column {
    color: inherit !important;
    padding-left: 0.52rem !important;
    padding-right: 0.52rem !important;
}

.sheet-grid-shell.is-geo-expanded .sheet-geo-detail-column .sheet-cell-value {
    opacity: 1;
}

.sheet-head-name-break {
    white-space: normal !important;
    line-height: 1.02rem;
}

.sheet-section-divider-left {
    border-left: 4px solid var(--sheet-grid-line) !important;
}

.sheet-add-inline-control {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.sheet-add-quantity-combo {
    display: inline-flex;
    height: 2rem;
    align-items: center;
}

.sheet-add-trigger {
    position: relative;
    z-index: 1;
    height: 100%;
    box-sizing: border-box;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0.375rem;
}

.sheet-add-trigger:hover,
.sheet-add-trigger:focus-visible {
    z-index: 2;
}

.sheet-add-quantity-combo .sheet-qty-control {
    height: 100%;
    box-sizing: border-box;
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.sheet-add-quantity-combo .sheet-qty-input {
    height: 100%;
    box-sizing: border-box;
}

.sheet-import-trigger {
    display: inline-flex;
    height: 2rem;
    box-sizing: border-box;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #fff;
    padding: 0 0.65rem;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.sheet-import-trigger:hover,
.sheet-import-trigger:focus-visible {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
}

.sheet-import-trigger-icon {
    width: 0.95rem;
    height: 0.95rem;
    color: #15803d;
}

.sheet-import-trigger-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.estacas-import-modal {
    position: fixed;
    inset: 0;
    z-index: 400;
    isolation: isolate;
}

.estacas-import-modal-panel {
    display: flex;
    max-height: calc(100vh - 3rem);
    flex-direction: column;
    overflow: hidden;
}

.estacas-import-modal-form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.estacas-import-modal-body {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
}

.estacas-import-section {
    padding: 1rem 1.25rem;
}

.estacas-import-mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.estacas-import-mode-option {
    display: flex;
    min-height: 3.5rem;
    cursor: pointer;
    align-items: flex-start;
    gap: 0.65rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #fff;
    padding: 0.7rem 0.8rem;
    color: #334155;
}

.estacas-import-mode-option:has(input:checked) {
    border-color: #0f766e;
    background: #f0fdfa;
    color: #134e4a;
}

.estacas-import-mode-option input {
    width: 1rem;
    height: 1rem;
    margin-top: 0.08rem;
    flex: 0 0 auto;
    accent-color: #0f766e;
}

.estacas-import-mode-option strong,
.estacas-import-mode-option small {
    display: block;
    letter-spacing: 0;
}

.estacas-import-mode-option strong {
    font-size: 0.8rem;
}

.estacas-import-mode-option small {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1.25;
}

.estacas-import-replace-warning,
.estacas-import-feedback {
    margin: 0 1.25rem 1rem;
    border-radius: 0.375rem;
    padding: 0.65rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.35;
}

.estacas-import-replace-warning {
    margin-top: 0.75rem;
    border: 1px solid #fdba74;
    background: #fff7ed;
    color: #9a3412;
}

.estacas-import-feedback {
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
}

.estacas-import-feedback.is-error {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.estacas-import-feedback.is-success {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #065f46;
}

.estacas-import-preview {
    padding: 1rem 1.25rem 1.25rem;
}

.estacas-import-preview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.estacas-import-impact {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.estacas-import-impact-chip {
    display: inline-flex;
    min-height: 1.65rem;
    align-items: center;
    border: 1px solid #cbd5e1;
    border-radius: 0.25rem;
    background: #f8fafc;
    padding: 0 0.5rem;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0;
}

.estacas-import-impact-chip.is-warning {
    border-color: #fdba74;
    background: #fff7ed;
    color: #9a3412;
}

.estacas-import-impact-chip.is-protected {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1e40af;
}

.estacas-import-table-scroll {
    max-height: 18rem;
    margin-top: 0.75rem;
    overflow: auto;
    border: 1px solid #cbd5e1;
}

.estacas-import-preview-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.75rem;
}

.estacas-import-preview-table th,
.estacas-import-preview-table td {
    overflow-wrap: anywhere;
    border-right: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    padding: 0.45rem 0.55rem;
    text-align: left;
    vertical-align: middle;
}

.estacas-import-preview-table th {
    position: sticky;
    z-index: 1;
    top: 0;
    background: #f8fafc;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 700;
}

.estacas-import-modal-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    border-top: 1px solid #e2e8f0;
    padding: 0.85rem 1.25rem;
}

.sheet-project-stakes-flag {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0 0.7rem;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.sheet-project-stakes-flag:hover {
    border-color: rgba(148, 163, 184, 0.95);
    background: #fff;
    color: #0f172a;
}

.sheet-project-stakes-flag.is-checked {
    border-color: rgba(14, 165, 233, 0.45);
    background: #eef7fd;
    color: #075985;
}

.sheet-project-stakes-flag.is-saving {
    opacity: 0.72;
}

.sheet-project-stakes-flag.is-disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.sheet-project-stakes-flag-checkbox {
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 auto;
    accent-color: #0284c7;
}

@media (max-width: 640px) {
    .estacas-import-modal-panel {
        max-height: calc(100vh - 1rem);
    }

    .estacas-import-mode-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .estacas-import-preview-header {
        flex-direction: column;
    }

    .estacas-import-impact {
        justify-content: flex-start;
    }

    .estacas-import-modal-actions {
        flex-wrap: wrap;
    }
}

.sheet-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.5rem 0.55rem;
    border-bottom: 1px solid rgba(203, 209, 216, 0.75);
    background: #f8fafc;
}

.sheet-daily-toolbar {
    justify-content: space-between;
    gap: 0.75rem;
    background: #fff;
}

.sheet-daily-section-surface {
    padding-top: 0;
}

.sheet-daily-toolbar-create-form {
    justify-content: flex-start;
}

.sheet-daily-toolbar .sheet-enter-navigation-toggle {
    margin-left: auto;
}

.sheet-enter-navigation-toggle {
    display: inline-flex;
    height: 2rem;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #fff;
    padding: 0 0.7rem;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.sheet-enter-navigation-toggle:hover {
    border-color: rgba(148, 163, 184, 0.95);
    background: #f8fafc;
    color: #0f172a;
}

.sheet-enter-navigation-toggle.is-vertical {
    border-color: rgba(14, 165, 233, 0.45);
    background: #eef7fd;
    color: #075985;
}

.sheet-enter-navigation-icon {
    display: inline-flex;
    width: 0.9rem;
    height: 0.9rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.sheet-enter-navigation-icon svg {
    width: 100%;
    height: 100%;
}

.sheet-qty-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.4rem;
    background: #fff;
    overflow: hidden;
}

.sheet-qty-input {
    width: 4.35rem;
    height: 2rem;
    border: 0;
    background: #fff;
    text-align: center;
    font-size: 0.84rem;
    font-weight: 600;
    color: #0f172a;
    outline: none;
}

.sheet-modal-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.sheet-modal-table th {
    padding: var(--erp-table-header-padding);
    border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    background: var(--erp-table-header-bg);
    color: var(--erp-table-header-fg);
    font-size: var(--erp-table-header-font-size);
    font-weight: var(--erp-table-header-font-weight);
    line-height: var(--erp-table-header-line-height);
    letter-spacing: var(--erp-table-header-letter-spacing);
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
}

.sheet-modal-table td {
    padding: var(--erp-table-cell-padding);
    border-bottom: 1px solid rgba(203, 209, 216, 0.8);
    background: var(--erp-table-row-bg);
    color: var(--erp-table-cell-fg);
    font-size: var(--erp-table-cell-font-size);
    line-height: var(--erp-table-cell-line-height);
    vertical-align: middle;
}

.sheet-modal-table input {
    width: 100%;
    min-width: 0;
    height: 2rem;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 0.32rem;
    background: #fff;
    padding: 0.32rem 0.5rem;
    font-size: var(--erp-table-cell-font-size);
    line-height: var(--erp-table-cell-line-height);
    color: var(--erp-table-cell-fg);
    outline: none;
}

.sheet-modal-table input:focus {
    border-color: #8593a6;
    box-shadow: 0 0 0 2px rgba(13, 149, 210, 0.1);
}

.sheet-add-template-panel {
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #f8fafc;
    padding: 0.75rem;
}

.sheet-add-template-title,
.sheet-add-template-label {
    color: #51637b;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sheet-add-template-field {
    display: block;
}

.sheet-add-template-label {
    display: block;
    margin-bottom: 0.32rem;
}

.sheet-add-template-input {
    box-sizing: border-box;
    appearance: none;
    width: 100%;
    min-width: 0;
    height: 2.625rem;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #fff;
    padding: 0 0.72rem;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    color: #0f172a;
    outline: none;
}

.sheet-add-template-input:focus {
    border-color: rgba(33, 89, 212, 0.75);
    box-shadow: inset 0 0 0 1px rgba(33, 89, 212, 0.95);
}

#add-estacas-modal .sheet-add-template-input {
    border-color: rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    padding: 0 0.72rem;
    font-size: 0.8125rem;
    line-height: 1.25rem;
}

#add-estacas-modal .sheet-add-template-field[data-add-template-kind="name"] .sheet-add-template-input {
    font-weight: 700;
    text-align: left;
}

#add-estacas-modal .sheet-add-template-field[data-add-template-kind="choice"] .sheet-add-template-input,
#add-estacas-modal .sheet-add-template-field[data-add-template-kind="measure"] .sheet-add-template-input {
    text-align: center;
}

#add-estacas-modal .sheet-add-template-input:focus {
    border-color: rgba(33, 89, 212, 0.75);
    box-shadow: inset 0 0 0 1px rgba(33, 89, 212, 0.95);
}

.sheet-add-template-select {
    padding-right: 2.2rem !important;
}

.sheet-add-template-combo {
    position: relative;
}

.sheet-add-template-combo-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    text-align: left;
}

.sheet-add-template-combo-button:focus-visible {
    border-color: rgba(33, 89, 212, 0.75);
    box-shadow: inset 0 0 0 1px rgba(33, 89, 212, 0.95);
}

.sheet-add-template-combo-label {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: #0f172a;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#add-estacas-modal .sheet-add-template-field[data-add-template-kind="choice"] .sheet-add-template-combo-label {
    padding-right: 1.1rem;
    text-align: center;
}

.sheet-add-template-combo-label.is-empty {
    color: transparent;
}

.sheet-add-template-combo-arrow {
    position: relative;
    display: inline-flex;
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 0.24rem;
    color: rgba(100, 116, 139, 0.72);
}

#add-estacas-modal .sheet-add-template-field[data-add-template-kind="choice"] .sheet-add-template-combo-arrow {
    position: absolute;
    right: 0.58rem;
}

.sheet-add-template-combo-arrow::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 0.22rem solid transparent;
    border-right: 0.22rem solid transparent;
    border-top: 0.34rem solid currentColor;
}

.sheet-add-template-combo-button:hover .sheet-add-template-combo-arrow,
.sheet-add-template-combo-button:focus-visible .sheet-add-template-combo-arrow,
.sheet-add-template-combo.is-open .sheet-add-template-combo-arrow {
    background: #475569;
    color: #ffffff;
}

.sheet-add-template-combo-menu {
    position: absolute;
    top: calc(100% + 0.18rem);
    right: 0;
    left: 0;
    z-index: 210;
    max-height: 10rem;
    overflow-y: auto;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.2rem 0;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}

.sheet-add-template-combo-menu.hidden {
    display: none;
}

.sheet-add-template-combo-option {
    display: block;
    width: 100%;
    min-height: 1.85rem;
    border: 0;
    background: transparent;
    padding: 0.34rem 0.52rem;
    color: #0f172a;
    font-family: inherit;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.05rem;
    text-align: center;
    cursor: pointer;
}

.sheet-add-template-combo-option:hover,
.sheet-add-template-combo-option.is-active,
.sheet-add-template-combo-option:focus-visible {
    background: var(--sheet-choice-hover-bg, #e8edf3);
    outline: none;
}

.sheet-add-template-combo-option.is-selected {
    background: #e7edf4;
}

#add-estacas-modal .sheet-add-template-fields {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    #add-estacas-modal .sheet-add-template-fields {
        grid-template-columns: repeat(var(--sheet-add-template-column-count, 3), minmax(0, 1fr));
    }
}

.sheet-grid-add-estacas-sheet,
.sheet-add-grid-shell {
    --sheet-header-bg: #eef3f8;
    --sheet-header-fg: #51637b;
    --sheet-dropdown-hit-width: 1.34rem;
    --sheet-dropdown-box-size: 0.9rem;
    --sheet-dropdown-inline-offset: 0.08rem;
    --sheet-dropdown-text-padding-left: 0.52rem;
    --sheet-dropdown-reserve-width: 1.52rem;
    position: relative;
    overflow: visible;
    border: 1px solid rgba(203, 209, 216, 0.95);
    border-radius: 0.375rem;
    background: #fff;
}

#add-estacas-modal .sheet-grid-add-estacas-sheet {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.sheet-grid-add-estacas-sheet:focus,
.sheet-grid-add-estacas-sheet:focus-visible {
    outline: none;
}

.sheet-grid-add-estacas-sheet .sheet-grid-scroll {
    position: relative;
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.sheet-add-grid-table {
    width: 100%;
    min-width: 100%;
    table-layout: fixed;
    overflow: visible;
}

.sheet-add-grid-table .sheet-add-col-name {
    width: 33%;
}

.sheet-add-grid-table .sheet-add-col-project {
    width: 33.5%;
}

.sheet-add-grid-table th {
    height: 2.1rem;
    padding: 0.38rem 0.52rem;
    background: #eef3f8;
    color: #51637b;
    font-size: 0.64rem;
    letter-spacing: 0.12em;
    line-height: 0.95rem;
    text-align: center;
    vertical-align: middle;
}

#add-estacas-modal .sheet-add-grid-table thead {
    position: sticky;
    top: 0;
    z-index: 35;
}

#add-estacas-modal .sheet-add-grid-table thead th {
    position: relative;
    z-index: 36;
}

.sheet-add-grid-table th:first-child {
    text-align: left;
}

.sheet-add-grid-table .sheet-add-head-name,
.sheet-add-grid-table thead tr:nth-child(2) th {
    padding-left: 0.88rem;
    text-align: left;
}

.sheet-add-project-head,
.sheet-add-grid-table thead tr:nth-child(2) th:first-child,
.sheet-add-grid-table td[data-add-col="1"] {
    border-left: 1px solid var(--sheet-grid-line);
}

.sheet-grid-add-estacas-rai .sheet-add-project-head,
.sheet-grid-add-estacas-rai .sheet-add-grid-table thead tr:nth-child(2) th:first-child {
    border-left: 4px solid var(--sheet-grid-line);
}

.sheet-grid-add-estacas-rai .sheet-add-grid-table td[data-add-col="2"] {
    border-left: 4px solid var(--sheet-grid-line);
}

.sheet-add-grid-table td {
    position: relative;
    height: 1.96rem;
    padding: 0.26rem 0.52rem;
    border-right: 1px solid var(--sheet-grid-line);
    border-bottom: 1px solid rgba(203, 209, 216, 0.86);
    background: #fff;
    cursor: cell;
    overflow: visible;
}

.sheet-add-grid-table .sheet-add-row.sheet-row-active .sheet-grid-cell {
    background: #f8fbff;
}

.sheet-add-grid-table .sheet-identity-cell {
    position: relative;
    left: auto;
    z-index: auto;
    box-shadow: none;
}

.sheet-add-grid-table tr:last-child td {
    border-bottom: 0;
}

.sheet-add-grid-table td[data-add-col="0"],
.sheet-add-grid-table td[data-add-col="1"],
.sheet-add-grid-table td[data-add-col="2"] {
    padding-left: 0.88rem;
}

.sheet-add-grid-table .sheet-cell-value {
    display: flex;
    align-items: center;
    min-height: 1.4rem;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.05rem;
    color: #0f172a;
}

.sheet-add-grid-table [data-add-grid-display] {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: inherit;
}

.sheet-add-grid-table [data-add-grid-display].is-empty {
    color: transparent;
}

.sheet-add-grid-table td:not([data-add-col="0"]) .sheet-cell-value {
    justify-content: center;
    text-align: center;
}

.sheet-add-grid-table td[data-add-col="0"] .sheet-cell-value {
    justify-content: flex-start;
    font-weight: 700;
    text-align: left;
}

#add-estacas-modal .sheet-add-grid-table td[data-add-col="1"] .sheet-cell-value {
    justify-content: flex-start;
    text-align: left;
}

.sheet-add-grid-table .sheet-cell-value-selectlike {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding-right: var(--sheet-dropdown-reserve-width, 1.52rem);
    padding-left: var(--sheet-dropdown-reserve-width, 1.52rem);
    text-align: center;
}

.sheet-add-grid-table .sheet-cell-value-selectlike .sheet-cell-value-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sheet-cell-dropdown-trigger {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--sheet-dropdown-hit-width, 1.34rem);
    height: 100%;
    top: 0;
    right: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    box-sizing: border-box;
}

.sheet-cell-dropdown-arrow {
    position: absolute;
    top: 50%;
    right: var(--sheet-dropdown-inline-offset, 0.08rem);
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--sheet-dropdown-box-size, 0.9rem);
    height: var(--sheet-dropdown-box-size, 0.9rem);
    border-radius: 0.24rem;
    background: transparent;
    color: rgba(100, 116, 139, 0.72);
    pointer-events: none;
    transition: background-color 0.14s ease, color 0.14s ease;
}

.sheet-cell-dropdown-arrow::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 0.22rem solid transparent;
    border-right: 0.22rem solid transparent;
    border-top: 0.34rem solid currentColor;
}

.sheet-cell-dropdown-trigger:hover .sheet-cell-dropdown-arrow,
.sheet-cell-dropdown-trigger:focus-visible .sheet-cell-dropdown-arrow {
    background: #475569;
    color: #ffffff;
}

.sheet-cell-dropdown-trigger:focus-visible {
    outline: none;
}

.sheet-add-grid-table td.sheet-cell-active,
.sheet-add-grid-table td.sheet-cell-editing {
    z-index: 14;
    isolation: isolate;
    box-shadow: none;
}

.sheet-add-grid-table td.sheet-identity-cell.sheet-cell-active,
.sheet-add-grid-table td.sheet-identity-cell.sheet-cell-editing,
.sheet-add-grid-table td.sheet-cell-active:has(+ td[data-add-col="1"]),
.sheet-add-grid-table td.sheet-cell-editing:has(+ td[data-add-col="1"]) {
    box-shadow: none;
}

.sheet-add-grid-table td.sheet-cell-active::before,
.sheet-add-grid-table td.sheet-cell-editing::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px solid rgba(33, 89, 212, 0.95);
    pointer-events: none;
    z-index: 3;
}

.sheet-add-grid-table td[data-add-col="1"].sheet-cell-active::before,
.sheet-add-grid-table td[data-add-col="1"].sheet-cell-editing::before {
    left: 0;
}

.sheet-grid-add-estacas-rai .sheet-add-grid-table td[data-add-col="1"].sheet-cell-active::before,
.sheet-grid-add-estacas-rai .sheet-add-grid-table td[data-add-col="1"].sheet-cell-editing::before {
    left: 0;
}

.sheet-grid-add-estacas-rai .sheet-add-grid-table td[data-add-col="2"].sheet-cell-active::before,
.sheet-grid-add-estacas-rai .sheet-add-grid-table td[data-add-col="2"].sheet-cell-editing::before {
    left: 4px;
}

.sheet-add-grid-table td.sheet-cell-menu-open {
    z-index: 60;
}

.sheet-add-grid-editor {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: 0 !important;
    border-radius: 0;
    background: #fff;
    padding: 0.26rem 0.52rem;
    font-family: inherit;
    font-size: var(--sheet-inline-editor-font-size);
    font-weight: var(--sheet-inline-editor-font-weight);
    line-height: var(--sheet-inline-editor-line-height);
    color: #0f172a;
    outline: none !important;
    box-shadow: none !important;
    pointer-events: auto;
}

.sheet-add-grid-editor.sheet-editor-bridge-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0.26rem 0.52rem;
    background: #fff;
    line-height: 1.05rem;
}

.sheet-add-grid-table td:not([data-add-col="0"]) .sheet-add-grid-editor {
    text-align: center;
}

.sheet-add-grid-table td[data-add-col="0"] .sheet-add-grid-editor {
    font-weight: var(--sheet-inline-editor-font-weight);
}

.sheet-add-grid-table td[data-add-choice="1"] .sheet-add-grid-editor {
    padding-right: 1.52rem;
}

.sheet-add-grid-editor-trigger {
    z-index: 5;
}

.sheet-add-diameter-menu {
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    right: 0;
    z-index: 70;
    display: flex;
    flex-direction: column;
    min-width: 100%;
    max-height: 10rem;
    overflow: hidden;
    border: 1px solid rgba(183, 192, 203, 0.92);
    border-radius: 0 0 0.35rem 0.35rem;
    background: #fff;
    box-shadow: 0 18px 28px rgba(15, 23, 42, 0.14);
}

.sheet-add-diameter-menu.is-floating {
    position: fixed;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    min-width: 0;
    overflow-y: hidden;
}

.sheet-add-diameter-menu.is-above {
    top: auto;
    bottom: calc(100% - 1px);
    border-radius: 0.35rem 0.35rem 0 0;
    box-shadow: 0 -18px 28px rgba(15, 23, 42, 0.12);
}

.sheet-add-diameter-menu.hidden {
    display: none;
}

.sheet-add-diameter-menu.is-scrollable {
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.sheet-add-diameter-menu .sheet-editor-diameter-options.is-scrollable {
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.sheet-add-diameter-option {
    width: 100%;
    border: 0;
    background: #fff;
    padding: 0.34rem 0.52rem;
    color: #0f172a;
    font: inherit;
    font-size: 0.78rem;
    text-align: center;
    cursor: pointer;
}

.sheet-add-diameter-option:hover,
.sheet-add-diameter-option.is-active,
.sheet-add-diameter-option:focus-visible {
    background: var(--sheet-choice-hover-bg, #e8edf3);
    outline: none;
}

.sheet-plan-table tbody td {
    background-clip: padding-box;
}

.sheet-row-error .sheet-grid-cell {
    background: #fff7f7;
}

.sheet-row-warning .sheet-grid-cell {
    background: #fffaf1;
}

.sheet-row-error .sheet-identity-cell {
    background: #fff7f7;
}

.sheet-row-warning .sheet-identity-cell {
    background: #fffaf1;
}

.sheet-row-block-updated .sheet-grid-cell {
    animation: sheet-row-pulse 1.35s ease;
}

@keyframes sheet-row-pulse {
    0% {
        filter: brightness(1.012);
    }
    100% {
        filter: brightness(1);
    }
}

.sheet-identity-merged {
    vertical-align: top;
}

.sheet-hcm-block .sheet-grid-cell {
    padding-top: 0.24rem;
    padding-bottom: 0.24rem;
}

.sheet-grid-hcm-sheet .sheet-cell-value-selectlike {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding-left: var(--sheet-dropdown-text-padding-left, 0.52rem);
    padding-right: var(--sheet-dropdown-reserve-width, 1.34rem);
}

.sheet-grid-hcm-sheet .sheet-cell-value-selectlike .sheet-cell-value-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sheet-grid-hcm-sheet .sheet-grid-cell.sheet-cell-active,
.sheet-grid-hcm-sheet .sheet-grid-cell.sheet-cell-editing {
    box-shadow: none;
    isolation: isolate;
    overflow: visible;
}

.sheet-grid-hcm-sheet .sheet-grid-cell.sheet-cell-active::before,
.sheet-grid-hcm-sheet .sheet-grid-cell.sheet-cell-editing::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 30;
    border: 2px solid var(--sheet-selection-ring, rgba(33, 89, 212, 0.95));
    pointer-events: none;
}

.sheet-grid-hcm-sheet .sheet-grid-cell.sheet-cell-editing > .sheet-cell-value {
    visibility: hidden;
}

.sheet-hcm-parent-row .sheet-grid-cell {
    background: #ffffff;
}

.sheet-hcm-merged-cell {
    vertical-align: top;
    background: #fcfdff;
}

.sheet-hcm-cell-stack {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    gap: 0.26rem;
}

.sheet-hcm-identity-grid {
    display: grid;
    gap: 0;
}

.sheet-hcm-identity-slot {
    display: flex;
    align-items: center;
    min-height: 2.02rem;
}

.sheet-hcm-identity-slot.is-refuro {
    justify-content: flex-end;
}

.sheet-hcm-project-cell .sheet-hcm-cell-stack,
.sheet-hcm-observation-cell .sheet-hcm-cell-stack {
    padding-top: 0.06rem;
}

.sheet-hcm-refuro-label {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.sheet-hcm-project-cell .sheet-cell-value,
.sheet-hcm-observation-cell .sheet-cell-value {
    align-items: flex-start;
}

.sheet-hcm-geo-cell {
    background: #ffffff;
}

.sheet-geo-action {
    width: 1.7rem;
    height: 1.7rem;
    padding: 0;
}

.sheet-hcm-consistency-cell {
    background: #ffffff;
}

.sheet-hcm-action-cell {
    text-align: center;
    vertical-align: middle;
    background: #ffffff;
}

.sheet-hcm-action-span-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 100%;
    height: 100%;
    padding-bottom: 0.08rem;
}

.sheet-hcm-add-action,
.sheet-hcm-delete-action {
    width: 1.55rem;
    height: 1.55rem;
    padding: 0;
}

.sheet-hcm-delete-action {
    color: #b91c1c;
}

.sheet-hcm-refuro-row .sheet-grid-cell {
    background: #fbfdff;
}

.sheet-hcm-refuro-row .sheet-grid-cell {
    padding-top: 0.18rem;
    padding-bottom: 0.18rem;
}

.sheet-hcm-refuro-row .sheet-cell-value {
    min-height: 1.95rem;
    font-size: 0.78rem;
    line-height: 1.05rem;
    font-weight: 500;
}

.sheet-hcm-refuro-row .sheet-refuro-input {
    height: 1.95rem;
    padding: 0.28rem 0.52rem;
    border-radius: 0.18rem;
    font-family: inherit;
    font-size: var(--sheet-inline-editor-font-size);
    line-height: var(--sheet-inline-editor-line-height);
    font-weight: var(--sheet-inline-editor-font-weight);
}

.sheet-hcm-refuro-geo-shell {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sheet-hcm-refuro-consistency {
    text-align: center;
    background: #fbfdff;
}

.sheet-hcm-refuro-executed .sheet-refuro-input {
    text-align: inherit;
}

.sheet-hcm-refuro-executed .sheet-cell-value {
    justify-content: inherit;
}

.sheet-hcm-add-span-cell {
    vertical-align: bottom;
    padding-top: 0;
    padding-bottom: 0;
}

.sheet-refuro-label-stack {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.55rem;
}

.sheet-refuro-label {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.sheet-observation-merged {
    vertical-align: top;
}

.sheet-refuro-row .sheet-grid-cell {
    background: #fbfdff;
}

.sheet-refuro-row-saving .sheet-grid-cell {
    opacity: 0.82;
}

.sheet-refuro-input,
.sheet-refuro-note {
    width: 100%;
    min-width: 0;
    height: 1.95rem;
    border: 1px solid transparent;
    border-radius: 0.18rem;
    background: transparent;
    padding: 0.28rem 0.52rem;
    font-family: inherit;
    font-size: var(--sheet-inline-editor-font-size);
    font-weight: var(--sheet-inline-editor-font-weight);
    line-height: var(--sheet-inline-editor-line-height);
    color: #0f172a;
    outline: none;
}

.sheet-refuro-input:focus,
.sheet-refuro-note:focus {
    border-color: #8593a6;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(13, 149, 210, 0.1);
}

.sheet-refuro-consistency-cell {
    min-width: 132px;
}

.sheet-refuro-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    color: #475569;
}

.sheet-refuro-check input {
    margin: 0;
    width: 0.92rem;
    height: 0.92rem;
    accent-color: #0f172a;
}

.sheet-refuro-check-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 1.95rem;
}

.sheet-refuro-note {
    margin-top: 0.28rem;
}

.sheet-refuro-geo-cell {
    color: #64748b;
}

.sheet-refuro-geo-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 700;
    color: #64748b;
}

.sheet-subgrid-row td {
    border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    background: #fbfdff;
}

.sheet-subgrid-wrap {
    padding: 0.8rem 0.95rem 0.95rem;
    border-top: 1px solid rgba(203, 209, 216, 0.8);
}

.sheet-subgrid-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.sheet-subgrid-message {
    margin-bottom: 0.75rem;
    border: 1px solid rgba(227, 149, 149, 0.7);
    border-radius: 0.35rem;
    background: #fff1f2;
    padding: 0.55rem 0.7rem;
    font-size: 0.74rem;
    color: #be123c;
}

.sheet-subtable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.sheet-subtable th {
    padding: var(--erp-table-header-padding);
    border-bottom: 1px solid rgba(203, 209, 216, 0.95);
    background: var(--erp-table-header-bg);
    color: var(--erp-table-header-fg);
    font-size: var(--erp-table-header-font-size);
    font-weight: var(--erp-table-header-font-weight);
    line-height: var(--erp-table-header-line-height);
    letter-spacing: var(--erp-table-header-letter-spacing);
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
}

.sheet-subtable td {
    padding: var(--erp-table-cell-padding);
    border-bottom: 1px solid rgba(203, 209, 216, 0.74);
    background: var(--erp-table-row-bg);
    color: var(--erp-table-cell-fg);
    font-size: var(--erp-table-cell-font-size);
    line-height: var(--erp-table-cell-line-height);
    vertical-align: middle;
}

.sheet-subtable input,
.sheet-subtable select {
    width: 100%;
    min-width: 0;
    height: 1.9rem;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 0.3rem;
    background: #fff;
    padding: 0.28rem 0.45rem;
    font-family: inherit;
    font-size: var(--sheet-inline-editor-font-size);
    line-height: var(--sheet-inline-editor-line-height);
    font-weight: var(--sheet-inline-editor-font-weight);
    color: var(--erp-table-cell-fg);
    outline: none;
}

/* Editores inline de celula herdam familia/tamanho da celula; destaque pertence ao renderer de leitura. */
.sheet-cell-editor,
.sheet-commercial-editor,
.sheet-daily-editor,
.sheet-add-grid-editor,
.sheet-refuro-input,
.sheet-refuro-note,
.sheet-subtable input,
.sheet-subtable select,
[data-inline-editor="1"] {
    font-family: inherit !important;
    font-size: var(--sheet-inline-editor-font-size, var(--sheet-cell-font-size, var(--erp-table-cell-font-size))) !important;
    font-weight: var(--sheet-inline-editor-font-weight) !important;
}

#add-estacas-modal .sheet-add-grid-table td[data-add-field="identificacao"] .sheet-add-grid-editor {
    font-weight: 700 !important;
    text-align: left;
}

#add-estacas-modal .sheet-add-grid-table td:not([data-add-field="identificacao"]) .sheet-add-grid-editor {
    text-align: center;
}

#add-estacas-modal .sheet-add-grid-table td[data-add-col="1"] .sheet-add-grid-editor {
    text-align: left;
}

.sheet-subtable input:focus,
.sheet-subtable select:focus {
    border-color: #8593a6;
    box-shadow: 0 0 0 2px rgba(13, 149, 210, 0.1);
}

.sheet-subrecord-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid rgba(183, 192, 203, 0.95);
    border-radius: 0.32rem;
    background: #fff;
    color: #334155;
}

.sheet-subrecord-action:hover {
    background: #f8fafc;
}

.sheet-subrecord-action-danger {
    color: #b91c1c;
}

.expand-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 220ms ease, opacity 220ms ease, margin-top 220ms ease;
    opacity: 0;
    margin-top: 0;
}

.expand-panel.is-open {
    max-height: 1600px;
    opacity: 1;
    margin-top: 1rem;
}

.erp-entity-picker {
    position: relative;
}

.erp-entity-picker-input {
    padding-right: 2.25rem;
}

.erp-entity-picker-input[readonly] {
    cursor: pointer;
}

.erp-entity-picker-toggle {
    position: absolute;
    top: 50%;
    right: 0.55rem;
    display: inline-flex;
    width: 1.65rem;
    height: 1.65rem;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 0.375rem;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.erp-entity-picker-toggle:hover,
.erp-entity-picker.is-open .erp-entity-picker-toggle {
    color: #475569;
    background: #f1f5f9;
}

.erp-entity-picker-menu {
    position: fixed;
    z-index: 260;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.13);
    padding: 0;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.erp-entity-picker-menu.hidden {
    display: none;
}

.erp-entity-picker-menu-search-wrap {
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
    padding: 0.45rem;
}

.erp-entity-picker-menu-search {
    width: 100%;
    height: var(--erp-entity-picker-field-height, 2.5rem);
    border: 1px solid #cbd1d8;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0 0.75rem;
    font-family: var(--erp-entity-picker-field-font-family, inherit);
    font-size: var(--erp-entity-picker-field-font-size, 0.875rem);
    font-weight: var(--erp-entity-picker-field-font-weight, 400);
    line-height: var(--erp-entity-picker-field-line-height, 1.25rem);
    color: var(--erp-entity-picker-field-color, #0f172a);
    outline: none;
}

.erp-entity-picker-menu-search::placeholder {
    color: #94a3b8;
}

.erp-entity-picker-menu-search:focus {
    border-color: #cbd5e1;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.10);
}

.erp-entity-picker-option {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0.58rem 0.72rem;
    text-align: left;
    color: #0f172a;
    cursor: pointer;
}

.erp-entity-picker-option:hover,
.erp-entity-picker-option.is-active {
    background: #e8edf3;
}

.erp-entity-picker-create,
.erp-entity-picker-create-choice {
    display: flex;
    width: 100%;
    gap: 0.18rem;
    border: 0;
    border-top: 1px solid #e2e8f0;
    border-radius: 0;
    background: #f4faf6;
    padding: 0.34rem 0.72rem 0.36rem;
    text-align: left;
}

.erp-entity-picker-create {
    flex-direction: column;
    min-height: 3.63rem;
    justify-content: center;
    color: #059669;
    cursor: pointer;
}

.erp-entity-picker-create:hover,
.erp-entity-picker-create:focus,
.erp-entity-picker-create.is-active {
    background: #edf8f2;
    outline: none;
}

.erp-entity-picker-create-line {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

.erp-entity-picker-create-name {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.05rem;
    color: #059669;
}

.erp-entity-picker-create-role {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    color: #059669;
}

.erp-entity-picker-create-role .erp-entity-picker-role-icon {
    width: 1.12rem;
    height: 1.12rem;
    color: #059669;
}

.erp-entity-picker-create-badge {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    gap: 0.32rem;
    overflow: hidden;
    border-radius: 999px;
    background: #0f172a;
    padding: 0.12rem 0.42rem 0.13rem 0.16rem;
    color: #ffffff;
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 0.9rem;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.erp-entity-picker-create-plus {
    display: inline-flex;
    width: 0.98rem;
    height: 0.98rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    color: #0f172a;
    font-family: Arial, sans-serif;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1;
}

.erp-entity-picker-create-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.35rem;
}

.erp-entity-picker-create-type {
    border: 1px solid #cbd5e1;
    border-radius: 0.32rem;
    background: #ffffff;
    padding: 0.28rem 0.48rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
}

.erp-entity-picker-create-type:hover,
.erp-entity-picker-create-type:focus {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #075985;
    outline: none;
}

.erp-entity-picker-option-main {
    display: block;
    min-width: 0;
}

.erp-entity-picker-option-line {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
}

.erp-entity-picker-option-label {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    color: #0f172a;
}

.erp-entity-picker-option-roles {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.28rem;
    color: #64748b;
}

.erp-entity-picker-role-icon {
    display: inline-flex;
    width: 1.12rem;
    height: 1.12rem;
    align-items: center;
    justify-content: center;
    color: #64748b;
}

.erp-entity-picker-role-icon svg {
    width: 100%;
    height: 100%;
}

.erp-entity-picker-option-description {
    display: block;
    margin-top: 0.1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    color: #64748b;
}

.erp-entity-picker-option-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.42rem;
    margin-top: 0.22rem;
}

.erp-entity-picker-person-type {
    display: inline-flex;
    min-height: 0.82rem;
    align-items: center;
    border: 1px solid #dbe4ee;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0 0.25rem;
    font-size: 0.49rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    line-height: 0.82rem;
}

.erp-entity-picker-document {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1rem;
}

.erp-entity-picker-mark {
    border-radius: 0.2rem;
    background: #dbeafe;
    color: #1d4ed8;
    padding: 0 0.08rem;
}

.erp-entity-picker-state {
    padding: 0.65rem 0.75rem;
    font-size: 0.8125rem;
    color: #64748b;
}

.erp-entity-picker-state.is-error {
    color: #be123c;
}

.erp-simple-lookup {
    position: relative;
}

.erp-simple-lookup-input {
    padding-right: 2.25rem;
}

.erp-simple-lookup-toggle {
    position: absolute;
    top: 50%;
    right: 0.55rem;
    display: inline-flex;
    width: 1.65rem;
    height: 1.65rem;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 0.375rem;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.erp-simple-lookup-toggle:hover,
.erp-simple-lookup.is-open .erp-simple-lookup-toggle {
    color: #475569;
    background: #f1f5f9;
}

.erp-simple-lookup-menu {
    position: fixed;
    z-index: 180;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.13);
    padding: 0;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.erp-simple-lookup-menu.hidden {
    display: none;
}

.erp-simple-lookup-option {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0.58rem 0.72rem;
    text-align: left;
    color: #0f172a;
    cursor: pointer;
}

.erp-simple-lookup-option:hover,
.erp-simple-lookup-option.is-active {
    background: #e8edf3;
}

.erp-simple-lookup-option-main {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.erp-simple-lookup-option-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.erp-simple-lookup-option-code {
    flex: 0 0 auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.7rem;
    color: #94a3b8;
}

.erp-simple-lookup-option-description {
    display: block;
    margin-top: 0.1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    color: #64748b;
}

.erp-simple-lookup-mark {
    border-radius: 0.2rem;
    background: #dbeafe;
    color: #1d4ed8;
    padding: 0 0.08rem;
}

.erp-simple-lookup-state {
    padding: 0.65rem 0.75rem;
    font-size: 0.8125rem;
    color: #64748b;
}

.erp-simple-lookup-state.is-error {
    color: #be123c;
}

.commercial-send-preview-dialog {
    max-width: 61.6rem;
}

.commercial-send-preview-grid {
    grid-template-columns: minmax(14rem, 16rem) minmax(0, 1fr);
}

.commercial-send-tag-field {
    min-height: 2.5rem;
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #fff;
    padding: 0.25rem 0.375rem;
    color: #0f172a;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.commercial-send-tag-field:focus-within {
    border-color: #94a3b8;
    box-shadow: 0 0 0 2px #e0f2fe;
}

.commercial-send-tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
}

.commercial-send-tag {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: 0.25rem;
    border: 1px solid #dbe3ec;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0.18rem 0.3rem 0.18rem 0.55rem;
    font-size: 0.78rem;
    line-height: 1.1rem;
    color: #334155;
}

.commercial-send-tag-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commercial-send-tag-remove {
    display: inline-flex;
    height: 1rem;
    width: 1rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #94a3b8;
    font-size: 0.88rem;
    line-height: 1;
}

.commercial-send-tag-remove:hover {
    background: #e2e8f0;
    color: #475569;
}

.commercial-send-tag-input {
    display: block;
    min-height: 1.65rem;
    max-height: 5.75rem;
    width: 100%;
    resize: none;
    overflow-y: hidden;
    border: 0;
    background: transparent;
    padding: 0.2rem 0.1rem 0;
    font: inherit;
    font-size: 0.84rem;
    line-height: 1.25rem;
    color: #0f172a;
    outline: none;
}

.commercial-send-tag-input::placeholder {
    color: #94a3b8;
}

.commercial-send-restore-button {
    height: 1.45rem;
    min-width: 2.05rem;
    align-items: center;
    justify-content: center;
    gap: 0.08rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: 0.72rem;
    line-height: 1;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.commercial-send-restore-button:not(.hidden) {
    display: inline-flex;
}

.commercial-send-restore-button:hover {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
}

.commercial-send-restore-plus {
    font-size: 0.95rem;
    font-weight: 700;
    transform: translateY(-0.03rem);
}

.commercial-send-restore-chevron {
    font-size: 0.78rem;
    transform: translateY(-0.03rem);
}

@media (max-width: 1023px) {
    .commercial-send-preview-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1023px) {
    .app-sidebar {
        transform: translateX(-100%);
        transition: transform 180ms ease;
        width: var(--sidebar-width);
    }

    .app-main,
    .app-shell[data-sidebar-state="collapsed"] .app-main {
        margin-left: 0;
    }

    .app-shell[data-sidebar-state="expanded"] .app-sidebar {
        transform: translateX(0);
    }
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: rgba(203, 209, 216, 0.6);
}

::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.45);
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(71, 85, 105, 0.65);
}

/* Dashboard operacional */
.dashboard-workspace {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-height: 0;
}

.dashboard-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.dashboard-metric-grid > * {
    min-height: 0;
}

.dashboard-metric-grid--inside-card {
    gap: 0.5rem;
}

.dashboard-metric-grid--works {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-filter-card {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    cursor: pointer;
    text-align: left;
}

.dashboard-filter-card:hover {
    transform: translateY(-1px);
}

.dashboard-filter-card[data-dashboard-filter-active="1"] {
    box-shadow: inset 0 0 0 1px currentColor;
}

.dashboard-pagination-button[aria-disabled="true"] {
    pointer-events: none;
}

.dashboard-pagination-pill {
    white-space: nowrap;
}

.dashboard-works-table {
    table-layout: fixed;
}

.dashboard-works-col-info {
    width: 50%;
}

.dashboard-works-col-followup,
.dashboard-works-col-measurements {
    width: 25%;
}

.dashboard-works-table td:nth-child(2) {
    padding-right: 1.1rem;
}

.dashboard-works-table td:nth-child(3) {
    padding-left: 1.1rem;
}

.dashboard-work-row > td {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    vertical-align: middle;
}

.dashboard-work-measurements {
    min-width: 9.25rem;
}

.dashboard-last-launch-icon {
    display: inline-flex;
    width: 0.78rem;
    height: 0.78rem;
    flex: 0 0 auto;
    color: #64748b;
}

.dashboard-last-launch-icon svg {
    width: 100%;
    height: 100%;
}

.dashboard-measurement-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.32rem;
}

.dashboard-measurement-icon {
    display: inline-flex;
    width: 1.42rem;
    height: 1.42rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe3ec;
    border-radius: 0.34rem;
    background: #f8fafc;
    color: #94a3b8;
}

.dashboard-measurement-icon svg {
    width: 0.95rem;
    height: 0.95rem;
}

.dashboard-measurement-icon--open {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #b9c4d0;
}

.dashboard-measurement-icon--empty {
    border-color: #e5eaf1;
    background: transparent;
    color: #d8e0ea;
    opacity: 1;
}

.dashboard-measurement-icon--closed {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.dashboard-measurement-icon--pending,
.dashboard-measurement-icon--reopened {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.dashboard-measurement-icon--overdue {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #e11d48;
}

.dashboard-measurement-icon--paid {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #16a34a;
}

.dashboard-measurement-icon[data-dashboard-measurement-tooltip] {
    cursor: help;
}

.dashboard-measurement-icon[data-dashboard-measurement-tooltip]:focus-visible {
    outline: 2px solid rgba(14, 165, 233, 0.34);
    outline-offset: 2px;
}

.dashboard-measurement-floating-tooltip {
    position: fixed;
    z-index: 320;
    width: min(15.5rem, calc(100vw - 1rem));
    border: 1px solid #cbd5e1;
    border-radius: 0.42rem;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16);
    padding: 0.65rem 0.72rem;
    color: #334155;
    pointer-events: none;
}

.dashboard-measurement-floating-tooltip.hidden {
    display: none;
}

.dashboard-measurement-tooltip-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 0.48rem;
}

.dashboard-measurement-tooltip-title {
    min-width: 0;
    overflow: hidden;
    color: #0f172a;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.05rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-measurement-tooltip-status {
    flex: 0 0 auto;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0.16rem 0.46rem;
    color: #64748b;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 0.78rem;
    text-transform: uppercase;
}

.dashboard-measurement-tooltip-status--open {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #94a3b8;
}

.dashboard-measurement-tooltip-status--empty {
    border-color: #e5e7eb;
    background: #ffffff;
    color: #cbd5e1;
}

.dashboard-measurement-tooltip-status--closed,
.dashboard-measurement-tooltip-status--paid {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.dashboard-measurement-tooltip-status--pending,
.dashboard-measurement-tooltip-status--reopened {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.dashboard-measurement-tooltip-status--overdue {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

.dashboard-measurement-tooltip-grid {
    display: grid;
    grid-template-columns: minmax(4.2rem, auto) minmax(0, 1fr);
    gap: 0.3rem 0.65rem;
    padding-top: 0.52rem;
    font-size: 0.7rem;
    line-height: 1.05rem;
}

.dashboard-measurement-tooltip-label {
    color: #64748b;
    font-weight: 650;
}

.dashboard-measurement-tooltip-value {
    min-width: 0;
    overflow: hidden;
    color: #0f172a;
    font-weight: 750;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-fullscreen-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    min-width: 7.8rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.dashboard-fullscreen-toggle:hover,
.dashboard-fullscreen-toggle:focus-visible {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
    outline: none;
}

.dashboard-fullscreen-button-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
}

.dashboard-fullscreen-icon {
    width: 1rem;
    height: 1rem;
}

.dashboard-fullscreen-button-content--exit,
.dashboard-fullscreen-toggle[aria-pressed="true"] .dashboard-fullscreen-button-content--enter {
    display: none;
}

.dashboard-fullscreen-toggle[aria-pressed="true"] .dashboard-fullscreen-button-content--exit {
    display: inline-flex;
}

.dashboard-operations-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(22rem, 0.8fr);
    gap: 1rem;
}

.dashboard-production-section {
    position: relative;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
}


.dashboard-production-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.75rem;
    padding-top: 1.35rem;
}
.dashboard-production-overview {
    display: grid;
    grid-template-columns: minmax(16rem, 18rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-width: 0;
}

.dashboard-production-overview__pie,
.dashboard-production-overview__bars {
    min-width: 0;
}

.dashboard-production-overview__pie {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dashboard-production-pie {
    margin: 0 auto;
    max-width: 100%;
}

@media (max-width: 1100px) {
    .dashboard-production-overview {
        grid-template-columns: minmax(0, 1fr);
    }
}

.dashboard-chart-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 0.75rem;
    min-width: 0;
}

.dashboard-chart-card {
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background: #ffffff;
    padding: 0.82rem;
}

.dashboard-chart-card h3 {
    min-height: 1.4rem;
}

.dashboard-chart-card svg rect[fill="white"] {
    fill: #ffffff;
}

.dashboard-workspace:fullscreen,
.dashboard-workspace.is-dashboard-fullscreen {
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    overflow: auto;
    background: #f8fafc;
    padding: 0.85rem;
}

.dashboard-workspace.is-dashboard-fullscreen-fallback {
    position: fixed;
    inset: 0;
    z-index: 1200;
}

body.dashboard-fullscreen-active {
    overflow: hidden;
}

.dashboard-workspace:fullscreen .dashboard-operations-grid,
.dashboard-workspace.is-dashboard-fullscreen .dashboard-operations-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(22rem, 0.82fr);
}

.dashboard-workspace:fullscreen .dashboard-production-grid,
.dashboard-workspace.is-dashboard-fullscreen .dashboard-production-grid {
    grid-template-columns: minmax(0, 1fr);
}

.dashboard-workspace:fullscreen .dashboard-chart-group,
.dashboard-workspace.is-dashboard-fullscreen .dashboard-chart-group {
    grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
}

@media (min-width: 1700px) {
    .dashboard-operations-grid {
        grid-template-columns: minmax(0, 1.16fr) minmax(22rem, 0.84fr);
    }

    .dashboard-chart-group {
        grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    }
}

@media (max-width: 1100px) {
    .dashboard-operations-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-fullscreen-toggle {
        min-height: 2.6rem;
    }

    .dashboard-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-metric-grid--works {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dashboard-metric-grid,
    .dashboard-chart-group {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-metric-grid--works {
        grid-template-columns: minmax(0, 1fr);
    }
}

.dashboard-operations-grid > article,
.dashboard-operations-grid > aside > article {
    display: flex;
    max-height: 27rem;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
}

.dashboard-operations-grid > article > .overflow-x-auto,
.dashboard-operations-grid > aside > article > .border-t {
    min-height: 0;
    overflow: auto;
}

.dashboard-workspace:fullscreen .dashboard-operations-grid > article,
.dashboard-workspace:fullscreen .dashboard-operations-grid > aside > article,
.dashboard-workspace.is-dashboard-fullscreen .dashboard-operations-grid > article,
.dashboard-workspace.is-dashboard-fullscreen .dashboard-operations-grid > aside > article {
    max-height: 30rem;
}


[data-cadastros-function-filter-summary]::after {
    width: 0;
    height: 0;
    border-right: 0.28rem solid transparent;
    border-bottom: 0;
    border-left: 0.28rem solid transparent;
    border-top: 0.34rem solid currentColor;
    transform: none;
}

details[open] > [data-cadastros-function-filter-summary]::after {
    transform: rotate(180deg);
}


/* Dropdown arrows measured by UI smokes */
[data-dropdown-button]::after,
[data-row-actions] > summary::after,
[data-bulk-actions] > summary::after {
    width: 0;
    height: 0;
    border-right: 0.28rem solid transparent;
    border-bottom: 0;
    border-left: 0.28rem solid transparent;
    border-top: 0.34rem solid currentColor;
    transform: none;
}

details[open] > [data-dropdown-button]::after,
[data-row-actions][open] > summary::after,
[data-bulk-actions][open] > summary::after {
    transform: rotate(180deg);
}


/* Modal de Empresas Proprias: largura do modal de Cadastros sem a coluna lateral de 390px e o gap. */
[data-config-modal][data-config-modal-kind="own-company"] [data-config-modal-panel] {
    max-width: 54.625rem;
}

[data-config-modal][data-config-modal-kind="own-company"] [data-config-entity-observations-slot] [data-config-modal-description-field] {
    margin-top: 0;
}

[data-config-modal][data-config-modal-kind="own-company"] [data-config-entity-state-slot],
[data-config-modal][data-config-modal-kind="own-company"] [data-config-entity-state-slot] [data-config-modal-state-section] {
    height: 100%;
}

@media (min-width: 768px) {
    [data-config-modal][data-config-modal-kind="own-company"] [data-config-modal-identity-grid] {
        grid-template-columns: minmax(0, 1fr) 150px 190px;
    }
}

@media (min-width: 1280px) {
    [data-config-modal][data-config-modal-kind="own-company"] [data-config-modal-layout-grid] {
        grid-template-columns: minmax(0, 1fr);
    }

    [data-config-modal][data-config-modal-kind="own-company"] [data-config-entity-bottom-section] {
        grid-template-columns: minmax(0, 1fr) 12rem;
        align-items: stretch;
    }
}
