@media (max-width: 767.98px) {
  /* =========================
     AASS Mobile App Shell
     ========================= */
  :root {
    --safe-top: env(safe-area-inset-top, 0px);
    --safe-bottom: env(safe-area-inset-bottom, 0px);

    /* Paleta AASS */
    --aass-navy: #0b1f52;
    --aass-green: #5af388;
    --aass-green-2: #45c869;
    --aass-aqua: #17ead9;
    --aass-teal: #266764;

    /* Neutros */
    --aass-bg: #f2f3f5;
    --aass-card: #ffffff;
    --aass-text: #0b1220;
    --aass-muted: rgba(11, 18, 32, 0.62);

    --aass-border: rgba(11, 31, 82, 0.10);
    --aass-divider: rgba(11, 31, 82, 0.08);

    --shadow-1: 0 10px 20px rgba(11, 31, 82, 0.08);
    --shadow-2: 0 18px 44px rgba(11, 31, 82, 0.14);

    --r12: 12px;
    --r16: 16px;
    --r20: 20px;
    --r24: 24px;
    --pill: 999px;

    --tap: 44px;

	    /* Alturas do “app” */
	    --header-h: 96px;
	    --tabbar-h: 72px;

    /* Drawer */
    --drawer-w: min(86vw, 340px);
    --overlay: rgba(0, 0, 0, 0.55);

    /* Foco */
    --ring: rgba(23, 234, 217, 0.35);
  }

  * { box-sizing: border-box; }
  html, body { width: 100%; overflow-x: hidden; }
	  body {
	    margin: 0;
	    min-height: 100dvh;
	    overflow-x: hidden;
      /* Não deixar o body rolar no mobile app (PWA) — o scroll será no main.main-content */
      overflow-y: hidden;
    font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--aass-text);
	    background: var(--aass-bg);
	    -webkit-tap-highlight-color: transparent;
	    overscroll-behavior-y: none;
      padding-top: 0;
      padding-bottom: 0;
	  }

  /* Evitar zoom no iOS */
  input, select, textarea { font-size: 16px; }

  .text-muted, .form-text, small, .small { color: var(--aass-muted) !important; }

  /* Desliga “molduras” que dão cara de site */
  body::after { content: none !important; }
  .main-content::after { content: none !important; }

  /* =========================
     Overlay do drawer
     ========================= */
  body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: var(--overlay);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
    z-index: 1040;
  }
  body.sidebar-open::before { opacity: 1; pointer-events: auto; }
  body.sidebar-open {
    overflow: hidden;
  }

  html.sidebar-open,
  body.sidebar-open {
    height: 100%;
    overflow: hidden;
  }

  html, body {
    overscroll-behavior: none;
  }

  /* =========================
     Mobile loading bar
     ========================= */
  #mobile-loading-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(11, 31, 82, 0.12);
    z-index: 100200;
    pointer-events: none;
  }

  #mobile-loading-bar > span {
    display: block;
    height: 100%;
    width: 40%;
    background: linear-gradient(90deg, var(--aass-navy), var(--aass-aqua));
    animation: aass-loading-bar 1.1s ease-in-out infinite;
    border-radius: 999px;
  }

  body.page-loaded #mobile-loading-bar {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  @keyframes aass-loading-bar {
    0% { transform: translateX(-60%); }
    50% { transform: translateX(60%); }
    100% { transform: translateX(160%); }
  }

  /* =========================
     Top App Bar (seu .navbar-aass)
     ========================= */
    .navbar-aass {
      position: fixed !important;
      top: 0;
      left: 0;
      right: 0;
      /* Eleva bastante o z-index para garantir que o header fique sobre toasts/menus */
      z-index: 99999;

      /* Altura padrão do header (safe-top aplicado via padding) */
      min-height: var(--header-h);
      padding-top: var(--safe-top);
      border-radius: 0 0 28px 28px;
      /* fundo transparente — o gradiente é aplicado no ::before */
      background: transparent !important;
      overflow: visible;
      /* Forçar composição em camada para resolver bugs de position:fixed em iOS WebView */
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-backface-visibility: hidden;
      will-change: transform;
    }

  .navbar-aass::before {
    content: "";
    position: absolute;
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
      radial-gradient(120% 140% at 85% 130%, rgba(48, 120, 214, 0.55), rgba(31, 79, 156, 0) 60%),
      linear-gradient(135deg, #142b6f 0%, #1f4f9c 100%);
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: 0 18px 36px rgba(11, 31, 82, 0.22);
    pointer-events: none;
    z-index: 99999;
  }

  /* Faixa do safe-area (status bar) — pintar de branco sem remover o gradiente abaixo */
  .navbar-aass::after {
    content: "";
    position: absolute;
    top: calc(-1 * var(--safe-top));
    left: 0;
    right: 0;
    height: var(--safe-top);
    background: #ffffff;
    z-index: 100000;
    pointer-events: none;
  }

  /* Forçar faixa branca no topo do app (webview/standalone) para evitar conteúdo visível
     atrás da status bar em contextos onde safe-area não é respeitado corretamente. */
  body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: env(safe-area-inset-top, 20px);
    background: #ffffff;
    z-index: 99998; /* abaixo do header (99999) mas acima da maioria do conteúdo */
    pointer-events: none;
  }

	  .navbar-aass .container-fluid {
	    min-height: var(--header-h);
	    display: flex;
	    flex-wrap: nowrap;
	    align-items: center;
	    gap: 12px;
	    padding: 10px 16px;
	    position: relative;
	    justify-content: space-between;
      z-index: 100001;
	  }

  .navbar-aass .navbar-brand {
    order: 1;
    display: inline-flex;
    align-items: center;
    gap: 0;
    font-weight: 800;
    font-size: 0;
    line-height: 1;
    color: #fff !important;
    max-width: 45vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Logo no header: fica “app-like” */
	  .navbar-aass .logo-aass {
	    height: 64px;
	    max-height: none;
	    width: auto;
	    border-radius: 50%;
	    padding: 0;
    margin-right: 0;
    background: transparent;
    box-shadow: 0 8px 16px rgba(11,31,82,.14);
    border: 0;
    object-fit: contain;
  }

  /* Toggler vira “botão de app” */
  .navbar-aass .navbar-toggler {
    order: 3;
    min-width: var(--tap);
    min-height: var(--tap);
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    position: static;
    margin-left: 8px;
  }
  .navbar-aass .navbar-toggler:active { transform: translateY(1px); }

  .navbar-aass .navbar-nav + .navbar-toggler {
    margin-left: 6px;
  }

  .navbar-aass .mobile-search-toggle {
    min-width: var(--tap);
    min-height: var(--tap);
    width: var(--tap);
    height: var(--tap);
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
  }

  .navbar-aass .mobile-search-toggle i {
    font-size: 1.2rem;
  }

  /* Search no header */
  form.global-search-form { width: 100%; margin: 0; }
  form.global-search-form .input-group {
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 10px 22px rgba(11, 31, 82, 0.20);
  }
  form.global-search-form .input-group-text {
    border: 0;
    background: transparent;
    color: rgba(11,31,82,.55);
  }
	  #global-search-input {
	    min-height: var(--tap);
	    border: 0 !important;
	    background: transparent;
	    color: var(--aass-text);
	    caret-color: var(--aass-text);
	  }
	  #global-search-input::placeholder {
	    color: var(--aass-muted);
	  }
	  #global-search-input:focus {
	    background: transparent;
	    color: var(--aass-text);
	    caret-color: var(--aass-text);
	  }
  form.global-search-form .btn.btn-outline-light {
    border: 0 !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal)) !important;
  }

  /* Search agora abre via ícone no cabeçalho */
  .navbar-aass form.global-search-form {
    display: none !important;
  }

  body.search-open form.global-search-form {
    display: block !important;
    position: fixed;
    top: calc(var(--header-h) + var(--safe-top) + 8px);
    left: 12px;
    right: 12px;
    width: auto;
    padding: 0;
    z-index: 1052;
  }

  body.search-open form.global-search-form .input-group {
    border-radius: 16px;
    border: 1px solid rgba(11,31,82,0.18);
    box-shadow: 0 12px 22px rgba(7,16,40,0.22);
  }

  /* Dropdowns/itens do header compactos */
  #header-notifications-toggle,
  .navbar-aass .nav-link {
    min-height: var(--tap);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
  }

  #header-notifications-toggle {
    width: var(--tap);
    height: var(--tap);
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.12);
  }

  #header-notifications-toggle i {
    font-size: 1.25rem;
    line-height: 1;
  }

  #header-notifications-badge {
    transform: translate(35%, -35%);
  }

  /* Remove o menu de perfil do cabeçalho no mobile (fica no tabbar) */
  .navbar-aass .navbar-nav .nav-item.dropdown:not(#header-notifications) {
    display: none !important;
  }

  /* Sino do cabeçalho visivel no mobile */
  .navbar-aass #header-notifications {
    display: inline-flex;
  }

  .navbar-aass .navbar-nav .nav-item {
    display: inline-flex;
    align-items: center;
    height: var(--tap);
  }

  /* Esconde o botão de lupa duplicado (fora da área de ações) */
  .navbar-aass > .container-fluid > .mobile-search-toggle {
    display: none !important;
  }

  /* Ações do header sempre alinhadas e estáveis */
  .navbar-aass .navbar-collapse {
    order: 2;
    flex: 0 0 auto;
    display: flex !important;
    align-items: center;
    margin-left: auto;
    height: auto !important;
    position: static;
  }

  .navbar-aass .navbar-nav {
    display: inline-flex !important;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    position: static;
    height: var(--tap);
  }

  .navbar-aass .navbar-nav > .nav-item {
    display: inline-flex;
    align-items: center;
    height: var(--tap);
  }


  /* =========================
     Layout: tira o “container-fluid” do fluxo
     ========================= */
  body > .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .layout-row { display: block !important; }

  /* =========================
     Drawer: seu #sidebarMenu
     ========================= */
  #sidebarMenu {
    position: fixed !important;
    top: calc(var(--header-h) + var(--safe-top) + 8px);
    left: 0;
    width: var(--drawer-w) !important;
    max-width: 340px !important;
    height: calc(100dvh - (var(--header-h) + var(--safe-top) + 8px)) !important;

    padding: 12px 10px calc(12px + var(--safe-bottom));
    transform: translateX(-105%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.22s ease, opacity 0.18s ease;

    border-radius: 0 var(--r24) var(--r24) 0;
    background: linear-gradient(180deg, rgba(11, 31, 82, 0.98), rgba(11, 31, 82, 0.90)) !important;
    border-right: 1px solid rgba(255,255,255,0.10);
    box-shadow: var(--shadow-2);
    z-index: 1050;

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    overscroll-behavior: contain;
  }

  #sidebarMenu .position-sticky {
    position: static !important;
    height: auto !important;
  }

  #sidebarMenu.collapse,
  #sidebarMenu.collapsing { display: block !important; }

  #sidebarMenu.show {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }

  /* Bootstrap Offcanvas usa .showing/.hiding durante a transicao */
  #sidebarMenu.showing {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }

  #sidebarMenu.hiding {
    pointer-events: none;
  }

  /* Menu lateral nao e usado no mobile (abrimos uma tela de menu em grid). */
  #sidebarMenu {
    display: none !important;
  }

  /* =========================
     Mobile Menu (Tela em Grid)
     ========================= */
  html.menu-open,
  body.menu-open {
    height: 100%;
    overflow: hidden !important;
  }

  .mobile-app-menu[hidden] {
    display: none !important;
  }

  .mobile-app-menu {
    position: fixed;
    inset: 0;
    z-index: 2100;
    display: flex;
    flex-direction: column;
    padding: calc(var(--safe-top) + 14px) 16px calc(var(--safe-bottom) + 16px);
    background:
      radial-gradient(120% 140% at 85% 0%, rgba(48, 120, 214, 0.55), rgba(31, 79, 156, 0) 60%),
      radial-gradient(100% 120% at 0% 90%, rgba(23, 234, 217, 0.22), rgba(23, 234, 217, 0) 62%),
      linear-gradient(135deg, #142b6f 0%, #0b1f52 100%);
  }

  .mobile-app-menu__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 34px rgba(11, 31, 82, 0.24);
    backdrop-filter: blur(10px);
  }

  .mobile-app-menu__title {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
    color: rgba(255, 255, 255, 0.95);
    font-weight: 900;
    letter-spacing: 0.02em;
    font-size: 1.05rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-app-menu__iconbtn {
    min-width: var(--tap);
    min-height: var(--tap);
    width: var(--tap);
    height: var(--tap);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-app-menu__iconbtn i {
    font-size: 1.2rem;
    line-height: 1;
  }

  .mobile-app-menu__iconbtn:focus-visible,
  .mobile-app-menu__tile:focus-visible {
    outline: 3px solid rgba(23, 234, 217, 0.55);
    outline-offset: 3px;
  }

  .mobile-app-menu__content {
    flex: 1 1 auto;
    margin-top: 12px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    overscroll-behavior: contain;
    padding-bottom: 10px;
  }

  .mobile-app-menu__grid {
    display: grid;
    --menu-tile: clamp(104px, 31vw, 132px);
    grid-template-columns: repeat(2, var(--menu-tile));
    justify-content: center;
    gap: 10px;
  }

  .mobile-app-menu__tile {
    position: relative;
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.96);
    border-radius: 20px;
    padding: 12px 12px 10px;
    min-height: 0;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    text-decoration: none;
    box-shadow: 0 16px 28px rgba(7, 16, 40, 0.26);
    transform: translateZ(0);
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
  }

  .mobile-app-menu__tile:active {
    transform: translateY(1px);
  }

  .mobile-app-menu__tile.is-active {
    border-color: rgba(90, 243, 136, 0.55);
    box-shadow: 0 18px 34px rgba(90, 243, 136, 0.12);
  }

  .mobile-app-menu__tile-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-app-menu__tile-icon i {
    font-size: 1.15rem;
    line-height: 1;
  }

  .mobile-app-menu__tile-label {
    font-weight: 900;
    font-size: 0.86rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
  }

  .mobile-app-menu__tile-caret {
    position: absolute;
    top: 10px;
    right: 10px;
    opacity: 0.8;
  }

  body.menu-open .aass-tabbar,
  body.menu-open #ai-floating-widget,
  body.menu-open #scrollTopBtn {
    visibility: hidden;
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-app-menu__tile {
      transition: none;
    }
  }

  /* Links do drawer */
  .sidebar .nav-link,
  .sidebar .submenu-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 12px;
    border-radius: 14px;
    color: rgba(255,255,255,.90) !important;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
  }

  .sidebar .nav-link .bi,
  .sidebar .submenu-link .bi {
    opacity: .95;
  }

  .sidebar .nav-link:hover,
  .sidebar .submenu-link:hover {
    background: rgba(23,234,217,0.10);
    border-color: rgba(23,234,217,0.20);
  }

  .sidebar .nav-link.active,
  .sidebar .submenu-link.active {
    color: #071633 !important;
    background: linear-gradient(135deg, var(--aass-aqua), var(--aass-green)) !important;
    border-color: rgba(255,255,255,0.20);
    font-weight: 800;
  }

  /* Indent do submenu mais “app” */
  #sidebarMenu .nav.flex-column.ms-3,
  #sidebarMenu .nav.flex-column.ms-4 { margin-left: 8px !important; }

  /* =========================
     Main Content: vira área rolável do app
     ========================= */
  main.main-content {
    position: relative !important;
    z-index: 1;
    /* main passa a ser o contêiner rolável do app */
    height: calc(100dvh - var(--tabbar-h));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: calc(var(--header-h) + var(--safe-top) + 16px) 14px calc(var(--tabbar-h) + 24px) !important;
    background: var(--aass-bg) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    border: 0 !important;
  }

  /* Breadcrumb mais discreto */
  .breadcrumb {
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
  }
  .breadcrumb a { color: rgba(11,31,82,.75); text-decoration: none; }
  .breadcrumb a:hover { text-decoration: underline; }
  /* Remove "Home" do breadcrumb no mobile */
  .breadcrumb .breadcrumb-item:first-child {
    display: none !important;
  }
  .breadcrumb .breadcrumb-item:nth-child(2)::before {
    content: none !important;
  }
  /* Oculta breadcrumb no mobile (evitar "Faturamento / Guias") */
  .breadcrumb {
    display: none !important;
  }

  /* Header da página */
  .page-header {
    gap: 10px !important;
    margin-bottom: 12px !important;
    border-bottom: 0 !important;
  }
  .page-header h1.h2 {
    font-size: 1.10rem;
    font-weight: 900;
    color: var(--aass-navy);
    margin: 0;
  }

  /* Remove ações do dashboard no mobile (Configurações e Novo Agendamento) */
  body[data-page-namespace="dashboard"] .page-header .btn-group .btn-aass-secondary,
  body[data-page-namespace="dashboard"] .page-header .btn-group .btn-aass-primary {
    display: none !important;
  }

  /* Dashboard: reduzir tamanho e manter saudacao em uma linha */
  body[data-page-namespace="dashboard"] .card-aass h4.text-aass-primary {
    font-size: 0.98rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Remove "Voltar para lançamentos" no mobile */
  body[data-page-namespace="faturamento"] .page-header .btn-group .btn-outline-secondary[href*="/faturamento/guias"] {
    display: none !important;
  }

  body[data-page-namespace="faturamento"] .page-header .btn-group .btn-aass-primary[href*="/faturamento/guias"] {
    display: none !important;
  }

  /* =========================
     Cards / Seções
     ========================= */
  .card,
  .card-aass,
  .modal-content,
  .dropdown-menu,
  .list-group,
  .list-group-item {
    border-radius: var(--r20) !important;
    border: 1px solid var(--aass-border) !important;
    background: var(--aass-card) !important;
    box-shadow: var(--shadow-1) !important;
  }

  .card .card-body,
  .card-aass .card-body { padding: 14px 14px !important; }

  .card-header,
  .card-header-aass {
    border-bottom: 1px solid var(--aass-divider) !important;
    background: linear-gradient(135deg, rgba(11,31,82,0.08), rgba(23,234,217,0.06)) !important;
    padding: 12px 14px !important;
    border-top-left-radius: var(--r20) !important;
    border-top-right-radius: var(--r20) !important;
  }

  .card-title,
  .card-header-aass h6 {
    font-weight: 900 !important;
    color: var(--aass-navy) !important;
    font-size: .95rem !important;
    margin: 0 !important;
  }

  /* =========================
     Forms / Inputs / Buttons
     ========================= */
  .btn, .form-control, .form-select, .input-group-text { min-height: var(--tap); }

  .form-control, .form-select, .input-group-text {
    border-radius: 16px !important;
    border: 1px solid rgba(11,31,82,0.12) !important;
    background: rgba(11, 31, 82, 0.04) !important;
    box-shadow: 0 10px 18px rgba(11,31,82,0.06);
  }

  .form-control:focus, .form-select:focus {
    border-color: rgba(23,234,217,0.55) !important;
    box-shadow: 0 0 0 3px var(--ring) !important;
  }

  .btn {
    border-radius: 16px !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 18px rgba(11,31,82,0.10);
  }

  .btn-primary, .btn-aass-primary {
    border: 0 !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal)) !important;
  }

  .btn-success, .btn-aass-success {
    border: 0 !important;
    color: #071b12 !important;
    background: linear-gradient(135deg, var(--aass-green), var(--aass-green-2)) !important;
  }

  .btn-outline-primary {
    color: var(--aass-navy) !important;
    border: 1px solid rgba(11,31,82,0.22) !important;
    background: #fff !important;
  }

  /* Badges/chips mais “app” */
  .badge { border-radius: var(--pill) !important; font-weight: 900 !important; }
  .badge.bg-success { background: rgba(69,200,105,.16) !important; color: #0a2b1a !important; }
  .badge.bg-info { background: rgba(23,234,217,.18) !important; color: #08303a !important; }
  .badge.bg-warning { background: rgba(255,193,7,.18) !important; color: #3b2a00 !important; }
  .badge.bg-danger { background: rgba(220,53,69,.16) !important; color: #3a0a10 !important; }

  /* =========================
     Tabelas viram “cards”/lista
     ========================= */
  .table-responsive {
    border-radius: var(--r20) !important;
    border: 1px solid rgba(11,31,82,.08) !important;
    background: #fff !important;
    box-shadow: var(--shadow-1) !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table {
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
    background: transparent !important;
  }

  .table thead th {
    border: 0 !important;
    font-size: .75rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: var(--aass-muted) !important;
  }

  .table tbody tr {
    background: #fff !important;
    box-shadow: 0 10px 18px rgba(11,31,82,.06);
    border-radius: 14px !important;
  }
  .table tbody td { border-top: 0 !important; }

  /* =========================
     Faturamento (mobile app)
     ========================= */
  body[data-page-namespace="faturamento"] .overview-wrapper {
    gap: 16px !important;
    padding-bottom: 12px !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight {
    border-radius: var(--r24) !important;
    padding: 18px 16px 26px !important;
    box-shadow: var(--shadow-2) !important;
    background: linear-gradient(135deg, rgba(11,31,82,0.98), rgba(15,38,94,0.94)) !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight__header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight__title {
    font-size: 1.55rem !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight__subtitle {
    font-size: 0.95rem !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight__controls {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 8px !important;
    align-items: center !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight__month-picker {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight__month-picker select {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
    border-radius: var(--pill) !important;
  }

  body[data-page-namespace="faturamento"] .events-spotlight__badge {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: 0.72rem !important;
    padding: 0.35rem 0.6rem !important;
  }

  body[data-page-namespace="faturamento"] .events-carousel {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding-bottom: 4px !important;
  }

  body[data-page-namespace="faturamento"] .events-carousel::-webkit-scrollbar {
    display: none;
  }

  body[data-page-namespace="faturamento"] .event-card {
    scroll-snap-align: start !important;
    border-radius: var(--r20) !important;
    min-height: 128px !important;
    height: 128px !important;
    padding: 0.7rem 0.75rem !important;
  }

  body[data-page-namespace="faturamento"] .event-card__badge {
    font-size: 0.62rem !important;
    padding: 0.3rem 0.6rem !important;
  }

  body[data-page-namespace="faturamento"] .event-card__date {
    padding: 0.45rem 0.55rem !important;
  }

  body[data-page-namespace="faturamento"] .event-card__day {
    font-size: 1.4rem !important;
  }

  body[data-page-namespace="faturamento"] .event-card__month {
    font-size: 0.62rem !important;
  }

  body[data-page-namespace="faturamento"] .event-card__title {
    font-size: 0.95rem !important;
  }

  body[data-page-namespace="faturamento"] .metrics-strip {
    border-radius: var(--r20) !important;
    padding: 14px !important;
  }

  body[data-page-namespace="faturamento"] .metrics-strip__track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(60vw, 1fr) !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
  }

  body[data-page-namespace="faturamento"] .metrics-strip__track::-webkit-scrollbar {
    display: none;
  }

  body[data-page-namespace="faturamento"] .metric-chip {
    scroll-snap-align: start !important;
    border-radius: var(--r16) !important;
    box-shadow: 0 12px 20px rgba(11,31,82,.12) !important;
  }

  body[data-page-namespace="faturamento"] .closing-card {
    border-radius: var(--r24) !important;
    padding: 18px !important;
  }

  body[data-page-namespace="faturamento"] .faturamento-guias-card {
    border-radius: var(--r24) !important;
    overflow: hidden !important;
  }

  body[data-page-namespace="faturamento"] .card-header.bg-gradient-primary {
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal)) !important;
    color: #fff !important;
  }

  body[data-page-namespace="faturamento"] .card-header.bg-gradient-dia {
    background: linear-gradient(135deg, var(--color-6d28d9), var(--color-a78bfa)) !important;
    color: #fff !important;
  }

  body[data-page-namespace="faturamento"] .card-header.bg-gradient-primary h5,
  body[data-page-namespace="faturamento"] .card-header.bg-gradient-primary small,
  body[data-page-namespace="faturamento"] .card-header.bg-gradient-primary .text-white-50,
  body[data-page-namespace="faturamento"] .card-header.bg-gradient-primary .text-muted {
    color: rgba(255,255,255,0.9) !important;
  }

  /* Guias registradas: bloco de filtros */
  body[data-page-namespace="faturamento"] .guias-registradas-card .card-body > .p-3.border-bottom {
    background: rgba(11,31,82,0.04) !important;
    border-color: rgba(11,31,82,0.10) !important;
    border-radius: 16px !important;
    margin: 12px !important;
    padding: 14px !important;
    box-shadow: 0 10px 18px rgba(11,31,82,0.06) !important;
  }

  body[data-page-namespace="faturamento"] .guias-registradas-card .card-body > .p-3.border-bottom form {
    gap: 10px !important;
  }

  body[data-page-namespace="faturamento"] .guias-registradas-card .form-label {
    font-size: 0.68rem !important;
    letter-spacing: 0.08em !important;
    color: rgba(11,31,82,0.65) !important;
  }

  body[data-page-namespace="faturamento"] .guias-registradas-card .form-control {
    background: rgba(11,31,82,0.05) !important;
  }

  body[data-page-namespace="faturamento"] .guias-registradas-card .btn-outline-primary {
    height: 48px !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
  }

  body[data-page-namespace="faturamento"] .guias-registradas-card .btn.btn-link {
    align-self: flex-end !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: rgba(11,31,82,0.06) !important;
    border: 1px solid rgba(11,31,82,0.12) !important;
    font-weight: 600 !important;
  }

  body[data-page-namespace="faturamento"] .faturamento-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 6px !important;
    border-radius: var(--r20) !important;
    background: rgba(255,255,255,.75) !important;
    box-shadow: var(--shadow-1) !important;
  }

  body[data-page-namespace="faturamento"] .faturamento-tabs .nav-link {
    min-height: 72px !important;
    height: 72px !important;
    border-radius: 16px !important;
    font-size: 0.95rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.1 !important;
  }

  body[data-page-namespace="faturamento"] .faturamento-stats {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: max-content !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
  }

  body[data-page-namespace="faturamento"] .faturamento-stats::-webkit-scrollbar {
    display: none;
  }

  body[data-page-namespace="faturamento"] .stat-chip {
    scroll-snap-align: start !important;
    border-radius: var(--pill) !important;
    padding: 6px 12px !important;
    box-shadow: 0 10px 16px rgba(11,31,82,.08) !important;
  }

  body[data-page-namespace="faturamento"] .faturamento-stats .btn.btn-link {
    border-radius: var(--pill) !important;
    padding: 6px 12px !important;
    background: rgba(11,31,82,.06) !important;
    border: 1px solid rgba(11,31,82,.12) !important;
  }

  body[data-page-namespace="faturamento"] .row.g-4 {
    --bs-gutter-x: 0.8rem;
    --bs-gutter-y: 0.8rem;
  }

  body[data-page-namespace="faturamento"] form.row.g-2 > [class*="col-"],
  body[data-page-namespace="faturamento"] form.row.g-3 > [class*="col-"],
  body[data-page-namespace="faturamento"] form.row.g-4 > [class*="col-"] {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  body[data-page-namespace="faturamento"] .guias-registradas-card,
  body[data-page-namespace="faturamento"] .fechamento-card,
  body[data-page-namespace="faturamento"] .closing-panel,
  body[data-page-namespace="faturamento"] .documents-card {
    border-radius: var(--r20) !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-meta {
    grid-template-columns: 1fr !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card {
    background: linear-gradient(180deg, rgba(11,31,82,0.06), rgba(11,31,82,0.02)) !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card__header {
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal)) !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255,255,255,0.18) !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card__summary {
    color: rgba(255,255,255,0.75) !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card__title h5 {
    font-size: 1.05rem !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card__summary {
    font-size: 0.78rem !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card__badge {
    background: rgba(255,255,255,0.18) !important;
    border-color: rgba(255,255,255,0.35) !important;
    color: #fff !important;
    font-size: 0.7rem !important;
    padding: 0.2rem 0.5rem !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card__header .badge.bg-success {
    background: var(--aass-green-2) !important;
    color: #0b1f52 !important;
    border: 1px solid rgba(11,31,82,0.15) !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card .card-body {
    background: #fff;
    border-top: 1px solid rgba(11,31,82,0.08);
  }

  body[data-page-namespace="faturamento"] .fechamento-card .fechamento-meta {
    background: linear-gradient(180deg, rgba(17, 62, 138, 0.08), rgba(20, 157, 160, 0.06));
    border: 1px solid rgba(17, 62, 138, 0.14);
    border-radius: 16px;
    padding: 12px;
  }

  body[data-page-namespace="faturamento"] .fechamento-card .fechamento-meta__item {
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(17, 62, 138, 0.18);
  }

  body[data-page-namespace="faturamento"] .fechamento-card .fechamento-label {
    font-size: 0.6rem !important;
    letter-spacing: 0.05em !important;
    line-height: 1.1 !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card .fechamento-value {
    font-size: 0.82rem !important;
    line-height: 1.15 !important;
    word-break: break-word;
  }

  body[data-page-namespace="faturamento"] .fechamento-updated {
    font-size: 0.72rem !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-card .fechamento-meta__item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  body[data-page-namespace="faturamento"] .fechamento-card .fechamento-actions .btn-outline-primary {
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal)) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 10px 18px rgba(11,31,82,0.2);
  }

  body[data-page-namespace="faturamento"] .fechamento-footer {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-actions {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  body[data-page-namespace="faturamento"] .fechamento-actions .btn {
    width: 100% !important;
  }

  body[data-page-namespace="faturamento"] .accordion-item {
    border-radius: 16px !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
    background: #fff !important;
    box-shadow: 0 12px 22px rgba(11,31,82,0.08) !important;
    border: 1px solid rgba(11,31,82,0.12) !important;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center !important;
    gap: 8px !important;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-header > .accordion-button {
    min-width: 0;
    width: 100%;
  }

  body[data-page-namespace="faturamento"] .accordion-button {
    border-radius: 16px !important;
    padding: 8px 10px !important;
    background: linear-gradient(180deg, rgba(11,31,82,0.04), rgba(11,31,82,0.01)) !important;
    box-shadow: inset 0 -1px 0 rgba(11,31,82,0.08) !important;
    overflow: hidden;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button .flex-column,
  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button .flex-lg-row,
  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button > .d-flex {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button > .d-flex {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 8px !important;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button > .d-flex > .d-flex {
    justify-self: end;
    flex-shrink: 0;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button > .d-flex > .flex-grow-1 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0;
    flex-wrap: nowrap !important;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button > .d-flex > .flex-grow-1 .fw-semibold {
    max-width: clamp(96px, 32vw, 160px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button > .d-flex > .flex-grow-1 .small {
    margin-top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button .status-badge,
  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button .badge {
    font-size: 0.62rem !important;
    padding: 0.15rem 0.45rem !important;
    border-radius: 999px;
    white-space: nowrap;
  }

  body[data-page-namespace="faturamento"] #guias-accordion .accordion-button .ms-lg-auto {
    margin-left: auto !important;
    flex-shrink: 0;
  }

  body[data-page-namespace="faturamento"] .accordion-button .fw-semibold {
    font-size: 0.95rem !important;
  }

  body[data-page-namespace="faturamento"] .accordion-button .small,
  body[data-page-namespace="faturamento"] .accordion-button .text-muted {
    font-size: 0.72rem !important;
  }

  body[data-page-namespace="faturamento"] .accordion-button::after {
    transform: scale(1.05);
  }

  body[data-page-namespace="faturamento"] .accordion-header .form-check,
  body[data-page-namespace="faturamento"] .accordion-header .btn-copy-inline {
    border-radius: 12px !important;
    background: rgba(11,31,82,0.06) !important;
    border: 1px solid rgba(11,31,82,0.12) !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-page-namespace="faturamento"] .accordion-header .btn-copy-inline {
    padding: 0 !important;
  }

  body[data-page-namespace="faturamento"] .accordion-body {
    background: rgba(11,31,82,0.02) !important;
    border-top: 1px solid rgba(11,31,82,0.08) !important;
  }

  body[data-page-namespace="faturamento"] .accordion-body .row.g-3 {
    --bs-gutter-x: 0.6rem;
    --bs-gutter-y: 0.6rem;
  }

  body[data-page-namespace="faturamento"] .accordion-body .row.g-3 > [class*="col-"] {
    flex: 1 1 calc(50% - 6px);
    max-width: calc(50% - 6px);
  }

  @media (max-width: 380px) {
    body[data-page-namespace="faturamento"] .accordion-body .row.g-3 > [class*="col-"] {
      flex: 1 1 100%;
      max-width: 100%;
    }
  }

  body[data-page-namespace="faturamento"] .guia-detail-card {
    border-radius: 14px;
    padding: 10px 12px;
    background: rgba(11,31,82,0.04);
    border: 1px solid rgba(11,31,82,0.10);
    box-shadow: 0 8px 14px rgba(11,31,82,0.06);
  }

  body[data-page-namespace="faturamento"] .guia-detail-card .detail-label {
    font-size: 0.66rem;
    letter-spacing: 0.08em;
    color: rgba(11,31,82,0.65);
  }

  body[data-page-namespace="faturamento"] .guia-detail-card .detail-value {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--aass-navy);
  }

  body[data-page-namespace="faturamento"] .detail-section-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(11,31,82,0.7);
  }

  body[data-page-namespace="faturamento"] .detail-section-title::after {
    content: "";
    flex: 1 1 auto;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(11,31,82,0.25), transparent);
  }

  body[data-page-namespace="faturamento"] .accordion-body ul.list-unstyled > li {
    background: #fff;
    border: 1px solid rgba(11,31,82,0.1);
    border-radius: 14px;
    padding: 10px 12px;
    box-shadow: 0 8px 14px rgba(11,31,82,0.05);
  }

  body[data-page-namespace="faturamento"] .accordion-body ul.list-unstyled > li .btn-copy-inline {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: rgba(11,31,82,0.06);
    border: 1px solid rgba(11,31,82,0.12);
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 10px;
    row-gap: 4px;
    align-items: start;
    border-radius: 14px !important;
    padding: 8px 10px !important;
    background: #fff;
    box-shadow: 0 8px 14px rgba(11,31,82,0.08) !important;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > .form-check {
    margin: 0;
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 6px;
    row-gap: 4px;
    align-items: center;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > .form-check .form-check-input {
    margin-top: 0;
    width: 18px;
    height: 18px;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > .form-check .form-check-label {
    font-size: 0.9rem;
    font-weight: 600;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] [data-dia-codigos] {
    margin-left: 0 !important;
    grid-column: 1 / -1;
    gap: 6px;
    min-width: 0;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] [data-dia-codigo-item] {
    background: rgba(11,31,82,0.05);
    border: 1px solid rgba(11,31,82,0.12);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 0.72rem;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] [data-dia-codigo-item] .form-check-input {
    width: 16px;
    height: 16px;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] [data-dia-codigo-item] label {
    font-size: 0.72rem;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > :where(.badge, a) {
    grid-column: 1 / 2;
    justify-self: start;
    font-size: 0.7rem;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > .ms-md-auto {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    justify-self: end;
    display: inline-flex;
    gap: 8px;
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > .ms-md-auto a,
  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > .ms-md-auto button {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(11,31,82,0.12);
    background: rgba(11,31,82,0.04);
  }

  body[data-page-namespace="faturamento"] [data-fechamento-dia-container] > .ms-md-auto a.text-danger {
    color: #dc3545;
    background: rgba(220,53,69,0.08);
    border-color: rgba(220,53,69,0.2);
  }

  body[data-page-namespace="faturamento"] .closing-hero {
    padding: 18px !important;
    border-radius: var(--r24) !important;
  }

  body[data-page-namespace="faturamento"] .closing-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page-namespace="faturamento"] .closing-hero .metric-chip {
    min-height: 92px;
    height: 92px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
  }

  body[data-page-namespace="faturamento"] .closing-hero .metric-chip::after {
    top: 10px;
    height: calc(100% - 20px);
  }

  body[data-page-namespace="faturamento"] .closing-hero .metric-chip__label {
    font-size: 0.58rem;
    letter-spacing: 0.06em;
  }

  body[data-page-namespace="faturamento"] .closing-hero .metric-chip__value {
    font-size: 1.05rem !important;
    margin-top: 0 !important;
  }

  body[data-page-namespace="faturamento"] .closing-panel__header,
  body[data-page-namespace="faturamento"] .closing-panel__body {
    padding: 14px !important;
  }

  body[data-page-namespace="faturamento"] .documents-section {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body[data-page-namespace="faturamento"] .documents-viewer {
    min-height: 220px !important;
  }

  body[data-page-namespace="faturamento"] .documents-form .btn {
    width: 100% !important;
  }

  body[data-page-namespace="faturamento"] .calendar td {
    height: 74px !important;
    padding: 6px !important;
  }

  body[data-page-namespace="faturamento"] .calendar .day-number {
    font-size: 0.95rem !important;
  }

  /* Procedimentos TUSS: empilhar no mobile */
  body[data-page-namespace="faturamento"] .tuss-procedimentos-table {
    border-spacing: 0 !important;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table thead {
    display: none;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table tbody,
  body[data-page-namespace="faturamento"] .tuss-procedimentos-table tr {
    display: block;
    width: 100%;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    grid-template-areas:
      "codigo codigo codigo"
      "descricao descricao descricao"
      "qtds qtdl remover";
    gap: 6px;
    padding: 10px;
    margin-bottom: 8px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(11,31,82,0.10);
    box-shadow: 0 10px 18px rgba(11,31,82,0.06);
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td {
    display: block;
    width: 100%;
    border: 0 !important;
    padding: 0 !important;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--aass-muted);
    margin-bottom: 4px;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td[data-label="Código"] {
    grid-area: codigo;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td[data-label="Descrição"] {
    grid-area: descricao;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td[data-label="Qtd. solicitada"] {
    grid-area: qtds;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td[data-label="Qtd. liberada"] {
    grid-area: qtdl;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td[data-label="Remover"] {
    grid-area: remover;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table td[data-label="Remover"]::before {
    content: none;
  }

  body[data-page-namespace="faturamento"] .faturamento-tabs {
    display: none !important;
  }

  body[data-page-namespace="faturamento"] .faturamento-guias-card .card-header-aass .nav,
  body[data-page-namespace="faturamento"] .faturamento-guias-card .card-header-aass .nav-pills {
    display: none !important;
  }

  body[data-page-namespace="faturamento"] .faturamento-stats .btn-link {
    display: none !important;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table .codigo-col {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table .codigo-input-wrapper,
  body[data-page-namespace="faturamento"] .tuss-procedimentos-table input,
  body[data-page-namespace="faturamento"] .tuss-procedimentos-table select {
    width: 100%;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table .codigo-input-wrapper {
    display: block;
    max-width: none !important;
  }

  body[data-page-namespace="faturamento"] .tuss-procedimentos-table .codigo-col .form-control,
  body[data-page-namespace="faturamento"] .tuss-procedimentos-table .codigo-col select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  /* Botão de excluir mais visível no faturamento */
  body[data-page-namespace="faturamento"] .btn-outline-danger,
  body[data-page-namespace="faturamento"] .btn-link.text-danger,
  body[data-page-namespace="faturamento"] [data-remove-row].btn-link {
    color: #fff !important;
    background: linear-gradient(135deg, #e11d48, #ef4444) !important;
    border: 0 !important;
    box-shadow: 0 10px 18px rgba(239, 68, 68, 0.28) !important;
  }

  body[data-page-namespace="faturamento"] .btn-outline-danger:hover,
  body[data-page-namespace="faturamento"] .btn-link.text-danger:hover,
  body[data-page-namespace="faturamento"] [data-remove-row].btn-link:hover {
    filter: brightness(0.96);
  }

  body[data-page-namespace="faturamento"] [data-remove-row] {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Botões Planejar e Registrar guia no mesmo formato das tabs */
  body[data-page-namespace="faturamento"] #tab-lancamentos .d-flex.flex-column.flex-md-row {
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100%;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .d-flex.flex-column.flex-md-row .btn {
    flex: 1 1 0;
    min-width: 0;
    height: 56px !important;
    border-radius: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    font-size: 0.95rem !important;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .d-flex.flex-column.flex-md-row .btn i {
    font-size: 1rem !important;
    margin-bottom: 2px !important;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .btn-outline-primary {
    background: rgba(11,31,82,0.06) !important;
    border: 1px solid rgba(11,31,82,0.18) !important;
    color: var(--aass-navy) !important;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .card-header h5 {
    font-size: 1rem !important;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .card-body {
    padding: 16px !important;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .row.g-3 {
    --bs-gutter-x: 0.6rem;
    --bs-gutter-y: 0.6rem;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .form-label {
    margin-bottom: 0.25rem !important;
    font-size: 0.85rem !important;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos hr {
    margin: 0.75rem 0 !important;
  }

  body[data-page-namespace="faturamento"] #tab-dia .row.g-4 {
    --bs-gutter-y: 0.75rem;
  }

  body[data-page-namespace="faturamento"] #tab-lancamentos .d-flex.flex-column.flex-md-row {
    margin-top: 0.75rem !important;
  }

  body[data-page-namespace="faturamento"] #tab-dia .d-flex.flex-wrap.justify-content-between {
    margin-bottom: 0.5rem !important;
  }

  /* =========================
     Bottom Tab Bar (novo)
     ========================= */
  .fechamento-mobile-actions {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: calc(var(--tabbar-h) + 16px + var(--safe-bottom));
    z-index: 1025;
  }

  .fechamento-mobile-actions__toggle {
    width: 100%;
    min-height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 700;
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal));
    border: 0;
    box-shadow: 0 14px 28px rgba(11,31,82,0.22);
  }

  .fechamento-mobile-actions__menu {
    width: min(92vw, 360px);
    min-width: 260px;
    margin-bottom: 10px;
    border-radius: 16px;
    border: 1px solid rgba(11,31,82,0.12);
    box-shadow: 0 18px 34px rgba(11,31,82,0.18);
    padding: 6px;
  }

  .fechamento-mobile-actions__menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 12px;
    padding: 10px 12px;
    font-weight: 600;
  }

  .fechamento-mobile-actions__menu .dropdown-item i {
    font-size: 1rem;
  }

  .fechamento-mobile-actions__menu .dropdown-divider {
    margin: 6px 0;
  }

  .aass-tabbar .tab-actions {
    border: 1px solid rgba(11,31,82,0.16);
    background: rgba(11,31,82,0.08);
    color: var(--aass-navy);
    min-width: 0;
    height: 100%;
    width: 100%;
  }

  .aass-tabbar .dropdown {
    flex: 1 1 0;
    min-width: 0;
    display: inline-flex;
    align-items: stretch;
    height: 100%;
  }

  .aass-tabbar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(10px + var(--safe-bottom));
    z-index: 1020;

    height: var(--tabbar-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    padding: 10px 12px;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(11,31,82,.10);
    box-shadow: var(--shadow-2);
  }

  .aass-tabbar .tab {
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
    width: 100%;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;

    color: rgba(11,31,82,.60);
    background: rgba(11,31,82,.04);
    border: 1px solid rgba(11,31,82,.06);
  }

  .aass-tabbar button.tab {
    padding: 0;
    line-height: 1;
  }

  .aass-tabbar .tab i {
    font-size: 1.15rem;
  }

  .aass-tabbar .tab.is-active,
  .aass-tabbar .tab[aria-current="page"] {
    color: #fff;
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal));
    border-color: rgba(255,255,255,.12);
  }

  .aass-tabbar .tab.tab-add {
    color: #071633;
    background: linear-gradient(135deg, var(--aass-aqua), var(--aass-green));
    border: 0;
    box-shadow: 0 16px 28px rgba(11,31,82,.18);
  }

  /* Cores da paleta nos botões (quando inativos) */
  .aass-tabbar .tab:not(.is-active):not(.tab-add) {
    background: rgba(11,31,82,0.06);
    border: 1px solid rgba(11,31,82,0.14);
  }

  .aass-tabbar--faturamento .tab[data-tab="fat-home"]:not(.is-active) {
    color: var(--aass-navy);
    background: rgba(17, 62, 138, 0.14);
    border-color: rgba(17, 62, 138, 0.28);
  }

  .aass-tabbar--faturamento .tab[data-tab="fat-guias"]:not(.is-active) {
    color: #0f6c8c;
    background: rgba(20, 157, 160, 0.14);
    border-color: rgba(20, 157, 160, 0.28);
  }

  .aass-tabbar--faturamento .tab[data-tab="fat-fechamentos"]:not(.is-active) {
    color: #0d5f4e;
    background: rgba(22, 163, 74, 0.14);
    border-color: rgba(22, 163, 74, 0.28);
  }

  .aass-tabbar--faturamento .tab[data-tab="fat-dia"]:not(.is-active) {
    color: #5b21b6;
    background: rgba(124, 58, 237, 0.14);
    border-color: rgba(124, 58, 237, 0.28);
  }

  .aass-tabbar--faturamento .tab[data-tab="fat-scanner"]:not(.is-active) {
    color: #2251a3;
    background: rgba(37, 99, 235, 0.12);
    border-color: rgba(37, 99, 235, 0.26);
  }

  .aass-tabbar--faturamento .tab[data-tab="fat-perfil"]:not(.is-active) {
    color: #0b1f52;
    background: rgba(11, 31, 82, 0.12);
    border-color: rgba(11, 31, 82, 0.26);
  }

  .aass-tabbar:not(.aass-tabbar--faturamento) .tab[data-tab="dashboard"]:not(.is-active) {
    color: var(--aass-navy);
    background: rgba(17, 62, 138, 0.14);
    border-color: rgba(17, 62, 138, 0.28);
  }

  .aass-tabbar:not(.aass-tabbar--faturamento) .tab[data-tab="agenda"]:not(.is-active) {
    color: #0f6c8c;
    background: rgba(20, 157, 160, 0.14);
    border-color: rgba(20, 157, 160, 0.28);
  }

  .aass-tabbar:not(.aass-tabbar--faturamento) .tab[data-tab="avisos"]:not(.is-active) {
    color: #0d5f4e;
    background: rgba(22, 163, 74, 0.14);
    border-color: rgba(22, 163, 74, 0.28);
  }

  .aass-tabbar:not(.aass-tabbar--faturamento) .tab[data-tab="perfil"]:not(.is-active) {
    color: #0b1f52;
    background: rgba(11, 31, 82, 0.12);
    border-color: rgba(11, 31, 82, 0.26);
  }

  /* =========================
     Floating widgets (IA + ScrollTop)
     ========================= */

  /* IA: sobe acima da tabbar */
  #ai-floating-widget,
  .ai-floating-widget {
    bottom: calc(var(--tabbar-h) + 16px + var(--safe-bottom)) !important;
    right: 14px !important;
    z-index: 1025 !important;
  }

  .ai-floating-button {
    width: 54px !important;
    height: 54px !important;
    border-radius: 18px !important;
    border: 0 !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--aass-aqua), var(--aass-green)) !important;
    box-shadow: var(--shadow-2) !important;
  }

  /* ScrollTop: também acima da tabbar */
  #scrollTopBtn.scroll-top-btn {
    left: auto !important;
    right: 14px !important;
    bottom: calc(var(--tabbar-h) + 16px + var(--safe-bottom) + 54px + 10px) !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 18px !important;
    border: 0 !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--aass-navy), var(--aass-teal)) !important;
    box-shadow: var(--shadow-2) !important;
    z-index: 1035 !important;
  }

  /* =========================
     Footer some no mobile app (para parecer app)
     ========================= */
  footer.footer-aass {
    display: block !important;
    padding: 20px 16px calc(var(--tabbar-h) + var(--safe-bottom) + 16px);
    background: linear-gradient(180deg, rgba(11,31,82,0.04), rgba(11,31,82,0.08));
    border-top: 1px solid var(--aass-divider);
    color: rgba(11,31,82,.65) !important;
  }

  footer.footer-aass a {
    color: var(--aass-navy) !important;
  }

  /* =========================
     A11y focus
     ========================= */
  :where(a, button, .btn, input, select, textarea, .nav-link):focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--ring) !important;
  }

  @media (prefers-reduced-motion: reduce) {
    * {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
}
