/* Mobile/PWA shell for the Filament panel. Desktop remains governed by aurora.css. */

.gf-mobile-header,
.gf-mobile-tabbar,
.gf-mobile-more-overlay {
  display: none;
}

.gf-glass {
  background: rgba(17, 24, 39, .84);
}

@supports ((-webkit-backdrop-filter: blur(18px)) or (backdrop-filter: blur(18px))) {
  .gf-glass {
    background: rgba(17, 24, 39, .64);
    -webkit-backdrop-filter: blur(18px) saturate(1.35);
    backdrop-filter: blur(18px) saturate(1.35);
  }
}

@media (max-width: 767.98px) {
  :root {
    --gf-mobile-top: calc(env(safe-area-inset-top) + 124px);
    --gf-mobile-shell-top: calc(env(safe-area-inset-top) + 112px);
    --gf-mobile-tabbar-height: calc(env(safe-area-inset-bottom) + 76px);
    --gf-mobile-bottom-gap: 18px;
    --gf-mobile-bottom: calc(var(--gf-mobile-tabbar-height) + var(--gf-mobile-bottom-gap));
    --gf-mobile-scroll-bottom: calc(var(--gf-mobile-bottom) + 12px);
    --gf-mobile-main-bottom: 14px;
    --gf-mobile-gutter: max(14px, env(safe-area-inset-left));
    --gf-mobile-gutter-r: max(14px, env(safe-area-inset-right));
  }

  html {
    font-size: 15px;
    min-height: 100dvh;
    overflow-x: hidden;
    scroll-padding-bottom: var(--gf-mobile-scroll-bottom);
  }

  body,
  .fi-body {
    min-height: 100dvh;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    scroll-padding-bottom: var(--gf-mobile-scroll-bottom);
  }

  .fi-body {
    background:
      radial-gradient(780px 420px at 120% -10%, rgba(16, 185, 129, .13), transparent 52%),
      radial-gradient(620px 320px at -18% 28%, rgba(56, 189, 248, .10), transparent 56%),
      #0b0e14 !important;
    background-attachment: fixed;
  }

  .fi-sidebar,
  .fi-topbar {
    display: none !important;
  }

  /* As confirmações do inbox pertencem ao Livewire montado na topbar desktop.
     Reabre somente o contexto de posicionamento, sem revelar a navegação oculta. */
  .fi-topbar:has(.gf-no-shell .fi-modal.fi-modal-open[id*="-action-"]) {
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    visibility: hidden !important;
  }

  .fi-topbar:has(.gf-no-shell .fi-modal.fi-modal-open[id*="-action-"])
  .fi-modal.fi-modal-open[id*="-action-"] {
    visibility: visible !important;
  }

  .fi-main,
  .fi-main.fi-width-full {
    margin-inline-start: 0 !important;
    max-width: 100% !important;
    padding: var(--gf-mobile-top) var(--gf-mobile-gutter-r) var(--gf-mobile-main-bottom) var(--gf-mobile-gutter) !important;
    scroll-padding-bottom: var(--gf-mobile-scroll-bottom);
    width: 100% !important;
  }

  .fi-page,
  .fi-page > *,
  .fi-main-ctn,
  .fi-page-content,
  .fi-section,
  .fi-wi,
  .fi-ta,
  .fi-ta-ctn,
  .fi-ta-main {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .fi-main-ctn,
  .fi-page,
  .fi-page-content {
    scroll-padding-bottom: var(--gf-mobile-scroll-bottom);
  }

  .fi-page {
    gap: 14px !important;
  }

  .fi-page::after {
    block-size: var(--gf-mobile-scroll-bottom);
    content: "";
    display: block;
    flex: 0 0 var(--gf-mobile-scroll-bottom);
    inline-size: 100%;
    pointer-events: none;
  }

  .fi-header {
    gap: 10px !important;
  }

  .fi-header-heading {
    font-size: 1.18rem !important;
    line-height: 1.18 !important;
  }

  .fi-header-subheading,
  .fi-ta-header-description {
    font-size: .88rem !important;
  }

  .fi-header-actions-ctn,
  .fi-ta-actions.fi-wrapped,
  .fi-ta-header-toolbar {
    gap: 8px !important;
  }

  .fi-header-actions-ctn,
  .fi-ta-header-toolbar,
  .fi-ta-header {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .fi-btn {
    min-height: 44px;
  }

  .fi-icon-btn {
    min-height: 44px !important;
    min-width: 44px !important;
  }

  .gf-mobile-header {
    align-items: stretch;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .25);
    display: grid;
    gap: 8px;
    left: 0;
    min-height: calc(env(safe-area-inset-top) + 112px);
    padding: env(safe-area-inset-top) var(--gf-mobile-gutter-r) 10px var(--gf-mobile-gutter);
    position: fixed;
    right: 0;
    top: 0;
    z-index: 60;
  }

  body.gf-mobile-more-open,
  body.gf-mobile-notifications-open {
    overflow: hidden;
  }

  body.gf-mobile-more-open .gf-mobile-header,
  body.gf-mobile-notifications-open .gf-mobile-header {
    z-index: 90;
  }

  .gf-mobile-header-row {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-width: 0;
  }

  .gf-mobile-brand {
    align-items: center;
    color: rgb(243, 245, 249);
    display: inline-flex;
    gap: 10px;
    min-width: 0;
    text-decoration: none;
  }

  .gf-mobile-brand-icon {
    border-radius: 11px;
    box-shadow: 0 10px 26px rgba(16, 185, 129, .24);
    flex: 0 0 36px;
    height: 36px;
    width: 36px;
  }

  .gf-mobile-brand span {
    display: grid;
    gap: 1px;
    min-width: 0;
  }

  .gf-mobile-brand-kicker {
    color: rgb(159, 173, 191);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .gf-mobile-brand strong {
    display: block;
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.12;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gf-mobile-header-actions {
    align-items: center;
    display: flex;
    flex: none;
    gap: 10px;
  }

  .gf-mobile-icon-btn,
  .gf-mobile-header-actions .fi-topbar-database-notifications-btn,
  .gf-mobile-header-actions .fi-user-menu-trigger {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: rgb(219, 226, 236);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    min-width: 42px;
    padding: 0;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
  }

  .gf-mobile-icon-btn svg,
  .gf-mobile-header-actions .fi-topbar-database-notifications-btn svg {
    height: 20px;
    width: 20px;
  }

  .gf-mobile-user-menu,
  .gf-mobile-user-menu .fi-simple-user-menu-ctn {
    display: inline-flex;
  }

  .gf-mobile-user-menu {
    margin-inline: 1px;
  }

  .gf-mobile-header-actions .fi-user-menu-trigger .fi-avatar,
  .gf-mobile-header-actions .fi-user-menu-trigger img {
    height: 30px;
    width: 30px;
  }

  .gf-mobile-header-actions .fi-icon-btn-badge-ctn {
    inset-block-start: -5px;
    inset-inline-end: -5px;
  }

  .gf-mobile-icon-btn {
    position: relative;
  }

  .gf-mobile-notifications-badge {
    align-items: center;
    background: rgb(245, 158, 11);
    border: 2px solid rgba(17, 24, 39, .92);
    border-radius: 999px;
    color: rgb(17, 24, 39);
    display: inline-flex;
    font-size: .62rem;
    font-weight: 850;
    height: 18px;
    justify-content: center;
    min-width: 18px;
    padding: 0 5px;
    position: absolute;
    right: -4px;
    top: -4px;
  }

  .gf-mobile-search {
    min-width: 0;
    width: 100%;
  }

  .gf-mobile-search .fi-global-search-ctn,
  .gf-mobile-search .fi-global-search,
  .gf-mobile-search .fi-global-search-field {
    width: 100%;
  }

  .gf-mobile-search .fi-input-wrp {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .12) !important;
    min-height: 42px !important;
  }

  .gf-mobile-search .fi-input {
    color: rgb(243, 245, 249) !important;
    min-height: 42px !important;
  }

  .gf-mobile-search .fi-global-search-results-ctn {
    background: rgba(17, 24, 39, .96);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    box-shadow: 0 20px 54px rgba(0, 0, 0, .46);
    left: var(--gf-mobile-gutter) !important;
    max-height: calc(100dvh - var(--gf-mobile-top) - var(--gf-mobile-bottom) + 38px);
    overflow-y: auto;
    position: fixed !important;
    right: var(--gf-mobile-gutter-r) !important;
    top: calc(env(safe-area-inset-top) + 112px) !important;
    width: auto !important;
    z-index: 90;
  }

  .gf-mobile-primary-btn {
    background: linear-gradient(135deg, #10b981, #38bdf8);
    border-color: rgba(255, 255, 255, .20);
    color: #03130d;
  }

  .gf-mobile-icon-btn:active,
  .gf-mobile-tab:active,
  .gf-mobile-more-link:active {
    transform: scale(.97);
  }

  .gf-mobile-tabbar {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 24px 24px 0 0;
    border-bottom: 0;
    bottom: 0;
    box-shadow: 0 -18px 46px rgba(0, 0, 0, .34);
    display: grid;
    gap: 2px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    left: 0;
    min-height: var(--gf-mobile-tabbar-height);
    padding: 8px max(8px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 8px) max(8px, env(safe-area-inset-left));
    position: fixed;
    right: 0;
    z-index: 61;
  }

  .gf-mobile-tab {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 16px;
    color: rgb(159, 173, 191);
    display: grid;
    font: inherit;
    font-size: .72rem;
    font-weight: 750;
    gap: 4px;
    justify-items: center;
    min-height: 58px;
    min-width: 0;
    padding: 6px 2px;
    text-align: center;
    text-decoration: none;
  }

  .gf-mobile-tab svg {
    height: 21px;
    width: 21px;
  }

  .gf-mobile-tab span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
  }

  .gf-mobile-tab {
    position: relative;
  }

  .gf-mobile-tab-badge {
    align-items: center;
    background: rgb(245, 158, 11);
    border: 2px solid rgba(17, 24, 39, .92);
    border-radius: 999px;
    color: rgb(17, 24, 39);
    display: inline-flex;
    font-size: .62rem;
    font-weight: 850;
    height: 18px;
    justify-content: center;
    min-width: 18px;
    padding: 0 5px;
    position: absolute;
    right: 14px;
    top: 4px;
    width: auto !important;
  }

  [data-gf-transactions-tabs] {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .018)),
      rgba(15, 23, 42, .52);
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 14px 36px rgba(0, 0, 0, .22);
    padding: 8px;
  }

  [data-gf-transactions-tabs] .fi-tabs {
    display: grid !important;
    gap: 7px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible !important;
    width: 100%;
  }

  [data-gf-transactions-tabs] .fi-tabs-item {
    align-items: center !important;
    display: grid !important;
    gap: 0 8px !important;
    grid-template-columns: 20px minmax(0, 1fr) minmax(20px, auto);
    justify-content: initial !important;
    justify-items: start !important;
    min-height: 40px;
    min-width: 0 !important;
    padding: 0 9px !important;
    text-align: left;
    width: 100%;
  }

  [data-gf-transactions-tabs] .fi-tabs-item:not(:has(svg))::before {
    content: "";
    display: block;
    grid-column: 1;
    height: 20px;
    width: 20px;
  }

  [data-gf-transactions-tabs] .fi-tabs-item svg {
    grid-column: 1;
    height: 18px !important;
    justify-self: center;
    width: 18px !important;
  }

  [data-gf-transactions-tabs] .fi-tabs-item > span:not(.fi-badge) {
    grid-column: 2;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  [data-gf-transactions-tabs] .fi-tabs-item .fi-badge {
    grid-column: 3;
    justify-self: end;
    min-width: 20px;
  }

  .gf-mobile-tab.is-active {
    background: rgba(16, 185, 129, .14);
    color: rgb(74, 222, 178);
  }

  .gf-mobile-more-overlay {
    background: rgba(5, 10, 18, .94);
    bottom: 0;
    display: block;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: var(--gf-mobile-shell-top);
    transition: opacity .18s ease;
    z-index: 80;
  }

  body.gf-mobile-more-open .gf-mobile-more-overlay {
    opacity: 1;
    pointer-events: auto;
  }

  .gf-mobile-more-sheet {
    border: 1px solid rgba(255, 255, 255, .12);
    border-inline: 0;
    border-radius: 0;
    bottom: 0;
    box-shadow: none;
    color: rgb(243, 245, 249);
    display: flex;
    flex-direction: column;
    left: 0;
    max-height: none;
    min-height: 100%;
    outline: none;
    overflow: hidden;
    padding: 14px var(--gf-mobile-gutter-r) calc(env(safe-area-inset-bottom) + 14px) var(--gf-mobile-gutter);
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(10px);
    transition: transform .2s ease;
  }

  body.gf-mobile-more-open .gf-mobile-more-sheet {
    transform: translateY(0);
  }

  .gf-mobile-sheet-handle {
    display: none;
  }

  .gf-mobile-more-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
  }

  .gf-mobile-more-head p {
    color: rgb(159, 173, 191);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    margin: 0 0 2px;
    text-transform: uppercase;
  }

  .gf-mobile-more-head h2 {
    font-size: 1.18rem;
    font-weight: 850;
    line-height: 1.15;
    margin: 0;
  }

  .gf-mobile-more-content {
    display: grid;
    flex: 1 1 auto;
    gap: 18px;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 6px;
    scroll-padding-bottom: calc(env(safe-area-inset-bottom) + 18px);
  }

  .gf-mobile-more-group h3 {
    color: rgb(159, 173, 191);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .05em;
    margin: 0 0 8px;
    text-transform: uppercase;
  }

  .gf-mobile-more-links {
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    overflow: hidden;
  }

  .gf-mobile-more-link {
    align-items: center;
    color: rgb(219, 226, 236);
    display: grid;
    gap: 10px;
    grid-template-columns: 36px minmax(0, 1fr) 18px;
    min-height: 52px;
    padding: 8px 12px;
    text-decoration: none;
  }

  .gf-mobile-more-label {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    min-width: 0;
  }

  .gf-mobile-more-label > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gf-mobile-more-link + .gf-mobile-more-link {
    border-top: 1px solid rgba(255, 255, 255, .08);
  }

  .gf-mobile-more-link.is-active {
    background: rgba(16, 185, 129, .12);
    color: rgb(74, 222, 178);
  }

  .gf-mobile-more-icon {
    align-items: center;
    background: rgba(255, 255, 255, .07);
    border-radius: 12px;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    width: 36px;
  }

  .gf-mobile-more-icon svg,
  .gf-mobile-more-chevron {
    height: 18px;
    width: 18px;
  }

  .gf-mobile-more-chevron {
    color: rgb(107, 120, 137);
  }

  .fi-ta-ctn {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .fi-ta-content-ctn {
    margin-top: 12px !important;
    overflow: visible !important;
    scroll-padding-bottom: var(--gf-mobile-scroll-bottom);
  }

  .fi-ta-table {
    border-collapse: separate !important;
    border-spacing: 0 12px !important;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .fi-ta-table thead {
    display: none !important;
  }

  .fi-ta-table tbody {
    display: grid !important;
    gap: 12px;
    width: 100%;
  }

  .fi-ta-row {
    width: 100% !important;
  }

  .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .035)),
      rgba(17, 24, 39, .74) !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, .25);
    display: grid !important;
    gap: 0 !important;
    overflow: hidden;
    padding: 8px 12px !important;
    position: relative;
  }

  .fi-ta-row.fi-ta-group-header-row {
    display: block !important;
    margin-top: 2px !important;
  }

  .fi-ta-row.fi-ta-group-header-row .fi-ta-cell {
    background: rgba(56, 189, 248, .10) !important;
    border: 1px solid rgba(56, 189, 248, .18);
    border-radius: 14px;
    display: block !important;
    padding: 10px 12px !important;
  }

  .fi-ta-cell {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .075) !important;
    display: grid !important;
    align-items: center;
    column-gap: 14px;
    grid-template-columns: 104px minmax(0, 1fr);
    min-width: 0 !important;
    padding: 9px 0 !important;
    width: 100% !important;
  }

  .fi-ta-cell:last-child {
    border-bottom: 0 !important;
  }

  .fi-ta-cell-label {
    align-self: start;
    color: rgb(159, 173, 191);
    display: block !important;
    font-size: .72rem;
    font-weight: 820;
    grid-column: 1;
    justify-self: start !important;
    letter-spacing: .02em;
    line-height: 1.25;
    padding-top: 2px;
    text-align: left !important;
    text-transform: uppercase;
    width: 100%;
  }

  .fi-ta-cell-content,
  .fi-ta-col {
    grid-column: 2;
    justify-self: stretch !important;
    min-width: 0 !important;
    text-align: left !important;
    width: 100%;
  }

  .fi-ta-cell .fi-ta-text {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .fi-ta-cell:is(
    .fi-ta-cell-total,
    .fi-ta-cell-amount,
    .fi-ta-cell-value,
    .fi-ta-cell-balance,
    .fi-ta-cell-paid-amount,
    .fi-ta-cell-monthly-payment,
    .fi-ta-cell-matching-transactions-count,
    .fi-ta-cell-estimated-miles
  ) .fi-ta-cell-content {
    justify-self: end !important;
    text-align: right !important;
  }

  .fi-ta-cell:is(
    .fi-ta-cell-total,
    .fi-ta-cell-amount,
    .fi-ta-cell-value,
    .fi-ta-cell-balance,
    .fi-ta-cell-paid-amount,
    .fi-ta-cell-monthly-payment,
    .fi-ta-cell-matching-transactions-count,
    .fi-ta-cell-estimated-miles
  ) .fi-ta-text {
    align-items: flex-end !important;
    text-align: right !important;
  }

  .fi-ta-cell:is(
    .fi-ta-cell-status,
    .fi-ta-cell-payment-state,
    .fi-ta-cell-arquivo,
    .fi-ta-cell-reference-month,
    .fi-ta-cell-due-date
  ) .fi-ta-cell-content {
    justify-self: start !important;
    text-align: left !important;
  }

  .fi-ta-cell:is(
    .fi-ta-cell-status,
    .fi-ta-cell-payment-state,
    .fi-ta-cell-arquivo,
    .fi-ta-cell-reference-month,
    .fi-ta-cell-due-date
  ) .fi-ta-text {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .fi-ta-text,
  .fi-ta-text-item,
  .fi-ta-text-item-label,
  .fi-ta-text-summary,
  .fi-ta-col,
  .fi-badge {
    max-width: 100%;
    min-width: 0;
  }

  .fi-ta-actions {
    flex-wrap: wrap !important;
    justify-content: flex-end;
  }

  .fi-ta-cell:has(.fi-ta-actions),
  .fi-ta-cell:has(.fi-checkbox-input) {
    display: flex !important;
    justify-content: flex-end;
  }

  .fi-ta-cell:has(.fi-ta-actions) .fi-ta-cell-label,
  .fi-ta-cell:has(.fi-checkbox-input) .fi-ta-cell-label {
    display: none !important;
  }

  .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) > .fi-ta-selection-cell {
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    height: auto !important;
    inset-block-start: 12px;
    inset-inline-end: 12px;
    justify-content: flex-end !important;
    min-width: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    width: auto !important;
    z-index: 2;
  }

  .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row):has(> .fi-ta-selection-cell) > .fi-ta-cell-status {
    padding-inline-end: 46px !important;
  }

  .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) > .fi-ta-cell-status .gf-payment-status {
    width: min(170px, 100%) !important;
  }

  .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) > .fi-ta-selection-cell .fi-checkbox-input {
    margin: 0 !important;
  }

  .fi-ta-summary-row {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .032)),
      rgba(17, 24, 39, .78) !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .22);
    display: grid !important;
    gap: 0 !important;
    overflow: hidden;
    padding: 10px 14px !important;
    width: 100% !important;
  }

  .fi-ta-summary-row > td:not(.fi-ta-cell) {
    display: none !important;
  }

  .fi-ta-summary-row > .fi-ta-cell {
    border: 0 !important;
    display: block !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .fi-ta-summary-row-heading-cell {
    color: rgb(159, 173, 191) !important;
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .03em;
    line-height: 1.25;
    padding-bottom: 8px !important;
    text-transform: uppercase;
  }

  .fi-ta-summary-row .fi-ta-text-summary {
    align-items: baseline;
    border-top: 1px solid rgba(255, 255, 255, .075);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding-top: 10px;
    width: 100%;
  }

  .fi-ta-summary-row .fi-ta-text-summary-label {
    color: rgb(159, 173, 191);
    font-size: .78rem;
    font-weight: 760;
  }

  .fi-ta-summary-row .fi-ta-text-summary > span:last-child {
    color: rgb(243, 245, 249);
    font-family: var(--mono-font-family, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.2;
    text-align: right;
  }

  .fi-pagination,
  .fi-ta-pagination {
    flex-wrap: wrap;
    justify-content: center;
    scroll-margin-bottom: var(--gf-mobile-scroll-bottom);
  }

  .fi-ta-header-toolbar {
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 16px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 0 !important;
    padding: 10px !important;
  }

  .fi-ta-header-toolbar > * {
    min-width: 0 !important;
    width: 100% !important;
  }

  .fi-ta-header-toolbar > .fi-ta-actions {
    min-height: 0 !important;
  }

  .fi-ta-header-toolbar > .fi-ta-actions .fi-ta-grouping-settings {
    display: inline-flex !important;
    min-height: 44px !important;
    min-width: 44px !important;
  }

  .fi-ta-header-toolbar > div:not(.fi-ta-actions) {
    align-items: center !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    justify-content: stretch !important;
    margin-inline: 0 !important;
  }

  .fi-ta-search-field {
    width: 100% !important;
  }

  .fi-ta-header-toolbar .fi-input-wrp,
  .fi-ta-header-toolbar .fi-icon-btn {
    min-height: 44px !important;
  }

  .fi-ta-header-toolbar .fi-icon-btn {
    min-width: 44px !important;
  }

  .fi-ta-filters-dropdown .fi-icon-btn-badge-ctn {
    display: none !important;
  }

  .fi-ta-filters-above-content-ctn,
  .fi-ta-filters-before-content-ctn,
  .fi-ta-filters-after-content-ctn {
    max-width: 100% !important;
  }

  .fi-ta-filters-above-content-ctn.fi-open,
  .fi-ta-filters-before-content-ctn.fi-open,
  .fi-ta-filters-after-content-ctn.fi-open {
    background: rgba(17, 24, 39, .96);
    border: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 0;
    border-radius: 24px 24px 0 0;
    bottom: 0;
    box-shadow: 0 -24px 70px rgba(0, 0, 0, .56);
    left: 0;
    max-height: min(86dvh, 760px);
    overflow-y: auto;
    padding: 14px var(--gf-mobile-gutter-r) calc(env(safe-area-inset-bottom) + 18px) var(--gf-mobile-gutter);
    position: fixed;
    right: 0;
    scroll-padding-bottom: calc(env(safe-area-inset-bottom) + 18px);
    z-index: 75;
  }

  .fi-ta-filters-dropdown .fi-ta-filters {
    background: rgba(17, 24, 39, .96);
    border: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 0;
    border-radius: 24px 24px 0 0;
    bottom: 0 !important;
    box-shadow: 0 -24px 70px rgba(0, 0, 0, .56);
    left: 0 !important;
    max-height: min(86dvh, 760px);
    overflow-y: auto;
    padding: 18px var(--gf-mobile-gutter-r) calc(env(safe-area-inset-bottom) + 18px) var(--gf-mobile-gutter);
    position: fixed !important;
    right: 0 !important;
    scroll-padding-bottom: calc(env(safe-area-inset-bottom) + 18px);
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    z-index: 75;
  }

  @supports ((-webkit-backdrop-filter: blur(18px)) or (backdrop-filter: blur(18px))) {
    .fi-ta-filters-above-content-ctn.fi-open,
    .fi-ta-filters-before-content-ctn.fi-open,
    .fi-ta-filters-after-content-ctn.fi-open,
    .fi-ta-filters-dropdown .fi-ta-filters {
      background: rgba(17, 24, 39, .78);
      -webkit-backdrop-filter: blur(18px) saturate(1.25);
      backdrop-filter: blur(18px) saturate(1.25);
    }
  }

  .fi-ta-filters-actions-ctn {
    background: linear-gradient(180deg, rgba(17, 24, 39, 0), rgba(17, 24, 39, .98) 24%);
    bottom: calc(env(safe-area-inset-bottom) - 1px);
    margin-top: 10px;
    padding-top: 14px;
    position: sticky;
  }

  .fi-modal-window-ctn {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  /* Modais de ações pertencem ao conteúdo principal e precisam ficar acima
     do shell fixo (cabeçalho e tabbar), inclusive para manter o X clicável. */
  .fi-main .fi-modal.fi-modal-open .fi-modal-close-overlay,
  .fi-main .fi-modal.fi-modal-open .fi-modal-window-ctn {
    z-index: 100 !important;
  }

  .fi-modal-window {
    border-radius: 24px 24px 0 0 !important;
    max-height: min(92dvh, calc(var(--gf-vh, 100vh) - env(safe-area-inset-top) - 16px)) !important;
    max-width: 100% !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  .fi-modal-content {
    max-height: calc(min(92dvh, var(--gf-vh, 100vh)) - 150px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scroll-padding-bottom: calc(env(safe-area-inset-bottom) + 18px);
  }

  .fi-modal-header,
  .fi-modal-footer {
    position: sticky;
    z-index: 1;
  }

  .fi-modal-header {
    top: 0;
  }

  .fi-modal-footer {
    bottom: 0;
  }

  body.gf-mobile-notifications-open .gf-no-drawer > .fi-modal-window-ctn {
    align-items: stretch !important;
    height: 100dvh !important;
    justify-content: stretch !important;
    min-height: 100dvh !important;
    padding: var(--gf-mobile-shell-top) 0 0 !important;
    z-index: 80 !important;
  }

  body.gf-mobile-notifications-open .gf-no-drawer > .fi-modal-window-ctn > .gf-no-window {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: calc(var(--gf-vh, 100vh) - var(--gf-mobile-shell-top)) !important;
    max-height: calc(var(--gf-vh, 100vh) - var(--gf-mobile-shell-top)) !important;
    max-width: 100vw !important;
    width: 100vw !important;
    z-index: 81 !important;
  }

  body.gf-mobile-notifications-open .gf-no-drawer .fi-modal-close-overlay {
    background: rgba(5, 10, 18, .94) !important;
    inset: var(--gf-mobile-shell-top) 0 0 0 !important;
    z-index: 80 !important;
  }

  .fi-fo-component-ctn,
  .fi-sc-component,
  .fi-in {
    min-width: 0 !important;
  }

  .fi-fo-field-wrp,
  .fi-input-wrp,
  .fi-select-input,
  .fi-input,
  .fi-textarea {
    max-width: 100%;
  }

  .fi-input,
  .fi-select-input,
  .fi-textarea {
    font-size: 16px !important;
  }

  .fi-section,
  .fi-wi-widget,
  .fi-wi-stats-overview-stat,
  .rel-card,
  .rel-kpi,
  .man-card,
  .gf-cardh-row,
  .gf-budget-row,
  .gf-history-panel,
  .fh-card,
  .fh-kpi,
  .fh-action,
  .fh-table-wrap,
  .rc-panel {
    border-radius: 18px !important;
  }

  .rel-kpis,
  .rel-cards,
  .rel-forecast,
  .rel-rec-grid,
  .man-grid,
  .gf-cardh-list,
  .gf-budget-list,
  .fh-toolbar,
  .fh-filters,
  .fh-spending-grid,
  .fh-spending-breakdowns,
  .fh-action-grid,
  .fh-market-grid,
  .fh-forecast-grid,
  .rc-toolbar,
  .rc-layout {
    grid-template-columns: 1fr !important;
  }

  .rel-toolbar,
  .txn-monthnav,
  .gf-dashboard-title,
  .gf-dashboard-warning,
  .rc-title-row,
  .rc-preview-header,
  .rc-status-top,
  .fh-section-title {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .txn-month {
    min-width: 0 !important;
    width: 100%;
  }

  .gf-dashboard-mode {
    grid-template-columns: 1fr !important;
  }

  .gf-kpi-grid-4,
  .gf-kpi-grid-auto {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gf-kpi-card strong {
    font-size: 1.02rem;
  }

  .gf-due-row {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }

  .gf-table-money {
    justify-items: start !important;
    min-width: 0 !important;
  }

  .gf-table-money-progress {
    max-width: 100%;
  }

  .rc-email-frame {
    height: min(54dvh, 460px) !important;
  }

  .rc-table-wrap,
  .fh-table-wrap {
    overflow-x: visible !important;
    scroll-padding-bottom: var(--gf-mobile-scroll-bottom);
  }

  .man-preview-items,
  .fh-table-wrap,
  .rc-pre,
  .rc-table-wrap,
  .ret-table-wrap,
  .gf-no-list {
    scroll-padding-bottom: var(--gf-mobile-scroll-bottom);
  }

  .rc-table,
  .fh-table {
    display: block;
    min-width: 0 !important;
  }

  .rc-table thead,
  .fh-table thead {
    display: none;
  }

  .rc-table tbody,
  .fh-table tbody {
    display: grid;
    gap: 10px;
  }

  .rc-table tr,
  .fh-table tr {
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    display: grid;
    gap: 6px;
    padding: 10px 12px;
  }

  .rc-table td,
  .fh-table td {
    border: 0 !important;
    display: block;
    padding: 0 !important;
    text-align: left !important;
  }

  .rc-attachment {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }

  .rc-attachment .rc-download {
    grid-column: 2;
    justify-self: start;
  }

  .fh-select {
    min-height: 44px;
    min-width: 0 !important;
    width: 100%;
  }

  .fh-month-bars {
    grid-auto-columns: minmax(54px, 1fr);
    grid-auto-flow: column;
    grid-template-columns: none !important;
    min-height: 142px;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .fh-month-bar {
    min-width: 54px;
    scroll-snap-align: start;
  }

  .fh-month {
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    padding: 10px 12px;
  }

  .fh-money {
    text-align: left !important;
  }

  [style*="grid-template-columns:90px 1fr 130px"],
  [style*="grid-template-columns: minmax(280px, 380px) minmax(0, 1fr)"] {
    grid-template-columns: 1fr !important;
  }

  iframe,
  canvas,
  svg,
  img,
  video,
  table {
    max-width: 100%;
  }
}

@media (max-width: 390px) {
  .gf-mobile-tab {
    font-size: .66rem;
  }

  .fi-ta-cell {
    column-gap: 10px;
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .fi-ta-cell-label {
    padding-top: 1px;
  }

  .gf-kpi-grid-4 {
    grid-template-columns: 1fr !important;
  }
}

@media (display-mode: standalone) and (max-width: 767.98px) {
  :root {
    --gf-mobile-shell-top: calc(env(safe-area-inset-top) + 116px);
  }

  .gf-mobile-header {
    min-height: calc(env(safe-area-inset-top) + 116px);
  }

  .fi-main,
  .fi-main.fi-width-full {
    padding-top: calc(env(safe-area-inset-top) + 126px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gf-mobile-icon-btn,
  .gf-mobile-tab,
  .gf-mobile-more-link,
  .gf-mobile-more-sheet,
  .gf-mobile-more-overlay {
    transition: none !important;
  }
}

/* Card mobile próprio da central de Transações. */
@media (max-width: 1023.98px) {
  .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row)
    > .fi-ta-cell > .fi-ta-cell-content > .fi-ta-col > .fi-ta-text {
    padding: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
  .fi-resource-transactions .fi-ta-content-ctn {
    margin-top: 12px !important;
    overflow: visible !important;
  }

  .fi-resource-transactions .fi-ta-table {
    border-collapse: separate !important;
    border-spacing: 0 12px !important;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .fi-resource-transactions .fi-ta-table thead {
    display: none !important;
  }

  .fi-resource-transactions .fi-ta-table tbody {
    display: grid !important;
    gap: 12px;
    width: 100%;
  }

  .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) {
    background: color-mix(in srgb, var(--gray-500) 5%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--gray-500) 18%, transparent) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, .10);
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px !important;
    overflow: hidden;
    padding: 13px !important;
    position: relative;
    width: 100% !important;
  }

  .dark .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) {
    background: rgba(17, 24, 39, .74) !important;
    border-color: rgba(255, 255, 255, .10) !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, .25);
  }

  .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) > .fi-ta-cell {
    background: transparent !important;
    border: 0 !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) > :is(
    .fi-ta-cell-description,
    .fi-ta-cell-amount,
    .fi-ta-cell-status,
    .fi-ta-cell-date,
    .fi-ta-cell-origin,
    .fi-ta-actions-cell,
    .fi-ta-cell:has(.fi-ta-actions),
    .fi-ta-selection-cell
  ) {
    display: flex !important;
  }

  .fi-resource-transactions .fi-ta-cell-label { display: none !important; }
  .fi-resource-transactions .fi-ta-cell-description { grid-column: 1; grid-row: 1; min-width: 0; }
  .fi-resource-transactions .fi-ta-cell-description .gf-table-identity-title {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .fi-resource-transactions .fi-ta-cell-amount { grid-column: 2; grid-row: 1; align-items: flex-start !important; justify-content: flex-end; padding-right: 34px !important; }
  .fi-resource-transactions .fi-ta-cell-amount .fi-ta-text { align-items: flex-end !important; text-align: right !important; }
  .fi-resource-transactions .fi-ta-cell-amount .fi-ta-text-description { display: none !important; }
  .fi-resource-transactions .fi-ta-cell-status { grid-column: 1 / -1; grid-row: 2; }
  .fi-resource-transactions .fi-ta-cell-status .gf-payment-status { width: auto !important; min-width: 0; }
  .fi-resource-transactions .fi-ta-cell-date { grid-column: 1; grid-row: 3; }
  .fi-resource-transactions .fi-ta-cell-date .fi-ta-text,
  .fi-resource-transactions .fi-ta-cell-origin .fi-ta-text { align-items: flex-start !important; font-size: .78rem; }
  .fi-resource-transactions .fi-ta-cell-origin { grid-column: 1; grid-row: 4; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) { grid-column: 1 / -1; grid-row: 5; margin-top: 5px; padding-top: 10px !important; border-top: 1px solid color-mix(in srgb, var(--gray-500) 18%, transparent) !important; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) .fi-ta-actions { width: 100%; justify-content: space-between !important; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) .fi-btn:not(.fi-icon-btn) { flex: 1; justify-content: center; min-height: 44px; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) .gf-transaction-primary-action.fi-btn {
    flex: 0 0 154px !important;
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    height: 44px;
    min-height: 44px;
    padding-inline: 12px;
  }
  .fi-resource-transactions .fi-ta-selection-cell {
    grid-column: 2;
    grid-row: 1;
    height: auto !important;
    inset-block-start: 13px;
    inset-inline-end: 13px;
    justify-content: flex-end !important;
    min-width: 0 !important;
    position: absolute !important;
    width: auto !important;
    z-index: 2;
  }
}

@media (max-width: 767.98px) {
  .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px !important;
    padding: 13px !important;
  }

  .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) > .fi-ta-cell {
    border: 0 !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    padding: 0 !important;
  }

  .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) > :is(
    .fi-ta-cell-description,
    .fi-ta-cell-amount,
    .fi-ta-cell-status,
    .fi-ta-cell-date,
    .fi-ta-cell-origin,
    .fi-ta-actions-cell,
    .fi-ta-cell:has(.fi-ta-actions),
    .fi-ta-selection-cell
  ) {
    display: flex !important;
  }

  .fi-resource-transactions .fi-ta-cell-label { display: none !important; }
  .fi-resource-transactions .fi-ta-cell-description { grid-column: 1; grid-row: 1; min-width: 0; }
  .fi-resource-transactions .fi-ta-cell-description .gf-table-identity-title {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .fi-resource-transactions .fi-ta-cell-amount { grid-column: 2; grid-row: 1; align-items: flex-start !important; justify-content: flex-end; padding-right: 34px !important; }
  .fi-resource-transactions .fi-ta-cell-amount .fi-ta-text { align-items: flex-end !important; text-align: right !important; }
  .fi-resource-transactions .fi-ta-cell-amount .fi-ta-text-description { display: none !important; }
  .fi-resource-transactions .fi-ta-cell-status { grid-column: 1 / -1; grid-row: 2; }
  .fi-resource-transactions .fi-ta-cell-status .gf-payment-status { width: auto !important; min-width: 0; }
  .fi-resource-transactions .fi-ta-cell-date { grid-column: 1; grid-row: 3; }
  .fi-resource-transactions .fi-ta-cell-date .fi-ta-text,
  .fi-resource-transactions .fi-ta-cell-origin .fi-ta-text { align-items: flex-start !important; font-size: .78rem; }
  .fi-resource-transactions .fi-ta-cell-origin { grid-column: 1; grid-row: 4; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) { grid-column: 1 / -1; grid-row: 5; margin-top: 5px; padding-top: 10px !important; border-top: 1px solid rgba(255, 255, 255, .075) !important; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) .fi-ta-actions { width: 100%; justify-content: space-between !important; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) .fi-btn:not(.fi-icon-btn) { flex: 1; justify-content: center; min-height: 44px; }
  .fi-resource-transactions :is(.fi-ta-actions-cell, .fi-ta-cell:has(.fi-ta-actions)) .gf-transaction-primary-action.fi-btn {
    flex: 0 0 154px !important;
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    height: 44px;
    min-height: 44px;
    padding-inline: 12px;
  }
  .fi-resource-transactions .fi-ta-selection-cell { grid-column: 2; grid-row: 1; }
}

/* Mantido no fim do asset para prevalecer sobre o shell mobile legado. */
@media (max-width: 1023.98px) {
  .gf-mobile-icon-btn {
    min-height: 44px !important;
    min-width: 44px !important;
  }

  body.gf-mobile-notifications-open {
    overflow: hidden !important;
  }

  body.gf-mobile-notifications-open .gf-mobile-header,
  body.gf-mobile-notifications-open .gf-mobile-tabbar,
  body.gf-mobile-notifications-open [data-gf-more-overlay] {
    pointer-events: none !important;
    visibility: hidden !important;
  }

  body.gf-mobile-notifications-open .gf-no-drawer > .fi-modal-window-ctn {
    align-items: stretch !important;
    height: var(--gf-vh, 100dvh) !important;
    inset: 0 !important;
    justify-content: stretch !important;
    min-height: var(--gf-vh, 100dvh) !important;
    padding: 0 !important;
    z-index: 120 !important;
  }

  body.gf-mobile-notifications-open .gf-no-drawer > .fi-modal-window-ctn > .gf-no-window {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: var(--gf-vh, 100dvh) !important;
    max-height: var(--gf-vh, 100dvh) !important;
    max-width: 100vw !important;
    width: 100vw !important;
    z-index: 121 !important;
  }

  body.gf-mobile-notifications-open .gf-no-drawer .fi-modal-close-overlay {
    background: rgba(5, 10, 18, .94) !important;
    inset: 0 !important;
    z-index: 120 !important;
  }

  body.gf-mobile-notifications-open .gf-no-window > .fi-modal-header {
    padding-inline-end: max(12px, env(safe-area-inset-right)) !important;
    padding-inline-start: max(12px, env(safe-area-inset-left)) !important;
  }

  body.gf-mobile-notifications-open .gf-no-panel {
    padding-inline-end: max(10px, env(safe-area-inset-right)) !important;
    padding-inline-start: max(10px, env(safe-area-inset-left)) !important;
  }

  body.gf-mobile-notifications-open .gf-no-window > .fi-modal-footer {
    padding-inline-end: max(16px, env(safe-area-inset-right)) !important;
    padding-inline-start: max(16px, env(safe-area-inset-left)) !important;
  }
}

/* iPhone em landscape e tablets ultrapassam o breakpoint compacto de 640 px. */
@media (min-width: 640.01px) and (max-width: 1023.98px) {
  body.gf-mobile-notifications-open .gf-no-window > .fi-modal-header {
    padding-top: calc(18px + env(safe-area-inset-top)) !important;
  }

  body.gf-mobile-notifications-open .gf-no-panel {
    padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  }
}

[data-gf-notifications-toggle].is-loading svg {
  opacity: .28;
}

[data-gf-notifications-toggle].is-loading::after {
  animation: gf-notifications-loading .75s linear infinite;
  border: 2px solid rgba(255, 255, 255, .32);
  border-radius: 999px;
  border-top-color: rgb(52, 211, 153);
  content: "";
  height: 20px;
  inset: 50% auto auto 50%;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 20px;
}

.gf-mobile-notifications-load-status {
  align-items: center;
  background: rgb(15, 23, 42);
  border: 1px solid rgba(248, 113, 113, .48);
  border-radius: 12px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  box-shadow: 0 18px 48px rgba(0, 0, 0, .42);
  color: rgb(248, 250, 252);
  display: flex;
  flex-wrap: wrap;
  font-size: .84rem;
  font-weight: 700;
  gap: 10px 14px;
  inset-inline-end: max(12px, env(safe-area-inset-right));
  inset-inline-start: max(12px, env(safe-area-inset-left));
  justify-content: space-between;
  line-height: 1.4;
  padding: 12px 14px;
  position: fixed;
  z-index: 150;
}

.gf-mobile-notifications-load-status[hidden] {
  display: none !important;
}

.gf-mobile-notifications-load-status span {
  flex: 1 1 180px;
}

.gf-mobile-notifications-load-status button {
  align-items: center;
  background: rgb(248, 250, 252);
  border-radius: 8px;
  color: rgb(15, 23, 42);
  display: inline-flex;
  font-size: .8rem;
  font-weight: 850;
  justify-content: center;
  min-height: 44px;
  padding: 0 14px;
}

.gf-mobile-notifications-load-status button:focus-visible {
  outline: 3px solid rgb(56, 189, 248);
  outline-offset: 3px;
}

@keyframes gf-notifications-loading {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@media (max-width: 430px) {
  .gf-mobile-notifications-load-status {
    align-items: stretch;
    flex-direction: column;
  }

  .gf-mobile-notifications-load-status span {
    flex-basis: auto;
  }

  .gf-mobile-notifications-load-status button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-gf-notifications-toggle].is-loading::after {
    animation: none;
    border-color: rgb(52, 211, 153);
  }
}
