@media (max-width: 768px){
    .tabs{display:none!important;}
}
:root{
  --r:16px!important;
}
header,.header{
  padding:8px 12px!important;
  min-height:auto!important;
}
.logo,.logo-icon{transform:scale(.9);transform-origin:left center;}
.user-pill,.user-info{max-width:160px!important;}
.card,.db-card{
  border-radius:16px!important;
  box-shadow:0 2px 12px rgba(0,0,0,.15)!important;
}
input,select,textarea,button{
  min-height:52px!important;
  border-radius:14px!important;
}
.bottom-nav{
  height:72px!important;
}
.page,.container,.content{
  padding-bottom:90px!important;
}
table{
  font-size:14px!important;
}
@media (max-width:768px){
    .twrap{
    overflow-x:auto!important;
  }
}
:root{
  --app-blue:#0D6EFD;
  --app-blue-dark:#003C8F;
  --app-green:#34A853;
  --app-bg:#F5F7FA;
  --app-card:#FFFFFF;
  --app-text:#172033;
  --app-muted:#667085;
  --ac:var(--app-blue)!important;
  --bl:var(--app-blue-dark)!important;
  --gn:var(--app-green)!important;
  --bg:var(--app-bg)!important;
  --sf:var(--app-card)!important;
  --sf2:#EEF4FA!important;
  --tx:var(--app-text)!important;
  --mu:var(--app-muted)!important;
  --bd:#D8E1EC!important;
}
body{background:linear-gradient(180deg,#F5F7FA 0%,#EEF4FA 100%)!important;color:var(--app-text)!important;}
header,.header{background:linear-gradient(135deg,#003C8F 0%,#0D6EFD 68%,#34A853 140%)!important;border-bottom:0!important;box-shadow:0 4px 18px rgba(0,60,143,.20)!important;}
.logo-text{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.18);}
.logo-sub{color:rgba(255,255,255,.82)!important;}
.logo-icon{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.28)!important;box-shadow:0 6px 18px rgba(0,0,0,.18)!important;}
.user-pill{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.24)!important;color:#fff!important;}
.user-info{color:rgba(255,255,255,.86)!important;}
.sync-btn{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important;}
.sync-btn.ok{background:rgba(52,168,83,.22)!important;border-color:rgba(52,168,83,.65)!important;color:#fff!important;}
.logout-btn{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.30)!important;color:#fff!important;}
.card,.db-card,.cf-card,.db-mini-item,.twrap,.modal,.login-card,.panel{background:var(--app-card)!important;border-color:#D8E1EC!important;box-shadow:0 8px 24px rgba(16,24,40,.08)!important;}
.stitle,.cf-section-title,.db-section-title{color:var(--app-blue-dark)!important;border-bottom-color:#D8E1EC!important;}
.db-hero{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;}
@media (min-width:600px){.db-hero{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
.kpi-card{border:0!important;color:#fff!important;min-height:132px;position:relative;isolation:isolate;}
.kpi-card::after{display:none!important;}
.kpi-card::before{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,0));z-index:-1;}
.kpi-blue{background:linear-gradient(135deg,#003C8F,#0D6EFD)!important;}
.kpi-green{background:linear-gradient(135deg,#0B7A3B,#34A853)!important;}
.kpi-orange{background:linear-gradient(135deg,#B85C00,#F0A500)!important;}
.kpi-dark{background:linear-gradient(135deg,#172033,#003C8F)!important;}
.kpi-card .dc-lbl,.kpi-card .dc-sub{color:rgba(255,255,255,.82)!important;}
.kpi-card .dc-val{color:#fff!important;font-size:30px!important;}
.kpi-card .dc-progress{background:rgba(255,255,255,.24)!important;}
.kpi-card .dc-progress-bar{background:#fff!important;}
input,select,textarea{background:#fff!important;border-color:#D8E1EC!important;color:var(--app-text)!important;}
input:focus,select:focus,textarea:focus{border-color:var(--app-blue)!important;box-shadow:0 0 0 3px rgba(13,110,253,.12)!important;}
.tabs,.bottom-nav{background:#fff!important;border-color:#D8E1EC!important;box-shadow:0 -4px 16px rgba(16,24,40,.08)!important;}
.tab.active,.bn-item.active{color:var(--app-blue)!important;}
header,
.header{
  padding:10px 14px 12px!important;
  box-shadow:0 5px 18px rgba(0,60,143,.22)!important;
}
.header-top{
  align-items:center!important;
  min-height:68px!important;
  gap:12px!important;
}
.header-logo{
  align-items:center!important;
  min-width:0!important;
}
.logo-icon{
  width:58px!important;
  height:58px!important;
  border:0!important;
  background:rgba(255,255,255,.12)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.16)!important;
}
.logo-icon img{
  height:54px!important;
  max-width:54px!important;
  object-fit:contain!important;
}
.logo-text-wrapper{
  justify-content:center!important;
  gap:3px!important;
}
.logo-text{
  font-size:21px!important;
  letter-spacing:1.4px!important;
  color:#fff!important;
  text-shadow:0 1px 3px rgba(0,0,0,.22)!important;
}
.logo-sub{
  font-size:11px!important;
  color:rgba(255,255,255,.82)!important;
  font-weight:500!important;
}
.header-right{
  justify-content:flex-end!important;
  align-self:stretch!important;
  gap:5px!important;
  padding-top:14px!important;
}
.header-btns{
  margin-top:10px!important;
  transform:translateY(8px)!important;
  align-items:center!important;
  gap:8px!important;
}
.header-user{
  margin-top:8px!important;
}
.sync-btn,
.logout-btn{
  min-height:34px!important;
  height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.2px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  line-height:1!important;
  white-space:nowrap!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.sync-btn{
  background:#fff!important;
  color:#0D6EFD!important;
  border:1px solid rgba(255,255,255,.92)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.16)!important;
}
.sync-btn.ok{
  background:#34A853!important;
  color:#fff!important;
  border-color:#34A853!important;
  box-shadow:0 6px 16px rgba(52,168,83,.25)!important;
}
.sync-btn.err{
  background:#fff!important;
  color:#D93025!important;
  border-color:rgba(217,48,37,.35)!important;
}
.logout-btn{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.12)!important;
  padding-inline:12px!important;
}
.sync-btn:hover,
.logout-btn:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.03)!important;
}
.sync-btn::before,
.logout-btn::before{
  font-size:16px!important;
  margin-top:0!important;
}
.user-pill{
  height:28px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
}
.user-info{color:rgba(255,255,255,.86)!important;}
.user-avatar{
  background:#fff!important;
  color:#0D6EFD!important;
  box-shadow:none!important;
}
@media (max-width:640px){
  header,.header{padding:8px 10px 10px!important;}
  .header-top{min-height:64px!important;gap:8px!important;}
  .logo-icon{width:52px!important;height:52px!important;}
  .logo-icon img{height:49px!important;max-width:49px!important;}
  .logo-text{font-size:18px!important;letter-spacing:1px!important;}
  .logo-sub{font-size:10px!important;}
  .header-right{padding-top:16px!important;gap:4px!important;}
  .header-btns{gap:5px!important;transform:translateY(9px)!important;margin-top:8px!important;}
  .sync-btn,.logout-btn{height:31px!important;min-height:31px!important;font-size:10.5px!important;padding:0 9px!important;}
  .sync-btn::before,.logout-btn::before{font-size:14px!important;}
  .user-pill{height:25px!important;max-width:118px!important;}
}
@media (max-width:390px){
  .logo-sub{display:none!important;}
  .logo-text{font-size:16px!important;}
  .sync-btn{max-width:112px!important;overflow:hidden;text-overflow:ellipsis!important;}
  .logout-btn{padding-inline:8px!important;}
}
.header-top{
  align-items:center!important;
}

.header-right{
  justify-content:flex-start!important;
  align-items:flex-end!important;
  gap:6px!important;
  padding-top:0!important;
  margin-top:-16px!important;
  transform:none!important;
}

.header-btns{
  margin-top:0!important;
  transform:none!important;
  align-items:center!important;
  gap:8px!important;
}

.header-user{
  margin-top:4px!important;
  align-items:center!important;
}

.logo-icon{
  width:66px!important;
  height:66px!important;
  min-width:66px!important;
  transform:none!important;
  overflow:visible!important;
}

.logo-icon img{
  height:62px!important;
  max-width:62px!important;
  object-fit:contain!important;
}

.sync-btn,
.logout-btn{
  height:32px!important;
  min-height:32px!important;
  padding:0 13px!important;
  font-size:11.5px!important;
  line-height:1!important;
}

.logout-btn{
  padding-inline:11px!important;
}

.user-pill{
  height:27px!important;
  max-width:170px!important;
}

.user-avatar{
  width:23px!important;
  height:23px!important;
  margin:2px!important;
}

.user-info{
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
}

@media (max-width:640px){
  .header-right{
    margin-top:-13px!important;
    gap:5px!important;
  }

  .logo-icon{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
  }

  .logo-icon img{
    height:56px!important;
    max-width:56px!important;
  }

  .sync-btn,
  .logout-btn{
    height:30px!important;
    min-height:30px!important;
    font-size:10.5px!important;
    padding:0 9px!important;
  }

  .header-user{
    margin-top:3px!important;
  }

  .user-pill{
    height:25px!important;
    max-width:128px!important;
  }
}
.header-right{
    margin-top:-4px !important;
    gap:4px !important;
}

.header-btns{
    margin-top:0 !important;
    justify-content:flex-end !important;
}

.header-user{
    margin-top:0 !important;
}

@media (max-width:640px){
    .header-right{
        margin-top:-2px !important;
        gap:3px !important;
    }
}
.header-right{
  gap:3px!important;
  margin-top:-2px!important;
}
.header-btns{
  gap:6px!important;
  margin-top:0!important;
  transform:none!important;
}
.sync-btn,
.logout-btn{
  height:24px!important;
  min-height:24px!important;
  padding:0 10px!important;
  border-radius:14px!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.1px!important;
  line-height:1!important;
  box-shadow:0 2px 7px rgba(0,0,0,.10)!important;
}
.sync-btn.ok{
  background:rgba(52,168,83,.88)!important;
  border-color:rgba(52,168,83,.78)!important;
  box-shadow:0 2px 7px rgba(52,168,83,.16)!important;
}
.logout-btn{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.28)!important;
  padding-inline:10px!important;
  box-shadow:0 2px 7px rgba(0,0,0,.08)!important;
}
.sync-btn::before,
.logout-btn::before{
  font-size:13px!important;
  margin-right:1px!important;
}
.user-pill{
  height:24px!important;
  max-width:168px!important;
  border-radius:14px!important;
}
.user-avatar{
  width:20px!important;
  height:20px!important;
  font-size:9px!important;
  margin:2px!important;
}
.user-info{
  font-size:10px!important;
  padding:0 7px 0 4px!important;
}
@media (max-width:640px){
  .header-right{
    gap:3px!important;
    margin-top:-1px!important;
  }
  .header-btns{gap:5px!important;}
  .sync-btn,
  .logout-btn{
    height:22px!important;
    min-height:22px!important;
    padding:0 8px!important;
    font-size:9.5px!important;
  }
  .sync-btn::before,
  .logout-btn::before{font-size:12px!important;}
  .user-pill{
    height:22px!important;
    max-width:126px!important;
  }
  .user-avatar{
    width:18px!important;
    height:18px!important;
    font-size:8.5px!important;
  }
  .user-info{font-size:9.5px!important;}
}
@media (max-width: 900px){
  body{ overscroll-behavior-x: contain; }
  .tab-content,.content,main,#app{ touch-action: pan-y; }
}
html,body{max-width:100%;overflow-x:hidden;}
header{padding:6px 10px!important;}
.header-top{align-items:center!important;gap:8px!important;}
.header-logo{min-width:0!important;}
.logo-icon{width:64px!important;height:64px!important;border:0!important;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%)!important;box-shadow:none!important;}
.logo-icon img{height:78px!important;}
.logo-text{font-size:21px!important;line-height:1!important;color:#fff!important;}
.logo-sub{font-size:11px!important;color:rgba(255,255,255,.86)!important;}
.header-right{gap:3px!important;align-items:flex-end!important;justify-content:center!important;max-width:42vw!important;}
.header-btns{gap:5px!important;height:25px!important;align-items:center!important;}
.sync-btn,.logout-btn{min-height:26px!important;height:26px!important;padding:2px 9px!important;border-radius:16px!important;font-size:10px!important;line-height:1!important;box-shadow:none!important;}
.sync-btn.ok{background:rgba(52,168,83,.92)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important;}
.user-pill{height:28px!important;max-width:100%!important;background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.26)!important;}
.user-avatar{width:23px!important;height:23px!important;margin:2px!important;background:#fff!important;color:#0D6EFD!important;}
.user-info{max-width:150px!important;color:rgba(255,255,255,.88)!important;font-size:11px!important;}
@media(max-width:420px){.logo-text{font-size:18px!important;letter-spacing:1px!important}.logo-sub{font-size:10px!important}.logo-icon{width:58px!important;height:58px!important}.logo-icon img{height:72px!important}.header-right{max-width:39vw!important}.user-info{max-width:112px!important}}
#login-screen{align-items:center!important;justify-content:center!important;}
.login-box{transform:translateY(-22px)!important;}
.login-logo img{height:118px!important;filter:drop-shadow(0 5px 34px rgba(240,165,0,.28)) drop-shadow(0 4px 28px rgba(11,125,219,.62)) brightness(1.06)!important;}
.login-footer{color:rgba(255,255,255,.54)!important;font-size:12px!important;margin-top:22px!important;}
.google-btn{box-shadow:0 10px 28px rgba(0,0,0,.26)!important;}
.cf-manual-link{margin-top:16px!important;color:rgba(255,255,255,.78)!important;font-size:12px!important;text-decoration:underline;background:transparent;border:0;min-height:auto!important;padding:4px 6px!important;}
.bottom-nav{height:62px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)!important;border-top:1px solid #D8E1EC!important;box-shadow:0 -3px 14px rgba(15,23,42,.10)!important;}
.bn-item{padding:5px 0!important;color:#667085!important;}
.bn-item .bn-icon{font-size:21px!important;}
.bn-item .bn-label{font-size:8.5px!important;letter-spacing:.7px!important;}
.bn-item.active{color:#0D6EFD!important;}
.bn-item.active::after{top:3px!important;background:rgba(13,110,253,.12)!important;width:42px!important;height:42px!important;}
.page{padding-bottom:78px!important;}
.card,.db-card,.cf-card{animation:cfFadeUp .28s ease both;}
@keyframes cfFadeUp{from{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:none}}
.twrap{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x pan-y!important;scrollbar-width:thin!important;}
.twrap table{min-width:760px!important;width:max-content!important;}
#page-gastos .twrap table{min-width:980px!important;}
.twrap th,.twrap td{white-space:nowrap!important;}
.twrap:after{content:'deslize para o lado';display:block;text-align:right;font-size:10px;color:#98A2B3;padding:4px 8px;}
.cf-grid .card.gn,.cards .card.gn{border-top-color:#34A853!important;}
#fin-content .card.gn,.page .card.gn:has(.card-lbl){grid-column:1/-1;}
.card-lbl,.lbl,.db-section-title,.cf-section-title,.stitle,.bn-label{color:#475467!important;}
.card-val,.val{text-shadow:none!important;}
button,input,select,textarea{font-family:'Barlow',sans-serif!important;}
.btn,.filtro-btn{box-shadow:0 2px 10px rgba(15,23,42,.08)!important;}
.cf-manual-card{margin-top:14px;padding:14px;border:1px solid var(--bd);border-radius:14px;background:var(--sf);}
.cf-manual-card button{width:100%;}
@keyframes cfSplashFailsafeHide {
  0%, 70% { opacity: 1; visibility: visible; pointer-events: auto; }
  100% { opacity: 0; visibility: hidden; pointer-events: none; }
}
#splash-screen {
  animation: cfSplashFailsafeHide 2.8s ease forwards !important;
}
