/* Debit Base v108 – static viewport-fixed topbar and quick action button. */
:root{
  --db-v108-topbar-h: calc(66px + env(safe-area-inset-top, 0px));
  --db-v108-fab-bottom: calc(env(safe-area-inset-bottom, 0px) + 88px);
  --db-v108-fab-size: 62px;
}
html,body{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
  min-height:100%!important;
  scroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
body{padding-top:var(--db-v108-topbar-h)!important;}
body.db-v108-auth{padding-top:0!important;}
/* Static fixed elements: never use old .fab/.topbar classes. */
#debitbase-fixed-topbar-v108{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100vw!important;
  max-width:100vw!important;
  min-height:var(--db-v108-topbar-h)!important;
  padding:calc(env(safe-area-inset-top,0px) + 7px) calc(env(safe-area-inset-right,0px) + 10px) 8px calc(env(safe-area-inset-left,0px) + 10px)!important;
  z-index:2147483647!important;
  display:grid!important;
  grid-template-columns:minmax(70px,92px) minmax(0,1fr) minmax(64px,82px)!important;
  gap:8px!important;
  align-items:center!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
  transform:none!important;
  contain:none!important;
  isolation:isolate!important;
  background:linear-gradient(180deg,rgba(248,252,255,.99),rgba(231,244,255,.96))!important;
  border-bottom:1px solid rgba(20,88,196,.14)!important;
  box-shadow:0 10px 24px rgba(8,50,120,.13)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.db-v108-auth #debitbase-fixed-topbar-v108{display:none!important;}
#debitbase-fixed-topbar-v108 *{box-sizing:border-box!important;}
#debitbase-fixed-topbar-v108 button{font:inherit!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;cursor:pointer!important;}
#debitbase-fixed-topbar-v108 .db-v108-home,
#debitbase-fixed-topbar-v108 .db-v108-menu{
  min-width:0!important;height:48px!important;border:1px solid rgba(24,103,211,.18)!important;border-radius:18px!important;background:#fff!important;color:#0b3f99!important;box-shadow:0 6px 14px rgba(11,63,153,.08)!important;font-weight:950!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:0 10px!important;
}
#debitbase-fixed-topbar-v108 .db-v108-home svg{width:21px!important;height:21px!important;display:block!important;flex:0 0 auto!important;}
#debitbase-fixed-topbar-v108 .db-v108-money{min-width:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;align-items:stretch!important;}
#debitbase-fixed-topbar-v108 .db-v108-money-item{min-width:0!important;min-height:48px!important;display:grid!important;align-content:center!important;justify-items:center!important;gap:2px!important;padding:5px 5px!important;border-radius:16px!important;border:1px solid rgba(24,103,211,.12)!important;background:rgba(255,255,255,.96)!important;text-align:center!important;box-shadow:0 4px 12px rgba(9,55,123,.05)!important;}
#debitbase-fixed-topbar-v108 .db-v108-money-item span{font-size:7.5px!important;line-height:1!important;font-weight:950!important;text-transform:uppercase!important;color:#56709d!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
#debitbase-fixed-topbar-v108 .db-v108-money-item strong{font-size:clamp(10px,1.4vw,14px)!important;line-height:1.05!important;font-weight:950!important;color:#0d2f68!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
#debitbase-fixed-fab-v108{
  position:fixed!important;
  right:calc(env(safe-area-inset-right,0px) + 16px)!important;
  bottom:var(--db-v108-fab-bottom)!important;
  width:var(--db-v108-fab-size)!important;
  height:var(--db-v108-fab-size)!important;
  min-width:var(--db-v108-fab-size)!important;
  min-height:var(--db-v108-fab-size)!important;
  max-width:var(--db-v108-fab-size)!important;
  max-height:var(--db-v108-fab-size)!important;
  border:0!important;border-radius:999px!important;
  background:linear-gradient(135deg,#0d5fe7,#69c7ff)!important;
  color:#fff!important;font-size:38px!important;line-height:1!important;font-weight:900!important;
  display:grid!important;place-items:center!important;
  box-shadow:0 18px 36px rgba(10,78,180,.32), inset 0 1px 0 rgba(255,255,255,.4)!important;
  z-index:2147483646!important;pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important;
  transform:none!important;contain:none!important;isolation:isolate!important;-webkit-tap-highlight-color:transparent!important;
}
body.db-v108-auth #debitbase-fixed-fab-v108{display:none!important;}
#debitbase-fixed-fab-menu-v108{
  position:fixed!important;
  right:calc(env(safe-area-inset-right,0px) + 14px)!important;
  bottom:calc(var(--db-v108-fab-bottom) + var(--db-v108-fab-size) + 14px)!important;
  width:min(292px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - var(--db-v108-topbar-h) - var(--db-v108-fab-bottom) - 92px)!important;
  overflow:auto!important;-webkit-overflow-scrolling:touch!important;
  padding:10px!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.7)!important;background:linear-gradient(180deg,#fff,#eef8ff)!important;box-shadow:0 24px 60px rgba(3,37,92,.27)!important;z-index:2147483646!important;display:grid!important;gap:8px!important;box-sizing:border-box!important;pointer-events:auto!important;
}
#debitbase-fixed-fab-menu-v108[hidden],body.db-v108-auth #debitbase-fixed-fab-menu-v108{display:none!important;}
#debitbase-fixed-fab-menu-v108 button{min-height:48px!important;border:1px solid rgba(24,103,211,.14)!important;border-radius:17px!important;background:#fff!important;color:#0b3f99!important;font-weight:950!important;text-align:left!important;padding:10px 13px!important;cursor:pointer!important;touch-action:manipulation!important;font:inherit!important;}
#debitbase-fixed-fab-menu-v108 button.primary{background:#0f6feb!important;color:#fff!important;border-color:#0f6feb!important;}
#debitbase-fixed-menu-v108{position:fixed!important;inset:0!important;z-index:2147483645!important;background:rgba(6,31,78,.28)!important;display:flex!important;justify-content:flex-end!important;align-items:flex-start!important;padding:calc(var(--db-v108-topbar-h) + 12px) calc(env(safe-area-inset-right,0px) + 12px) 12px 12px!important;box-sizing:border-box!important;}
#debitbase-fixed-menu-v108[hidden],body.db-v108-auth #debitbase-fixed-menu-v108{display:none!important;}
#debitbase-fixed-menu-v108 .db-v108-menu-panel{width:min(390px,calc(100vw - 24px))!important;max-height:calc(100dvh - var(--db-v108-topbar-h) - 24px)!important;overflow:auto!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:28px!important;background:linear-gradient(180deg,#fff,#ecf7ff)!important;box-shadow:0 26px 72px rgba(2,29,80,.25)!important;padding:14px!important;display:grid!important;gap:9px!important;box-sizing:border-box!important;}
#debitbase-fixed-menu-v108 .db-v108-menu-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:4px 2px 8px!important;color:#0b2d61!important;}
#debitbase-fixed-menu-v108 .db-v108-menu-close{width:42px!important;height:42px!important;border:0!important;border-radius:14px!important;background:#e9f4ff!important;color:#0b3f99!important;font-size:25px!important;font-weight:900!important;cursor:pointer!important;}
#debitbase-fixed-menu-v108 a{min-height:46px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:10px 12px!important;border-radius:16px!important;border:1px solid rgba(24,103,211,.12)!important;background:#fff!important;color:#0b3f99!important;text-decoration:none!important;font-weight:900!important;}
/* Hide conflicting old UI bars and buttons. Use unique IDs above, not old classes. */
body:not(.db-v108-auth) #debitbase-v8-fixed-utility,
body:not(.db-v108-auth) #debitbase-v31-global-financebar,
body:not(.db-v108-auth) .topbar,
body:not(.db-v108-auth) .bottom-nav-shell,
body:not(.db-v108-auth) .bottom-nav,
body:not(.db-v108-auth) button.fab,
body:not(.db-v108-auth) .fab-menu,
body:not(.db-v108-auth) .quick-action-menu{display:none!important;visibility:hidden!important;pointer-events:none!important;}
body:not(.db-v108-auth) #debitbase-fixed-fab-v108,
body:not(.db-v108-auth) #debitbase-fixed-fab-menu-v108,
body:not(.db-v108-auth) #debitbase-fixed-topbar-v108,
body:not(.db-v108-auth) #debitbase-fixed-menu-v108{visibility:visible!important;pointer-events:auto!important;}
footer.app-footer,.app-footer,.db-v35-footer,[data-db35-footer="true"]{display:none!important;visibility:hidden!important;pointer-events:none!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}
body:not(.db-v108-auth) #root{padding-top:0!important;min-height:0!important;height:auto!important;overflow:visible!important;}
body:not(.db-v108-auth) .app-shell,body:not(.db-v108-auth) .workspace,body:not(.db-v108-auth) .page-stack,body:not(.db-v108-auth) main,body:not(.db-v108-auth) .main-content,body:not(.db-v108-auth) .quick-access-page,body:not(.db-v108-auth) .quick-access-grid,body:not(.db-v108-auth) .quick-access-source,body:not(.db-v108-auth) .page-section-sequence,body:not(.db-v108-auth) .db-v27-start-cockpit,body:not(.db-v108-auth) #debitbase-v101-myarea,body:not(.db-v108-auth) #debitbase-v35-legal-page{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;scroll-behavior:auto!important;-webkit-overflow-scrolling:auto!important;transform:none!important;contain:none!important;}
body:not(.db-v108-auth) .page-section-sequence > *,body:not(.db-v108-auth) .card,body:not(.db-v108-auth) .surface,body:not(.db-v108-auth) .widget-shell,body:not(.db-v108-auth) .ordered-section-item,body:not(.db-v108-auth) .transaction-row,body:not(.db-v108-auth) .metric-card{content-visibility:visible!important;contain:none!important;contain-intrinsic-size:auto!important;will-change:auto!important;transform-style:flat!important;}
@media(max-width:700px){
  :root{--db-v108-topbar-h:calc(62px + env(safe-area-inset-top,0px));--db-v108-fab-bottom:calc(env(safe-area-inset-bottom,0px) + 78px);--db-v108-fab-size:58px;}
  #debitbase-fixed-topbar-v108{grid-template-columns:42px minmax(0,1fr) 56px!important;gap:4px!important;padding:calc(env(safe-area-inset-top,0px) + 5px) calc(env(safe-area-inset-right,0px) + 7px) 6px calc(env(safe-area-inset-left,0px) + 7px)!important;}
  #debitbase-fixed-topbar-v108 .db-v108-home{width:42px!important;padding:0!important;}
  #debitbase-fixed-topbar-v108 .db-v108-home b{display:none!important;}
  #debitbase-fixed-topbar-v108 .db-v108-menu{width:56px!important;padding:0 4px!important;font-size:10px!important;}
  #debitbase-fixed-topbar-v108 .db-v108-money{gap:3px!important;}
  #debitbase-fixed-topbar-v108 .db-v108-money-item{min-height:42px!important;padding:3px 2px!important;border-radius:14px!important;}
  #debitbase-fixed-topbar-v108 .db-v108-money-item span{font-size:6.1px!important;letter-spacing:0!important;}
  #debitbase-fixed-topbar-v108 .db-v108-money-item strong{font-size:9.2px!important;}
  #debitbase-fixed-fab-v108{right:calc(env(safe-area-inset-right,0px) + 12px)!important;}
  #debitbase-fixed-fab-menu-v108{right:calc(env(safe-area-inset-right,0px) + 10px)!important;}
}
