/* Visual clean com vidro (07/11/2026, pedido do Marcos). Mesma paleta de cada tema; só muda o material.
   1) Barra inferior de vidro: o conteúdo passa por trás, desfocado.
   2) Cabeçalho compacto de vidro que fica fixo no topo quando o cabeçalho grande sai da tela (clean-glass.js).
   3) Cards mais leves: fundo levemente translúcido, borda clara e sombra suave. */

/* 1) Barra inferior. filter no pai corta o desfoque dos filhos, então a sombra vira uma camada própria. */
#tabBar.tab-capsule.has-cradle{filter:none}
#tabBar.tab-capsule.has-cradle::before{content:"";position:absolute;z-index:-1;inset:10px 8px -6px;border-radius:inherit;background:rgba(13,20,36,.22);filter:blur(12px);-webkit-mask-image:radial-gradient(circle at var(--tab-x) 0,transparent 35px,#000 36px);mask-image:radial-gradient(circle at var(--tab-x) 0,transparent 35px,#000 36px);pointer-events:none}
#tabBar.has-cradle.no-active::before{-webkit-mask-image:none;mask-image:none}
#tabBar .tab-cradle{background:color-mix(in srgb,var(--card) 72%,transparent);border-color:color-mix(in srgb,var(--card) 60%,var(--line));-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:inset 0 1px color-mix(in srgb,#fff 70%,transparent)}

/* 2) Cabeçalho compacto fixo. */
.sticky-head{position:fixed;z-index:58;top:calc(8px + env(safe-area-inset-top));left:max(10px,calc((100% - 860px)/2));right:max(10px,calc((100% - 860px)/2));min-height:56px;display:flex;align-items:center;padding:6px 8px;border-radius:22px;color:var(--band-ink);background:color-mix(in srgb,var(--band) 82%,transparent);border:1px solid color-mix(in srgb,var(--band-ink) 14%,transparent);box-shadow:0 14px 32px rgba(6,22,36,.2),inset 0 1px color-mix(in srgb,#fff 18%,transparent);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);transform:translateY(calc(-100% - 20px));opacity:0;transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .2s ease;pointer-events:none}
.sticky-head.is-on{transform:none;opacity:1;pointer-events:auto}
.sticky-head-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.sticky-head .band-motif,.sticky-head .wordmark-block small,.sticky-head .home-status,.sticky-head .app-restart{display:none}
.sticky-head button{width:44px;min-width:44px;min-height:44px;margin:0;padding:10px;font:inherit;color:inherit}
.sticky-head .app-logo{width:34px;height:34px;border-radius:11px}
.sticky-head .app-logo img{width:100%;height:100%}
.sticky-head .wordmark-block{display:flex;align-items:baseline;gap:6px;margin-right:auto}
.sticky-head .wordmark-block b{font-size:20px}
.sticky-head .sticky-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;letter-spacing:-.2px}
.sticky-head .has-title .mini-brand{display:none}
.sticky-head .patient-chip{width:auto;max-width:46%;flex:none}
html.sheet-open .sticky-head,html.settings-open .sticky-head,html.patient-open .sticky-head,html.code-live .sticky-head,html.search-open .sticky-head{opacity:0;pointer-events:none;transform:translateY(calc(-100% - 20px))}
@media (prefers-reduced-motion:reduce){.sticky-head{transition:opacity .2s ease}}

/* 3) Cards mais leves. */
:is(.module-card,.drug-card,.choice-card,.prep-card,.cause-card,.pcr-dose-card,.syringe-card){background:color-mix(in srgb,var(--card) 86%,transparent);border-color:color-mix(in srgb,var(--line) 55%,transparent);box-shadow:0 8px 22px rgba(13,20,36,.05),inset 0 1px color-mix(in srgb,#fff 65%,transparent)}
