/* Dorax Finance — spending limits (features/limits): the line under a category on Categories & rules, the list of limits and the panel that sets one. */
/* on Categories & rules: under the category's name, before its subcategories. No box of its own: the category is already one (no cards in cards) */
.cat-card .cat-lim, .cat-card .cat-lim-add { margin: 4px 0 0; }
.cat-lim { display: grid; gap: 6px; width: 100%; padding: 4px 0 6px; border: 0; background: none; color: var(--ink-2); font: inherit; font-size: 12.5px; text-align: left; cursor: pointer; }
.cat-lim:hover { color: var(--ink); }
.cat-lim-t { display: flex; align-items: center; gap: 7px; min-width: 0; }
.cat-lim-t svg { width: 15px; height: 15px; flex: none; color: var(--ink-3); }
.cat-lim-t span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--fig); }
.cat-lim.warn .cat-lim-t svg { color: var(--warn); }
.cat-lim.crit .cat-lim-t svg, .cat-lim.crit .cat-lim-t span { color: var(--crit); }
.cat-lim .meter { height: 4px; }
.cat-card .cat-lim-add { display: inline-flex; align-items: center; gap: 7px; box-sizing: border-box; min-height: 28px; padding: 0; border: 0; color: var(--ink-2); font-size: 12.5px; text-decoration: none; }
.cat-card .cat-lim-add:hover { color: var(--ink); }
.cat-lim-add svg { width: 14px; height: 14px; color: var(--brand); }
/* the list */
.lim-list { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; }
.lim-list > li { border-top: 1px solid var(--line); }
.lim-list > li:first-child { border-top: 0; }
.lim-c { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 10px 2px; background: none; border: 0; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
button.lim-c:hover b { color: var(--ink-strong); }
.lim-c .grow { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 auto; }
.lim-c b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lim-c small { color: var(--ink-3); font-size: 12.5px; font-family: var(--fig); }
.lim-c .meter { height: 4px; margin-top: 3px; }
.lim-c.still { cursor: default; color: var(--ink-3); }
.lim-c.still b { color: var(--ink-2); }
.lim-c.still small { font-family: inherit; }
.lim-add { display: inline-flex; align-items: center; gap: 5px; flex: none; color: var(--link); font-size: 13px; font-weight: 500; }
.lim-add svg { width: 14px; height: 14px; }
.lim-gh { display: flex; align-items: center; gap: 10px; padding: 12px 2px 2px; font-weight: 500; color: var(--ink); }
.lim-c.sub { padding-left: 20px; min-height: 52px; }
.lim-c.sub.more { min-height: 44px; }
/* the panel */
.lim-form .form-grid { margin-bottom: 0; }
.lim-avg { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; width: 100%; padding: 10px 12px; border: 1px dashed var(--line-strong); border-radius: var(--r-mid); background: transparent; color: var(--ink); font: inherit; font-size: 13.5px; text-align: left; cursor: pointer; }
.lim-avg:hover { border-style: solid; }
.lim-avg small { color: var(--ink-3); font-size: 12.5px; }
#lm-left b { color: var(--ink); font-weight: 500; }
@media (max-width: 920px) {
  .cat-lim { min-height: 44px; }
  .cat-card .cat-lim-add { min-height: 44px; }
  .lim-avg { min-height: 48px; }
  #nf-limits { display: inline-flex; align-items: center; min-height: 44px; }      /* the profile's "See my limits": a thumb's height */
}
/* v146: the today mark (Organizze's "Hoje"), the month as planned, the bar of all the limits, the invitation to the guide */
.lim-bar { position: relative; }
.lim-bar .meter { margin: 0; }
.lim-today { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; border-radius: 1px; background: var(--ink-2); opacity: .55; pointer-events: none; }
.lim-bar.big .meter { height: 10px; }
.lim-bar.big .lim-today { top: -4px; bottom: -4px; opacity: .8; }
.lim-bar.big .lim-today span { position: absolute; bottom: calc(100% + 2px); left: 50%; transform: translateX(-50%); font-size: 11px; color: var(--ink-3); white-space: nowrap; }
.lim-month { display: flex; flex-direction: column; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.lim-month.none { padding-bottom: 10px; }
.lim-mh { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.lim-mh b { font-size: 20px; font-weight: 500; color: var(--ink-strong); }
.lim-over { margin: 0; }
.lim-total { display: flex; flex-direction: column; gap: 18px; padding: 14px 0 6px; }
.lim-th { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 14px; flex-wrap: wrap; }
.lim-th b { font-weight: 500; color: var(--ink); }
.lim-th .num { font-size: 12.5px; color: var(--ink-2); }
.lim-invite { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; padding: 0 0 16px; border-bottom: 1px solid var(--line); }      /* no box inside the card (owner, 2026-10-11) */
.lim-invite .grow { flex: 1 1 220px; min-width: 0; }
.lim-invite b { font-weight: 500; color: var(--ink-strong); }
.lim-invite p { margin: 2px 0 0; color: var(--ink-2); font-size: 13px; }
.card-b.lim { display: flex; flex-direction: column; gap: 6px; }
.card-b.lim .lim-invite { margin-bottom: 8px; }
.lim-again { align-self: flex-start; }
.lim-covers { margin: 0; }
.lim-hint { color: var(--ink-2); }
@media (max-width: 920px) {
  .lim-invite .btn { flex: 1 1 100%; }
}
