:root {
    --anota-navy: #0B1B3A;
    --anota-blue: #2F6BFF;
    --anota-green: #22C58B;
    --anota-amber: #FFB020;
    --anota-bg: #F6F8FC;
    --anota-surface: #FFFFFF;
    --anota-text: #0B1B3A;
    --bottom-nav-h: 64px;
}
[data-bs-theme="dark"] {
    --anota-bg: #0B1B3A;
    --anota-surface: #13264d;
    --anota-text: #F6F8FC;
}
body {
    background: var(--anota-bg);
    color: var(--anota-text);
    padding-bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));
}
@media (min-width: 992px) { body { padding-bottom: 0; } }
.app-container { padding: 0 16px; max-width: 960px; margin: 0 auto; }
.card-soft {
    background: var(--anota-surface);
    border: 0;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(11, 27, 58, .08);
    padding: 16px;
}
.fab {
    position: fixed;
    right: 16px;
    bottom: calc(var(--bottom-nav-h) + 16px + env(safe-area-inset-bottom));
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--anota-blue);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 16px rgba(47, 107, 255, .4);
    z-index: 1030;
}
@media (min-width: 992px) { .fab { bottom: 24px; } }
.pt-safe { padding-top: env(safe-area-inset-top); }
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }
.bottom-nav {
    position: fixed; left: 0; right: 0; bottom: 0;
    height: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    display: flex;
    background: var(--anota-surface);
    border-top: 1px solid rgba(127, 127, 127, .2);
    z-index: 1040;
}
.bottom-nav__item {
    flex: 1;
    min-height: 44px; min-width: 44px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px;
    font-size: .75rem;
    color: var(--anota-text);
    text-decoration: none;
}
/* MENU-01/UX-01: com 4 itens, o rótulo não pode transbordar em 360 px. */
.bottom-nav__item > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bottom-nav__item:hover, .bottom-nav__item:focus-visible { color: var(--anota-blue); }
:focus-visible { outline: 3px solid var(--anota-blue); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
.bottom-nav__item.is-active { color: var(--anota-blue); font-weight: 600; }
.balance--owed { color: var(--bs-danger); }
.balance--credit { color: var(--bs-success); }
.balance--neutral { color: var(--bs-secondary-color); }
.project-card { display: block; color: inherit; text-decoration: none; min-height: 44px; }
.project-card:hover, .project-card:focus-visible { box-shadow: 0 4px 18px rgba(11, 27, 58, .16); }
.app-page { max-width: 40rem; margin-inline: auto; overflow-wrap: anywhere; }
.app-page .btn, .app-page .form-control, .app-page .form-select { min-height: 44px; }

/* Marca AnotaConta (cores amostradas do logotipo: verde #3B8584, laranja #CD7635) */
.brand { --brand-green: #3B8584; --brand-orange: #CD7635; display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; line-height: 1; color: inherit; }
.brand:hover { text-decoration: none; }
.brand__logo { width: 2.5rem; height: 2.5rem; object-fit: contain; flex-shrink: 0; }
.brand__text { display: inline-flex; flex-direction: column; width: max-content; }
.brand__name { font-size: 1.4rem; letter-spacing: -.01em; white-space: nowrap; }
.brand__anota { color: var(--brand-green); font-weight: 500; }
.brand__conta { color: var(--brand-orange); font-weight: 800; }
/* A segunda linha nunca alarga o bloco: width:0 + min-width:100% e justificação da linha única faz "by TecnoTip" ocupar exatamente a largura de "AnotaConta". */
.brand__by { display: block; width: 0; min-width: 100%; margin-top: .2rem; font-size: .62rem; font-weight: 600; text-transform: none; color: var(--bs-secondary-color, #6c757d); text-align: justify; text-align-last: justify; white-space: nowrap; }
.brand--sm .brand__logo { width: 2rem; height: 2rem; } .brand--sm .brand__name { font-size: 1.1rem; } .brand--sm .brand__by { font-size: .5rem; }
.brand--lg .brand__logo { width: 3.5rem; height: 3.5rem; } .brand--lg .brand__name { font-size: 1.9rem; } .brand--lg .brand__by { font-size: .8rem; }
/* Fundos escuros: verde e laranja clareados para manter contraste (≥ 4.5:1 sobre navy). */
[data-bs-theme="dark"] .brand, .brand--on-dark { --brand-green: #66BDBB; --brand-orange: #EE9A5A; }
.brand--on-dark .brand__by { color: rgba(255,255,255,.75); }
.app-topbar { position: sticky; top: 0; z-index: 1020; display: flex; align-items: center; min-height: 3.5rem; padding: .4rem 1rem; padding-top: calc(.4rem + env(safe-area-inset-top)); background: var(--bs-body-bg); border-bottom: 1px solid var(--bs-border-color); }
.auth-brand { display: flex; justify-content: center; padding: 1.5rem 1rem .25rem; }

/* Rodapé TecnoTip: fundo navy com texto claro (contraste alto sobre qualquer página, inclusive a landing clara). */
.footer-tt { background: #0B1B3A; color: rgba(255,255,255,.82); padding: 2rem 0 calc(2rem + env(safe-area-inset-bottom)); border-top: 3px solid #3B8584; }
.footer-tt__in { max-width: 72rem; margin-inline: auto; }
.footer-tt__text { font-size: .85rem; line-height: 1.5; color: rgba(255,255,255,.82); }
.footer-tt__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.25rem; }
.footer-tt__link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .25rem; color: #fff; text-decoration: none; font-weight: 600; font-size: .9rem; }
.footer-tt__link:hover, .footer-tt__link:focus-visible { color: #66BDBB; text-decoration: underline; }
.footer-tt .lp-counter, .footer-tt + .lp-counter { color: rgba(255,255,255,.6); }

.topbar-logout { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--bs-secondary-color); text-decoration: none; font-weight: 600; }
.topbar-logout:hover, .topbar-logout:focus-visible { color: var(--bs-body-color); }
.app-topbar--admin { gap: .25rem; }

/* ==========================================================================
   Sistema de design AnotaConta (painel do usuário)
   Tokens -> componentes. Verde da marca como cor de ação, laranja como acento.
   ========================================================================== */
:root {
    --brand-green: #3B8584;
    --brand-ink: #2E6F6E;          /* verde para texto/ação sobre claro (≥ 4.5:1) */
    --brand-orange: #CD7635;
    --brand-orange-ink: #9A4F17;   /* laranja para texto sobre claro */
    --anota-blue: #2E6F6E;         /* legado: vira a cor de ação da marca */
    --ui-radius: 18px;
    --ui-radius-sm: 12px;
    --ui-shadow: 0 1px 2px rgba(11, 27, 58, .05), 0 6px 18px rgba(11, 27, 58, .07);
    --ui-shadow-lift: 0 2px 4px rgba(11, 27, 58, .06), 0 12px 28px rgba(11, 27, 58, .12);
    --ui-line: rgba(11, 27, 58, .09);
    --ui-muted: #55617a;
    --ui-tint: #E9F3F2;
    --font-display: 'Bricolage Grotesque', 'Figtree', system-ui, sans-serif;
    --font-body: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --bs-primary: #2E6F6E; --bs-primary-rgb: 46, 111, 110;
    --bs-link-color: #2E6F6E; --bs-link-hover-color: #1F5A5C;
    --bs-link-color-rgb: 46, 111, 110; --bs-link-hover-color-rgb: 31, 90, 92;
}
[data-bs-theme="dark"] {
    --brand-ink: #66BDBB;
    --brand-orange-ink: #EE9A5A;
    --anota-blue: #66BDBB;
    --ui-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .28);
    --ui-shadow-lift: 0 2px 4px rgba(0, 0, 0, .35), 0 12px 28px rgba(0, 0, 0, .4);
    --ui-line: rgba(255, 255, 255, .12);
    --ui-muted: #a9b6cf;
    --ui-tint: rgba(102, 189, 187, .14);
    --bs-primary: #66BDBB; --bs-primary-rgb: 102, 189, 187;
    --bs-link-color: #66BDBB; --bs-link-hover-color: #8fd3d1;
    --bs-link-color-rgb: 102, 189, 187; --bs-link-hover-color-rgb: 143, 211, 209;
}
body { font-family: var(--font-body); }
h1, h2, h3, .h1, .h2, .h3, .h4, .h5, .display-font { font-family: var(--font-display); letter-spacing: -.015em; }
.text-body-secondary { color: var(--ui-muted) !important; }

.btn-primary {
    --bs-btn-bg: #2E6F6E; --bs-btn-border-color: #2E6F6E; --bs-btn-color: #fff;
    --bs-btn-hover-bg: #245a59; --bs-btn-hover-border-color: #245a59; --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #1F5A5C; --bs-btn-active-border-color: #1F5A5C; --bs-btn-active-color: #fff;
    --bs-btn-disabled-bg: #2E6F6E; --bs-btn-disabled-border-color: #2E6F6E;
    --bs-btn-focus-shadow-rgb: 46, 111, 110;
    font-weight: 700; border-radius: var(--ui-radius-sm);
}
[data-bs-theme="dark"] .btn-primary {
    --bs-btn-bg: #66BDBB; --bs-btn-border-color: #66BDBB; --bs-btn-color: #0B1B3A;
    --bs-btn-hover-bg: #80cac8; --bs-btn-hover-border-color: #80cac8; --bs-btn-hover-color: #0B1B3A;
    --bs-btn-active-bg: #99d6d4; --bs-btn-active-border-color: #99d6d4; --bs-btn-active-color: #0B1B3A;
    --bs-btn-disabled-bg: #66BDBB; --bs-btn-disabled-border-color: #66BDBB; --bs-btn-disabled-color: #0B1B3A;
}
.btn-outline-primary {
    --bs-btn-color: var(--brand-ink); --bs-btn-border-color: var(--brand-ink);
    --bs-btn-hover-bg: var(--brand-ink); --bs-btn-hover-border-color: var(--brand-ink); --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--brand-ink); --bs-btn-active-border-color: var(--brand-ink); --bs-btn-active-color: #fff;
    border-radius: var(--ui-radius-sm); font-weight: 600;
}
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-hover-color: #0B1B3A; --bs-btn-active-color: #0B1B3A; }

/* --- Superfícies ------------------------------------------------------- */
.card-soft { border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); border: 1px solid var(--ui-line); }
.project-card:hover, .project-card:focus-visible { box-shadow: var(--ui-shadow-lift); transform: translateY(-1px); }
.project-card { transition: box-shadow .2s, transform .2s; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: 1.5rem 0 .6rem; }
.section-title h2 { font-size: 1.05rem; font-weight: 700; margin: 0; }
.section-title a { font-size: .875rem; font-weight: 600; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }

/* --- Componentes ------------------------------------------------------- */
.pill { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .65rem; border-radius: 999px; font-size: .8rem; font-weight: 700; line-height: 1.4; background: var(--ui-tint); color: var(--brand-ink); }
.pill.balance--owed { background: #FDE7EA; color: #A61E2E; }
.pill.balance--credit { background: #DCF3E8; color: #11603A; }
.pill.balance--neutral { background: rgba(127, 127, 127, .15); color: var(--ui-muted); }
[data-bs-theme="dark"] .pill.balance--owed { background: rgba(255, 139, 150, .16); color: #ff9aa4; }
[data-bs-theme="dark"] .pill.balance--credit { background: rgba(95, 216, 164, .16); color: #6fe0b0; }
.pill--plain { background: rgba(127, 127, 127, .14); color: var(--bs-body-color); }

.avatar { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; background: var(--avatar-bg, #2E6F6E); }
.avatar--lg { width: 56px; height: 56px; font-size: 1.4rem; }

.chip-mini { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .6rem .25rem .3rem; border-radius: 999px; background: rgba(127, 127, 127, .12); font-size: .8rem; font-weight: 600; max-width: 100%; }
.chip-mini__dot { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: .68rem; background: var(--chip-c, #6c757d); flex: 0 0 auto; }
.chip-mini__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.list-item { display: flex; align-items: center; gap: .85rem; min-height: 64px; padding: .75rem 1rem; color: inherit; text-decoration: none; }
.list-item + .list-item { border-top: 1px solid var(--ui-line); }
a.list-item:hover, a.list-item:focus-visible, button.list-item:hover { background: var(--ui-tint); }
.list-item__icon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--ui-tint); color: var(--brand-ink); }
.list-item__body { flex: 1 1 auto; min-width: 0; }
.list-item__sub { display: block; font-size: .8rem; color: var(--ui-muted); }
.list-card { background: var(--anota-surface); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); overflow: hidden; padding: 0; }
.list-card button.list-item { width: 100%; border: 0; background: none; text-align: left; font: inherit; color: inherit; }

.stat { min-width: 0; }
.stat__label { font-size: .75rem; opacity: .85; }
.stat__value { font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; overflow-wrap: anywhere; }

/* Herói do dashboard */
.hero { position: relative; overflow: hidden; color: #fff; border-radius: 22px; padding: 1.25rem 1.25rem 1rem; margin: 0 0 1rem !important; background: linear-gradient(140deg, #24666A 0%, #164B52 55%, #0F3A42 100%); box-shadow: var(--ui-shadow-lift); }
.hero::before { content: ""; position: absolute; width: 220px; height: 220px; right: -70px; top: -90px; border-radius: 50%; background: radial-gradient(circle, rgba(205, 118, 53, .55), rgba(205, 118, 53, 0) 70%); pointer-events: none; }
.hero > * { position: relative; }
.hero__label { font-size: .85rem; color: rgba(255, 255, 255, .88); }
.hero__amount { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 9vw, 2.75rem); line-height: 1.05; letter-spacing: -.02em; color: #FFC48F; overflow-wrap: anywhere; }
.hero .balance--owed { color: #FFC48F; }
.hero__metrics { display: flex; gap: 1.5rem; margin-top: .9rem; }
.hero__spark { display: flex; align-items: flex-end; gap: 5px; height: 44px; margin-top: 1rem; }
.hero__spark span { flex: 1; min-height: 3px; border-radius: 4px 4px 2px 2px; background: rgba(255, 255, 255, .42); }
.hero__spark span.is-today { background: #F4A15F; }
.hero__spark-cap { font-size: .72rem; color: rgba(255, 255, 255, .8); display: flex; justify-content: space-between; margin-top: .3rem; }

.greeting { margin: .25rem 0 1rem; }
.greeting h1 { font-size: 1.6rem; font-weight: 800; margin: 0; }
.greeting p { margin: 0; color: var(--ui-muted); font-size: .9rem; }

.quick-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-bottom: .5rem; }
.quick-action { display: flex; flex-direction: column; align-items: center; gap: .4rem; min-height: 44px; padding: .25rem 0; background: none; border: 0; color: var(--bs-body-color); text-decoration: none; font: inherit; font-size: .78rem; font-weight: 600; text-align: center; line-height: 1.15; width: 100%; }
.quick-action__icon { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; background: var(--ui-tint); color: var(--brand-ink); box-shadow: var(--ui-shadow); transition: transform .15s; }
.quick-action--warm .quick-action__icon { background: rgba(205, 118, 53, .16); color: var(--brand-orange-ink); }
.quick-action:hover .quick-action__icon, .quick-action:focus-visible .quick-action__icon { transform: translateY(-2px); }
.quick-actions .dropdown { width: 100%; }
.quick-actions .dropdown-menu { max-width: 88vw; z-index: 1050; }
/* O menu "Em qual projeto?" abre por cima dos cartões seguintes (ex.: dica de categorias). */
.quick-actions { position: relative; z-index: 5; }

/* Projetos */
.proj-card { display: block; }
.proj-card__top { display: flex; align-items: center; gap: .8rem; }
.proj-card__name { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.proj-card__meta { font-size: .8rem; color: var(--ui-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.proj-card__bar { height: 6px; border-radius: 999px; background: rgba(127, 127, 127, .18); overflow: hidden; margin: .75rem 0 .4rem; }
.proj-card__bar > span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #3B8584, #66BDBB); }
.proj-card__foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .78rem; color: var(--ui-muted); }

/* Atividade recente e lançamentos */
.activity-dot { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--chip-c, #6c757d); }
.day-head { font-family: var(--font-display); font-weight: 700; font-size: .85rem; color: var(--ui-muted); margin: 1rem 0 .4rem .25rem; }
.day-head:first-child { margin-top: 0; }
.entry-item { border-radius: var(--ui-radius-sm); border: 1px solid var(--ui-line); box-shadow: none; }
.entry-item:hover { background: var(--ui-tint); }
.chip-scroll { display: flex; gap: .5rem; overflow-x: auto; padding: .1rem .1rem .5rem; margin: 0 -1rem .25rem; padding-inline: 1rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.chip-scroll::-webkit-scrollbar { display: none; }
.chip-link { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid var(--ui-line); background: var(--anota-surface); color: var(--bs-body-color); text-decoration: none; font-weight: 600; font-size: .9rem; }
.chip-link.active, .chip-link[aria-current] { background: var(--brand-ink); border-color: var(--brand-ink); color: #fff; }
[data-bs-theme="dark"] .chip-link.active, [data-bs-theme="dark"] .chip-link[aria-current] { color: #0B1B3A; }

.proj-head { display: flex; align-items: center; gap: .9rem; }
.proj-head h1 { font-size: 1.35rem; font-weight: 800; margin: 0; overflow-wrap: anywhere; }
.balance-card { border-radius: 22px; padding: 1.1rem 1.25rem; color: #fff; background: linear-gradient(140deg, #24666A, #0F3A42); box-shadow: var(--ui-shadow-lift); position: relative; overflow: hidden; }
.balance-card::before { content: ""; position: absolute; width: 160px; height: 160px; right: -50px; top: -70px; border-radius: 50%; background: radial-gradient(circle, rgba(205, 118, 53, .5), rgba(205, 118, 53, 0) 70%); }
.balance-card > * { position: relative; }
.balance-card .pill { background: rgba(255, 255, 255, .16); color: #fff; }
.balance-card__amount { font-family: var(--font-display); font-weight: 800; font-size: 1.9rem; line-height: 1.1; }
.balance-card .balance--owed .balance-card__amount, .balance-card .balance-card__amount.balance--owed { color: #FFC48F; }
.balance-card .balance--credit { color: #9CF0C9; }
.balance-card .balance--neutral { color: #fff; }

/* Cartão FAB */
.fab { background: var(--brand-ink); box-shadow: 0 8px 20px rgba(15, 58, 66, .4); width: 60px; height: 60px; }
[data-bs-theme="dark"] .fab { color: #0B1B3A; }
.entry-fab__action { border: 1px solid var(--ui-line); }

/* Barra inferior */
.bottom-nav { border-top: 1px solid var(--ui-line); box-shadow: 0 -4px 18px rgba(11, 27, 58, .06); }
.bottom-nav__item { font-weight: 600; position: relative; color: var(--ui-muted); }
.bottom-nav__item.is-active { color: var(--brand-ink); }
.bottom-nav__item.is-active::before { content: ""; position: absolute; top: 0; width: 28px; height: 3px; border-radius: 0 0 4px 4px; background: var(--brand-orange); }
.bottom-nav__item:hover, .bottom-nav__item:focus-visible { color: var(--brand-ink); }

/* Estados vazios */
.empty-state { text-align: center; padding: 2rem 1.25rem; }
.empty-state__art { width: 88px; height: 88px; margin: 0 auto 1rem; border-radius: 28px; display: flex; align-items: center; justify-content: center; font-size: 2.2rem; color: var(--brand-ink); background: var(--ui-tint); position: relative; }
.empty-state__art::after { content: ""; position: absolute; right: -6px; top: -6px; width: 22px; height: 22px; border-radius: 50%; background: var(--brand-orange); opacity: .9; }
.empty-state h2 { font-size: 1.2rem; font-weight: 800; }

.tip-card { display: flex; align-items: center; gap: .9rem; text-decoration: none; color: inherit; border-left: 4px solid var(--brand-orange); }

/* Entrada suave (uma vez, escalonada) */
@keyframes ui-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ui-in > * { animation: ui-in .45s cubic-bezier(.2, .7, .2, 1) both; }
.ui-in > *:nth-child(2) { animation-delay: .06s; } .ui-in > *:nth-child(3) { animation-delay: .12s; }
.ui-in > *:nth-child(4) { animation-delay: .18s; } .ui-in > *:nth-child(5) { animation-delay: .24s; }
.ui-in > *:nth-child(n+6) { animation-delay: .3s; }

/* Conta */
.profile-hero { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.profile-hero h1 { font-size: 1.35rem; font-weight: 800; margin: 0; }
.org-grid { display: grid; gap: .75rem; }
@media (min-width: 576px) { .org-grid { grid-template-columns: 1fr 1fr; } }
.org-card { display: block; text-decoration: none; color: inherit; padding: 1rem; }
.org-card:hover, .org-card:focus-visible { box-shadow: var(--ui-shadow-lift); }
.org-card__head { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.org-card__title { font-family: var(--font-display); font-weight: 700; }
.org-card__chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.settings-section { font-size: .8rem; font-weight: 700; color: var(--ui-muted); margin: 1.5rem 0 .5rem .25rem; }

@media (prefers-reduced-motion: reduce) { .ui-in > * { animation: none !important; } .project-card:hover { transform: none; } }
.balance-card .pill { font-size: 1.15rem; padding: .35rem .9rem; }
.balance-card .pill.balance--owed { background: rgba(255, 196, 143, .18); color: #FFC48F; }
.balance-card .pill.balance--credit { background: rgba(156, 240, 201, .16); color: #9CF0C9; }
.balance-card .pill.balance--neutral { background: rgba(255, 255, 255, .16); color: #fff; }
.balance-card .d-flex .pill { font-size: .85rem; padding: .25rem .7rem; }
.list-group.list-card .list-group-item { border-width: 0; border-bottom: 1px solid var(--ui-line); background: transparent; color: var(--bs-body-color); }
.list-group.list-card .list-group-item:last-child { border-bottom: 0; }
.list-group.list-card .list-group-item.text-danger { color: var(--bs-danger-text-emphasis) !important; }
.list-group.list-card .list-group-item-action:hover { background: var(--ui-tint); }

/* Utilitários de quebra: permitem que itens flex encolham e que textos longos (endereços) quebrem em linhas. */
.min-w-0 { min-width: 0; }
.text-wrap-anywhere { white-space: normal; overflow-wrap: anywhere; }

/* Menu do topo (desktop) */
.topbar-nav { gap: .25rem; }
.topbar-nav__item { padding: .5rem .85rem; border-radius: .5rem; color: var(--bs-secondary-color); font-weight: 600; text-decoration: none; }
.topbar-nav__item:hover, .topbar-nav__item:focus-visible { color: var(--bs-body-color); background: var(--bs-tertiary-bg); }
.topbar-nav__item.is-active { color: var(--bs-body-color); box-shadow: inset 0 -3px 0 var(--brand-orange, #f39200); border-radius: .5rem .5rem 0 0; }
.topbar-user { font-weight: 600; color: var(--bs-body-color); }

/* Ver/ocultar valores (botão do topo): desfoca todo `.money` e mantém o layout. */
.values-hidden .money { filter: blur(7px); -webkit-user-select: none; user-select: none; pointer-events: none; }
.topbar-values { color: inherit; min-width: 44px; min-height: 44px; }
