@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
    --siga-ink: #1d2b3a;
    --siga-muted: #6c7a89;
    --siga-bg: #f3f6fa;
    --siga-surface: #ffffff;
    --siga-line: #e1e8f0;
    --siga-primary: #3d79b8;
    --siga-primary-dark: #285f98;
    --siga-sidebar: #142d48;
    --siga-sidebar-soft: #1d4064;
    --siga-accent: #8fb8e3;
    --siga-danger: #c84646;
    --siga-radius: 16px;
    --siga-shadow: 0 10px 35px rgba(34, 74, 116, .07);
    --siga-font-page-title: 20px;
    --siga-font-section-title: 15px;
    --siga-font-block-title: 13px;
    --siga-font-interface: 12px;
    --siga-font-form-label: 11px;
    --siga-font-table: 11px;
    --siga-font-table-header: 10px;
    --siga-font-secondary: 10px;
    --siga-font-badge: 10px;
    --siga-font-card-value: 24px;
    --siga-font-card-label: 10px;
    --siga-table-padding-y: 6px;
    --siga-table-padding-x: 8px;
    --siga-table-line-height: 1.38;
    --bs-primary: #3d79b8;
    --bs-primary-rgb: 61, 121, 184;
    --bs-body-font-family: "DM Sans", system-ui, sans-serif;
}

* { box-sizing: border-box; }
body { color: var(--siga-ink); background: var(--siga-bg); font-family: "DM Sans", sans-serif; font-size: var(--siga-font-interface); }
h1, h2, h3, h4, .brand-link strong { font-family: inherit; letter-spacing: -.025em; }
a { color: var(--siga-primary); }

