[hidden] { display: none !important; }
.nav-label { font-size: 9px; letter-spacing: .13em; color: #52685e; padding: 20px 14px 6px; }
.sidebar { overflow-y: auto; }
.sidebar-bottom { position: sticky; bottom: 0; background: #0b1712; }
.module-placeholder { min-height: 150px; padding: 28px; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 18px; }
.module-placeholder > span, .option-card > span { width: 48px; height: 48px; border-radius: 14px; background: #e8f8ee; color: #189753; display: grid; place-items: center; font-size: 21px; }
.module-placeholder strong { font-size: 15px; }
.module-placeholder p, .option-card p, .notice p { color: #7f8c87; font-size: 13px; line-height: 1.6; margin: 6px 0; }
.module-placeholder em { font-style: normal; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: #82908a; background: #f0f3f2; padding: 7px 9px; border-radius: 99px; }
.notice { padding: 18px 20px; border: 1px solid #cde8d8; background: #effaf3; border-radius: 14px; margin-bottom: 16px; }
.notice strong { font-size: 13px; }
.notice code { display: block; margin: 8px 0; color: #168b4d; }
.option-card { padding: 26px; }
.option-card h3 { margin: 18px 0 0; }
.option-card button { margin-top: 10px; }
.settings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .settings-grid { grid-template-columns: 1fr; } }
.integration-card { padding: 22px; }
.integration-card header { display: flex; justify-content: space-between; gap: 12px; }
.integration-card h3 { margin: 12px 0 4px; }
.integration-card p { color: #7f8c87; font-size: 12px; }
.finance-lab { margin: 20px 0; overflow: hidden; }
.finance-lab form { padding: 22px; display: grid; gap: 16px; }
#invoiceResult { padding: 0 22px 22px; }
.invoice-result { background: #effaf3; border: 1px solid #cde8d8; border-radius: 12px; padding: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.invoice-result small, .invoice-result strong { display: block; }
.invoice-result small { color: #7f8c87; margin-bottom: 4px; }
.status-pill { font-size: 10px; padding: 5px 8px; border-radius: 99px; background: #eef2f0; }
.status-pill.REGISTERED { background: #e3f8eb; color: #148849; }
.status-pill.FAILED { background: #fdebec; color: #b4353e; }
.provider-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 14px; }
.provider-card { padding: 20px; display: flex; flex-direction: column; min-height: 190px; }
.provider-logo { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; font-weight: 850; color: white; }
.provider-card h3 { margin: 16px 0 5px; }
.provider-card p { margin: 0 0 18px; color: #7f8c87; font-size: 12px; line-height: 1.5; }
.provider-card button { margin-top: auto; }
.provider-card button.secondary { background: #eef2f0; }
.connected-title { margin-top: 32px; }
.invoice-bubble { max-width: 520px; border-left: 4px solid #20c76a; }
.invoice-bubble > span { display: block; color: #7f8c87; font-size: 11px; margin: 4px 0 12px; }
.invoice-bubble dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.invoice-bubble dl div { background: #f5f8f6; border-radius: 8px; padding: 9px; }
.invoice-bubble dt { color: #7f8c87; font-size: 10px; }
.invoice-bubble dd { margin: 3px 0 0; font-size: 12px; font-weight: 700; }
.media-bubble { display: flex; align-items: center; gap: 12px; min-width: 290px; }
.media-icon { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: #e9f8ef; color: #159552; font-size: 20px; }
.media-icon.image { background: #e9f3fb; color: #357eae; }
.media-content { min-width: 0; flex: 1; }
.media-content strong, .media-content > span { display: block; }
.media-content strong { overflow-wrap: anywhere; }
.media-content > span { margin-top: 3px; color: #7f8c87; font-size: 11px; }

/* A caixa de entrada deve rolar por dentro, sem crescer além da viewport. */
.workspace { max-width: none; min-width: 0; }
.inbox-layout { min-height: 0; }
.conversation-list,
.thread,
.messages { min-width: 0; min-height: 0; }
.thread { overflow: hidden; }
.messages { overscroll-behavior: contain; scrollbar-gutter: stable; }
.composer { flex: 0 0 auto; }
