/* Ingresos shares the quiet table, filters and summary strip of Comisiones. */
body.ts2 #incomesSection .incomes-shell{display:grid;gap:24px;min-width:0;width:100%;margin:0 auto;padding:4px 0 28px;font-family:var(--ts-font,Arial,sans-serif)}
body.ts2 #incomesSection [hidden]{display:none!important}
body.ts2 #incomesSection .incomes-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
body.ts2 #incomesSection h1{font:700 26px/1.3 var(--ts-font,Arial);margin:0 0 6px;color:#202932}
body.ts2 #incomesSection h2{font:650 15px/1.4 var(--ts-font,Arial);margin:0;color:#252f3a}
body.ts2 #incomesSection p{font:400 12px/1.5 var(--ts-font,Arial);margin:4px 0 0;color:#77818e}
body.ts2 #incomesSection .incomes-filters{display:flex;align-items:flex-end;gap:12px;margin:0;padding:0;background:none;border:0;box-shadow:none}
body.ts2 #incomesSection .incomes-filters label{display:flex;flex-direction:column;gap:6px;margin:0;font:500 11px/1.4 var(--ts-font,Arial);color:#66717f}
body.ts2 #incomesSection .incomes-filters select{box-sizing:border-box;display:block;min-width:125px;width:100%;height:38px;min-height:38px;margin:0;padding:0 32px 0 12px;border:1px solid #dce1e6;border-radius:5px;background-color:#fff;box-shadow:none;font:500 12px var(--ts-font,Arial);color:#34404c}
body.ts2 #incomesSection .incomes-filters label:last-child{min-width:175px}
body.ts2 #incomesSection .incomes-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #dfe3e8;border-radius:6px;background:#fff;overflow:hidden;gap:0;margin:0}
body.ts2 #incomesSection .incomes-summary article{display:block;min-width:0;padding:20px;border:0;border-right:1px solid #e5e8ed;border-radius:0;background:#fff;box-shadow:none}
body.ts2 #incomesSection .incomes-summary article:last-child{border:0}
body.ts2 #incomesSection .incomes-summary span{display:block;font:500 12px/1.4 var(--ts-font,Arial);color:#66717f}
body.ts2 #incomesSection .incomes-summary strong{display:block;font:700 24px/1.35 var(--ts-font,Arial);margin:8px 0 4px;color:#202932;font-variant-numeric:tabular-nums}
body.ts2 #incomesSection .incomes-summary small{font:400 11px/1.4 var(--ts-font,Arial);color:#808995}
body.ts2 #incomesSection :is(.incomes-months-card,.incomes-detail-card){margin:0;padding:0;border:0;background:none;box-shadow:none;min-width:0}
body.ts2 #incomesSection .incomes-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding-bottom:14px}
body.ts2 #incomesSection .incomes-section-heading>span{font:400 11px/1.4 var(--ts-font,Arial);color:#77818e}
body.ts2 #incomesSection .incomes-table-scroll{overflow:auto;max-width:100%;border:1px solid #e0e4e9;border-radius:6px;background:#fff;isolation:isolate}
body.ts2 #incomesSection table{width:100%;border-collapse:separate;border-spacing:0;border:0;margin:0;border-radius:0}
body.ts2 #incomesSection thead th{padding:12px 14px;background:#f0f2f6;color:#687380;font:600 10px/1.4 var(--ts-font,Arial);text-transform:none;letter-spacing:0;border:0;border-bottom:1px solid #dfe3e8;text-align:left;white-space:nowrap}
body.ts2 #incomesSection tbody :is(th,td){padding:12px 14px;border:0;border-bottom:1px solid #edf0f3;background:#fff;font:400 12px/1.5 var(--ts-font,Arial);color:#34404c;vertical-align:middle;text-align:left}
body.ts2 #incomesSection tbody tr:last-child :is(th,td){border-bottom:0}
body.ts2 #incomesSection tbody tr:hover :is(th,td){background:#fafbfd}
body.ts2 #incomesSection tbody strong{font-weight:600}
body.ts2 #incomesSection .incomes-months-table{min-width:540px}
body.ts2 #incomesSection .incomes-months-table tbody th{font-weight:600}
body.ts2 #incomesSection .incomes-months-table :is(th,td):nth-child(2),body.ts2 #incomesSection .incomes-months-table :is(th,td):nth-child(3){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
body.ts2 #incomesSection .incomes-months-table td:last-child{width:90px;text-align:right}
body.ts2 #incomesSection .incomes-months-table tfoot :is(th,td){padding:15px 14px;background:#fafbfd;border:0;border-top:1px solid #dfe3e8;font:650 12px/1.5 var(--ts-font,Arial);color:#202932;text-align:left}
body.ts2 #incomesSection .incomes-table{min-width:780px}
body.ts2 #incomesSection .incomes-table td:nth-child(1){white-space:nowrap;font-variant-numeric:tabular-nums}
body.ts2 #incomesSection .incomes-table :is(th,td):last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
body.ts2 #incomesSection .incomes-table td:nth-child(4){min-width:210px}
body.ts2 #incomesSection .incomes-table td small{display:block;color:#87909c;font-size:10px;white-space:normal;margin-top:3px}
body.ts2 #incomesSection .income-kind{display:inline-block;padding:3px 7px;border-radius:3px;background:#f4f5f7;color:#626e7b;font-size:10px;white-space:nowrap}
body.ts2 #incomesSection button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:0;min-height:32px;height:auto;margin:0;padding:5px 10px;background:#fff;color:#3c4753;border:1px solid #dce1e6;border-radius:5px;box-shadow:none;font:600 11px/1.4 var(--ts-font,Arial);cursor:pointer}
body.ts2 #incomesSection button:hover:not(:disabled){border-color:#e79a74;background:#fff7f2;color:#b94409}
body.ts2 #incomesSection button:focus-visible,body.ts2 #incomesSection select:focus-visible{outline:2px solid #d94b00;outline-offset:2px}
body.ts2 #incomesSection button:disabled{opacity:.4;cursor:default}
body.ts2 #incomesSection .incomes-back-btn{justify-self:start;min-height:36px}
body.ts2 #incomesSection .incomes-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;color:#76818e;font:400 12px/1.4 var(--ts-font,Arial)}
body.ts2 #incomesSection .incomes-pagination>div{display:flex;align-items:center;gap:12px}
body.ts2 #incomesSection .incomes-pagination button{min-height:36px;padding:0 12px}
body.ts2 #incomesSection .incomes-empty{padding:30px 16px;text-align:center;color:#77818e}
body.ts2 #incomesSection .incomes-pending{border:1px solid #ead9b7;border-radius:6px;padding:16px;background:#fffbf2;color:#77552a}
body.ts2 #incomesSection .incomes-pending summary{font:600 12px/1.5 var(--ts-font,Arial);cursor:pointer}
body.ts2 #incomesSection .incomes-pending-list{display:grid;gap:8px;max-height:240px;overflow:auto;padding-top:12px}
body.ts2 #incomesSection .incomes-pending-list article{display:flex;gap:12px;font-size:12px}
body.ts2 #incomesSection .incomes-status{padding:12px 16px;background:#fff5e9;color:#8c4d23;border:1px solid #eddbbf;border-radius:5px;font-size:12px}
body.ts2 #incomesSection.is-loading .incomes-summary{opacity:.5}
@media(max-width:700px){body.ts2 #incomesSection .incomes-header{align-items:stretch;flex-direction:column}body.ts2 #incomesSection .incomes-filters label{flex:1;min-width:0!important}body.ts2 #incomesSection .incomes-summary{grid-template-columns:1fr}body.ts2 #incomesSection .incomes-summary article{border-right:0;border-bottom:1px solid #e5e8ed;padding:16px}body.ts2 #incomesSection .incomes-summary strong{font-size:22px}}
body.ts2 #incomesSection .incomes-months-table td:last-child{width:110px}
body.ts2 #incomesSection .incomes-months-table tbody :is(th,td){padding-top:9px;padding-bottom:9px}
body.ts2 #incomesSection .incomes-months-table button{white-space:nowrap}

body.ts2 .income-calculation{margin:0;display:grid;gap:0;font:400 14px/1.5 var(--ts-font,Arial)}
body.ts2 .income-calculation>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e7eaf0}
body.ts2 .income-calculation dd{margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
body.ts2 .income-calculation .income-calculation-net{padding:16px 14px;background:#f7f9fb;border-radius:6px;margin-top:12px;border:0;font-weight:650}
body.ts2 .income-detail-label{font:600 13px var(--ts-font,Arial);margin:24px 0 6px}
body.ts2 .income-people{list-style:none;padding:0;margin:0 0 18px}
body.ts2 .income-people li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #edf0f3;font-size:13px}
body.ts2 .income-people strong{font-weight:500}body.ts2 .income-people small{display:block;color:#78828f;margin-top:3px}
body.ts2 .income-people b{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
body.ts2 .ts-ui-dialog .income-historical-note{padding:12px;border-radius:6px;background:#fff7e9;color:#785325}

/* Phone layouts keep amounts and property names inside the visible viewport. */
@media(max-width:760px) {
 body.ts2 #incomesSection .incomes-table-scroll { border:0!important; background:transparent!important; overflow:visible!important; }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) { display:block!important; width:100%!important; min-width:0!important; }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) thead { display:none!important; }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) tbody { display:grid!important; width:100%!important; gap:12px!important; }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) tbody tr {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:14px!important;
  width:100%!important; min-width:0!important; box-sizing:border-box!important; margin:0!important; padding:16px!important;
  border:1px solid var(--ts-border,#dfe3e8)!important; border-radius:8px!important; background:#fff!important; box-shadow:none!important;
 }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) tbody :is(th,td) {
  display:block!important; width:auto!important; min-width:0!important; max-width:none!important; padding:0!important; margin:0!important;
  position:static!important; border:0!important; box-shadow:none!important; background:transparent!important; text-align:left!important;
  white-space:normal!important; overflow-wrap:anywhere; grid-column:auto!important; grid-row:auto!important;
 }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) tbody td::before {
  display:block!important; position:static!important; width:auto!important; min-width:0!important; content:attr(data-label);
  margin-bottom:5px; color:var(--ts-muted,#77818e); font-size:10px; font-weight:500; text-transform:none; letter-spacing:0;
 }
 body.ts2 #incomesSection .incomes-table td:is([data-label="Reserva"],[data-label="Inmueble / concepto"],[colspan]) { grid-column:1/-1!important; }
 body.ts2 #incomesSection .incomes-months-table tbody th { grid-column:1!important; grid-row:1!important; align-self:center; font-size:14px!important; }
 body.ts2 #incomesSection .incomes-months-table tbody td:nth-child(2) { grid-column:1!important; grid-row:2!important; }
 body.ts2 #incomesSection .incomes-months-table tbody td:nth-child(3) { grid-column:2!important; grid-row:2!important; }
 body.ts2 #incomesSection .incomes-months-table tbody td:last-child { grid-column:2!important; grid-row:1!important; justify-self:end; }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) td[data-label="Detalle"]::before { display:none!important; }
 body.ts2 #incomesSection :is(.incomes-months-table,.incomes-table) button { min-height:44px!important; padding:8px 12px!important; }
 body.ts2 #incomesSection .incomes-table td[data-label="Detalle"] { justify-self:end; align-self:end; }
 body.ts2 #incomesSection .incomes-months-table tfoot { display:block!important; margin-top:12px; }
 body.ts2 #incomesSection .incomes-months-table tfoot tr { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; border:1px solid #dfe3e8; border-radius:8px; background:#f7f9fb; }
 body.ts2 #incomesSection .incomes-months-table tfoot :is(th,td) { display:block!important; min-width:0!important; width:auto!important; padding:0!important; border:0!important; background:transparent!important; text-align:left!important; white-space:normal!important; }
 body.ts2 #incomesSection .incomes-months-table tfoot th { grid-column:1/-1; }
 body.ts2 #incomesSection .incomes-months-table tfoot td:empty { display:none!important; }
 body.ts2 #incomesSection .incomes-table td[colspan]::before { display:none!important; }
}
