/* KamaVlama — budget activity center + table filters */
.table-filter-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin: -3px 0 13px;
  padding: 10px;
  border: 1px solid rgba(113,201,255,.12);
  border-radius: 14px;
  background: linear-gradient(135deg,rgba(113,201,255,.045),rgba(69,241,162,.025)),rgba(2,9,17,.26);
}
.table-filter-toolbar.is-variable-filter {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.table-filter-toolbar .table-filter-reset,
.table-filter-toolbar .table-filter-count {
  grid-column: 1 / -1;
  width: 100%;
}
.table-filter-select,.budget-activity-control {
  width:100%; min-width:0; min-height:42px; padding:8px 11px;
  border:1px solid rgba(113,201,255,.2); border-radius:11px;
  color:var(--text); background:#102238; outline:none; font:inherit;
}
.budget-activity-search::placeholder { color:#7f94aa; }
.table-filter-select:focus,.budget-activity-control:focus {
  border-color:rgba(113,201,255,.72); box-shadow:0 0 0 3px rgba(113,201,255,.1);
}
.table-filter-select,.budget-activity-control { color-scheme:dark; cursor:pointer; }
.table-filter-reset,.budget-activity-reset {
  min-height:42px; padding:8px 12px; border:1px solid rgba(255,255,255,.13);
  border-radius:11px; color:#c8d7e6; background:rgba(255,255,255,.045);
  cursor:pointer; font:inherit; font-weight:700;
}
.table-filter-reset:hover,.budget-activity-reset:hover {
  border-color:rgba(113,201,255,.5); color:#fff; background:rgba(113,201,255,.08);
}
.table-filter-reset:disabled { cursor:default; opacity:.38; }
.table-filter-count { grid-column:1/-1; min-height:18px; margin:-2px 2px 0; color:var(--muted); font-size:.76rem; }
.table-filter-empty {
  margin:0 0 12px; padding:12px 14px; border:1px dashed rgba(113,201,255,.22);
  border-radius:12px; color:var(--muted); background:rgba(113,201,255,.035);
  text-align:center; font-size:.88rem;
}
tbody tr.table-filtered-out { display:none !important; }

.budget-actions-links { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; }
.budget-actions-links .budget-help-link,.budget-activity-link {
  min-height:38px; margin:0; padding:7px 11px; border:1px solid rgba(113,201,255,.24);
  border-radius:10px; color:var(--blue); background:rgba(113,201,255,.05);
  cursor:pointer; font:inherit; font-size:.86rem; font-weight:750; text-decoration:none;
}
.budget-activity-link { border-color:rgba(69,241,162,.3); color:var(--green); background:rgba(69,241,162,.055); }
.budget-actions-links .budget-help-link:hover,.budget-activity-link:hover {
  border-color:rgba(113,201,255,.6); color:#e9f8ff; background:rgba(113,201,255,.11);
}
.budget-activity-link:hover { border-color:rgba(69,241,162,.68); color:#dbffef; background:rgba(69,241,162,.11); }

@media (min-width:1001px) {
  .tracker-grid .finance-card {
    border-color:rgba(255,255,255,.155);
    box-shadow:0 24px 65px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.025);
  }
  .tracker-grid .finance-card > .card-heading {
    margin-bottom:14px; padding-bottom:15px; border-bottom:1px solid rgba(255,255,255,.065);
  }
  .tracker-grid .table-wrap,.tracker-grid .summary-table-wrap {
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
  }
}

.budget-activity-modal-open { overflow:hidden; }
.budget-activity-overlay {
  position:fixed; z-index:1800; inset:0; display:grid; padding:22px; place-items:center;
  background:rgba(2,8,15,.78); backdrop-filter:blur(10px);
}
.budget-activity-modal {
  display:flex; overflow:hidden; width:min(1180px,96vw); max-height:min(88dvh,880px);
  flex-direction:column; border:1px solid rgba(113,201,255,.22); border-radius:24px;
  background:radial-gradient(circle at 90% 0%,rgba(113,201,255,.1),transparent 28rem),
    linear-gradient(155deg,#11253b,#0a1829 60%,#081421);
  box-shadow:0 28px 90px rgba(0,0,0,.48);
}
.budget-activity-header {
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:22px 24px 17px; border-bottom:1px solid rgba(255,255,255,.08);
}
.budget-activity-kicker { display:block; margin-bottom:4px; color:var(--green); font-size:.78rem; font-weight:850; }
.budget-activity-header h3 { margin:0; font-size:clamp(1.45rem,2vw,1.85rem); }
.budget-activity-header p { margin:6px 0 0; color:var(--muted); font-size:.88rem; }
.budget-activity-close {
  display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center;
  border:1px solid rgba(255,116,127,.25); border-radius:12px; color:#ff9ca5;
  background:rgba(255,116,127,.07); cursor:pointer; font:inherit; font-size:1.45rem;
}
.budget-activity-content { overflow:auto; padding:18px 24px 24px; overscroll-behavior:contain; }
.budget-activity-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.budget-activity-summary-card {
  min-width:0; padding:13px 14px; border:1px solid rgba(255,255,255,.075);
  border-radius:14px; background:rgba(255,255,255,.035);
}
.budget-activity-summary-card span { display:block; margin-bottom:4px; color:var(--muted); font-size:.75rem; }
.budget-activity-summary-card strong { display:block; overflow:hidden; color:#edf8ff; text-overflow:ellipsis; white-space:nowrap; font-size:1.12rem; }
.budget-activity-summary-card.is-positive strong { color:var(--green); }
.budget-activity-summary-card.is-negative strong { color:var(--red); }
.budget-activity-controls {
  display:grid; grid-template-columns:minmax(220px,1.4fr) minmax(180px,.9fr) minmax(160px,.8fr) auto;
  gap:9px; margin-bottom:13px; padding:11px; border:1px solid rgba(113,201,255,.12);
  border-radius:14px; background:rgba(2,9,17,.24);
}
.budget-activity-results-meta { margin:-2px 2px 10px; color:var(--muted); font-size:.78rem; }
.budget-activity-table-wrap { overflow-x:auto; border:1px solid rgba(255,255,255,.085); border-radius:16px; background:rgba(2,9,17,.3); }
.budget-activity-table { min-width:930px; table-layout:auto; }
.budget-activity-table th,.budget-activity-table td { min-height:52px; padding:10px 11px; }
.budget-activity-table thead th { position:sticky; z-index:2; top:0; background:#14263a; }
.budget-activity-name { min-width:150px; }
.budget-activity-name strong { display:block; color:#f3f8fc; }
.budget-activity-name small,.budget-activity-detail-summary small { display:block; margin-top:3px; color:var(--muted); font-size:.73rem; }
.budget-activity-detail-summary { min-width:190px; color:#d7e6f2; }
.budget-detail-chips { display:flex; flex-wrap:wrap; gap:5px; }
.budget-detail-chip {
  display:inline-flex; max-width:150px; align-items:center; padding:3px 7px;
  border:1px solid rgba(113,201,255,.16); border-radius:999px; color:#cdeeff;
  background:rgba(113,201,255,.055); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem;
}
.budget-activity-money { direction:ltr; text-align:left; font-variant-numeric:tabular-nums; font-weight:800; white-space:nowrap; }
.budget-activity-money.is-allocated,.budget-activity-money.is-positive { color:var(--green); }
.budget-activity-money.is-spent,.budget-activity-money.is-negative { color:var(--red); }
.budget-status-pill {
  display:inline-flex; align-items:center; justify-content:center; min-width:96px; padding:5px 8px;
  border:1px solid rgba(113,201,255,.2); border-radius:999px; color:var(--blue);
  background:rgba(113,201,255,.06); font-size:.75rem; font-weight:850; white-space:nowrap;
}
.budget-status-pill.is-overrun { border-color:rgba(255,116,127,.38); color:#ff98a1; background:rgba(255,116,127,.08); }
.budget-status-pill.is-available { border-color:rgba(69,241,162,.3); color:var(--green); background:rgba(69,241,162,.07); }
.budget-status-pill.is-unused { color:var(--muted); border-color:rgba(158,177,197,.24); background:rgba(158,177,197,.05); }
.budget-detail-toggle {
  min-height:34px; padding:5px 9px; border:1px solid rgba(113,201,255,.24); border-radius:9px;
  color:var(--blue); background:rgba(113,201,255,.05); cursor:pointer; font:inherit; font-size:.77rem; font-weight:800;
}
.budget-activity-details-row td { padding:0; border-bottom:1px solid rgba(113,201,255,.13); background:rgba(113,201,255,.025); }
.budget-transaction-panel { padding:12px 14px 15px; }
.budget-transaction-panel h4 { margin:0 0 9px; color:#dcebf6; font-size:.86rem; }
.budget-transaction-grid { display:grid; gap:6px; }
.budget-transaction-row {
  display:grid; grid-template-columns:minmax(130px,1.15fr) minmax(95px,.8fr) minmax(105px,.8fr) minmax(100px,.75fr);
  align-items:center; gap:8px; min-height:38px; padding:7px 9px; border:1px solid rgba(255,255,255,.055);
  border-radius:10px; background:rgba(255,255,255,.025); color:#dce7f1; font-size:.78rem;
}
.budget-transaction-row .transaction-amount { color:var(--red); direction:ltr; text-align:left; font-weight:800; }
.budget-activity-empty { padding:26px 18px; color:var(--muted); text-align:center; }

@media (max-width:1120px) and (min-width:641px) {
  .table-filter-toolbar { grid-template-columns:1fr; }
  .table-filter-toolbar.is-variable-filter { grid-template-columns:1fr 1fr; }
  .budget-activity-search { grid-column:1/-1; }
  .budget-activity-controls { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
  .budget-activity-overlay { padding:0; place-items:end center; }
  .budget-activity-modal { width:100%; max-height:94dvh; border-right:0; border-bottom:0; border-left:0; border-radius:24px 24px 0 0; }
  .budget-activity-header { position:sticky; z-index:5; top:0; padding:17px 15px 13px; background:rgba(11,27,44,.96); backdrop-filter:blur(10px); }
  .budget-activity-content { padding:13px 12px max(24px,env(safe-area-inset-bottom)); }
  .budget-activity-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .budget-activity-summary-card { padding:11px 10px; }
  .budget-activity-summary-card strong { font-size:.98rem; }
  .budget-activity-controls { grid-template-columns:1fr; }
  .budget-activity-search,.budget-activity-control,.budget-activity-reset { min-height:46px; font-size:16px; }
  .budget-activity-table-wrap { overflow:visible; border:0; background:transparent; }
  .budget-activity-table { min-width:0; border-collapse:separate; border-spacing:0; }
  .budget-activity-table thead { display:none; }
  .budget-activity-table tbody { display:grid; gap:10px; }
  .budget-activity-table .budget-activity-row {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px;
    border:1px solid rgba(255,255,255,.085); border-radius:14px; background:rgba(255,255,255,.027);
  }
  .budget-activity-table .budget-activity-row td { display:grid; gap:3px; min-height:0; padding:0; border:0; }
  .budget-activity-table .budget-activity-row td::before { content:attr(data-label); color:var(--muted); font-size:.7rem; font-weight:750; }
  .budget-activity-name,.budget-activity-detail-summary,.budget-activity-action-cell { grid-column:1/-1; }
  .budget-activity-money { text-align:right; }
  .budget-detail-toggle { width:100%; min-height:40px; }
  .budget-activity-details-row { display:block; margin-top:-5px; }
  .budget-activity-details-row[hidden] { display:none !important; }
  .budget-activity-details-row td { display:block; padding:0; border:0; }
  .budget-transaction-panel { padding:10px; border:1px solid rgba(113,201,255,.11); border-radius:12px; background:rgba(113,201,255,.025); }
  .budget-transaction-row { grid-template-columns:1fr 1fr; gap:5px 8px; padding:9px; }
  .budget-actions-links { gap:7px; }
  .budget-actions-links .budget-help-link,.budget-activity-link { flex:1 1 150px; min-height:42px; }
}
@media (max-width:640px) {
  .table-filter-toolbar,.table-filter-toolbar.is-variable-filter {
    order:1; grid-template-columns:1fr; gap:8px; margin:0 0 11px; padding:9px;
  }
  .table-filter-toolbar .table-filter-select { width:100%; min-height:46px; font-size:15px; }
  .table-filter-toolbar .table-filter-reset { grid-column:1/-1; width:100%; min-height:42px; }
  .mobile-accordion-ready .finance-card.is-mobile-open:not(.summary-card) .table-filter-toolbar { order:1; }
  .mobile-accordion-ready .finance-card.is-mobile-open:not(.summary-card) .budget-actions-links { order:2; margin:0 0 11px; }
  .mobile-accordion-ready .finance-card.is-mobile-open:not(.summary-card) .add-row-btn { order:3 !important; margin:0 0 12px; }
  .mobile-accordion-ready .finance-card.is-mobile-open:not(.summary-card) .table-wrap { order:4 !important; }
  .table-filter-empty { order:5; margin-top:10px; }
}
.variable-transactions-breakdown[data-detail-navigation-suspended="true"]
  :is([data-detail-search], [data-detail-search-clear], [data-detail-sort]) {
  opacity: .45;
  cursor: not-allowed;
}