.btn { border-radius: 10px; font-size: var(--siga-font-interface); font-weight: 600; padding: .62rem 1rem; }
.btn-sm { border-radius: 8px; padding: .4rem .7rem; }
.btn-primary { background: var(--siga-primary); border-color: var(--siga-primary); box-shadow: 0 6px 14px rgba(61,121,184,.2); }
.btn-primary:hover, .btn-primary:focus { background: var(--siga-primary-dark); border-color: var(--siga-primary-dark); }
.btn-light { background: #edf2f7; border-color: #edf2f7; color: #33465a; }
.btn-dark { background: var(--siga-ink); border-color: var(--siga-ink); }
.form-control, .form-select { min-height: 44px; border: 1px solid #d9e2ec; border-radius: 10px; color: var(--siga-ink); font-size: var(--siga-font-interface); padding: .65rem .8rem; }
.form-control:focus, .form-select:focus { border-color: rgba(61,121,184,.65); box-shadow: 0 0 0 .22rem rgba(61,121,184,.1); }
.form-label { color: #405266; font-size: var(--siga-font-form-label); font-weight: 600; margin-bottom: .45rem; }
.form-text { color: var(--siga-muted); font-size: var(--siga-font-secondary); }

/* Application shell */
.app-body { min-height: 100vh; }
.sidebar { background: var(--siga-sidebar); color: #edf4fb; display: flex; flex-direction: column; height: 100vh; left: 0; position: fixed; top: 0; width: 270px; z-index: 1040; }
.sidebar-brand { align-items: center; display: flex; min-height: 126px; justify-content: space-between; padding: 10px 22px; }
.brand-link { align-items: center; color: white; display: flex; gap: 12px; text-decoration: none; }
.brand-link:hover { color: white; }
.sidebar-logo-card { align-items: center; background: transparent; border-radius: 0; box-shadow: none; display: flex; height: 88px; justify-content: center; overflow: visible; padding: 0; width: 210px; }
.sidebar-logo-card img { display: block; height: 100%; object-fit: contain; width: 100%; }
.brand-mark { align-items: center; background: linear-gradient(145deg, #73a7da, #3d79b8); border: 1px solid rgba(255,255,255,.15); border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,.15); display: flex; font-family: inherit; font-size: 1.35rem; font-weight: 700; height: 42px; justify-content: center; width: 42px; }
.brand-link strong { display: block; font-size: 1.35rem; line-height: 1; }
.brand-link small { color: #a7bdd2; display: block; font-size: .66rem; letter-spacing: .08em; margin-top: 5px; text-transform: uppercase; }
.sidebar-close, .topbar-menu { background: transparent; border: 0; color: inherit; font-size: 1.3rem; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: 16px 14px; scrollbar-width: thin; }
.nav-caption { color: #7892ad; font-size: .65rem; font-weight: 700; letter-spacing: .13em; margin: 0 12px 10px; text-transform: uppercase; }
.sidebar-link { align-items: center; border-radius: 10px; color: #bccbd9; display: flex; font-size: .86rem; font-weight: 500; gap: 12px; margin: 3px 0; padding: 10px 12px; text-decoration: none; transition: .18s ease; }
.sidebar-link i { color: #8daccc; font-size: 1rem; text-align: center; width: 20px; }
.sidebar-link:hover { background: rgba(255,255,255,.055); color: white; }
.sidebar-link.active { background: linear-gradient(90deg, rgba(92,154,216,.25), rgba(92,154,216,.1)); box-shadow: inset 3px 0 #71afe8; color: white; }
.sidebar-link.active i { color: #9dcbf4; }
.sidebar-link-ageclick { min-height: 42px; }
.sidebar-link-ageclick-unavailable { cursor: not-allowed; opacity: .72; }
.sidebar-ageclick-logo { display: block; height: 25px; max-width: 96px; object-fit: contain; object-position: left center; width: auto; }
.sidebar-ageclick-logo-placeholder { display: block; flex: 0 0 20px; height: 20px; width: 20px; }
.sidebar-empty { color: #7f98b1; font-size: .8rem; padding: 12px; }
.sidebar-footer { border-top: 1px solid rgba(255,255,255,.07); color: #849bb2; font-size: .75rem; padding: 17px 24px 19px; }
.sidebar-footer small { display: block; margin-top: 6px; }
.system-status { color: #adc0d2; }
.system-status span { background: #75afe5; border-radius: 50%; box-shadow: 0 0 0 4px rgba(117,175,229,.12); display: inline-block; height: 6px; margin-right: 7px; width: 6px; }
.app-content { display: flex; flex-direction: column; margin-left: 270px; min-height: 100vh; }
.topbar { align-items: center; background: rgba(255,255,255,.9); border-bottom: 1px solid var(--siga-line); display: flex; height: 90px; justify-content: space-between; padding: 0 34px; position: sticky; top: 0; backdrop-filter: blur(12px); z-index: 1020; }
.topbar h1 { font-size: var(--siga-font-page-title); font-weight: 600; margin: 3px 0 0; }
.eyebrow { color: var(--siga-primary); font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.user-menu { align-items: center; background: transparent; border: 0; color: var(--siga-ink); display: flex; gap: 11px; padding: 5px; text-align: left; }
.user-avatar, .table-avatar { align-items: center; background: #e0ebf6; border-radius: 10px; color: var(--siga-primary-dark); display: flex; font-weight: 700; height: 40px; justify-content: center; width: 40px; }
.user-copy strong { display: block; font-size: .83rem; line-height: 1.2; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-copy small { color: var(--siga-muted); display: block; font-size: .68rem; margin-top: 2px; }
.user-menu > i { color: #8b9895; font-size: .72rem; }
.dropdown-menu { border-radius: 12px; min-width: 230px; padding: 7px; }
.dropdown-item { border-radius: 7px; font-size: .84rem; padding: .62rem .75rem; }
.main-area { flex: 1; padding: 30px 34px; }
.app-footer { color: #84908d; display: flex; font-size: .7rem; justify-content: space-between; padding: 0 34px 24px; }
.sidebar-backdrop { display: none; }
.messages-stack { margin-bottom: 20px; }
.alert { border: 0; border-radius: 12px; font-size: .86rem; }

/* Shared content */
.section-intro { align-items: center; display: flex; justify-content: space-between; margin-bottom: 22px; }
.section-intro h2 { font-size: var(--siga-font-section-title); font-weight: 600; margin: 0 0 5px; }
.section-intro p, .panel-header p { color: var(--siga-muted); font-size: var(--siga-font-interface); margin: 0; }
.panel-card { background: var(--siga-surface); border: 1px solid var(--siga-line); border-radius: var(--siga-radius); box-shadow: var(--siga-shadow); padding: 24px; }
.panel-header { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 23px; }
.panel-header h2 { font-size: var(--siga-font-section-title); font-weight: 600; margin: 0 0 5px; }
.panel-icon { align-items: center; background: #e7eff8; border-radius: 10px; color: var(--siga-primary); display: flex; height: 38px; justify-content: center; width: 38px; }
.content-narrow { margin: 0 auto; max-width: 650px; }
.form-actions { border-top: 1px solid var(--siga-line); display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; padding-top: 20px; }
.success-icon { align-items: center; background: #e2edf8; border-radius: 50%; color: #356fa9; display: inline-flex; font-size: 1.5rem; height: 62px; justify-content: center; width: 62px; }

/* Dashboard */
.welcome-strip { align-items: center; background: linear-gradient(120deg, #173a5d, #3d79b8); border-radius: 18px; box-shadow: 0 14px 34px rgba(39,91,145,.18); color: white; display: flex; justify-content: space-between; margin-bottom: 24px; overflow: hidden; padding: 28px 30px; position: relative; }
.welcome-strip::after { border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ""; height: 220px; position: absolute; right: -65px; top: -100px; width: 220px; }
.welcome-strip .eyebrow { color: #acd5f7; }
.welcome-strip h2 { font-size: 1.55rem; margin: 5px 0; }
.welcome-strip p { color: #d3e2f0; font-size: .85rem; margin: 0; }
.welcome-date { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12); border-radius: 11px; display: flex; font-size: .8rem; gap: 9px; padding: 10px 13px; position: relative; z-index: 1; }
.metric-card { align-items: center; background: white; border: 1px solid var(--siga-line); border-radius: 15px; box-shadow: var(--siga-shadow); display: flex; gap: 16px; min-height: 130px; padding: 20px; }
.metric-icon { align-items: center; border-radius: 13px; display: flex; flex: 0 0 auto; font-size: 1.25rem; height: 51px; justify-content: center; width: 51px; }
.metric-icon.teal { background: #e0edf8; color: #3976b2; }
.metric-icon.blue { background: #e8f0f8; color: #4c78a6; }
.metric-icon.amber { background: #edf3fa; color: #6689ad; }
.metric-card small, .metric-card span { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); }
.metric-card strong { display: block; font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; line-height: 1.35; }
.metric-card .metric-text { font-size: 1.05rem; padding: 6px 0 4px; }
.quick-grid { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.quick-link { align-items: center; border: 1px solid var(--siga-line); border-radius: 11px; color: #31465a; display: grid; font-size: .79rem; grid-template-columns: 26px 1fr auto; gap: 8px; padding: 11px 12px; text-decoration: none; transition: .18s ease; }
.quick-link > i:first-child { color: var(--siga-primary); }
.quick-link > i:last-child { color: #a1aca9; font-size: .7rem; }
.quick-link:hover { background: #f4f8fc; border-color: #bed3e8; color: var(--siga-primary-dark); transform: translateY(-1px); }
.activity-list { display: grid; gap: 16px; }
.activity-item { align-items: flex-start; display: flex; gap: 12px; }
.activity-dot { background: #4b86c1; border: 4px solid #e0ecf7; border-radius: 50%; flex: 0 0 auto; height: 14px; margin-top: 3px; width: 14px; }
.activity-item strong { display: block; font-size: .78rem; font-weight: 600; }
.activity-item small { color: var(--siga-muted); display: block; font-size: .68rem; margin-top: 3px; }
.version-note { align-items: center; display: flex; gap: 18px; }
.version-note > span { align-items: center; background: #e4eef8; border-radius: 14px; color: var(--siga-primary); display: flex; font-family: inherit; font-size: 1.2rem; font-weight: 700; height: 65px; justify-content: center; width: 65px; }
.version-note p { color: var(--siga-muted); font-size: .8rem; margin: 0; }

/* Dashboard gerencial v1.01 */
.dashboard-heading { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 22px; }
.dashboard-heading h2 { font-size: var(--siga-font-page-title); font-weight: 600; margin: 5px 0; }
.dashboard-heading p { color: var(--siga-muted); font-size: var(--siga-font-interface); margin: 0; }
.dashboard-controls { align-items: flex-end; display: flex; gap: 9px; }
.period-filter { align-items: flex-end; display: grid; gap: 7px; grid-template-columns: 142px 88px 38px; }
.period-filter label { color: var(--siga-muted); font-size: .65rem; font-weight: 700; grid-column: 1 / -1; letter-spacing: .06em; margin-bottom: -4px; text-transform: uppercase; }
.period-filter .form-select { min-height: 37px; }
.period-filter .btn { align-items: center; display: flex; height: 37px; justify-content: center; width: 38px; }
.money-visibility { align-items: center; background: white; border: 1px solid var(--siga-line); border-radius: 8px; color: var(--siga-primary-dark); display: flex; font-size: .72rem; font-weight: 700; gap: 7px; height: 37px; padding: 0 11px; white-space: nowrap; }
.money-visibility:hover { background: #edf4fb; border-color: #bed3e8; }
.dashboard-kpi-grid { display: grid; gap: 13px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 18px; }
.dashboard-kpi { align-items: center; background: white; border: 1px solid var(--siga-line); border-radius: 14px; box-shadow: var(--siga-shadow); color: var(--siga-ink); display: flex; gap: 13px; min-height: 116px; min-width: 0; overflow: hidden; padding: 17px; text-decoration: none; transition: .18s ease; }
a.dashboard-kpi:hover { border-color: #bcd3e9; color: var(--siga-primary-dark); transform: translateY(-2px); }
.dashboard-kpi > span:last-child { min-width: 0; }
.dashboard-kpi-icon, .dashboard-panel-icon { align-items: center; background: #e4eef8; border-radius: 11px; color: var(--siga-primary); display: flex; flex: 0 0 44px; font-size: 1.05rem; height: 44px; justify-content: center; width: 44px; }
.dashboard-kpi small, .dashboard-kpi em { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-style: normal; overflow: hidden; text-overflow: ellipsis; }
.dashboard-kpi small { font-weight: 600; letter-spacing: .015em; white-space: nowrap; }
.dashboard-kpi strong { display: block; font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; line-height: 1.22; }
.dashboard-kpi em { line-height: 1.25; min-height: 2.5em; }
.dashboard-kpi-onboarding { border-top: 3px solid #6fa4d6; }
.dashboard-kpi-offboarding { border-top: 3px solid #93a9bf; }
.dashboard-kpi-awaiting { background: #f8fafc; border-style: dashed; }
.dashboard-kpi-awaiting strong { color: #8b99a7; }
.dashboard-main-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .8fr); margin-bottom: 18px; }
.dashboard-balance-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 18px; }
.dashboard-panel { background: white; border: 1px solid var(--siga-line); border-radius: var(--siga-radius); box-shadow: var(--siga-shadow); min-width: 0; padding: 22px; }
.dashboard-panel-header { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 20px; }
.dashboard-panel-header h3 { font-size: var(--siga-font-section-title); font-weight: 600; margin: 4px 0; }
.dashboard-panel-header p { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin: 0; }
.dashboard-panel-icon { flex-basis: 40px; height: 40px; width: 40px; }
.regime-list { display: grid; gap: 15px; }
.regime-row { display: grid; gap: 6px; }
.regime-copy { align-items: center; display: flex; font-size: .74rem; justify-content: space-between; }
.regime-copy strong { color: var(--siga-primary-dark); font-family: inherit; }
.regime-track, .balance-progress { background: #eaf0f6; border-radius: 999px; height: 7px; overflow: hidden; }
.regime-track > span, .balance-progress > span { background: linear-gradient(90deg, #285f98, #6da5da); border-radius: inherit; display: block; height: 100%; min-width: 0; }
.dashboard-awaiting { align-items: center; background: #f5f8fb; border: 1px dashed #cad9e7; border-radius: 12px; color: var(--siga-muted); display: flex; flex-direction: column; justify-content: center; min-height: 151px; padding: 19px; text-align: center; }
.dashboard-awaiting > i { color: #7096ba; font-size: 1.3rem; margin-bottom: 7px; }
.dashboard-awaiting strong { color: var(--siga-ink); font-family: inherit; font-size: 1.25rem; }
.dashboard-awaiting p { font-size: .75rem; font-weight: 700; margin: 5px 0 2px; }
.dashboard-awaiting span { font-size: .65rem; }
.dashboard-awaiting.compact { min-height: 110px; }
.dashboard-awaiting.horizontal { align-items: center; flex-direction: row; gap: 13px; justify-content: flex-start; min-height: 91px; text-align: left; }
.dashboard-awaiting.horizontal > i { flex: 0 0 auto; margin: 0; }
.dashboard-awaiting.horizontal p { margin-top: 0; }
.dashboard-structure-link { align-items: center; color: var(--siga-primary); display: flex; font-size: .68rem; font-weight: 700; gap: 6px; justify-content: flex-end; margin-top: 13px; text-decoration: none; }
.dashboard-structure-link:hover { color: var(--siga-primary-dark); }
.revenue-total small { color: var(--siga-muted); display: block; font-size: .68rem; }
.revenue-total strong { display: block; font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; margin: 5px 0 14px; }
.dashboard-counts { border-top: 1px solid var(--siga-line); display: grid; grid-template-columns: 1fr 1fr; padding-top: 14px; }
.dashboard-counts > div + div { border-left: 1px solid var(--siga-line); padding-left: 17px; }
.dashboard-counts small, .balance-numbers small { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 500; }
.dashboard-counts strong { font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; }
.balance-numbers { display: flex; gap: 40px; margin-bottom: 14px; }
.balance-numbers > strong { font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; }
.balance-foot { color: var(--siga-muted); font-size: .67rem; margin: 8px 0 0; }
.future-finance-strip { align-items: center; background: linear-gradient(115deg, #173a5d, #326fa9); border-radius: 15px; box-shadow: 0 12px 28px rgba(39,91,145,.14); color: white; display: grid; gap: 16px; grid-template-columns: 44px 1fr auto; padding: 17px 21px; }
.future-finance-strip .dashboard-panel-icon { background: rgba(255,255,255,.12); color: #c4e0f7; }
.future-finance-strip .eyebrow { color: #b6d6f2; }
.future-finance-strip h3 { font-size: .9rem; margin: 2px 0; }
.future-finance-strip p { color: #c9dced; font-size: .68rem; margin: 0; }
.future-finance-strip > strong { font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; }

/* Tables and forms */
.filter-bar { align-items: center; display: grid; gap: 10px; grid-template-columns: minmax(260px, 1fr) 180px 160px auto auto; margin-bottom: 20px; }
.filter-search { position: relative; }
.filter-search i { color: #8e9b98; left: 14px; position: absolute; top: 14px; }
.filter-search input { padding-left: 39px; }
.data-table { font-size: var(--siga-font-table); line-height: var(--siga-table-line-height); margin: 0; }
.data-table thead th { background: #f7f9f8; border-bottom: 1px solid var(--siga-line); color: #64716e; font-size: var(--siga-font-table-header); font-weight: 600; letter-spacing: .04em; line-height: var(--siga-table-line-height); overflow-wrap: normal; padding: var(--siga-table-padding-y) var(--siga-table-padding-x); text-transform: uppercase; white-space: normal; word-break: normal; }
.data-table tbody td { border-bottom-color: #edf1ef; font-size: var(--siga-font-table); line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); vertical-align: middle; }
.data-table tfoot th, .data-table tfoot td { font-size: var(--siga-font-table); font-weight: 600; line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table small { color: #5f6f7f; display: block; font-size: var(--siga-font-secondary); font-weight: 400; margin-top: 2px; }
.data-table tbody td > strong { font-size: var(--siga-font-table); font-weight: 600; }
.user-cell { align-items: center; display: flex; gap: 11px; min-width: 230px; }
.table-avatar { border-radius: 9px; font-size: .8rem; height: 36px; width: 36px; }
.user-cell strong { display: block; font-size: var(--siga-font-table); font-weight: 500; }
.role-badge, .status-badge, .readonly-badge, .status-pill { align-items: center; background: #edf1f0; border-radius: 999px; color: #5d6966; display: inline-flex; font-size: var(--siga-font-badge); font-weight: 600; gap: 6px; padding: 4px 8px; white-space: nowrap; }
.role-badge.admin { background: #e5eef8; color: #356da5; }
.status-badge.active { background: #e3eef8; color: #3d71a4; }
.status-badge.inactive { background: #f5e6e6; color: #a75555; }
.status-badge.onboarding { background: #e6f3ec; color: #39785c; }
.status-badge.offboarding { background: #fff0df; color: #9a651d; }
.status-badge > span { background: currentColor; border-radius: 50%; height: 5px; width: 5px; }
.table-note { border-top: 1px solid var(--siga-line); color: var(--siga-muted); font-size: .69rem; margin-top: 10px; padding: 14px 2px 0; }
.empty-table { align-items: center; color: #8c9895; display: flex; flex-direction: column; gap: 8px; justify-content: center; padding: 35px; }
.empty-table i { font-size: 1.5rem; }
.status-toggle { align-items: center; background: #f5f8f7; border: 1px solid var(--siga-line); border-radius: 10px; display: flex; gap: 9px; min-height: 44px; padding: 0 12px; width: 100%; }
.status-toggle label { font-size: .78rem; font-weight: 600; }
.client-visibility-toggle { align-items: center; background: #f7fafd; border: 1px solid var(--siga-line); border-radius: 10px; cursor: pointer; display: flex; gap: 9px; min-height: 44px; padding: 0 12px; white-space: nowrap; }
.client-visibility-toggle.form-check { margin: 0; padding-left: 12px; }
.client-visibility-toggle .form-check-input { flex: 0 0 auto; margin: 0; }
.client-visibility-toggle .form-check-label { color: #526477; cursor: pointer; font-size: .72rem; font-weight: 700; }
.modal-title { font-size: var(--siga-font-section-title) !important; font-weight: 600; }
.modal-header small, .modal-body small { font-size: var(--siga-font-secondary); }
.dp-filter-grid .client-visibility-toggle { height: 42px; min-height: 42px; }
.form-section-title { font-size: .9rem; margin: 0 0 5px; }
.form-section-help { color: var(--siga-muted); font-size: .72rem; margin-bottom: 14px; }
.permission-table-wrap { border: 1px solid var(--siga-line); border-radius: 11px; overflow: hidden; }
.permission-table { font-size: var(--siga-font-table); line-height: var(--siga-table-line-height); margin: 0; }
.permission-table th { background: #f7f9f8; color: #64716e; font-size: var(--siga-font-table-header); font-weight: 600; letter-spacing: .03em; padding: var(--siga-table-padding-y) var(--siga-table-padding-x); text-transform: uppercase; }
.permission-table td { border-color: #edf1ef; font-size: var(--siga-font-table); line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); }
.permission-table tbody tr:last-child td { border-bottom: 0; }
.permission-table .form-check-input { float: none; margin: 0; }
.form-check-input:checked { background-color: var(--siga-primary); border-color: var(--siga-primary); }
.sector-selection-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sector-selection-item { align-items: center; background: #f8fafc; border: 1px solid var(--siga-line); border-radius: 10px; cursor: pointer; display: flex; font-size: .74rem; font-weight: 600; gap: 9px; min-height: 42px; padding: 9px 11px; transition: border-color .15s ease, background-color .15s ease; }
.sector-selection-item:hover { background: #f1f6fb; border-color: #b9cee1; }
.sector-selection-item .form-check-input { flex: 0 0 auto; margin: 0; }
.user-sector-chips { display: flex; flex-wrap: wrap; gap: 5px; min-width: 180px; }

/* Clientes */
.client-filter-grid { display: grid; gap: 10px; grid-template-columns: minmax(280px, 2fr) repeat(3, minmax(145px, 1fr)); margin-bottom: 20px; }
.client-filter-grid > .d-flex { justify-content: flex-end; }
.client-filter-grid .filter-actions { justify-content: flex-start; }
.table-main-link { color: var(--siga-ink); font-size: var(--siga-font-table); font-weight: 500; text-decoration: none; }
.table-main-link:hover { color: var(--siga-primary); }
.client-identity-cell { text-align: left; }
.client-identity-cell .table-main-link { display: block; }
.client-identity-cell small { font-variant-numeric: tabular-nums; }
.table-alias { font-size: var(--siga-font-table); font-weight: 600; }
.table-primary-text { font-size: var(--siga-font-table); font-weight: 500; }
.sortable-header { align-items: center; color: inherit; display: inline-flex; gap: 5px; text-decoration: none; }
.sortable-header:hover { color: var(--siga-primary); }
.sortable-header i { color: var(--siga-primary); font-size: .68rem; }
.client-pagination-links { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; }
.pagination-ellipsis { color: var(--siga-muted); padding: 0 3px; }
.form-block-title { align-items: center; border-bottom: 1px solid var(--siga-line); display: flex; gap: 12px; margin-bottom: 20px; padding-bottom: 16px; }
.form-block-title > i { align-items: center; background: #e7eff8; border-radius: 10px; color: var(--siga-primary); display: flex; font-size: 1rem; height: 38px; justify-content: center; width: 38px; }
.form-block-title h2 { font-size: var(--siga-font-section-title); font-weight: 600; margin: 0 0 3px; }
.form-block-title p { color: var(--siga-muted); font-size: var(--siga-font-interface); margin: 0; }
.responsibility-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(240px, 1fr)); }
.responsibility-form-item { background: #f8fafc; border: 1px solid var(--siga-line); border-radius: 11px; padding: 14px; }
.responsibility-form-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
.form-section-note { align-items: center; color: var(--siga-muted); display: flex; font-size: .68rem; gap: 7px; margin: 14px 0 0; }
.contact-formset { display: grid; gap: 16px; }
.contact-form-card { border: 1px solid var(--siga-line); border-radius: 13px; padding: 18px; }
.contact-form-header { align-items: center; border-bottom: 1px solid var(--siga-line); display: flex; justify-content: space-between; margin-bottom: 16px; padding-bottom: 12px; }
.contact-form-header small { color: var(--siga-muted); display: block; font-size: .66rem; margin-top: 2px; }
.contact-form-number { color: var(--siga-primary); font-size: var(--siga-font-form-label); font-weight: 600; text-transform: uppercase; }
.contact-primary-field .form-check { align-items: center; display: flex; gap: 7px; min-height: 38px; }
.contact-primary-field .form-check-input { margin: 0; }
.contact-empty-state { align-items: center; background: #f8fafc; border: 1px dashed #cbd9e8; border-radius: 12px; color: var(--siga-muted); display: flex; gap: 10px; padding: 18px; }
.contact-empty-state i { color: var(--siga-primary); font-size: 1.2rem; }
.contact-empty-state p { font-size: .72rem; margin: 0; }
.contact-add-button { margin-top: 14px; }
.client-hero { align-items: flex-start; background: linear-gradient(120deg, #173a5d, #3d79b8); border-radius: 18px; color: white; display: flex; justify-content: space-between; margin-bottom: 18px; padding: 26px 28px; }
.client-hero .eyebrow { color: #bcd9f4; }
.client-hero h2 { font-size: 1.5rem; margin: 8px 0 4px; }
.client-hero p { color: #d6e4f1; font-size: .8rem; margin: 0; }
.client-summary-grid { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); overflow: hidden; background: var(--siga-line); border: 1px solid var(--siga-line); border-radius: 14px; }
.client-summary-grid > div { background: white; min-height: 88px; padding: 18px; }
.client-summary-grid small, .detail-grid small { color: var(--siga-muted); display: block; font-size: .65rem; font-weight: 700; margin-bottom: 6px; text-transform: uppercase; }
.client-summary-grid strong, .detail-grid strong { display: block; font-size: .78rem; font-weight: 600; }
.client-tabs { border-bottom: 0; gap: 4px; padding-left: 8px; }
.client-tabs .nav-link { border: 0; border-radius: 9px 9px 0 0; color: var(--siga-muted); font-size: .76rem; font-weight: 700; padding: 11px 14px; }
.client-tabs .nav-link.active { color: var(--siga-primary); }
.client-tab-content { border-top-left-radius: 0; min-height: 270px; }
.detail-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); }
.detail-wide { grid-column: 1 / -1; }
.tab-toolbar { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.tab-toolbar h3 { font-size: .95rem; margin: 0 0 4px; }
.tab-toolbar p { color: var(--siga-muted); font-size: .72rem; margin: 0; }
.responsibility-list { display: grid; gap: 10px; }
.responsibility-row { align-items: center; border: 1px solid var(--siga-line); border-radius: 11px; display: grid; gap: 18px; grid-template-columns: minmax(210px, 1fr) minmax(320px, 1.3fr); padding: 14px 16px; }
.responsibility-row small, .responsibility-row strong, .responsibility-row span { display: block; }
.responsibility-row small { color: var(--siga-muted); font-size: var(--siga-font-secondary); font-weight: 600; margin-bottom: 4px; text-transform: uppercase; }
.responsibility-row strong { font-size: .78rem; }
.responsibility-row span { font-size: .68rem; margin-top: 3px; }
.responsibility-form { display: grid; gap: 8px; grid-template-columns: 1fr auto; }
.timeline { display: grid; gap: 18px; }
.timeline-item { display: grid; gap: 12px; grid-template-columns: 12px 1fr; }
.timeline-item > span { background: var(--siga-primary); border: 4px solid #e0ecf7; border-radius: 50%; height: 13px; margin-top: 3px; width: 13px; }
.timeline-item small, .timeline-item strong { display: block; }
.timeline-item small { color: var(--siga-muted); font-size: .65rem; margin-bottom: 3px; }
.timeline-item strong { font-size: .78rem; }
.timeline-item details { font-size: .7rem; margin-top: 6px; }
.history-values { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: 6px; }
.history-values pre { background: #f7f9fb; border-radius: 7px; font-size: .65rem; padding: 8px; white-space: pre-wrap; }
.import-metrics { display: grid; gap: 10px; grid-template-columns: repeat(9, minmax(90px, 1fr)); margin-bottom: 18px; }
.metric-mini { background: white; border: 1px solid var(--siga-line); border-radius: 12px; color: var(--siga-ink); padding: 13px; text-decoration: none; }
.metric-mini small { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; margin-bottom: 4px; }
.metric-mini strong { font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; }
.metric-mini.ready { border-color: #afd0b9; }
.metric-mini.pending { border-color: #e8cc86; }
.metric-mini.conflict { border-color: #e3aaaa; }
.source-summary { background: #eaf2fa; border: 1px solid #d1e1f1; border-radius: 12px; color: #406487; display: flex; flex-wrap: wrap; font-size: .7rem; gap: 10px 20px; padding: 11px 14px; }
.source-summary strong { color: #285f98; font-family: inherit; margin-right: 3px; }
.bulk-grid { display: grid; gap: 10px; grid-template-columns: repeat(7, minmax(125px, 1fr)) auto; }
.import-table { min-width: 1500px; }
.import-state { border-radius: 999px; display: inline-flex; font-size: var(--siga-font-badge); font-weight: 600; padding: 4px 8px; text-transform: uppercase; }
.import-state.new, .import-state.ready { background: #e2f0e6; color: #34724a; }
.import-state.update { background: #e4eef8; color: #356da5; }
.import-state.pending { background: #faf0d8; color: #8a681c; }
.import-state.conflict { background: #f6e1e1; color: #a34444; }
.import-state.processed { background: #edf1f0; color: #687571; }
.import-changes { font-size: var(--siga-font-secondary); margin-top: 6px; min-width: 190px; }
.import-changes summary { color: var(--siga-primary); cursor: pointer; font-weight: 700; }
.import-changes b, .import-changes span { display: block; margin-top: 3px; }
.import-changes b { color: var(--siga-ink); text-transform: capitalize; }
.import-changes span { color: var(--siga-muted); }
.admin-permission-note { align-items: center; background: #eaf1f9; border: 1px solid #d4e2f0; border-radius: 10px; color: #3f6f9e; display: none; font-size: .73rem; gap: 8px; margin-bottom: 13px; padding: 10px 12px; }
.admin-permission-note.visible { display: flex; }

/* Financeiro */
.finance-page-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.finance-module-tabs { display: flex; gap: 3px; margin-bottom: 18px; overflow-x: auto; padding: 0 20px; }
.finance-module-tabs a { align-items: center; border-bottom: 3px solid transparent; color: #6b7a89; display: inline-flex; font-size: .76rem; font-weight: 700; gap: 7px; padding: 14px 15px 12px; text-decoration: none; transition: .18s ease; white-space: nowrap; }
.finance-module-tabs a:hover { color: var(--siga-primary-dark); }
.finance-module-tabs a.active { border-bottom-color: var(--siga-primary); color: var(--siga-primary-dark); }
.finance-management-section { margin-bottom: 18px; }
.finance-section-title { align-items: end; display: flex; justify-content: space-between; margin: 0 2px 10px; }
.finance-section-title > div > span, .finance-insight-heading span { color: var(--siga-primary); display: block; font-size: var(--siga-font-card-label); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.finance-section-title h3 { color: var(--siga-primary-dark); font-size: var(--siga-font-section-title); font-weight: 600; margin: 2px 0 0; }
.finance-section-title > small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.finance-section-title.operational { align-items: center; margin-top: 22px; }
.finance-management-grid { align-items: stretch; display: grid; gap: 10px; grid-auto-rows: 1fr; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.finance-management-card { background: white; border: 1px solid var(--siga-line); border-radius: 12px; box-shadow: var(--siga-shadow); color: inherit; display: flex; flex-direction: column; height: 100%; min-height: 120px; padding: 12px 13px; position: relative; text-decoration: none; transition: border-color .18s, transform .18s; }
a.finance-management-card:hover { border-color: #b9d1e8; transform: translateY(-2px); }
.finance-management-icon { align-items: center; background: #eaf3fb; border-radius: 7px; color: var(--siga-primary); display: flex; font-size: .76rem; height: 25px; justify-content: center; margin-bottom: 8px; width: 25px; }
.finance-management-card > small { color: var(--siga-muted); font-size: .61rem; font-weight: 600; letter-spacing: .02em; line-height: 1.3; min-height: 2.6em; text-transform: uppercase; }
.finance-management-card > strong { color: var(--siga-primary-dark); font-family: inherit; font-size: clamp(19px, 1.45vw, 24px); font-weight: 600; line-height: 1.15; margin: 3px 0; }
.finance-management-card > em { color: var(--siga-muted); font-size: .59rem; font-style: normal; line-height: 1.3; margin-top: auto; }
.finance-management-card.monetary > strong { font-size: clamp(15px, 1.15vw, 21px); }
.finance-management-card.revenue { background: linear-gradient(125deg, #183d61, #376fa8); border-color: transparent; }
.finance-management-card.revenue .finance-management-icon { background: rgba(255,255,255,.13); color: white; }
.finance-management-card.revenue > small, .finance-management-card.revenue > strong { color: white; }
.finance-management-card.revenue > em { color: #d4e3f1; }
.finance-insights-grid { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); margin-bottom: 18px; }
.finance-insight-panel { background: white; border: 1px solid var(--siga-line); border-radius: 14px; box-shadow: var(--siga-shadow); padding: 17px 18px; }
.finance-insight-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 14px; }
.finance-insight-heading h3 { color: var(--siga-primary-dark); font-size: var(--siga-font-block-title); font-weight: 600; margin: 2px 0 0; }
.finance-insight-heading > i { color: #aac5df; font-size: 1.2rem; }
.issuer-chart { display: grid; gap: 13px; }
.issuer-chart-row { align-items: center; display: grid; gap: 18px; grid-template-columns: minmax(140px, .75fr) minmax(190px, 1.25fr); }
.issuer-chart-label strong, .issuer-chart-label span { display: block; }
.issuer-chart-label strong { color: #334c64; font-size: .69rem; }
.issuer-chart-label span { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 2px; }
.issuer-chart-value > strong { color: var(--siga-primary-dark); display: block; font-size: .66rem; margin-bottom: 4px; text-align: right; }
.issuer-chart-value > div, .portfolio-composition > div > div { background: #e9eff5; border-radius: 999px; height: 6px; overflow: hidden; }
.issuer-chart-value > div > span { background: linear-gradient(90deg, var(--siga-primary), #76a8d5); border-radius: inherit; display: block; height: 100%; min-width: 2px; }
.portfolio-composition { display: grid; gap: 9px; }
.portfolio-composition > div { display: grid; gap: 8px; grid-template-columns: minmax(145px, 1fr) auto; }
.portfolio-composition > div > span { color: #52677b; font-size: var(--siga-font-table); }
.portfolio-composition > div > strong { color: var(--siga-primary-dark); font-size: var(--siga-font-table); font-weight: 600; }
.portfolio-composition > div > strong small { color: var(--siga-muted); font-size: var(--siga-font-secondary); font-weight: 400; }
.portfolio-composition > div > div { grid-column: 1 / -1; height: 5px; }
.portfolio-composition > div > div > i { background: #8eb5d8; border-radius: inherit; display: block; height: 100%; min-width: 2px; }
.finance-chart-empty { color: var(--siga-muted); font-size: .66rem; padding: 24px 0; text-align: center; }
.finance-alert-grid { display: grid; gap: 12px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.finance-alert-grid > div, .finance-alert-grid > a { background: white; border: 1px solid var(--siga-line); border-radius: 13px; box-shadow: var(--siga-shadow); padding: 16px 18px; }
.finance-alert-grid span, .finance-alert-grid small { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); }
.finance-alert-grid strong { color: var(--siga-primary-dark); display: block; font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; line-height: 1.25; }
.finance-alert-link { color: inherit; display: block; min-height: 100%; text-decoration: none; transition: border-color .18s, box-shadow .18s; }
.finance-alert-link:hover, .finance-alert-link.active { border-color: var(--siga-primary); box-shadow: 0 10px 35px rgba(34, 74, 116, .12); }
.finance-alert-link.review-alert { border-color: #ead5ac; }
.finance-alert-link.review-alert strong { color: #95651d; }
.finance-alert-link.review-alert:hover, .finance-alert-link.review-alert.active { border-color: #c9953b; box-shadow: 0 10px 35px rgba(149, 101, 29, .12); }
.finance-filter-grid { display: grid; gap: 10px; grid-template-columns: minmax(230px, 1.6fr) repeat(6, minmax(130px, 1fr)) auto; }
.finance-filter-anchor { scroll-margin-top: 104px; }
.finance-adjustment-custom-fields { display: grid; gap: 7px; grid-column: span 2; grid-template-columns: 1fr 1fr; }
.finance-adjustment-custom-fields[hidden] { display: none; }
.finance-adjustment-custom-fields label { margin: 0; }
.finance-adjustment-custom-fields label span { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); font-weight: 600; margin-bottom: 2px; }
.finance-filter-actions { align-items: stretch; display: flex; gap: 7px; }
.finance-filter-actions .btn { min-height: 44px; }
.finance-filter-clear { align-items: center; display: inline-flex; justify-content: center; padding-left: .78rem; padding-right: .78rem; }
.finance-table thead th { text-align: center; vertical-align: middle; }
.finance-table thead th .sortable-header { justify-content: center; width: 100%; }
.finance-table td > small { color: #5f6f7f; display: block; font-size: var(--siga-font-secondary); margin-top: 2px; }
.finance-selection-column { min-width: 42px; text-align: center !important; width: 42px; }
.finance-actions-cell { min-width: 130px; white-space: nowrap; }
.finance-row-actions { align-items: center; display: flex; flex-wrap: nowrap; gap: 4px; }
.finance-row-actions form { margin: 0; }
.finance-row-adjustment-action { align-items: center; background: #3d79b8; border: 1px solid #2f6fae; color: #fff; display: inline-flex; justify-content: center; min-height: 30px; min-width: 32px; }
.finance-row-adjustment-action:hover, .finance-row-adjustment-action:focus { background: #2f6da8; border-color: #245c90; color: #fff; }
.finance-selection-toolbar { align-items: center; background: #eef7f2; border-bottom: 1px solid #cfe6d8; display: flex; gap: 16px; justify-content: space-between; padding: 11px 15px; }
.finance-selection-toolbar[hidden] { display: none; }
.finance-selection-toolbar > span { align-items: center; color: #2c6748; display: inline-flex; font-size: var(--siga-font-body); gap: 7px; }
.finance-selection-toolbar > div { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.finance-selection-toolbar form, .finance-page-actions form, .finance-selected-table form { margin: 0; }
.finance-adjustment-date-cell strong { color: #835d1c; display: block; font-size: var(--siga-font-table); }
.finance-adjustment-alerts { background: white; border: 1px solid var(--siga-line); border-radius: 13px; box-shadow: var(--siga-shadow); overflow: hidden; }
.finance-adjustment-alerts-heading { align-items: center; display: flex; justify-content: space-between; padding: 13px 16px 9px; }
.finance-adjustment-alerts-heading span { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; text-transform: uppercase; }
.finance-adjustment-alerts-heading h3 { color: var(--siga-primary-dark); font-size: var(--siga-font-block-title); margin: 2px 0 0; }
.finance-adjustment-alerts-heading a { font-size: var(--siga-font-secondary); font-weight: 700; text-decoration: none; }
.finance-adjustment-alert-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finance-adjustment-alert-rows > a { align-items: center; border-top: 1px solid #edf1f5; color: inherit; display: flex; gap: 15px; justify-content: space-between; padding: 10px 16px; text-decoration: none; }
.finance-adjustment-alert-rows > a:nth-child(odd) { border-right: 1px solid #edf1f5; }
.finance-adjustment-alert-rows > a:hover { background: #f7fafc; }
.finance-adjustment-alert-rows strong, .finance-adjustment-alert-rows small { display: block; }
.finance-adjustment-alert-rows strong { color: var(--siga-ink); font-size: var(--siga-font-table); }
.finance-adjustment-alert-rows small { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 2px; }
.finance-adjustment-alert-date { color: var(--siga-primary-dark); font-size: var(--siga-font-table); font-weight: 600; text-align: right; white-space: nowrap; }
.finance-selected-table td { vertical-align: middle; }
.finance-distribution-cell { min-width: 180px; }
.finance-distribution-cell > strong { display: block; font-size: var(--siga-font-table); font-weight: 600; }
.distribution-toggle { align-items: center; background: #edf4fb; border: 0; border-radius: 7px; color: var(--siga-primary-dark); cursor: pointer; display: inline-flex; font-family: inherit; font-size: var(--siga-font-badge); font-weight: 600; gap: 5px; margin-bottom: 3px; padding: 4px 7px; }
.distribution-toggle:hover, .distribution-toggle[aria-expanded="true"] { background: #dfeefa; color: var(--siga-primary-dark); }
.distribution-toggle i { font-size: .65rem; }
.distribution-ok, .distribution-divergence { align-items: center; display: inline-flex !important; font-size: var(--siga-font-badge) !important; font-weight: 600; gap: 4px; margin-top: 5px; }
.distribution-ok { color: #3b8062 !important; }
.distribution-divergence { background: #fff0f0; border-radius: 6px; color: var(--siga-danger) !important; padding: 4px 6px; }
.finance-review-reasons { color: #7a4c16; display: grid !important; font-size: var(--siga-font-secondary) !important; gap: 2px; line-height: 1.35; margin-top: 5px; max-width: 290px; }
.finance-review-reasons strong { color: #5f3a0f; font-size: var(--siga-font-badge); }
.finance-review-reasons span { display: block; }
.distribution-details-row > td { background: #f4f7fb !important; padding: 12px 16px 16px !important; }
.distribution-panel { background: white; border: 1px solid #d8e3ee; border-radius: 11px; box-shadow: 0 5px 18px rgba(34, 74, 116, .05); overflow: hidden; padding: 14px; }
.distribution-panel-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 11px; }
.distribution-panel-heading h3 { color: var(--siga-primary-dark); font-size: .78rem; letter-spacing: .02em; margin: 0; text-transform: uppercase; }
.distribution-panel-heading p { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin: 2px 0 0; }
.distribution-panel-heading a { font-size: .65rem; font-weight: 700; text-decoration: none; }
.distribution-summary { background: #f7f9fc; border: 1px solid var(--siga-line); border-radius: 9px; display: grid; margin-bottom: 13px; max-width: 650px; overflow: hidden; width: 100%; }
.distribution-summary-row { align-items: center; display: grid; gap: 20px; grid-template-columns: minmax(170px, 1fr) minmax(230px, auto); min-height: 34px; padding: 7px 12px; }
.distribution-summary-row + .distribution-summary-row { border-top: 1px solid var(--siga-line); }
.distribution-summary-row > span { color: var(--siga-muted); font-size: var(--siga-font-secondary); font-weight: 600; text-transform: uppercase; }
.distribution-summary-row > strong { color: var(--siga-primary-dark); font-size: var(--siga-font-table); font-weight: 600; text-align: right; white-space: nowrap; }
.distribution-summary-row.has-divergence { background: #fff3f3; }
.distribution-summary-row.has-divergence > strong { color: var(--siga-danger); }
.summary-status-badge { border-radius: 999px; display: inline-block; font-size: var(--siga-font-badge); font-style: normal; font-weight: 600; margin-left: 6px; padding: 3px 7px; vertical-align: middle; }
.summary-status-badge.checked { background: #e7f4ed; color: #39785c; }
.summary-status-badge.divergence { background: #f9dddd; color: var(--siga-danger); }
.distribution-panel h4 { color: #43566a; font-family: inherit; font-size: var(--siga-font-block-title); font-weight: 600; letter-spacing: .04em; margin: 0 0 6px; text-transform: uppercase; }
.distribution-subtable-scroll { border: 1px solid var(--siga-line); border-radius: 8px; overflow-x: auto; }
.distribution-subtable { border-collapse: collapse; min-width: 840px; width: 100%; }
.distribution-subtable th { background: #eef3f8; color: #607286; font-size: var(--siga-font-table-header); font-weight: 600; letter-spacing: .025em; line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); text-align: center; text-transform: uppercase; white-space: normal; }
.distribution-subtable td { border-top: 1px solid #e8edf3; color: #3e5062; font-size: var(--siga-font-table); line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); vertical-align: middle; }
.distribution-subtable tbody tr:hover td { background: #f9fbfd; }
.distribution-client { min-width: 190px; }
.distribution-client strong { color: var(--siga-ink); display: block; font-size: var(--siga-font-table); font-weight: 500; }
.distribution-client small { color: #5f6f7f; display: block; font-size: var(--siga-font-secondary); margin-top: 2px; }
.distribution-money { color: var(--siga-primary-dark) !important; font-weight: 600; white-space: nowrap; }
.structure-badge, .split-quick-status { border-radius: 999px; display: inline-block; font-size: var(--siga-font-badge); font-weight: 600; padding: 3px 7px; white-space: nowrap; }
.structure-badge { background: #edf2f7; color: #52677d; }
.structure-badge.headquarters { background: #e8f1fa; color: #356b9f; }
.structure-badge.branch { background: #f1eef9; color: #705d99; }
.structure-badge.individual, .person-badge.individual { background: #edf1f4; color: #5d6975; }
.person-badge { background: #e8f1fa; border-radius: 999px; color: #356b9f; display: inline-block; font-size: var(--siga-font-badge); font-weight: 600; padding: 4px 8px; }
.split-quick-status { background: #edf2f7; color: #5c6d7e; }
.split-quick-status.active { background: #e9f5ef; color: #39785c; }
.split-quick-status.pending { background: #fff4df; color: #946a20; }
.split-quick-status.incorporated { background: #edf2f7; color: #607080; }
.split-quick-status.inactive { background: #f3f3f3; color: #787878; }
.finance-pagination { margin: 0; padding: 14px 18px; }
.finance-client-strip { align-items: center; background: linear-gradient(120deg, #173a5d, #3d79b8); border-radius: 16px; color: white; display: flex; justify-content: space-between; margin-bottom: 20px; padding: 21px 24px; }
.finance-client-strip .eyebrow { color: #bcd9f4; }
.finance-client-strip h2 { font-size: 1.18rem; margin: 5px 0 3px; }
.finance-client-strip p { color: #d7e6f4; font-size: .72rem; margin: 0; }
.finance-client-strip .finance-parameters-action { background: rgba(18, 58, 94, .24); border: 1px solid #8fb8e3; color: #fff; }
.finance-client-strip .finance-parameters-action:hover, .finance-client-strip .finance-parameters-action:focus { background: rgba(12, 45, 77, .42); border-color: #c1def7; color: #fff; }
.finance-client-strip .finance-adjustment-action { border: 1px solid #fff; }
.finance-client-strip .finance-adjustment-action:hover, .finance-client-strip .finance-adjustment-action:focus { border-color: #fff; }
.finance-inclusion-conflict > div { align-items: flex-start; display: flex; gap: 11px; }
.finance-inclusion-conflict i { color: #a36a13; font-size: 1.05rem; margin-top: 2px; }
.finance-inclusion-conflict h2 { font-size: .9rem; margin: 0 0 3px; }
.finance-inclusion-conflict p { font-size: var(--siga-font-body); margin: 0; }
.finance-included-heading { align-items: center; display: flex; gap: 16px; justify-content: space-between; }
.finance-included-list { display: grid; gap: 9px; }
.finance-included-card { align-items: center; background: #f8fbfe; border: 1px solid #dce8f3; border-radius: 12px; display: grid; gap: 12px; grid-template-columns: auto minmax(0, 1fr) auto; padding: 13px 14px; }
.finance-included-card.is-inactive { background: #f7f7f7; border-color: #e4e7ea; opacity: .78; }
.finance-included-branch { align-items: center; background: #e4f0fb; border-radius: 50%; color: var(--siga-primary); display: inline-flex; height: 30px; justify-content: center; width: 30px; }
.finance-included-identity strong, .finance-included-identity span, .finance-included-identity small { display: block; }
.finance-included-identity strong { color: var(--siga-primary-dark); font-size: var(--siga-font-body); }
.finance-included-identity span { font-size: var(--siga-font-secondary); margin-top: 2px; }
.finance-included-identity small { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 3px; }
.finance-included-identity p { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin: 5px 0 0; }
.finance-included-actions { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.finance-included-search { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; }
.finance-selected-included-client { background: #edf5fc; border: 1px solid #d3e4f4; border-radius: 11px; margin-bottom: 16px; padding: 12px 14px; }
.finance-selected-included-client small, .finance-selected-included-client strong, .finance-selected-included-client span { display: block; }
.finance-selected-included-client small { color: var(--siga-muted); font-size: var(--siga-font-secondary); text-transform: uppercase; }
.finance-selected-included-client strong { color: var(--siga-primary-dark); font-size: var(--siga-font-body); margin-top: 3px; }
.finance-selected-included-client span { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 2px; }
.finance-centralized-field { display: flex; flex-direction: column; justify-content: flex-start; min-width: 0; }
.finance-centralized-toggle { align-items: center; display: flex; gap: 8px; min-height: 31px; }
.finance-centralized-toggle .form-label { margin: 0; }
.finance-centralized-toggle .form-check-input { float: none; flex: 0 0 auto; margin: 0; }
.finance-centralized-field .form-text { margin-top: .35rem; }
.finance-review-panel { background: #fff9ed; border: 1px solid #f0d39e; border-radius: 14px; color: #5c431d; margin-bottom: 20px; padding: 17px 19px; }
.finance-review-panel-heading { align-items: flex-start; display: flex; gap: 11px; }
.finance-review-panel-heading > i { color: #b87517; font-size: 1.05rem; margin-top: 2px; }
.finance-review-panel h2 { color: #4c3515; font-size: .9rem; margin: 0 0 3px; }
.finance-review-panel p { color: #80633b; font-size: var(--siga-font-secondary); margin: 0; }
.finance-review-panel ul { display: grid; font-size: var(--siga-font-body); gap: 5px; margin: 12px 0 0; padding-left: 20px; }
.finance-review-confirm { border-top: 1px solid #ecd9b5; margin-top: 14px; padding-top: 13px; }
.finance-review-confirm .form-check-label { color: #4d3a1d; font-size: var(--siga-font-body); font-weight: 600; }
.finance-review-confirm .form-text { margin-left: 2px; }
.finance-detail-review-list { color: #69491c; font-size: var(--siga-font-body); margin: 3px 0 0; padding-left: 18px; }
.split-formset, .finance-split-list { display: grid; gap: 14px; }
.split-form-card, .finance-split-view { border: 1px solid var(--siga-line); border-radius: 13px; padding: 17px; }
.split-form-header, .finance-split-view > header, .finance-section-heading { align-items: center; display: flex; justify-content: space-between; }
.split-form-header { border-bottom: 1px solid var(--siga-line); margin-bottom: 15px; padding-bottom: 11px; }
.split-form-header span { color: var(--siga-primary); font-size: var(--siga-font-form-label); font-weight: 600; text-transform: uppercase; }
.split-form-header small { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); margin-top: 2px; }
.finance-summary-grid { background: var(--siga-line); border: 1px solid var(--siga-line); border-radius: 13px; display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); overflow: hidden; }
.finance-summary-grid > div { background: white; padding: 16px 18px; }
.finance-summary-grid span { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; margin-bottom: 4px; text-transform: uppercase; }
.finance-summary-grid strong { color: var(--siga-primary-dark); font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; }
.finance-summary-grid .finance-inconsistent { background: #fff1f1; }
.finance-summary-grid .finance-inconsistent strong { color: var(--siga-danger); }
.finance-linked-note { align-items: center; background: #eaf2fa; border: 1px solid #d1e1f1; border-radius: 11px; color: #315f8c; display: flex; gap: 12px; margin-bottom: 18px; padding: 12px 14px; }
.finance-linked-note i { font-size: 1.15rem; }
.finance-linked-note strong, .finance-linked-note span { display: block; }
.finance-linked-note strong { font-size: .75rem; }
.finance-linked-note span { color: #627e99; font-size: .68rem; }
.finance-no-charge { background: #f6f8fa; border: 1px solid var(--siga-line); border-radius: 14px; padding: 20px; }
.finance-contract-grid { display: grid; gap: 1px; grid-template-columns: repeat(5, 1fr); background: var(--siga-line); border: 1px solid var(--siga-line); border-radius: 12px; overflow: hidden; }
.finance-contract-grid > div { background: #fff; min-height: 72px; padding: 13px 14px; }
.finance-contract-grid small, .finance-split-details small { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); font-weight: 600; margin-bottom: 4px; text-transform: uppercase; }
.finance-contract-grid strong, .finance-split-details strong { display: block; font-size: var(--siga-font-table); font-weight: 500; }
.finance-section-heading { border-top: 1px solid var(--siga-line); margin: 24px 0 13px; padding-top: 20px; }
.finance-section-heading h3 { font-size: var(--siga-font-section-title); font-weight: 600; margin: 0 0 3px; }
.finance-section-heading p { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin: 0; }
.finance-split-heading-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.finance-client-credit-section .finance-section-heading { margin-top: 24px; }
.finance-credit-empty { align-items: center; background: #f7f9fb; border: 1px dashed #cbd8e4; border-radius: 12px; color: #526779; display: flex; gap: 12px; padding: 14px 16px; }
.finance-credit-empty > i { align-items: center; background: #e8f1fa; border-radius: 8px; color: var(--siga-primary); display: inline-flex; font-size: 1rem; height: 34px; justify-content: center; width: 34px; }
.finance-credit-empty > div { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.finance-credit-empty strong { color: var(--siga-primary-dark); font-size: .76rem; }
.finance-credit-empty span { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.finance-split-view { padding: 0; overflow: hidden; }
.finance-split-view.inactive { opacity: .68; }
.finance-split-view > header { background: #f7fafd; border-bottom: 1px solid var(--siga-line); padding: 13px 15px; }
.finance-split-view > header strong, .finance-split-view > header span { display: block; }
.finance-split-view > header strong { font-size: .78rem; }
.finance-split-view > header span { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 2px; }
.finance-split-view > header b { color: var(--siga-primary-dark); font-family: inherit; font-size: var(--siga-font-block-title); }
.finance-split-toggle { align-items: center; background: #f7fafd; border: 0; color: inherit; display: flex; justify-content: space-between; padding: 13px 15px; text-align: left; transition: background .15s ease; width: 100%; }
.finance-split-toggle:hover { background: #eff5fb; }
.finance-split-toggle:focus-visible { box-shadow: inset 0 0 0 2px var(--siga-primary); outline: 0; }
.finance-split-toggle-main { align-items: center; display: flex; gap: 10px; min-width: 0; }
.finance-split-toggle-main > i { color: var(--siga-primary); flex: 0 0 auto; font-size: .72rem; }
.finance-split-toggle-main > span { min-width: 0; }
.finance-split-toggle-main strong, .finance-split-toggle-main span { display: block; }
.finance-split-toggle-main strong { font-size: .78rem; }
.finance-split-toggle-main span span { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-split-toggle b { color: var(--siga-primary-dark); flex: 0 0 auto; font-family: inherit; font-size: var(--siga-font-block-title); margin-left: 16px; white-space: nowrap; }
.finance-split-details { display: grid; gap: 16px; grid-template-columns: 2fr repeat(3, 1fr); padding: 15px; }
.finance-split-details span { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); margin-top: 2px; }
.finance-split-view footer { border-top: 1px solid var(--siga-line); display: flex; gap: 15px; padding: 10px 15px; }
.finance-split-view footer a { color: var(--siga-primary); font-size: .65rem; font-weight: 700; text-decoration: none; }
.finance-split-form-item.has-errors { border-color: #e4a2a2; box-shadow: 0 0 0 1px rgba(190, 46, 46, .08); }
.finance-split-form-fields { background: #fff; padding: 16px; }
.finance-split-inline-actions { border-top: 1px solid var(--siga-line); display: flex; flex-wrap: wrap; gap: 8px; margin: 16px -16px -16px; padding: 12px 16px; }
.finance-split-error-summary { color: #b42318 !important; font-weight: 700; }
[data-finance-split-content][hidden] { display: none !important; }
.finance-history summary { color: var(--siga-primary); cursor: pointer; font-size: .72rem; font-weight: 700; }
.finance-history p { color: var(--siga-muted); font-size: .67rem; margin: 3px 0 0; }
.finance-empty { align-items: center; display: flex; gap: 20px; justify-content: center; min-height: 260px; text-align: left; }
.finance-empty .empty-icon { margin: 0; }
.finance-empty h3 { font-size: 1rem; margin: 0 0 5px; }
.finance-empty p { color: var(--siga-muted); font-size: .75rem; margin: 0 0 14px; }

/* Departamento Pessoal */
.dp-client-header { background: linear-gradient(125deg, #fff 0%, #fff 66%, #f2f7fc 100%); border: 1px solid var(--siga-line); border-radius: var(--siga-radius); box-shadow: var(--siga-shadow); margin-bottom: 20px; overflow: hidden; }
.dp-client-header-main { align-items: center; display: flex; gap: 28px; justify-content: space-between; padding: 25px 27px 22px; }
.dp-client-heading { min-width: 0; }
.dp-client-kicker { align-items: center; color: var(--siga-primary-dark); display: flex; font-size: var(--siga-font-secondary); font-weight: 600; gap: 9px; letter-spacing: .07em; margin-bottom: 8px; text-transform: uppercase; }
.dp-stage-badge { background: #e4eef8; border: 1px solid #d4e3f2; border-radius: 999px; color: #356fa9; padding: 4px 8px; }
.dp-client-heading h2 { font-size: var(--siga-font-page-title); font-weight: 600; margin: 0 0 6px; }
.dp-client-heading p { color: var(--siga-muted); font-size: var(--siga-font-interface); margin: 0; }
.dp-competence-summary { align-items: flex-end; background: linear-gradient(135deg, #173a5d, #356fa9); border-radius: 13px; box-shadow: 0 9px 22px rgba(39,91,145,.17); color: #fff; display: flex; flex-direction: column; flex: 0 0 auto; min-width: 184px; padding: 13px 16px; }
.dp-competence-summary span { color: #c9def1; font-size: var(--siga-font-card-label); font-weight: 600; letter-spacing: .065em; text-transform: uppercase; }
.dp-competence-summary span i { margin-right: 4px; }
.dp-competence-summary strong { font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; line-height: 1.2; margin-top: 5px; }
.dp-competence-source { align-items: center; border-top: 1px solid rgba(255,255,255,.22); display: flex; gap: 6px; justify-content: flex-end; margin-top: 9px; padding-top: 8px; width: 100%; }
.dp-competence-source small { color: #c9def1; font-size: .58rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dp-competence-source a { color: #fff; font-size: .66rem; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.dp-source-badge { border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-size: .59rem; font-weight: 800; letter-spacing: .035em; line-height: 1; padding: 4px 7px; }
.dp-source-badge.provisional { background: #fff0d2; border-color: #f1ca79; color: #74490a; }
.dp-source-badge.official { background: #dff4e8; border-color: #9ed6b5; color: #17623b; }
.dp-source-badge.empty { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.35); color: #fff; }
.dp-effective-source { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.dp-effective-source a, .dp-history-heading + .table-responsive td a { color: var(--siga-primary-dark); font-size: .62rem; font-weight: 700; }
.panel-card .dp-source-badge.empty, .data-table .dp-source-badge.empty { background: #eef2f6; border-color: #d7e0e8; color: #617487; }
.dp-average-note.provisional { color: #8a5b12; cursor: help; font-weight: 700; }
.dp-module-tabs { border-top: 1px solid var(--siga-line); display: flex; gap: 3px; padding: 0 20px; }
.dp-module-tabs a { align-items: center; border-bottom: 3px solid transparent; color: #6b7a89; display: inline-flex; font-size: .76rem; font-weight: 700; gap: 7px; padding: 14px 15px 12px; text-decoration: none; transition: .18s ease; }
.dp-module-tabs a:hover { color: var(--siga-primary-dark); }
.dp-module-tabs a.active { border-bottom-color: var(--siga-primary); color: var(--siga-primary-dark); }
.dp-filter-card { padding: 20px 22px 22px; }
.dp-filter-heading { align-items: flex-start; border-bottom: 1px solid #edf2f7; display: flex; justify-content: space-between; margin-bottom: 16px; padding-bottom: 13px; }
.dp-filter-heading h3, .dp-table-toolbar h3 { font-size: var(--siga-font-section-title); font-weight: 600; margin: 0 0 3px; }
.dp-filter-heading p, .dp-table-toolbar p { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin: 0; }
.dp-filter-heading > i { align-items: center; background: #e7eff8; border-radius: 9px; color: var(--siga-primary); display: flex; height: 34px; justify-content: center; width: 34px; }
.dp-filter-grid { align-items: end; display: grid; gap: 11px; grid-template-columns: minmax(280px, 1.8fr) repeat(7, minmax(122px, 1fr)) auto; }
.dp-filter-field { display: block; min-width: 0; }
.dp-filter-field > span:first-child { color: #526477; display: block; font-size: var(--siga-font-form-label); font-weight: 600; letter-spacing: .055em; margin: 0 0 5px 2px; text-transform: uppercase; }
.dp-filter-grid .form-control, .dp-filter-grid .form-select { font-size: var(--siga-font-interface); height: 42px; min-height: 42px; overflow: hidden; text-overflow: ellipsis; }
.dp-input-icon { display: block; position: relative; }
.dp-input-icon > i { color: #8797a7; left: 13px; position: absolute; top: 11px; z-index: 1; }
.dp-input-icon .form-control { padding-left: 37px; }
.dp-competence-filter .form-control { color: var(--siga-primary-dark); font-weight: 700; }
.dp-filter-actions { display: flex; gap: 8px; white-space: nowrap; }
.dp-filter-actions .btn { align-items: center; display: inline-flex; font-size: var(--siga-font-interface); gap: 6px; height: 42px; justify-content: center; padding-left: .85rem; padding-right: .85rem; }
.dp-table-card { border-color: #dbe5ef; }
.dp-table-toolbar { align-items: center; display: flex; justify-content: space-between; padding: 18px 21px 15px; }
.dp-client-count { align-items: center; background: #edf4fb; border-radius: 999px; color: var(--siga-primary-dark); display: inline-flex; font-size: .67rem; font-weight: 700; gap: 6px; padding: 7px 10px; white-space: nowrap; }
.dp-selection-summary { align-items: center; background: #e8f5ee; border: 1px solid #c8e6d5; border-radius: 999px; color: #246443; display: inline-flex; font-size: .67rem; gap: 5px; padding: 6px 9px; white-space: nowrap; }
.dp-selection-summary[hidden] { display: none; }
.dp-selection-summary button { background: none; border: 0; color: #1b5b3b; font: inherit; font-weight: 750; margin-left: 3px; padding: 0; text-decoration: underline; text-underline-offset: 2px; }
.dp-table-scroll { border-top: 1px solid var(--siga-line); scrollbar-color: #9db7d0 #edf2f7; scrollbar-width: thin; }
.dp-table-scroll::-webkit-scrollbar { height: 9px; }
.dp-table-scroll::-webkit-scrollbar-track { background: #edf2f7; }
.dp-table-scroll::-webkit-scrollbar-thumb { background: #9db7d0; border: 2px solid #edf2f7; border-radius: 999px; }
.dp-table { --dp-select-width: 42px; --dp-code-width: 70px; --dp-alias-width: 126px; --dp-client-width: 220px; min-width: 2375px; table-layout: fixed; }
.dp-table col.dp-col-code { width: var(--dp-code-width); }
.dp-table col.dp-col-alias { width: var(--dp-alias-width); }
.dp-table col.dp-col-client { width: var(--dp-client-width); }
.dp-table col.dp-col-structure { width: 88px; }
.dp-table col.dp-col-group { width: 126px; }
.dp-table col.dp-col-responsible { width: 150px; }
.dp-table col.dp-col-count { width: 70px; }
.dp-table col.dp-col-average { width: 95px; }
.dp-table col.dp-col-departments { width: 112px; }
.dp-table col.dp-col-demand { width: 100px; }
.dp-table col.dp-col-timekeeping { width: 116px; }
.dp-table col.dp-col-operation { width: 112px; }
.dp-table col.dp-col-operation-wide { width: 132px; }
.dp-table col.dp-col-labor-control { width: 116px; }
.dp-table col.dp-col-actions { width: 68px; }
.dp-table.data-table thead th { background: #f3f7fb; border-bottom-color: #d8e3ee; color: #51667b; font-size: var(--siga-font-table-header); font-weight: 600; line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); vertical-align: middle; white-space: normal; }
.dp-table.data-table tbody td { font-size: var(--siga-font-table); line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); }
.dp-table tbody tr { --bs-table-bg: #fff; }
.dp-table tbody tr:nth-child(even) { --bs-table-bg: #fbfcfe; }
.dp-table tbody tr:hover { --bs-table-bg: #f3f8fd; }
.dp-table thead tr:last-child th { text-align: center; }
.dp-table thead tr:last-child .sortable-header { justify-content: center; width: 100%; }
.dp-table thead tr:last-child th:nth-child(8), .dp-table tbody td:nth-child(8), .dp-table thead tr:last-child th:nth-child(18), .dp-table tbody td:nth-child(18), .dp-table thead tr:last-child th:nth-child(25), .dp-table tbody td:nth-child(25), .dp-table thead tr:last-child th:nth-child(29), .dp-table tbody td:nth-child(29), .dp-table thead tr:last-child th:nth-child(30), .dp-table tbody td:nth-child(30) { border-left: 1px solid #dce6ef; }
.dp-table tbody td:nth-child(1), .dp-table tbody td:nth-child(2), .dp-table tbody td:nth-child(5), .dp-table tbody td:nth-child(n+8) { text-align: center; }
.dp-table td { overflow-wrap: anywhere; white-space: normal; word-break: normal; }
.dp-table tbody td:nth-child(1), .dp-table tbody td:nth-child(2), .dp-table tbody td:nth-child(5), .dp-table tbody td:nth-child(n+8):nth-child(-n+17) { white-space: nowrap; }
.dp-code-cell strong { color: var(--siga-primary-dark); font-family: inherit; }
.dp-alias-cell strong { color: var(--siga-primary-dark); font-size: var(--siga-font-table); font-weight: 600; }
.dp-responsible-cell { font-weight: 500; }
.dp-table .dp-client-cell { max-width: var(--dp-client-width); overflow: visible; white-space: normal; }
.dp-table .dp-client-cell .table-main-link { display: block; line-height: var(--siga-table-line-height); max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.dp-table .dp-client-cell > small { display: block; font-size: var(--siga-font-secondary); margin-top: 2px; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.dp-heading-lines { display: inline-block; line-height: 1.35; }
.dp-table .structure-badge { font-size: var(--siga-font-badge); padding: 4px 7px; }
.dp-actions-cell .btn { align-items: center; display: inline-flex; height: 30px; justify-content: center; padding: 0; width: 32px; }
.dp-average-cell strong { color: #315f8a; font-variant-numeric: tabular-nums; }
.dp-average-note { font-size: var(--siga-font-secondary) !important; font-weight: 400; letter-spacing: .02em; }
.dp-movement-badge { border-radius: 999px; display: inline-flex; font-size: var(--siga-font-badge); font-weight: 600; padding: 4px 8px; white-space: nowrap; }
.dp-movement-badge.with_movement { background: #e7f3ed; color: #39785c; }
.dp-movement-badge.without_movement { background: #edf2f7; color: #586b7e; }
.dp-movement-badge.not_informed { background: #fff3df; color: #8d681f; }
.dp-detail-grid { grid-template-columns: repeat(4, 1fr); }
.dp-responsible-line { align-items: center; display: flex; gap: 13px; }
.dp-responsible-line small { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); font-weight: 600; margin-bottom: 3px; text-transform: uppercase; }
.dp-responsible-line strong { font-size: var(--siga-font-table); font-weight: 500; }
.dp-block-icon { align-items: center; background: #e5eff8; border-radius: 11px; color: var(--siga-primary); display: flex; font-size: 1rem; height: 42px; justify-content: center; width: 42px; }
.dp-detail-columns { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.dp-current-heading { align-items: center; border-bottom: 1px solid var(--siga-line); display: flex; justify-content: space-between; margin-bottom: 15px; padding-bottom: 13px; }
.dp-current-heading small { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); font-weight: 600; text-transform: uppercase; }
.dp-current-heading strong { color: var(--siga-primary-dark); font-family: inherit; font-size: var(--siga-font-block-title); }
.dp-count-grid { display: grid; gap: 8px; grid-template-columns: repeat(5, 1fr); }
.dp-count-grid > div { background: #f6f9fb; border: 1px solid var(--siga-line); border-radius: 9px; padding: 11px; text-align: center; }
.dp-count-grid small { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; margin-bottom: 4px; text-transform: uppercase; }
.dp-count-grid strong { color: var(--siga-primary-dark); font-size: .9rem; }
.dp-config-list { border: 1px solid var(--siga-line); border-radius: 11px; overflow: hidden; }
.dp-config-list > div { align-items: center; display: flex; gap: 20px; justify-content: space-between; padding: 10px 13px; }
.dp-config-list > div + div { border-top: 1px solid var(--siga-line); }
.dp-config-list span { color: var(--siga-muted); font-size: .65rem; }
.dp-config-list span small { display: block; font-size: var(--siga-font-secondary); margin-top: 2px; }
.dp-config-list strong { font-size: .7rem; text-align: right; }
.dp-inline-setting-form { align-items: center; display: flex; flex: 0 0 auto; gap: 7px; margin: 0; }
.dp-inline-setting-form .form-select { font-size: var(--siga-font-interface); min-width: 122px; padding-bottom: 5px; padding-top: 5px; width: auto; }
.dp-empty-block { align-items: center; color: var(--siga-muted); display: flex; flex-direction: column; justify-content: center; min-height: 160px; text-align: center; }
.dp-empty-block i { color: #9bb7d1; font-size: 1.5rem; margin-bottom: 9px; }
.dp-empty-block strong { color: var(--siga-ink); font-size: .8rem; }
.dp-empty-block span { font-size: .68rem; margin-top: 3px; }
.dp-history-heading { margin: 0; padding: 20px 24px; }
.dp-form-card { max-width: 760px; }
.dp-pagination { margin: 0; padding: 14px 18px; }

/* Dashboard gerencial compacto */
.dashboard-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashboard-kpi-onboarding { border-top-color: #62a782; }
.dashboard-kpi-offboarding { border-top-color: #d59a4c; }
.dashboard-overview-grid { display: grid; gap: 16px; grid-template-columns: minmax(360px, .95fr) minmax(480px, 1.45fr); margin-bottom: 16px; }
.dashboard-regime-panel .dashboard-panel-header { margin-bottom: 12px; }
.dashboard-regime-panel .regime-list { gap: 7px; }
.dashboard-regime-panel .regime-row { padding: 6px 0; }
.dashboard-compact-stack { display: grid; gap: 11px; }
.dashboard-compact-card { align-items: center; background: #fff; border: 1px solid var(--siga-line); border-radius: 13px; box-shadow: var(--siga-shadow); display: flex; gap: 14px; min-height: 96px; padding: 14px 16px; }
.dashboard-compact-card small { color: var(--siga-primary); display: block; font-size: var(--siga-font-card-label); font-weight: 600; letter-spacing: .055em; text-transform: uppercase; }
.dashboard-compact-card h3 { color: var(--siga-ink); font-size: var(--siga-font-block-title); font-weight: 600; line-height: 1.35; margin: 4px 0 2px; }
.dashboard-compact-card h3 strong { color: var(--siga-primary-dark); font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; }
.dashboard-compact-card p { color: var(--siga-muted); font-size: var(--siga-font-secondary); line-height: 1.4; margin: 0; }
.dashboard-dp-source { border-radius: 999px; display: inline-flex; font-size: .54rem; font-weight: 700; letter-spacing: .025em; line-height: 1; margin-top: 3px; padding: 4px 7px; }
.dashboard-dp-source.provisional { background: #fff0d2; color: #74490a; }
.dashboard-dp-source.official { background: #dff4e8; color: #17623b; }
.dashboard-dp-source.empty { background: #eef2f6; color: #617487; }
.dashboard-compact-primary { border-left: 3px solid var(--siga-primary); }
.dashboard-compact-awaiting { background: #f8fafc; border-style: dashed; }
.dashboard-location-grid { display: grid; gap: 11px; grid-template-columns: 1fr 1fr; }
.dashboard-secondary-grid { display: grid; gap: 16px; grid-template-columns: minmax(340px, .8fr) minmax(480px, 1.2fr); margin-bottom: 16px; }
.balance-numbers.three { grid-template-columns: repeat(3, 1fr); }
.balance-numbers.muted strong { color: #8a98a5; }
.dashboard-ranking-grid { display: grid; gap: 22px; grid-template-columns: 1fr 1fr; }
.dashboard-ranking-grid h4 { color: #51667b; font-family: inherit; font-size: var(--siga-font-block-title); font-weight: 600; letter-spacing: .05em; margin-bottom: 8px; text-transform: uppercase; }
.dashboard-ranking-grid p { align-items: baseline; border-bottom: 1px solid #edf1f5; display: flex; font-size: var(--siga-font-table); gap: 10px; justify-content: space-between; line-height: var(--siga-table-line-height); margin: 0; padding: var(--siga-table-padding-y) 0; }
.dashboard-ranking-grid p span { color: #43566a; max-width: 70%; overflow-wrap: anywhere; white-space: normal; }
.dashboard-ranking-grid p strong { color: var(--siga-primary-dark); font-size: var(--siga-font-table); font-weight: 600; white-space: nowrap; }
.dashboard-ranking-grid .dashboard-source-pending { color: var(--siga-muted); display: block; }
.dashboard-future-rankings { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.dashboard-future-rankings span { background: #f2f5f8; border-radius: 999px; color: #667788; font-size: var(--siga-font-badge); padding: 5px 8px; }
.dashboard-finance-values { margin-left: auto; text-align: right; }
.dashboard-finance-values strong, .dashboard-finance-values span { display: block; }
.dashboard-finance-values span { color: #d4e3f1; font-size: var(--siga-font-secondary); margin-top: 5px; }
.future-finance-strip > div > small { color: #afcce5; display: block; font-size: var(--siga-font-secondary); margin-top: 4px; }
.future-finance-strip > div > small a { color: #e5f3ff; text-decoration: underline; }

/* Dashboard gerencial — fotografia atual */
.dashboard-snapshot-badge { align-items: center; background: #e4f1fb; border: 1px solid #c9dfef; border-radius: 999px; color: #28628f; display: inline-flex; font-size: .7rem; font-weight: 700; gap: 7px; min-height: 37px; padding: 0 13px; white-space: nowrap; }
.dashboard-composition-grid, .dashboard-evolution-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }
.dashboard-profile-panel { display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.dashboard-profile-body { align-items: center; display: grid; gap: 28px; grid-template-columns: 160px 1fr; min-height: 180px; }
.dashboard-donut { align-items: center; background: conic-gradient(#245784 0 var(--dashboard-third-share), #78a9d4 var(--dashboard-third-share) 100%); border-radius: 50%; display: flex; height: 150px; justify-content: center; position: relative; width: 150px; }
.dashboard-donut::before { background: white; border-radius: 50%; box-shadow: inset 0 0 0 1px #edf1f5; content: ""; inset: 24px; position: absolute; }
.dashboard-donut > div { position: relative; text-align: center; z-index: 1; }
.dashboard-donut strong, .dashboard-donut span { display: block; }
.dashboard-donut strong { color: var(--siga-primary-dark); font-size: 1.55rem; line-height: 1; }
.dashboard-donut span { color: var(--siga-muted); font-size: .62rem; margin-top: 4px; text-transform: uppercase; }
.dashboard-profile-legend { display: grid; gap: 11px; }
.dashboard-profile-legend > div { align-items: center; background: #f7f9fb; border: 1px solid #e7edf3; border-radius: 11px; display: grid; gap: 10px; grid-template-columns: 10px 1fr; padding: 12px 14px; }
.dashboard-profile-legend p { align-items: baseline; display: grid; gap: 7px; grid-template-columns: 1fr auto; margin: 0; }
.dashboard-profile-legend small { color: #4a5f73; font-size: var(--siga-font-interface); font-weight: 600; }
.dashboard-profile-legend strong { color: var(--siga-primary-dark); font-size: 1rem; }
.dashboard-profile-legend em { color: var(--siga-muted); font-size: .66rem; font-style: normal; grid-column: 1 / -1; }
.dashboard-profile-dot { border-radius: 50%; height: 9px; width: 9px; }
.dashboard-profile-dot.third { background: #245784; }
.dashboard-profile-dot.private { background: #78a9d4; }
.dashboard-classification-note { background: #fff7e8; border: 1px solid #efdfbd; border-radius: 9px; color: #7d632d; font-size: var(--siga-font-secondary); margin: 12px 0 0; padding: 9px 11px; }
.dashboard-trend-panel .dashboard-panel-header { margin-bottom: 14px; }
.dashboard-year-series { display: grid; gap: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-year-card { background: #f7f9fb; border: 1px solid #e4ebf2; border-radius: 12px; display: flex; flex-direction: column; min-height: 154px; padding: 13px; }
.dashboard-year-card.current { background: linear-gradient(145deg, #eaf4fd, #f8fbfe); border-color: #bdd8ee; box-shadow: inset 0 3px 0 #397ab7; }
.dashboard-year-heading { align-items: center; display: flex; justify-content: space-between; }
.dashboard-year-heading span { color: var(--siga-primary); font-size: .62rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.dashboard-year-heading b { color: #65798d; font-size: .67rem; }
.dashboard-year-card > strong { color: #193f65; display: block; font-size: clamp(1rem, 1.35vw, 1.35rem); line-height: 1.2; margin: 13px 0 4px; overflow-wrap: anywhere; }
.dashboard-year-card > strong.money { font-size: clamp(.88rem, 1.05vw, 1.12rem); }
.dashboard-year-card > strong.no-data { color: #8392a0; font-size: .88rem; }
.dashboard-year-card > small { color: var(--siga-muted); font-size: .59rem; line-height: 1.4; }
.dashboard-variation { align-items: center; display: inline-flex; font-size: .61rem; font-style: normal; font-weight: 700; gap: 4px; margin-top: auto; padding-top: 9px; }
.dashboard-variation.positive { color: #267555; }
.dashboard-variation.negative { color: #a24e4e; }
.dashboard-variation.stable { color: #637586; }
.dashboard-operational-grid { display: grid; gap: 11px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; }
.dashboard-operational-grid .dashboard-compact-card { box-shadow: none; }
.dashboard-accounting-panel, .dashboard-intelligence { margin-bottom: 16px; }
.dashboard-accounting-metrics { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 14px; }
.dashboard-accounting-metrics > div { background: #f5f8fb; border: 1px solid #e4ebf2; border-radius: 11px; padding: 13px 14px; }
.dashboard-accounting-metrics small, .dashboard-accounting-metrics strong { display: block; }
.dashboard-accounting-metrics small { color: var(--siga-muted); font-size: var(--siga-font-card-label); text-transform: uppercase; }
.dashboard-accounting-metrics strong { color: var(--siga-primary-dark); font-size: 1.35rem; margin-top: 4px; }
.dashboard-accounting-metrics .delivered { border-top: 3px solid #4d9b76; }
.dashboard-accounting-metrics .upcoming { border-top: 3px solid #6b9dcc; }
.dashboard-accounting-metrics .overdue { border-top: 3px solid #c87474; }
.dashboard-accounting-metrics .percentage { background: #1f5688; border-color: #1f5688; }
.dashboard-accounting-metrics .percentage small { color: #c9dded; }
.dashboard-accounting-metrics .percentage strong { color: white; }
.dashboard-ranking-cards { display: grid; gap: 11px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashboard-rank-card { background: #f8fafc; border: 1px solid #e4ebf1; border-radius: 12px; min-width: 0; padding: 13px 14px; }
.dashboard-rank-card h4 { color: #46617b; font-size: .68rem; font-weight: 700; letter-spacing: .04em; margin: 0 0 8px; text-transform: uppercase; }
.dashboard-rank-card h4 i { color: #4f87ba; margin-right: 5px; }
.dashboard-rank-card p { align-items: center; border-top: 1px solid #e8edf2; display: flex; gap: 8px; justify-content: space-between; margin: 0; min-height: 42px; padding: 7px 0; }
.dashboard-rank-card p > span { min-width: 0; }
.dashboard-rank-card p b, .dashboard-rank-card p small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-rank-card p b { color: #3e5266; font-size: var(--siga-font-table); font-weight: 600; }
.dashboard-rank-card p small { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 2px; }
.dashboard-rank-card p > strong { color: var(--siga-primary-dark); flex: 0 0 auto; font-size: var(--siga-font-table); font-weight: 700; max-width: 47%; overflow-wrap: anywhere; text-align: right; }
.dashboard-rank-demand { grid-column: 1 / -1; }
.dashboard-rank-demand p { display: inline-flex; margin-right: 18px; min-width: calc(33.333% - 18px); vertical-align: top; }
.dashboard-rank-card footer { background: #edf4fa; border-radius: 8px; color: #5d7185; font-size: var(--siga-font-secondary); margin-top: 8px; padding: 8px 10px; }
.dashboard-rank-empty { align-items: center; color: var(--siga-muted); display: flex; font-size: var(--siga-font-secondary); gap: 6px; min-height: 72px; }

/* Dashboard gerencial — composição executiva */
.dashboard-executive-heading p small { color: #718397; font-size: var(--siga-font-secondary); margin-left: 6px; white-space: nowrap; }
.dashboard-executive-grid { align-items: stretch; display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }
.dashboard-executive-grid > *, .dashboard-profile-stack > *, .dashboard-executive-stack > * { min-width: 0; }
.dashboard-profile-stack { display: grid; gap: 12px; grid-template-rows: minmax(0, 1fr) auto; height: 100%; }
.dashboard-executive-stack { display: grid; gap: 12px; grid-template-rows: repeat(4, minmax(0, 1fr)); height: 100%; }
.dashboard-profile-section { min-width: 0; }
.dashboard-profile-section > h4, .dashboard-profile-subheading h4 { color: #46617b; font-size: .7rem; font-weight: 700; letter-spacing: .055em; margin: 0 0 10px; text-transform: uppercase; }
.dashboard-organizational-profile { border-top: 1px solid #e5ebf1; margin-top: 18px; padding-top: 18px; }
.dashboard-profile-subheading p { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin: -6px 0 12px; }
.dashboard-profile-body { gap: 20px; grid-template-columns: 118px 1fr; min-height: 118px; }
.dashboard-donut { height: 108px; width: 108px; }
.dashboard-donut::before { inset: 18px; }
.dashboard-donut strong { font-size: 1.25rem; }
.dashboard-profile-legend { gap: 8px; }
.dashboard-profile-legend > div { padding: 9px 11px; }
.dashboard-compact-heading { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 10px; }
.dashboard-compact-heading h3 { color: var(--siga-primary-dark); font-size: var(--siga-font-block-title); margin: 2px 0 0; }
.dashboard-reach-panel { padding-bottom: 15px; padding-top: 15px; }
.dashboard-reach-metrics { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-reach-metrics > div { align-items: baseline; background: #f5f8fb; border: 1px solid #e4ebf2; border-radius: 11px; display: flex; gap: 8px; padding: 10px 12px; }
.dashboard-reach-metrics strong { color: var(--siga-primary-dark); font-size: 1.35rem; }
.dashboard-reach-metrics span { color: #586d81; font-size: var(--siga-font-interface); font-weight: 600; }
.dashboard-side-trend { display: flex; flex-direction: column; padding-bottom: 15px; padding-top: 15px; }
.dashboard-side-trend .dashboard-year-series { flex: 1; gap: 7px; }
.dashboard-side-trend .dashboard-year-card { min-height: 116px; padding: 10px; }
.dashboard-side-trend .dashboard-year-card > strong { font-size: clamp(.9rem, 1vw, 1.12rem); margin: 9px 0 3px; }
.dashboard-side-trend .dashboard-year-card > strong.money { font-size: clamp(.76rem, .87vw, .95rem); }
.dashboard-side-trend .dashboard-variation { font-size: .56rem; padding-top: 6px; }
.dashboard-attendance-panel { padding: 15px; }
.dashboard-executive-stack .dashboard-attendance-panel .dashboard-year-card { min-height: 116px; padding: 10px; }
.dashboard-attendance-panel .dashboard-year-card > strong { font-size: clamp(.9rem, 1vw, 1.12rem); margin: 9px 0 3px; }
.dashboard-attendance-panel .dashboard-year-card > strong > span { color: #526b82; font-size: .58rem; font-weight: 600; white-space: nowrap; }
.dashboard-attendance-panel .dashboard-variation { font-size: .57rem; padding-top: 6px; }
.dashboard-rank-card { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.dashboard-rank-card > header { background: #f8fafc; border-bottom: 1px solid #e4ebf1; flex: 0 0 auto; min-height: 56px; padding: 12px 14px 9px; }
.dashboard-rank-card > header h4 { margin-bottom: 3px; }
.dashboard-rank-card > header > small { color: var(--siga-muted); display: block; font-size: .57rem; line-height: 1.35; }
.dashboard-rank-list { max-height: 268px; min-height: 180px; overflow-y: auto; overscroll-behavior: contain; padding: 0 13px; scrollbar-color: #b8c9d8 transparent; scrollbar-gutter: stable; scrollbar-width: thin; }
.dashboard-rank-list::-webkit-scrollbar { width: 6px; }
.dashboard-rank-list::-webkit-scrollbar-track { background: transparent; }
.dashboard-rank-list::-webkit-scrollbar-thumb { background: #b8c9d8; border-radius: 999px; }
.dashboard-rank-item { border-top: 1px solid #e8edf2; padding: 9px 0; }
.dashboard-rank-item:first-child { border-top: 0; }
.dashboard-rank-primary { align-items: baseline; display: flex; gap: 8px; justify-content: space-between; }
.dashboard-rank-primary b { color: #3e5266; font-size: var(--siga-font-table); font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-rank-primary strong { color: var(--siga-primary-dark); flex: 0 0 auto; font-size: var(--siga-font-table); font-weight: 700; max-width: 48%; overflow-wrap: anywhere; text-align: right; }
.dashboard-rank-item > small { color: #788a9c; display: block; font-size: .56rem; margin-top: 2px; }
.dashboard-rank-detail { color: #62778a; display: block; font-size: .57rem; line-height: 1.35; margin-top: 3px; }
.dashboard-rank-detail b { color: #536d84; font-weight: 600; }
.dashboard-rank-list .dashboard-rank-empty { padding: 0 2px; }
.dashboard-ranking-cards { align-items: stretch; }

/* Variações dos parâmetros financeiros */
.finance-insight-panel { padding: 13px 15px; }
.finance-insight-heading { margin-bottom: 10px; }
.issuer-chart { gap: 8px; }
.issuer-chart-row { gap: 13px; }
.portfolio-composition { gap: 6px; }
.portfolio-composition > div { gap: 4px 8px; }
.finance-variation-grid { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; margin-bottom: 18px; }
.finance-variation-panel { background: white; border: 1px solid var(--siga-line); border-radius: 14px; box-shadow: var(--siga-shadow); min-width: 0; overflow: hidden; }
.finance-variation-panel > header { align-items: center; display: flex; justify-content: space-between; padding: 14px 16px 10px; }
.finance-variation-panel header span { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; text-transform: uppercase; }
.finance-variation-panel header h3 { color: var(--siga-primary-dark); font-size: .86rem; margin: 2px 0 0; }
.finance-variation-panel header i { color: #7aa8d0; }
.finance-variation-panel.negative header i { color: #c48282; }
.finance-variation-scroll { max-height: 260px; overflow: auto; }
.finance-variation-scroll table { border-collapse: collapse; min-width: 620px; width: 100%; }
.finance-variation-scroll th { background: #f4f7fa; color: #647587; font-size: var(--siga-font-table-header); font-weight: 600; line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); position: sticky; text-align: center; text-transform: uppercase; top: 0; white-space: normal; z-index: 2; }
.finance-variation-scroll td { border-top: 1px solid #edf1f4; color: #4c5e70; font-size: var(--siga-font-table); line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); }
.finance-variation-scroll td small { color: #8a611c; display: block; font-size: var(--siga-font-secondary); }
.finance-variation-panel.positive tr.highlight td:last-child { background: #e8f4ed; color: #367453; }
.finance-variation-panel.negative tr.highlight td:last-child { background: #f8e8e8; color: #a34c4c; }

/* Operação mensal do DP */
.dp-toolbar-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.dp-table-scroll { max-height: min(65vh, 680px); overflow: auto; overscroll-behavior: contain; }
.dp-table { --dp-group-header-height: 34px; border-spacing: 0; }
.dp-table col.dp-col-select { width: var(--dp-select-width); }
.dp-table thead th { background: #f3f7fb; position: sticky; top: var(--dp-group-header-height); z-index: 10; }
.dp-table thead .dp-column-groups th { background: #eaf1f8; color: #47637e; font-size: var(--siga-font-table-header); font-weight: 600; height: 34px; letter-spacing: .07em; line-height: var(--siga-table-line-height); padding: var(--siga-table-padding-y) var(--siga-table-padding-x); text-align: center; text-transform: uppercase; top: 0; vertical-align: middle; z-index: 20; }
.dp-table .dp-column-groups th:nth-child(n+3) { border-left: 1px solid #d3e0eb; }
.dp-table thead tr:last-child th:nth-child(1), .dp-table tbody td:nth-child(1) { left: 0; position: sticky; text-align: center; z-index: 3; }
.dp-table thead tr:last-child th:nth-child(2), .dp-table tbody td:nth-child(2) { left: var(--dp-select-width); position: sticky; z-index: 3; }
.dp-table thead tr:last-child th:nth-child(3), .dp-table tbody td:nth-child(3) { left: calc(var(--dp-select-width) + var(--dp-code-width)); position: sticky; z-index: 3; }
.dp-table thead tr:last-child th:nth-child(4), .dp-table tbody td:nth-child(4) { border-right: 1px solid #cad9e6; box-shadow: 7px 0 9px -9px rgba(35, 64, 91, .8); left: calc(var(--dp-select-width) + var(--dp-code-width) + var(--dp-alias-width)); position: sticky; z-index: 3; }
.dp-table thead tr:last-child th:nth-child(-n+4) { background: #f3f7fb; z-index: 30; }
.dp-table tbody td:nth-child(-n+4) { background: var(--bs-table-bg, #fff); }
.dp-table th:nth-child(n+8):nth-child(-n+17), .dp-table td:nth-child(n+8):nth-child(-n+17) { background-color: rgba(239, 246, 252, .55); }
.dp-table th:nth-child(n+18):nth-child(-n+24), .dp-table td:nth-child(n+18):nth-child(-n+24) { background-color: rgba(247, 244, 252, .46); }
.dp-table thead tr:last-child th:nth-child(n+8):nth-child(-n+17) { background: #eff6fc; }
.dp-table thead tr:last-child th:nth-child(n+18):nth-child(-n+24) { background: #f7f4fc; }
.dp-table thead .dp-column-groups .dp-group-compliance { background: #f1ecdc; }
.dp-table th:nth-child(8), .dp-table td:nth-child(8), .dp-table th:nth-child(18), .dp-table td:nth-child(18), .dp-table th:nth-child(25), .dp-table td:nth-child(25), .dp-table th:nth-child(29), .dp-table td:nth-child(29), .dp-table th:nth-child(30), .dp-table td:nth-child(30) { border-left: 1px solid #d3e0eb; }
.dp-apprentice-badge { align-items: center; border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-size: var(--siga-font-badge); font-weight: 600; justify-content: center; line-height: 1.2; min-height: 25px; padding: 4px 8px; text-decoration: none; white-space: nowrap; }
.dp-apprentice-badge:hover { filter: brightness(.96); }
.dp-apprentice-badge.compliant { background: #e4f3ea; border-color: #cce6d7; color: #2f7653; }
.dp-apprentice-badge.below { background: #f9e8e8; border-color: #efd0d0; color: #a24242; }
.dp-apprentice-badge.dismissed, .dp-apprentice-badge.above { background: #e8eff6; border-color: #d4e0eb; color: #4b6883; }
.dp-apprentice-badge.not-required, .dp-apprentice-badge.no-data { background: #eef1f4; border-color: #dfe5ea; color: #657482; }
.dp-apprentice-badge.pending { background: #fff1d8; border-color: #f3ddb4; color: #946719; }
.dp-apprentice-badge.large { font-size: var(--siga-font-badge); min-height: 34px; padding: 8px 13px; }
.apprenticeship-summary { overflow: hidden; padding: 0; }
.apprenticeship-summary-main { align-items: center; background: linear-gradient(125deg, #fff 0%, #fff 70%, #f0f6fb 100%); display: flex; justify-content: space-between; padding: 22px 24px 18px; }
.apprenticeship-summary-main h2 { font-size: 1.2rem; margin: 4px 0; }
.apprenticeship-summary-main p { color: var(--siga-muted); font-size: .72rem; margin: 0; }
.apprenticeship-summary-meta { align-items: end; background: #f8fafc; border-top: 1px solid var(--siga-line); display: grid; gap: 16px; grid-template-columns: 1.2fr .6fr .8fr 1.2fr; padding: 15px 24px; }
.apprenticeship-summary-meta small { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; margin-bottom: 4px; text-transform: uppercase; }
.apprenticeship-summary-meta strong { color: var(--siga-primary-dark); display: block; font-size: .72rem; }
.apprenticeship-competence-form label { color: var(--siga-muted); display: block; font-size: var(--siga-font-form-label); font-weight: 600; margin-bottom: 4px; text-transform: uppercase; }
.apprenticeship-competence-form > div { display: flex; gap: 6px; }
.apprenticeship-competence-form .form-control { font-size: var(--siga-font-interface); min-width: 0; }
.apprenticeship-alert { align-items: center; display: flex; font-size: .72rem; gap: 9px; }
.apprenticeship-layout { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); }
.apprenticeship-calculation-lines { border: 1px solid var(--siga-line); border-radius: 11px; overflow: hidden; }
.apprenticeship-calculation-lines > div { align-items: center; display: flex; font-size: .72rem; justify-content: space-between; padding: 8px 12px; }
.apprenticeship-calculation-lines > div + div { border-top: 1px solid #edf1f5; }
.apprenticeship-calculation-lines .deduction { color: #627487; padding-left: 22px; }
.apprenticeship-calculation-lines .total { background: #eaf2fa; color: var(--siga-primary-dark); font-weight: 600; padding-bottom: 11px; padding-top: 11px; text-transform: uppercase; }
.apprenticeship-quota-grid { display: grid; gap: 8px; grid-template-columns: repeat(4, 1fr); margin-top: 12px; }
.apprenticeship-quota-grid > div { background: #f6f9fb; border: 1px solid var(--siga-line); border-radius: 9px; padding: 11px; text-align: center; }
.apprenticeship-quota-grid small { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; min-height: 28px; text-transform: uppercase; }
.apprenticeship-quota-grid strong { color: var(--siga-primary-dark); font-family: inherit; font-size: var(--siga-font-card-value); font-weight: 600; }
.apprenticeship-quota-grid .need { background: #edf4fb; border-color: #cedfee; }
.apprenticeship-source-note { align-items: flex-start; border-top: 1px solid var(--siga-line); color: var(--siga-muted); display: flex; font-size: var(--siga-font-secondary); gap: 10px; margin-top: 15px; padding-top: 13px; }
.apprenticeship-source-note i { color: #7ca8cf; font-size: 1rem; }
.apprenticeship-source-note strong, .apprenticeship-source-note span { display: block; }
.apprenticeship-source-note strong { color: #52677b; margin-bottom: 2px; }
.apprenticeship-section-heading { margin: 0; padding: 18px 21px 14px; }
.apprenticeship-cbo-table { min-width: 900px; }
.apprenticeship-cbo-table th:nth-child(n+3),
.apprenticeship-cbo-table td:nth-child(n+3) { text-align: center; }
.apprenticeship-cbo-table td { vertical-align: middle; }
.apprenticeship-cbo-table td small { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); line-height: var(--siga-table-line-height); }
.apprenticeship-treatment { background: #edf4fa; border: 1px solid #d8e5f0; border-radius: 999px; color: #476b8d; display: inline-flex; font-size: var(--siga-font-badge); font-weight: 600; padding: 4px 8px; white-space: nowrap; }
.apprenticeship-base-value { color: var(--siga-primary-dark); font-size: .78rem; }
.apprenticeship-exclusion-table { min-width: 1250px; }
.apprenticeship-compact-form { border-bottom: 1px solid var(--siga-line); margin-bottom: 17px; padding-bottom: 17px; }
.apprenticeship-history-list { display: grid; gap: 12px; }
.apprenticeship-history-list article { display: grid; gap: 10px; grid-template-columns: 8px 1fr; }
.apprenticeship-history-list .history-dot { background: #79a7d0; border-radius: 50%; height: 8px; margin-top: 5px; width: 8px; }
.apprenticeship-history-list strong { display: block; font-size: .69rem; }
.apprenticeship-history-list p { color: #5b6c7d; font-size: .65rem; margin: 2px 0; }
.apprenticeship-history-list small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.apprenticeship-timeline { display: grid; gap: 0; }
.apprenticeship-timeline article { display: grid; grid-template-columns: 90px 16px 1fr; min-height: 70px; }
.apprenticeship-timeline time { color: #607284; font-size: .65rem; font-weight: 700; padding-top: 2px; }
.apprenticeship-timeline article > span { border-left: 1px solid #cfddeb; position: relative; }
.apprenticeship-timeline article > span::before { background: #fff; border: 3px solid #6d9bc5; border-radius: 50%; content: ''; height: 11px; left: -6px; position: absolute; top: 1px; width: 11px; }
.apprenticeship-timeline article > div { padding: 0 0 17px 8px; }
.apprenticeship-timeline small, .apprenticeship-timeline strong, .apprenticeship-timeline em { display: block; }
.apprenticeship-timeline small { color: var(--siga-primary); font-size: var(--siga-font-secondary); font-style: normal; font-weight: 600; text-transform: uppercase; }
.apprenticeship-timeline strong { font-size: .72rem; margin-top: 2px; }
.apprenticeship-timeline p { color: #5e7082; font-size: .65rem; margin: 3px 0; }
.apprenticeship-timeline em { color: var(--siga-muted); font-size: var(--siga-font-secondary); font-style: normal; }
.dp-empty-block.compact { min-height: 125px; }
.dp-bulk-note { background: #eef5fb; border-left: 3px solid var(--siga-primary); color: #536a80; font-size: .7rem; padding: 10px 12px; }
.dp-bulk-grid { display: grid; gap: 11px; grid-template-columns: 1fr 1fr; }
.dp-bulk-field { background: #f8fafc; border: 1px solid var(--siga-line); border-radius: 10px; display: grid; gap: 8px; padding: 12px; }
.dp-bulk-field .form-check:first-child { color: var(--siga-primary-dark); font-size: var(--siga-font-form-label); font-weight: 600; }
.dp-confirm-change { display: block; font-size: .68rem; margin-bottom: 4px; }
.dp-confirm-change b { color: var(--siga-primary-dark); }
.dp-confirm-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px; }
.dp-replication-summary { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-bottom: 16px; }
.dp-replication-summary article { background: white; border: 1px solid var(--siga-line); border-radius: 11px; padding: 13px; }
.dp-replication-summary span { color: var(--siga-muted); display: block; font-size: var(--siga-font-card-label); font-weight: 600; text-transform: uppercase; }
.dp-replication-summary strong { color: var(--siga-primary-dark); display: block; font-size: 1.2rem; margin-top: 3px; }
.dp-confirm-scroll { max-height: 55vh; overflow: auto; }
.dp-import-form { display: grid; gap: 14px; }
.dp-import-form label { display: grid; gap: 6px; }
.dp-import-form label > span { color: #526578; font-size: var(--siga-font-form-label); font-weight: 600; text-transform: uppercase; }
.dp-import-form label > small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.dp-preparation-list { color: #53677a; display: grid; font-size: .72rem; gap: 8px; padding-left: 18px; }

/* Settings, audit, empty states */
.settings-card { align-items: center; background: white; border: 1px solid var(--siga-line); border-radius: 15px; box-shadow: var(--siga-shadow); color: var(--siga-ink); display: grid; gap: 16px; grid-template-columns: 50px 1fr auto; min-height: 135px; padding: 23px; text-decoration: none; transition: .2s ease; }
.settings-card:hover { border-color: #bdd2e7; color: var(--siga-ink); transform: translateY(-2px); }
.settings-icon { align-items: center; background: #e3edf7; border-radius: 12px; color: var(--siga-primary); display: flex; font-size: 1.2rem; height: 50px; justify-content: center; width: 50px; }
.settings-card h3 { font-size: .95rem; margin: 0 0 5px; }
.settings-card p { color: var(--siga-muted); font-size: .75rem; margin: 0; }
.settings-card > i { color: #93a19e; }
.readonly-badge { background: #e8efed; color: #576763; }
.audit-filters { align-items: end; display: grid; gap: 10px; grid-template-columns: 130px 130px minmax(190px,1fr) minmax(155px,.8fr) minmax(180px,1fr) auto; margin-bottom: 20px; }
.audit-filter-actions { display: flex; gap: 7px; }
.audit-table td:first-child strong { display: block; }
.module-chip { background: #e7eff8; border-radius: 6px; color: #3c6e9f; font-size: var(--siga-font-badge); font-weight: 600; padding: 4px 7px; white-space: nowrap; }
.audit-detail-row td { background: #f7f9f8; padding: 0 !important; }
.audit-detail { display: grid; gap: 18px; grid-template-columns: 1fr 1fr 1fr; padding: 18px 22px; }
.audit-detail label { color: var(--siga-muted); display: block; font-size: var(--siga-font-form-label); font-weight: 600; letter-spacing: .05em; margin-bottom: 5px; text-transform: uppercase; }
.audit-detail p, .audit-detail pre { font-family: inherit; font-size: .72rem; margin: 0; white-space: pre-wrap; }
.audit-detail pre { background: white; border: 1px solid var(--siga-line); border-radius: 7px; max-height: 150px; overflow: auto; padding: 8px; }
.pagination-wrap { align-items: center; border-top: 1px solid var(--siga-line); color: var(--siga-muted); display: flex; font-size: .7rem; justify-content: space-between; margin-top: 10px; padding-top: 16px; }
.page-link { border-color: var(--siga-line); color: var(--siga-primary); }
.empty-state { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 440px; text-align: center; }
.empty-icon { align-items: center; background: #e1edf8; border-radius: 18px; color: var(--siga-primary); display: flex; font-size: 1.65rem; height: 72px; justify-content: center; margin-bottom: 20px; width: 72px; }
.empty-icon.danger { background: #f5e3e3; color: var(--siga-danger); }
.status-pill { background: #e4eef8; color: var(--siga-primary); margin-bottom: 12px; }
.status-pill.danger { background: #f5e3e3; color: var(--siga-danger); }
.empty-state h2 { font-size: 1.25rem; margin-bottom: 8px; }
.empty-state p { color: var(--siga-muted); font-size: .84rem; margin: 0 auto 20px; max-width: 470px; }

/* Authentication */
.auth-body { background: #edf2f7; min-height: 100vh; }
.auth-shell { background: white; display: grid; grid-template-columns: minmax(390px, .9fr) minmax(480px, 1.1fr); min-height: 100vh; }
.auth-brand-panel { align-items: center; background: linear-gradient(145deg, #102b46 0%, #285f98 60%, #4a86c2 100%); color: white; display: flex; justify-content: center; min-height: 100vh; overflow: hidden; padding: 80px; position: relative; text-align: center; }
.auth-brand-content { align-items: center; display: flex; flex-direction: column; max-width: 500px; position: relative; width: 100%; z-index: 2; }
.auth-logo { align-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 18px; display: flex; font-family: inherit; font-size: 2rem; font-weight: 700; height: 68px; justify-content: center; margin-bottom: 34px; width: 68px; }
.auth-company-logo { align-items: center; display: flex; justify-content: center; margin-bottom: 34px; width: min(170px, 44%); }
.auth-company-logo img { display: block; height: auto; object-fit: contain; width: 100%; }
.auth-brand-panel h1 { font-size: clamp(3.5rem, 7vw, 6.2rem); font-weight: 800; line-height: .95; margin: 0; }
.auth-subtitle { color: #d5e3f0; font-size: 1.15rem; line-height: 1.55; margin: 20px 0 40px; }
.auth-trust { align-items: center; border-top: 1px solid rgba(255,255,255,.13); color: #b6cce0; display: flex; font-size: .75rem; gap: 9px; justify-content: center; padding-top: 22px; width: fit-content; }
.auth-trust i { color: #afd4f5; font-size: 1rem; }
.auth-orbit { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; position: absolute; }
.orbit-one { height: 520px; right: -260px; top: -150px; width: 520px; }
.orbit-two { bottom: -240px; height: 630px; left: -300px; width: 630px; }
.auth-form-panel { align-items: center; display: flex; justify-content: center; padding: 55px; }
.auth-form-wrap { max-width: 430px; width: 100%; }
.auth-heading { margin-bottom: 28px; }
.auth-heading h2 { font-size: 1.65rem; margin: 7px 0 8px; }
.auth-heading p { color: var(--siga-muted); font-size: .875rem; line-height: 1.6; margin: 0; }
.auth-form .form-label { font-size: .8125rem; }
.auth-form .form-control, .auth-form input[type="email"], .auth-form input[type="password"], .auth-form input[type="text"] { border: 1px solid #d9e2ec; border-radius: 10px; font-size: .875rem; min-height: 52px; padding: .7rem .85rem; width: 100%; }
.auth-form .form-control::placeholder, .auth-form input::placeholder { font-size: .875rem; }
.auth-form input:focus { border-color: rgba(61,121,184,.65); box-shadow: 0 0 0 .22rem rgba(61,121,184,.1); outline: 0; }
.input-icon-wrap { position: relative; }
.input-icon-wrap > i { color: #83918e; font-size: .95rem; left: 16px; position: absolute; top: 16px; z-index: 1; }
.input-icon-wrap .form-control, .input-icon-wrap input { padding-left: 44px !important; }
.auth-link { color: var(--siga-primary); font-size: .8125rem; font-weight: 600; text-decoration: none; }
.auth-link:hover { color: var(--siga-primary-dark); text-decoration: underline; }
.auth-form .form-check-label { color: #53615e; font-size: .8125rem; }
.auth-form .btn[type="submit"] { font-size: .875rem; min-height: 48px; }
.auth-version { color: #8e9a97; font-size: .75rem; margin: 36px 0 0; text-align: center; }

@media (max-width: 1799.98px) {
    .dp-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dp-filter-search { grid-column: span 2; }
    .dp-filter-actions { grid-column: auto; justify-content: flex-start; }
}

@media (max-width: 1199.98px) {
    .dashboard-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .audit-filters { grid-template-columns: repeat(3, 1fr); }
    .filter-bar { grid-template-columns: minmax(220px,1fr) 165px 145px auto auto; }
    .client-filter-grid { grid-template-columns: repeat(3, 1fr); }
    .client-filter-grid .filter-search { grid-column: span 2; }
    .import-metrics { grid-template-columns: repeat(5, 1fr); }
    .bulk-grid { grid-template-columns: repeat(3, 1fr); }
    .finance-filter-grid { grid-template-columns: repeat(3, 1fr); }
    .finance-filter-grid > input:first-child { grid-column: span 2; }
    .finance-management-grid { grid-template-columns: repeat(3, 1fr); }
    .finance-insights-grid { grid-template-columns: 1fr; }
    .finance-contract-grid { grid-template-columns: repeat(3, 1fr); }
    .dp-filter-grid { grid-template-columns: repeat(3, 1fr); }
    .dp-filter-search { grid-column: span 2; }
    .dp-filter-actions { grid-column: auto; justify-content: flex-start; }
    .dp-detail-grid { grid-template-columns: repeat(3, 1fr); }
    .apprenticeship-layout { grid-template-columns: 1fr; }
}

@media (max-width: 991.98px) {
    .sidebar { transform: translateX(-100%); transition: transform .25s ease; }
    .sidebar-open .sidebar { transform: translateX(0); }
    .sidebar-open .sidebar-backdrop { background: rgba(13,31,50,.48); display: block; inset: 0; position: fixed; z-index: 1030; }
    .app-content { margin-left: 0; }
    .topbar { padding: 0 22px; }
    .main-area { padding: 24px 22px; }
    .app-footer { padding-left: 22px; padding-right: 22px; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-brand-panel { display: none; }
    .auth-form-panel { min-height: 100vh; }
    .responsibility-row { grid-template-columns: 1fr; }
    .dashboard-heading { align-items: flex-start; flex-direction: column; }
    .dashboard-main-grid, .dashboard-balance-grid { grid-template-columns: 1fr; }
    .dashboard-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .finance-alert-grid, .finance-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .finance-adjustment-alert-rows { grid-template-columns: 1fr; }
    .finance-adjustment-alert-rows > a:nth-child(odd) { border-right: 0; }
    .finance-management-grid { grid-template-columns: repeat(2, 1fr); }
    .finance-split-details { grid-template-columns: repeat(2, 1fr); }
    .dp-detail-columns { grid-template-columns: 1fr; }
    .dp-detail-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767.98px) {
    .main-area { padding: 20px 15px; }
    .topbar { height: 76px; padding: 0 15px; }
    .topbar h1 { font-size: 1.1rem; }
    .section-intro { align-items: flex-start; flex-direction: column; gap: 14px; }
    .welcome-strip { align-items: flex-start; flex-direction: column; gap: 18px; padding: 23px; }
    .quick-grid { grid-template-columns: 1fr; }
    .filter-bar { grid-template-columns: 1fr; }
    .audit-filters { grid-template-columns: 1fr 1fr; }
    .audit-filter-actions { grid-column: 1 / -1; }
    .audit-detail { grid-template-columns: 1fr; }
    .panel-card { padding: 18px; }
    .client-filter-grid, .detail-grid, .client-summary-grid, .bulk-grid, .responsibility-form-grid, .sector-selection-grid { grid-template-columns: 1fr; }
    .responsibility-form-item:last-child:nth-child(odd) { grid-column: auto; }
    .client-filter-grid .filter-search { grid-column: auto; }
    .client-hero { flex-direction: column; gap: 18px; }
    .import-metrics { grid-template-columns: repeat(2, 1fr); }
    .history-values { grid-template-columns: 1fr; }
    .auth-form-panel { padding: 35px 22px; }
    .app-footer { padding: 0 15px 18px; }
    .pagination-wrap { align-items: flex-start; flex-direction: column; gap: 10px; }
    .dashboard-controls { align-items: stretch; flex-direction: column; width: 100%; }
    .period-filter { grid-template-columns: minmax(0, 1.5fr) minmax(76px, .7fr) 38px; }
    .money-visibility { justify-content: center; }
    .finance-filter-grid, .finance-contract-grid, .finance-split-details { grid-template-columns: 1fr; }
    .finance-filter-grid > input:first-child { grid-column: auto; }
    .finance-adjustment-custom-fields { grid-column: auto; }
    .finance-selection-toolbar { align-items: flex-start; flex-direction: column; }
    .dp-filter-grid, .dp-detail-grid { grid-template-columns: 1fr; }
    .dp-filter-search { grid-column: auto; }
    .dp-filter-actions { grid-column: auto; flex-wrap: wrap; }
    .apprenticeship-summary-main { align-items: flex-start; flex-direction: column; gap: 14px; }
    .apprenticeship-summary-meta { grid-template-columns: 1fr 1fr; }
    .apprenticeship-quota-grid { grid-template-columns: 1fr 1fr; }
    .dp-client-header-main { align-items: flex-start; flex-direction: column; padding: 21px 19px 18px; }
    .dp-competence-summary { align-items: flex-start; min-width: 0; width: 100%; }
    .dp-module-tabs { padding: 0 10px; }
    .dp-module-tabs a { flex: 1; justify-content: center; }
    .dp-filter-heading, .dp-table-toolbar { align-items: flex-start; gap: 12px; }
    .dp-count-grid { grid-template-columns: repeat(2, 1fr); }
    .finance-filter-actions { justify-content: flex-start; }
    .finance-page-actions { justify-content: flex-start; }
    .finance-module-tabs { padding: 0 10px; }
    .finance-module-tabs a { flex: 1; justify-content: center; }
    .finance-section-title { align-items: flex-start; flex-direction: column; gap: 5px; }
    .finance-management-grid { grid-template-columns: 1fr; }
    .issuer-chart-row { align-items: stretch; gap: 6px; grid-template-columns: 1fr; }
    .issuer-chart-value > strong { text-align: left; }
    .distribution-panel-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
    .distribution-summary-row { gap: 12px; grid-template-columns: minmax(120px, 1fr) auto; }
    .distribution-summary-row > strong { white-space: normal; }
    .finance-client-strip, .finance-section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
    .finance-split-toggle { align-items: flex-start; gap: 8px; }
    .finance-split-toggle-main span span { white-space: normal; }
    .finance-split-toggle b { font-size: .75rem; margin-left: 4px; }
    .finance-credit-empty { align-items: flex-start; flex-wrap: wrap; }
    .finance-credit-empty .btn { margin-left: 46px; }
    .finance-included-heading { align-items: flex-start; flex-direction: column; }
    .finance-included-card { align-items: flex-start; grid-template-columns: auto minmax(0, 1fr); }
    .finance-included-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .finance-included-search { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .audit-filters { grid-template-columns: 1fr; }
    .audit-filter-actions { grid-column: auto; }
    .welcome-date { display: none; }
    .dashboard-kpi-grid { grid-template-columns: 1fr; }
    .future-finance-strip { grid-template-columns: 40px 1fr; }
    .future-finance-strip > strong { grid-column: 2; }
}

/* Finance — contractual parameters */
.parameter-client-strip { margin-bottom: 18px; }
.parameter-principle { align-items: center; background: linear-gradient(100deg, #eaf3fc, #f5f9fd); border: 1px solid #cadff2; border-radius: 14px; color: #2b5f92; display: flex; gap: 14px; padding: 16px 19px; }
.parameter-principle > i { align-items: center; background: #d7e9fa; border-radius: 10px; display: flex; flex: 0 0 40px; font-size: 1.1rem; height: 40px; justify-content: center; }
.parameter-principle strong, .parameter-principle span { display: block; }
.parameter-principle strong { font-size: .84rem; }
.parameter-principle span { color: #617b95; font-size: .72rem; margin-top: 3px; }
.parameter-heading { align-items: center; }
.parameter-validity-status { background: #e8edf2; border-radius: 999px; color: #657484; display: inline-flex; font-size: .66rem; font-weight: 700; letter-spacing: .03em; padding: 6px 10px; text-transform: uppercase; white-space: nowrap; }
.parameter-validity-status.current { background: #ddecfa; color: #2d6ca8; }
.parameter-validity-status.future { background: #e2f3f8; color: #397b8d; }
.parameter-validity-status.closed { background: #eef1f4; color: #778491; }
.parameter-validity-status.cancelled { background: #f3e7e7; color: #9a5555; }
.parameter-validity-status.base { background: #eaf0f6; color: #506a83; }
.parameter-base-card { border-style: dashed; }
.parameter-base-card h2 { margin: 0; }
.parameter-base-card .parameter-history-grid { margin-top: 12px; }
.parameter-fee-current { align-items: baseline; background: #f3f7fb; border: 1px solid #dfe9f2; border-radius: 10px; display: flex; gap: 14px; margin-bottom: 13px; padding: 10px 13px; }
.parameter-fee-current small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.parameter-fee-current strong { color: #234e79; font-size: .9rem; }
.parameter-impact-options { border: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; min-width: 0; padding: 0; }
.parameter-impact-option { align-items: center; background: #fff; border: 1px solid #d5e1ed; border-radius: 9px; color: #28445f; cursor: pointer; display: inline-flex; font-size: .82rem; font-weight: 600; gap: 9px; line-height: 1.3; margin: 0; min-height: 39px; padding: 9px 13px; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.parameter-impact-option:hover { background: #f6faff; border-color: #9ebcdb; }
.parameter-impact-option:has(input:checked) { background: #eaf3fc; border-color: #538abf; box-shadow: inset 0 0 0 1px #538abf; color: #184c7d; }
.parameter-impact-option:has(input:focus-visible) { outline: 2px solid #326b9f; outline-offset: 2px; }
.parameter-impact-option input[type="radio"] { accent-color: #326b9f; appearance: auto; box-shadow: none; flex: 0 0 16px; float: none; height: 16px; margin: 0; min-height: 0; min-width: 16px; padding: 0; width: 16px; }
.parameter-preview { border-color: #a8c7df; }
.parameter-preview-heading { color: #315d83; font-size: .79rem; margin: 18px 0 7px; }
.parameter-preview-change { border-bottom: 1px solid #e6edf3; display: flex; flex-wrap: wrap; font-size: .75rem; gap: 8px; justify-content: space-between; padding: 7px 0; }
.parameter-preview-values { display: grid; gap: 9px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.parameter-preview-values > div { background: #f3f7fb; border: 1px solid #e3ebf3; border-radius: 8px; padding: 10px; }
.parameter-preview-values small, .parameter-preview-values strong { display: block; }
.parameter-preview-values small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.parameter-preview-values strong { color: #244d72; font-size: .82rem; margin-top: 3px; }
.parameter-history-changes { border-left: 3px solid #b8d2e8; display: grid; gap: 5px; font-size: .73rem; margin-bottom: 13px; padding-left: 12px; }
.parameter-history-changes > div { display: flex; flex-wrap: wrap; gap: 7px; justify-content: space-between; }
.parameter-period-form { align-items: end; background: #f6f9fc; border: 1px solid #e4ebf2; border-radius: 12px; display: flex; flex-wrap: wrap; gap: 10px; padding: 13px; }
.parameter-period-form > div { width: 180px; }
.parameter-period-form label { color: #52677c; display: block; font-size: var(--siga-font-form-label); font-weight: 600; margin-bottom: 4px; }
.parameter-table-heading { margin: 0; padding: 20px 24px; }
.parameter-results-table { min-width: 1080px; }
.parameter-results-table td { vertical-align: middle; }
.parameter-results-table td:first-child strong, .parameter-results-table td:nth-child(2) strong { display: block; }
.parameter-results-table td small { color: #5f6f7f; display: block; font-size: var(--siga-font-secondary); margin-top: 2px; }
.parameter-months { display: flex; gap: 5px; min-width: 200px; }
.parameter-months > span { background: #f3f7fb; border: 1px solid #e3ebf3; border-radius: 8px; min-width: 61px; padding: 6px 7px; text-align: center; }
.parameter-months small, .parameter-months b { display: block; }
.parameter-months small { color: #6d7f91; font-size: var(--siga-font-secondary); margin: 0; }
.parameter-months b { color: #344d65; font-size: var(--siga-font-table); font-weight: 600; margin-top: 2px; }
.parameter-evaluation-status { background: #edf1f5; border-radius: 7px; color: #607080; display: inline-block; font-size: var(--siga-font-badge); font-weight: 600; padding: 4px 8px; white-space: nowrap; }
.parameter-evaluation-status.within { background: #e1f3ec; color: #2e7b64; }
.parameter-evaluation-status.above, .parameter-evaluation-status.unexpected { background: #f9e4e4; color: #aa3f3f; }
.parameter-evaluation-status.below { background: #fff0d8; color: #92621d; }
.parameter-evaluation-status.partial { background: #e5effa; color: #356d9f; }
.parameter-evaluation-status.awaiting_source, .parameter-evaluation-status.insufficient, .parameter-evaluation-status.no_basis { background: #edf1f5; color: #667789; }
.parameter-variation.above, .parameter-variation.unexpected { color: #b34545; }
.parameter-variation.below { color: #9b681d; }
.parameter-variation.within { color: #317861; }
.accountability-totals { display: flex; gap: 12px; }
.accountability-totals > span { background: #f3f7fb; border-radius: 9px; min-width: 130px; padding: 8px 11px; text-align: right; }
.accountability-totals small, .accountability-totals strong { display: block; }
.accountability-totals small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.accountability-totals strong { color: #315f8a; font-size: .8rem; }
.parameter-validity-list { display: grid; gap: 9px; }
.parameter-validity-list details { border: 1px solid var(--siga-line); border-radius: 11px; overflow: hidden; }
.parameter-validity-list summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; list-style: none; padding: 14px 16px; }
.parameter-validity-list summary::-webkit-details-marker { display: none; }
.parameter-validity-list summary b, .parameter-validity-list summary small { display: block; }
.parameter-validity-list summary b { font-size: .77rem; }
.parameter-validity-list summary small { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 3px; }
.parameter-validity-detail { background: #f8fafc; border-top: 1px solid var(--siga-line); padding: 15px; }
.parameter-history-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; margin-bottom: 13px; }
.parameter-history-grid { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.parameter-history-grid > div { background: white; border: 1px solid #e5ebf1; border-radius: 9px; padding: 10px; }
.parameter-history-grid small, .parameter-history-grid strong, .parameter-history-grid span { display: block; }
.parameter-history-grid small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.parameter-history-grid strong { font-size: .76rem; margin-top: 3px; }
.parameter-history-grid span { color: #657789; font-size: var(--siga-font-secondary); margin-top: 3px; }
.parameter-empty { min-height: 320px; }
.parameter-formset, .accountability-formset { display: grid; gap: 10px; }
.parameter-form-row, .accountability-form-row { align-items: start; background: #f8fafc; border: 1px solid #e3eaf1; border-radius: 12px; display: grid; gap: 10px; padding: 13px; }
.parameter-form-row { grid-template-columns: minmax(200px,1.1fr) minmax(140px,.5fr) minmax(230px,.8fr) minmax(250px,1.2fr) 84px; }
.parameter-form-row:has([data-specific-client].d-none) { grid-template-columns: minmax(240px,1.4fr) minmax(150px,.55fr) minmax(270px,1fr) 90px; }
.accountability-form-row { grid-template-columns: minmax(180px,1fr) minmax(130px,.55fr) minmax(140px,.65fr) minmax(220px,1.2fr) auto; }
.parameter-form-row .mb-3, .accountability-form-row .mb-3 { margin-bottom: 0 !important; }
.parameter-remove-field { align-items: center; display: flex; gap: 5px; min-height: 72px; padding-top: 27px; }
.parameter-remove-field label { color: #a04444; cursor: pointer; font-size: .66rem; font-weight: 600; }
.finance-alert-link.parameter-alert.above strong, .finance-alert-link.parameter-alert.unexpected strong { color: #b04444; }
.finance-alert-link.parameter-alert.below strong { color: #95651d; }
.other-links-grid { display: grid; gap: 10px; }
.other-links-grid article { align-items: center; background: linear-gradient(100deg, #f4f8fc, #fbfdff); border: 1px solid #e0e9f2; border-radius: 12px; display: grid; gap: 14px; grid-template-columns: 1.5fr repeat(3, minmax(105px,.6fr)) auto; padding: 14px 16px; }
.other-links-grid article small, .other-links-grid article strong, .other-links-grid article span { display: block; }
.other-links-grid article small { color: var(--siga-muted); font-size: var(--siga-font-secondary); }
.other-links-grid article strong { font-size: .76rem; margin-top: 2px; }
.other-links-grid article > div > span { color: var(--siga-muted); font-size: var(--siga-font-secondary); margin-top: 2px; }

@media (max-width: 1199.98px) {
    .dashboard-composition-grid, .dashboard-evolution-grid { grid-template-columns: 1fr; }
    .dashboard-executive-grid { grid-template-columns: 1fr; }
    .dashboard-operational-grid, .dashboard-ranking-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-accounting-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .parameter-preview-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .parameter-form-row, .parameter-form-row:has([data-specific-client].d-none), .accountability-form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .other-links-grid article { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .parameter-remove-field { min-height: auto; padding-top: 0; }
    .parameter-history-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .dashboard-year-series, .dashboard-accounting-metrics, .dashboard-operational-grid, .dashboard-ranking-cards { grid-template-columns: 1fr; }
    .dashboard-executive-heading p small { display: block; margin: 4px 0 0; }
    .dashboard-reach-metrics { grid-template-columns: 1fr 1fr; }
    .dashboard-profile-body { grid-template-columns: 1fr; justify-items: center; }
    .dashboard-profile-legend { width: 100%; }
    .dashboard-rank-demand { grid-column: auto; }
    .dashboard-rank-demand p { display: flex; margin-right: 0; min-width: 0; }
    .parameter-preview-values { grid-template-columns: 1fr; }
    .parameter-impact-option { flex: 1 1 220px; }
    .parameter-heading, .parameter-period-form, .parameter-history-actions { align-items: stretch; flex-direction: column; }
    .parameter-period-form > div { width: 100%; }
    .accountability-totals { width: 100%; }
    .accountability-totals > span { flex: 1; }
    .parameter-form-row, .parameter-form-row:has([data-specific-client].d-none), .accountability-form-row, .parameter-history-grid { grid-template-columns: 1fr; }
    .other-links-grid article { align-items: start; grid-template-columns: 1fr 1fr; }
    .parameter-principle { align-items: flex-start; }
    .dashboard-overview-grid, .dashboard-secondary-grid, .dashboard-location-grid, .dashboard-ranking-grid, .finance-variation-grid, .dp-bulk-grid { grid-template-columns: 1fr; }
    .dashboard-compact-card { align-items: flex-start; }
    .dashboard-finance-values { margin-left: 0; text-align: left; }
    .future-finance-strip { align-items: flex-start; flex-direction: column; }
    .dp-table-scroll { max-height: 70vh; max-width: 100%; }
    .dp-table thead tr:last-child th:nth-child(1), .dp-table tbody td:nth-child(1) { left: 0; }
    .dp-table thead tr:last-child th:nth-child(2), .dp-table tbody td:nth-child(2) { left: var(--dp-select-width); }
    .dp-table thead tr:last-child th:nth-child(3), .dp-table tbody td:nth-child(3), .dp-table thead tr:last-child th:nth-child(4), .dp-table tbody td:nth-child(4) { box-shadow: none; position: static; }
    .dp-replication-summary { grid-template-columns: 1fr; }
}

/* Finance — batch adjustments */
.finance-adjustment-heading { gap: 18px; }
.finance-adjustment-selection-count, .finance-adjustment-preview-badge, .finance-adjustment-confirm-badge { align-items: center; background: #e8f2fc; border: 1px solid #d4e5f5; border-radius: 999px; color: #2e679d; display: inline-flex; flex: 0 0 auto; font-size: .72rem; font-weight: 700; gap: 7px; padding: 8px 12px; }
.finance-adjustment-preview-badge { background: #eef5fb; }
.finance-adjustment-confirm-badge { background: #fff2d9; border-color: #f0d9aa; color: #8b611d; }
.finance-adjustment-start-grid { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); }
.finance-adjustment-card-title { align-items: flex-start; display: flex; gap: 12px; margin-bottom: 20px; }
.finance-adjustment-card-title.compact { margin-bottom: 14px; }
.finance-adjustment-card-title h3 { color: #243448; font-size: .95rem; font-weight: 650; margin: 1px 0 4px; }
.finance-adjustment-card-title p { color: var(--siga-muted); font-size: var(--siga-font-interface); margin: 0; }
.finance-adjustment-step { align-items: center; background: #e3f0fc; border-radius: 10px; color: var(--siga-primary); display: inline-flex; flex: 0 0 36px; font-size: .8rem; font-weight: 800; height: 36px; justify-content: center; }
.finance-adjustment-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finance-adjustment-form-grid > :last-child { grid-column: 1 / -1; }
.finance-adjustment-form-grid select, .finance-adjustment-form-grid input { min-height: 42px; }
.finance-adjustment-general-note-field textarea { font-size: .72rem; min-height: 78px; resize: vertical; }
.finance-adjustment-help { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); margin-top: 5px; }
.finance-adjustment-notice { align-items: center; background: #f2f8fd; border: 1px solid #dcebf8; border-radius: 11px; color: #58718a; display: flex; font-size: .7rem; gap: 11px; margin-top: 18px; padding: 11px 13px; }
.finance-adjustment-notice > i { color: #397dbb; font-size: 1.15rem; }
.finance-adjustment-notice strong, .finance-adjustment-notice span { display: block; }
.finance-adjustment-notice strong { color: #2e5f8e; font-size: .72rem; margin-bottom: 1px; }
.finance-adjustment-contract-list { display: grid; gap: 7px; max-height: 350px; overflow: auto; padding-right: 3px; }
.finance-adjustment-contract-list article { align-items: center; background: #f7f9fc; border: 1px solid #e5ebf2; border-radius: 9px; display: flex; gap: 12px; justify-content: space-between; padding: 10px 12px; }
.finance-adjustment-contract-list article > span:last-child { flex: 0 0 auto; text-align: right; }
.finance-adjustment-contract-list strong, .finance-adjustment-contract-list small { display: block; }
.finance-adjustment-contract-list strong { font-size: .7rem; }
.finance-adjustment-contract-list small { color: var(--siga-muted); font-size: .61rem; margin-top: 2px; }
.finance-adjustment-actions, .finance-adjustment-footer { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin-top: 18px; }
.finance-adjustment-actions { justify-content: flex-end; }
.finance-adjustment-summary { display: grid; gap: 10px; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 16px; }
.finance-adjustment-summary article { background: white; border: 1px solid var(--siga-line); border-radius: 12px; box-shadow: 0 8px 24px rgba(46, 75, 104, .055); padding: 13px 15px; }
.finance-adjustment-summary small, .finance-adjustment-summary strong { display: block; }
.finance-adjustment-summary small { color: var(--siga-muted); font-size: .62rem; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.finance-adjustment-summary strong { color: #274f76; font-size: .95rem; margin-top: 4px; }
.finance-adjustment-summary .proposed { border-color: #c9e4d9; }
.finance-adjustment-summary .proposed strong { color: #247158; }
.finance-adjustment-summary .difference strong { color: #296ca7; }
.finance-adjustment-general-note { align-items: start; display: grid; gap: 12px; grid-template-columns: minmax(220px, .45fr) minmax(0, 1.55fr); margin-bottom: 12px; padding: 13px 15px; }
.finance-adjustment-general-note label strong, .finance-adjustment-general-note label small { display: block; }
.finance-adjustment-general-note label strong { color: #294e72; font-size: .72rem; }
.finance-adjustment-general-note label small { color: var(--siga-muted); font-size: .61rem; line-height: 1.45; margin-top: 3px; }
.finance-adjustment-general-note textarea { font-size: .69rem; resize: vertical; }
.finance-adjustment-validation ul { margin: 8px 0 0; }
.finance-adjustment-contracts { display: grid; gap: 10px; }
.finance-adjustment-contract { background: white; border: 1px solid var(--siga-line); border-radius: 13px; box-shadow: 0 7px 22px rgba(40, 66, 91, .045); overflow: hidden; }
.finance-adjustment-contract.has-blocker { border-color: #ecc3c3; }
.finance-adjustment-contract > summary { align-items: center; cursor: pointer; display: grid; gap: 11px; grid-template-columns: 24px minmax(240px, 1fr) repeat(3, minmax(105px, .35fr)) auto; list-style: none; padding: 13px 16px; }
.finance-adjustment-contract > summary::-webkit-details-marker { display: none; }
.finance-adjustment-contract[open] .finance-adjustment-chevron { transform: rotate(90deg); }
.finance-adjustment-chevron { color: #6c8297; transition: transform .15s ease; }
.finance-adjustment-contract-identity strong, .finance-adjustment-contract-identity small, .finance-adjustment-contract-total strong, .finance-adjustment-contract-total small { display: block; }
.finance-adjustment-contract-identity strong { color: #23384d; font-size: .72rem; }
.finance-adjustment-contract-identity small, .finance-adjustment-contract-total small { color: var(--siga-muted); font-size: .6rem; margin-top: 2px; }
.finance-adjustment-contract-total { text-align: right; }
.finance-adjustment-contract-total strong { color: #38546f; font-size: .73rem; }
.finance-adjustment-contract-total.proposed strong { color: #247158; }
.finance-adjustment-contract-labels { align-items: flex-end; display: flex; flex-direction: column; gap: 4px; }
.finance-adjustment-blocked-label { align-items: center; background: #fae5e5; border-radius: 999px; color: #a43f3f; display: inline-flex; font-size: .61rem; font-weight: 700; gap: 5px; padding: 6px 8px; white-space: nowrap; }
.finance-adjustment-multiple-label { align-items: center; background: #e7f1fb; border-radius: 999px; color: #356b9e; display: inline-flex; font-size: .58rem; font-weight: 700; gap: 5px; padding: 5px 7px; white-space: nowrap; }
.finance-adjustment-contract-body { background: #fbfcfe; border-top: 1px solid #e5ebf1; padding: 12px; }
.finance-adjustment-issues { display: grid; gap: 5px; margin-bottom: 10px; }
.finance-adjustment-issues > div { align-items: flex-start; background: #eef5fb; border-radius: 8px; color: #4e6b87; display: flex; font-size: .66rem; gap: 7px; padding: 8px 10px; }
.finance-adjustment-issues > .blocking { background: #fff0f0; color: #a13f3f; }
.finance-adjustment-contract-note { display: block; margin: 0 0 10px; }
.finance-adjustment-contract-note > span, .finance-adjustment-component-note > span { color: #536d86; display: block; font-size: .6rem; font-weight: 700; margin-bottom: 4px; }
.finance-adjustment-contract-note > span small, .finance-adjustment-component-note > span small { color: var(--siga-muted); font-size: .56rem; font-weight: 500; }
.finance-adjustment-contract-note textarea, .finance-adjustment-component-note textarea { font-size: .65rem; resize: vertical; }
.finance-adjustment-component-header, .finance-adjustment-component { align-items: center; display: grid; gap: 10px; grid-template-columns: minmax(220px, 1.2fr) minmax(105px, .55fr) minmax(145px, .7fr) minmax(120px, .65fr) minmax(105px, .55fr) minmax(145px, .7fr); }
.finance-adjustment-component-header { color: #6a7b8c; font-size: .57rem; font-weight: 700; letter-spacing: .04em; padding: 0 10px 6px; text-transform: uppercase; }
.finance-adjustment-components { display: grid; gap: 5px; }
.finance-adjustment-component { background: white; border: 1px solid #e5ebf1; border-radius: 9px; min-width: 980px; padding: 9px 10px; transition: opacity .15s ease, background .15s ease; }
.finance-adjustment-component.is-deselected { background: #f4f5f6; opacity: .58; }
.finance-adjustment-component.is-blocked { background: #fffafa; }
.finance-adjustment-component-select { align-items: center; display: flex; gap: 9px; min-width: 0; }
.finance-adjustment-component-select strong, .finance-adjustment-component-select small, .finance-adjustment-readonly small, .finance-adjustment-readonly strong, .finance-adjustment-effect small, .finance-adjustment-effect strong, .finance-adjustment-effect span { display: block; }
.finance-adjustment-component-select strong { font-size: .69rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-adjustment-component-select small, .finance-adjustment-readonly small, .finance-adjustment-effect small, .finance-adjustment-edit-field > span { color: var(--siga-muted); font-size: .58rem; }
.finance-adjustment-readonly strong, .finance-adjustment-effect strong { color: #344e67; font-size: .69rem; margin-top: 2px; }
.finance-adjustment-effect span { color: #36765e; font-size: .62rem; margin-top: 2px; }
.finance-adjustment-edit-field { margin: 0; }
.finance-adjustment-edit-field > span { display: none; margin-bottom: 3px; }
.finance-adjustment-edit-field input { font-size: .68rem; min-height: 34px; }
.finance-adjustment-edit-field .input-group-text { font-size: .61rem; }
.finance-adjustment-manual-flag { color: #8b641f; display: none; font-size: .56rem; margin-top: 3px; }
.finance-adjustment-component.has-manual-value .finance-adjustment-manual-flag:not(.date), .finance-adjustment-component.has-manual-date .finance-adjustment-manual-flag.date { display: block; }
.finance-adjustment-component-note { grid-column: 1 / -1; margin: 1px 0 0; }
.finance-adjustment-cancel-group, .finance-adjustment-primary-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.finance-adjustment-cancel-group form { display: flex; gap: 8px; }
.finance-adjustment-empty { align-items: center; color: var(--siga-muted); display: flex; font-size: .72rem; gap: 8px; justify-content: center; min-height: 90px; }
.finance-adjustment-confirm-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr); }
.finance-adjustment-confirm-list { display: grid; gap: 9px; }
.finance-adjustment-confirm-contract { border: 1px solid #e1e8ef; border-radius: 10px; overflow: hidden; }
.finance-adjustment-confirm-contract > summary { align-items: center; background: #f7fafd; cursor: pointer; display: flex; gap: 15px; justify-content: space-between; list-style: none; padding: 11px 13px; }
.finance-adjustment-confirm-contract > summary::-webkit-details-marker { display: none; }
.finance-adjustment-confirm-contract summary strong, .finance-adjustment-confirm-contract summary small { display: block; }
.finance-adjustment-confirm-contract summary strong { font-size: .7rem; }
.finance-adjustment-confirm-contract summary small { color: var(--siga-muted); font-size: .59rem; margin-top: 2px; text-align: right; }
.finance-adjustment-confirm-contract > div { display: grid; }
.finance-adjustment-confirm-contract article { align-items: center; border-top: 1px solid #e8edf2; display: grid; gap: 10px; grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(130px, .65fr)); padding: 10px 13px; }
.finance-adjustment-confirm-contract article strong, .finance-adjustment-confirm-contract article small { display: block; }
.finance-adjustment-confirm-contract article strong { color: #354e67; font-size: .66rem; }
.finance-adjustment-confirm-contract article small { color: var(--siga-muted); font-size: .57rem; margin-bottom: 2px; }
.finance-adjustment-confirm-contract article i { color: #7f91a3; font-size: .58rem; margin: 0 3px; }
.finance-adjustment-note-review { border-left: 3px solid #4f86bd; margin-bottom: 14px; padding: 12px 15px; }
.finance-adjustment-note-review small { color: #356b9e; display: block; font-size: .59rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.finance-adjustment-note-review p, .finance-adjustment-confirm-contract-note p { color: #3e566e; font-size: .68rem; line-height: 1.5; margin: 4px 0 0; overflow-wrap: anywhere; }
.finance-adjustment-confirm-contract-note { background: #f5f9fc; border-top: 1px solid #e8edf2; padding: 9px 13px; }
.finance-adjustment-confirm-contract-note small { color: #356b9e; font-size: .57rem; font-weight: 700; text-transform: uppercase; }
.finance-adjustment-confirm-component-note { grid-column: 1 / -1; }
.finance-adjustment-confirm-component-note strong { font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; }
.finance-adjustment-final-warning { background: #fffaf0; border-color: #efdcb6; color: #6d5b39; }
.finance-adjustment-final-warning > i { color: #b57b1d; font-size: 1.4rem; }
.finance-adjustment-final-warning h3 { color: #684b1c; font-size: .9rem; margin: 10px 0 7px; }
.finance-adjustment-final-warning p, .finance-adjustment-final-warning li { font-size: .68rem; line-height: 1.55; }
.finance-adjustment-final-warning ul { margin: 12px 0 0; padding-left: 18px; }
.finance-adjustment-success { align-items: center; display: grid; gap: 16px; grid-template-columns: auto 1fr auto; margin-bottom: 16px; }
.finance-adjustment-success-icon { align-items: center; background: #dff3e9; border-radius: 50%; color: #27765a; display: flex; font-size: 1.35rem; height: 48px; justify-content: center; width: 48px; }
.finance-adjustment-success > div > span { color: #34765e; font-size: .62rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.finance-adjustment-success h2 { font-size: 1rem; margin: 3px 0; }
.finance-adjustment-success p { color: var(--siga-muted); font-size: .69rem; margin: 0; }
.finance-adjustment-success code { background: #f1f5f8; border-radius: 7px; color: #52708c; font-size: .61rem; padding: 7px 9px; }
.finance-adjustment-result-header { align-items: center; display: flex; justify-content: space-between; padding: 16px 19px; }
.finance-adjustment-result-header h3 { font-size: .85rem; margin: 0 0 3px; }
.finance-adjustment-result-header p { color: var(--siga-muted); font-size: .64rem; margin: 0; }
.finance-adjustment-result-header > span { background: #dff3e9; border-radius: 999px; color: #27765a; font-size: .61rem; font-weight: 700; padding: 6px 9px; }
.finance-adjustment-result-table { min-width: 1180px; }
.finance-adjustment-result-table td { vertical-align: middle; }
.finance-adjustment-result-table td small { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); margin-top: 2px; }

.finance-classification-table-row { background: #f8fbfe; }
.finance-classification-table-row td { vertical-align: middle; }
.finance-classification-table-row td small { color: var(--siga-muted); display: block; font-size: var(--siga-font-secondary); margin-top: 3px; }
.finance-classification-badge { align-items: center; border-radius: 999px; display: inline-flex; font-size: .58rem; font-weight: 700; gap: 5px; line-height: 1.25; padding: 5px 8px; width: fit-content; }
.finance-classification-badge.no-fee { background: #e8f3ee; color: #34745a; }
.finance-classification-badge.included { background: #e4eff9; color: #326d9f; }
.finance-classification-badge.pending { background: #fff0d8; color: #94651d; }

@media (max-width: 1199.98px) {
    .finance-adjustment-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .finance-adjustment-start-grid, .finance-adjustment-confirm-layout { grid-template-columns: 1fr; }
    .finance-adjustment-contract-list { max-height: 260px; }
    .finance-adjustment-contract > summary { grid-template-columns: 24px minmax(220px, 1fr) repeat(3, minmax(90px, .35fr)) auto; }
    .finance-adjustment-contract-body { overflow-x: auto; }
}

@media (max-width: 767.98px) {
    .finance-adjustment-form-grid, .finance-adjustment-summary { grid-template-columns: 1fr 1fr; }
    .finance-adjustment-form-grid > :last-child { grid-column: auto; }
    .finance-adjustment-contract > summary { grid-template-columns: 20px minmax(0, 1fr) auto; }
    .finance-adjustment-contract-total { display: none; }
    .finance-adjustment-contract-labels { grid-column: 3; grid-row: 1; }
    .finance-adjustment-component-header { display: none; }
    .finance-adjustment-component { grid-template-columns: 1fr 1fr; min-width: 600px; }
    .finance-adjustment-component-select { grid-column: 1 / -1; }
    .finance-adjustment-general-note { grid-template-columns: 1fr; }
    .finance-adjustment-edit-field > span { display: block; }
    .finance-adjustment-confirm-contract article { grid-template-columns: 1fr 1fr; }
    .finance-adjustment-footer { align-items: stretch; flex-direction: column; }
    .finance-adjustment-primary-actions, .finance-adjustment-cancel-group, .finance-adjustment-cancel-group form { align-items: stretch; flex-direction: column; }
    .finance-adjustment-primary-actions .btn, .finance-adjustment-cancel-group .btn, .finance-adjustment-footer > form .btn { width: 100%; }
    .finance-adjustment-success { align-items: start; grid-template-columns: auto 1fr; }
    .finance-adjustment-success code { grid-column: 1 / -1; word-break: break-all; }
}

@media (max-width: 480px) {
    .finance-adjustment-summary { grid-template-columns: 1fr; }
    .finance-adjustment-form-grid { grid-template-columns: 1fr; }
}

/* BGR Domínio — isolated homologation workspace. */
.bgr-homologation-banner { align-items: center; background: linear-gradient(100deg, #fff6d8, #fffaf0); border: 1px solid #eabf58; border-left: 5px solid #d89416; border-radius: 13px; color: #624716; display: grid; gap: 13px; grid-template-columns: auto 1fr auto; margin-bottom: 16px; padding: 13px 16px; }
.bgr-homologation-icon { align-items: center; background: #f5d990; border-radius: 10px; display: flex; font-size: 1.05rem; height: 38px; justify-content: center; width: 38px; }
.bgr-homologation-banner strong { display: block; font-size: .77rem; letter-spacing: .045em; }
.bgr-homologation-banner p { font-size: .66rem; margin: 3px 0 0; }
.bgr-banner-kicker { color: #927023; display: block; font-size: .52rem; font-weight: 800; letter-spacing: .09em; margin-bottom: 2px; }
.bgr-homologation-lock { background: #fff; border: 1px solid #e8c773; border-radius: 999px; font-size: .62rem; font-weight: 750; padding: 7px 10px; white-space: nowrap; }
.bgr-subnav { align-items: center; background: white; border: 1px solid var(--siga-border); border-radius: 12px; display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 16px; padding: 6px; }
.bgr-subnav a { align-items: center; border-radius: 8px; color: #546b81; display: inline-flex; font-size: .65rem; font-weight: 700; gap: 6px; padding: 8px 11px; text-decoration: none; }
.bgr-subnav a:hover, .bgr-subnav a.active { background: #e9f2fb; color: #2367a0; }
.bgr-upload-grid { align-items: stretch; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); }
.bgr-counter { color: var(--siga-muted); font-size: .65rem; }
.bgr-batch-heading { align-items: flex-start; display: flex; gap: 15px; justify-content: space-between; margin-bottom: 16px; }
.bgr-batch-heading h2 { font-size: 1rem; margin: 8px 0 4px; }
.bgr-batch-heading p { color: var(--siga-muted); font-size: .63rem; margin: 0; overflow-wrap: anywhere; }
.bgr-metric-grid { display: grid; gap: 10px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.bgr-metric-grid article, .bgr-metric-grid > a { background: white; border: 1px solid var(--siga-border); border-radius: 12px; color: inherit; min-height: 92px; padding: 12px 13px; text-decoration: none; }
.bgr-metric-grid article.warning, .bgr-metric-grid > a.warning { border-top: 3px solid #d9a33a; }
.bgr-metric-grid article.danger, .bgr-metric-grid > a.danger { border-top: 3px solid #c95757; }
.bgr-metric-grid article.accent, .bgr-metric-grid > a.accent { background: #f3f8fd; border-top: 3px solid #3f82bd; }
.bgr-clickable-metrics > a { transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.bgr-clickable-metrics > a:hover, .bgr-clickable-metrics > a:focus-visible { border-color: #82acd3; box-shadow: 0 8px 18px rgba(35, 95, 151, .12); outline: 0; transform: translateY(-1px); }
.bgr-metric-grid small, .bgr-metric-grid strong, .bgr-metric-grid span { display: block; }
.bgr-metric-grid small { color: #687d91; font-size: .57rem; font-weight: 700; min-height: 30px; text-transform: uppercase; }
.bgr-metric-grid strong { color: #235f97; font-size: 1.2rem; margin-top: 5px; }
.bgr-metric-grid span { color: #a16419; font-size: .55rem; margin-top: 2px; }
.bgr-diagnostic-links a { background: #f8fbfe; border: 1px solid var(--siga-border); border-radius: 10px; color: inherit; padding: 10px 12px; text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease; }
.bgr-diagnostic-links a:hover, .bgr-diagnostic-links a:focus-visible { border-color: #82acd3; box-shadow: 0 5px 14px rgba(35, 95, 151, .1); outline: 0; }
.bgr-diagnostic-links a small, .bgr-diagnostic-links a strong { display: block; }
.bgr-confidence { border-radius: 999px; font-size: .58rem; font-weight: 750; padding: 6px 9px; text-transform: uppercase; }
.bgr-confidence.blocked { background: #fbe6e6; color: #a33d3d; }
.bgr-confidence.derived { background: #dfeefa; color: #246a9f; }
.bgr-indeterminate { color: #a33d3d; font-size: 1rem; font-weight: 800; margin: 8px 0 5px; }
.bgr-compact-dl { display: grid; gap: 6px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.bgr-compact-dl > div { background: #f5f8fb; border-radius: 8px; padding: 8px 10px; }
.bgr-compact-dl dt { color: var(--siga-muted); font-size: .57rem; }
.bgr-compact-dl dd { color: #2b5f8c; font-size: .85rem; font-weight: 750; margin: 2px 0 0; }
.bgr-compact-dl .bgr-rule-value { font-size: .65rem; line-height: 1.35; }
.bgr-severity, .bgr-quality { border-radius: 999px; display: inline-flex; font-size: .56rem; font-weight: 750; padding: 5px 8px; text-transform: uppercase; white-space: nowrap; }
.bgr-severity.critical, .bgr-quality.insufficient { background: #fbe4e4; color: #a13d3d; }
.bgr-severity.warning, .bgr-quality.with_reservations { background: #fff0d2; color: #926216; }
.bgr-severity.info, .bgr-quality.complete { background: #e3f2ea; color: #287052; }
.bgr-quality.high { background: #e3f2ea; color: #287052; }
.bgr-quality.medium { background: #fff0d2; color: #926216; }
.bgr-quality.low { background: #fbe4e4; color: #a13d3d; }
.bgr-diagnostic-section { overflow: hidden; padding: 0; }
.bgr-diagnostic-section .bgr-metric-grid { padding: 14px; }
.bgr-derived-section { border-top: 3px solid #3f82bd; }
.bgr-origin-section { border-top: 3px solid #d9a33a; }
.bgr-source-chip { align-items: center; border-radius: 999px; display: inline-flex; font-size: .56rem; font-weight: 750; gap: 5px; padding: 6px 9px; text-transform: uppercase; }
.bgr-source-chip.derived { background: #dfeefa; color: #246a9f; }
.bgr-source-chip.source { background: #fff0d2; color: #926216; }
.bgr-composition-card { border-top: 3px solid #3f82bd; }
.bgr-rule-note { color: #536c82; font-size: .61rem; line-height: 1.45; margin: 10px 0 0; }
.bgr-classification-name { color: #155f98; font-size: .65rem; letter-spacing: .015em; text-transform: uppercase; }
.bgr-classification-name.to-validate { color: #a13d3d; }
.bgr-classification-status { border-radius: 999px; display: inline-flex; font-size: .53rem; font-weight: 800; padding: 4px 7px; text-transform: uppercase; white-space: nowrap; }
.bgr-classification-status.recebido { background: #e8f0f8; color: #355e82; }
.bgr-classification-status.derivado { background: #dfeefa; color: #246a9f; }
.bgr-classification-status.a_validar { background: #fbe4e4; color: #a13d3d; }
.bgr-rule-inline { color: #62788b !important; line-height: 1.35; max-width: 220px; white-space: normal; }
.bgr-origin-missing { color: #8b6a25; font-style: italic; }
.bgr-table-legend { align-items: center; display: flex; gap: 6px; }
.bgr-filter-form { align-items: end; display: grid; gap: 9px; grid-template-columns: minmax(210px, 1.3fr) repeat(5, minmax(130px, .7fr)) auto; }
.bgr-filter-form label { margin: 0; }
.bgr-filter-form label > span { color: #5d7185; display: block; font-size: .56rem; font-weight: 700; margin-bottom: 4px; text-transform: uppercase; }
.bgr-filter-form .form-control, .bgr-filter-form .form-select { font-size: .65rem; min-height: 36px; }
.bgr-person-table { min-width: 2350px; }
.bgr-person-table td { font-size: .62rem; vertical-align: top; }
.bgr-person-table td small { color: var(--siga-muted); display: block; font-size: .55rem; margin-top: 2px; }
.bgr-client-people-table { min-width: 1900px; }
.bgr-client-people-table td, .bgr-memorial-table td { font-size: .62rem; vertical-align: top; }
.bgr-memorial-table { min-width: 1900px; }
.bgr-field-warning { color: #a13d3d !important; font-weight: 700; }
.bgr-quota-grid { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.bgr-quota-grid article { background: #f5f9fc; border: 1px solid var(--siga-border); border-radius: 10px; padding: 10px 12px; }
.bgr-quota-grid small, .bgr-quota-grid strong { display: block; }
.bgr-quota-grid small { color: var(--siga-muted); font-size: .56rem; text-transform: uppercase; }
.bgr-quota-grid strong { color: #245e91; font-size: .92rem; margin-top: 3px; }
.bgr-compare-arrow { color: #688097; font-weight: 700; padding: 0 5px; }
.bgr-replacement-grid { align-items: center; display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.bgr-replacement-grid article { background: #f5f9fc; border: 1px solid var(--siga-border); border-radius: 11px; padding: 13px; }
.bgr-replacement-grid small, .bgr-replacement-grid strong, .bgr-replacement-grid span { display: block; }
.bgr-replacement-grid small { color: var(--siga-muted); font-size: .56rem; text-transform: uppercase; }
.bgr-replacement-grid strong { color: #245e91; font-size: .75rem; margin-top: 4px; }
.bgr-replacement-grid span { color: #657b8f; font-size: .56rem; margin-top: 4px; overflow-wrap: anywhere; }
.bgr-replacement-grid > i { color: #3f82bd; }
.bgr-active-source-strip { align-items: center; background: #f3f8fd; border: 1px solid #bfd8ed; border-left: 4px solid #3d7fb8; border-radius: 11px; display: flex; gap: 11px; margin-bottom: 16px; padding: 10px 13px; }
.bgr-active-source-strip strong { color: #205f94; display: block; font-size: .68rem; }
.bgr-active-source-strip p { color: #60778c; font-size: .58rem; margin: 2px 0 0; }
.bgr-source-confirmation { margin: 0 auto; max-width: 980px; }
.bgr-confirmation-summary { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 14px 0; }
.bgr-confirmation-summary > div { background: #f5f8fb; border: 1px solid var(--siga-border); border-radius: 9px; padding: 9px 11px; }
.bgr-confirmation-summary dt { color: var(--siga-muted); font-size: .56rem; text-transform: uppercase; }
.bgr-confirmation-summary dd { color: #245e91; font-size: .68rem; font-weight: 700; margin: 3px 0 0; overflow-wrap: anywhere; }
.bgr-confirmation-impact { background: #f7fafc; border: 1px solid var(--siga-border); border-radius: 10px; color: #536c82; font-size: .65rem; line-height: 1.5; padding: 12px 14px; }
.bgr-confirmation-impact ul { margin: 7px 0; padding-left: 18px; }
.bgr-confirmation-impact p { margin: 0; }
.bgr-confirm-check { align-items: flex-start; background: #f7fafc; border: 1px solid var(--siga-border); border-radius: 10px; display: flex; gap: 8px; padding: 11px 12px; }
.bgr-confirm-check .form-check-input { flex: 0 0 auto; margin: 1px 0 0; }
.bgr-confirm-check .form-check-label { color: #40586d; font-size: .65rem; line-height: 1.4; }
.bgr-delete-scope { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.bgr-delete-scope > div { background: #f7fafc; border: 1px solid var(--siga-border); border-radius: 10px; padding: 11px 13px; }
.bgr-delete-scope strong { color: #245e91; font-size: .66rem; }
.bgr-delete-scope p { color: #60778c; font-size: .59rem; line-height: 1.45; margin: 4px 0 0; }
.bgr-replacement-table th, .bgr-replacement-table td { text-align: center; }
.bgr-replacement-table th:first-child, .bgr-replacement-table td:first-child { text-align: left; }
.bgr-delta { border-radius: 999px; display: inline-flex; font-size: .6rem; font-weight: 800; justify-content: center; min-width: 44px; padding: 4px 7px; }
.bgr-delta.positive { background: #e3f2ea; color: #287052; }
.bgr-delta.negative { background: #fbe4e4; color: #a13d3d; }
.bgr-delta.neutral { background: #edf2f7; color: #60778c; }
.bgr-unlinked-note { color: #687d91; font-size: .59rem; margin: 8px 0 0; }

.dp-bgr-operational-notice { align-items: center; background: linear-gradient(105deg, #f4f9fe, #fff); border: 1px solid #bfd8ed; border-left: 5px solid #3d7fb8; border-radius: 13px; display: grid; gap: 14px; grid-template-columns: minmax(260px, 1.1fr) minmax(480px, 1.35fr) auto; margin-bottom: 16px; padding: 13px 15px; }
.dp-bgr-operational-copy { align-items: flex-start; display: flex; gap: 10px; }
.dp-bgr-operational-copy strong { color: #1e5787; display: block; font-size: .7rem; letter-spacing: .035em; }
.dp-bgr-operational-copy p { color: #60778c; font-size: .58rem; line-height: 1.4; margin: 3px 0 0; }
.dp-bgr-provisional-badge { background: #fff0d2; border-radius: 999px; color: #8a5b12; display: inline-flex; flex: 0 0 auto; font-size: .52rem; font-weight: 800; gap: 4px; padding: 5px 7px; }
.dp-bgr-operational-metrics { display: grid; gap: 5px; grid-template-columns: repeat(6, minmax(64px, 1fr)); margin: 0; }
.dp-bgr-operational-metrics > div { background: #fff; border: 1px solid #dbe8f3; border-radius: 8px; padding: 6px 7px; }
.dp-bgr-operational-metrics > div.warning { border-color: #efd08a; }
.dp-bgr-operational-metrics dt { color: #6b7f91; font-size: .48rem; line-height: 1.2; text-transform: uppercase; }
.dp-bgr-operational-metrics dd { color: #225f94; font-size: .82rem; font-weight: 800; margin: 2px 0 0; }

@media (max-width: 1399.98px) {
    .bgr-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .bgr-filter-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dp-bgr-operational-notice { grid-template-columns: 1fr auto; }
    .dp-bgr-operational-metrics { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 991.98px) {
    .bgr-upload-grid { grid-template-columns: 1fr; }
    .bgr-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bgr-batch-heading { flex-direction: column; }
    .bgr-homologation-banner { grid-template-columns: auto 1fr; }
    .bgr-homologation-lock { grid-column: 2; width: fit-content; }
    .dp-bgr-operational-notice { align-items: stretch; grid-template-columns: 1fr; }
    .dp-bgr-operational-metrics { grid-column: 1; grid-row: auto; }
    .dp-bgr-operational-notice .btn { justify-self: start; }
}
@media (max-width: 575.98px) {
    .bgr-metric-grid, .bgr-quota-grid, .bgr-filter-form { grid-template-columns: 1fr 1fr; }
    .bgr-homologation-banner { grid-template-columns: 1fr; }
    .bgr-homologation-icon, .bgr-homologation-lock { grid-column: 1; }
    .dp-bgr-operational-copy { flex-direction: column; }
    .dp-bgr-operational-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bgr-replacement-grid { grid-template-columns: 1fr; }
    .bgr-replacement-grid > i { justify-self: center; transform: rotate(90deg); }
    .bgr-confirmation-summary, .bgr-delete-scope { grid-template-columns: 1fr; }
}

/* Configurações > Usuários > Clientes e Responsabilidades */
.user-inactivation-decision { align-items: center; background: #f7f9fc; border: 1px solid var(--siga-line); border-left: 3px solid #d59a2a; border-radius: 10px; display: none; gap: 12px; justify-content: space-between; margin: 0 0 16px; padding: 10px 12px; }
.user-inactivation-decision.visible { display: flex; }
.user-inactivation-copy { align-items: center; color: #405266; display: flex; font-size: var(--siga-font-interface); gap: 9px; line-height: 1.35; }
.user-inactivation-copy > i { color: #ad7411; flex: 0 0 auto; }
.user-inactivation-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.user-inactivation-actions .btn { min-height: 36px; padding: .45rem .75rem; white-space: nowrap; }
.inactive-responsibility-notice { align-items: center; background: #f8fafc; border: 1px solid var(--siga-line); border-left: 3px solid #d59a2a; border-radius: 10px; display: flex; gap: 10px; margin-bottom: 14px; padding: 9px 11px; }
.inactive-responsibility-icon { align-items: center; background: #fff4d9; border-radius: 8px; color: #ad7411; display: inline-flex; flex: 0 0 30px; height: 30px; justify-content: center; }
.inactive-responsibility-copy { display: flex; flex: 1 1 auto; flex-direction: column; line-height: 1.25; min-width: 0; }
.inactive-responsibility-copy strong { color: var(--siga-ink); font-size: .76rem; }
.inactive-responsibility-copy span { color: var(--siga-muted); font-size: .68rem; margin-top: 2px; }
.inactive-responsibility-notice .btn { flex: 0 0 auto; white-space: nowrap; }
.responsibility-summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.responsibility-summary-card { background: #f6f9fc; border: 1px solid var(--siga-border); border-radius: 11px; padding: 12px 14px; }
.responsibility-summary-card.total { background: #edf5fc; border-color: #bdd8ee; }
.responsibility-summary-card small, .responsibility-summary-card strong { display: block; }
.responsibility-summary-card small { color: var(--siga-muted); font-size: .62rem; text-transform: uppercase; }
.responsibility-summary-card strong { color: #245f94; font-size: 1.2rem; margin-top: 4px; }
.responsibility-filter-grid { display: grid; gap: 9px; grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(145px, 1fr)) auto auto; }
.responsibility-table { min-width: 1750px; }
.responsibility-table td { font-size: .65rem; vertical-align: middle; }
@media (max-width: 1199.98px) { .responsibility-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
    .user-inactivation-decision, .inactive-responsibility-notice { align-items: stretch; flex-direction: column; }
    .user-inactivation-actions { flex-wrap: wrap; }
    .inactive-responsibility-notice .btn { align-self: flex-start; }
}
