/* GENERATED FILE - DO NOT EDIT.
   Source: shared/filter-fold.css - run `npm run sync:shared` after editing. */

/* Collapsible "Search & filters" bar (shared/filter-fold.css — web + app). */
.lb-fold {
  margin: 0 0 0.7rem;
  min-width: 0;
}

.lb-fold-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.3rem;
  padding: 0.35rem 0.75rem 0.35rem 0.7rem;
  border: 1px solid #e2ddd0;
  border-radius: 999px;
  background: #fff;
  color: #263b32;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(26, 20, 16, 0.05);
  -webkit-tap-highlight-color: transparent;
}

.lb-fold-btn:hover {
  border-color: #cfc6b2;
}

.lb-fold-btn svg {
  flex: none;
  width: 1rem;
  height: 1rem;
}

.lb-fold-count {
  display: inline-grid;
  place-items: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  background: #1f3d30;
  color: #fff8ec;
  font-size: 0.66rem;
  font-weight: 700;
}

.lb-fold-chev {
  color: #8a8174;
  transition: transform 0.18s ease;
}

.lb-fold.is-open .lb-fold-chev {
  transform: rotate(180deg);
}

.lb-fold.is-open .lb-fold-btn {
  background: #f6f1e6;
  border-color: transparent;
}

.lb-fold-body {
  margin-top: 0.55rem;
  min-width: 0;
}

.lb-fold-body[hidden] {
  display: none !important;
}

/* Tools inside the fold don't need their own outer gap. */
.lb-fold-body > :last-child {
  margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  .lb-fold-chev {
    transition: none;
  }
}

/* Expense Status filter: All · Due · Paid as colour-coded buttons (web + app). */
.exp-status-field {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}
.exp-status-seg {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.exp-status-seg button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.35rem;
  padding: 0.3rem 0.9rem;
  border: 1px solid #e2ddd0;
  border-radius: 999px;
  background: #fff;
  color: #3d4a43;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.exp-status-seg button i {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: currentColor;
}
.exp-status-seg .is-due { color: #b8691a; border-color: #f0d6ae; background: #fdf4e6; }
.exp-status-seg .is-paid { color: #2f7d57; border-color: #bfe0cc; background: #ecf6ef; }
.exp-status-seg .is-all[aria-pressed="true"] { background: #1f3d30; border-color: #1f3d30; color: #fff8ec; }
.exp-status-seg .is-due[aria-pressed="true"] { background: #d9822b; border-color: #d9822b; color: #fff; }
.exp-status-seg .is-paid[aria-pressed="true"] { background: #2f7d57; border-color: #2f7d57; color: #fff; }
.exp-status-seg button:focus-visible { outline: 2px solid #2d5a45; outline-offset: 2px; }
