/* UP! logo animada da família (Painel, Revisão, Agenda, Estúdio): "UP!" oficial (a imagem do kit, nunca redesenhada) + nome em Montserrat 400.
   Medida contra 3-estilo/up-company/logo/up-painel-branco.png (diferença ≤ 1 px a 200 px de altura): UP! = altura total.
   Uso: <a class="up-logo" style="--up-img:url(up-UP-branco.png);font-size:26px" aria-label="UP! Painel"><i class="up-logo__up"></i>
        <b class="up-logo__nome"><span style="--i:0">P</span>…</b></a>   (navy para fundo claro: --up-img com up-UP-navy.png e color:#06111f)
   Entra com o UP! se revelando da esquerda e um brilho passando por ele, as letras do nome sobem uma a uma; depois o brilho volta a cada 9 s e no hover. */
.up-logo{display:inline-flex;align-items:flex-end;gap:.105em;height:1em;line-height:1;text-decoration:none;color:#fff;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.up-logo__up{position:relative;display:block;flex:none;width:2.434em;height:1em;background:var(--up-img) center/contain no-repeat;
  animation:up-revela .9s cubic-bezier(.65,0,.25,1) both}
.up-logo__up::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(100deg,transparent 0 40%,rgba(156,192,255,.55) 47%,rgba(255,255,255,.95) 50%,rgba(156,192,255,.55) 53%,transparent 60% 100%);background-size:300% 100%;background-position:100% 0;
  -webkit-mask:var(--up-img) center/contain no-repeat;mask:var(--up-img) center/contain no-repeat;
  animation:up-brilho 1.4s cubic-bezier(.4,0,.2,1) .55s both,up-brilho-loop 9s cubic-bezier(.4,0,.2,1) 3s infinite}
.up-logo__nome{display:inline-flex;font:400 1.047em/0.8 Montserrat,Inter,sans-serif;letter-spacing:-.005em;margin-bottom:-.015em}
.up-logo__nome span{display:inline-block;animation:up-letra .7s cubic-bezier(.2,.9,.25,1.05) both;animation-delay:calc(.45s + var(--i,0) * 45ms)}
.up-logo:hover .up-logo__up::after{animation:up-brilho 1.1s cubic-bezier(.4,0,.2,1) both}
@keyframes up-revela{from{clip-path:inset(0 100% 0 0);transform:translateX(-.08em)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes up-brilho{from{background-position:100% 0}to{background-position:0 0}}
@keyframes up-brilho-loop{0%{background-position:100% 0}14%,100%{background-position:0 0}}
@keyframes up-letra{from{opacity:0;transform:translateY(.45em);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){.up-logo__up,.up-logo__up::after,.up-logo__nome span{animation:none!important;clip-path:none}}

/* ---------- UP! Agenda: cores da UP por cima do tema do Postiz ---------- */
:root body.dark, :root body .dark, :root html.dark .dark {
  --new-back-drop:#030912; --new-bgColor:#06111f; --new-bgColorInner:#0b1a2c; --new-textItemFocused:#0e2036; --new-settings:#0b1a2c;
  --new-border:#15283e; --new-sep:#1d3554; --new-bgLineColor:#0e2036; --new-blockSeparator:#15283e; --new-btn-simple:#10243c;
  --new-btn-primary:#1458f0; --new-ai-btn:#2f6bff; --new-box-hover:#0e2036; --new-table-border:#15283e; --new-table-header:#0b1a2c;
  --new-table-text-focused:#7aa2ff; --new-small-strips:#0b1a2c; --new-big-strips:#081626; --new-col-color:#15283e;
  --color-primary:#06111f; --color-custom4:#2f6bff; --color-custom23:#030912; --color-custom40:#06111f; --color-modalCustom:#030912;
}
:root body.light, :root body .light { --new-btn-primary:#1458f0; --new-ai-btn:#2f6bff; --new-table-text-focused:#1458f0; --color-custom4:#1458f0; }
body { font-family: Inter, -apple-system, "Segoe UI", sans-serif; }
::selection { background:#2f6bff; color:#fff; }
button, a { transition: background-color .2s, color .2s, transform .25s cubic-bezier(.2,.9,.25,1.05), box-shadow .25s; }
/* só a classe exata: "group-hover:bg-btnPrimary" (botão + do calendário) tem que continuar aparecendo só no hover */
.bg-btnPrimary { background-color:#1458f0 !important; }
.group:hover .group-hover\:bg-btnPrimary { background-color:#1458f0 !important; }
button.bg-btnPrimary:hover { background-color:#2f6bff !important; box-shadow:0 10px 24px -12px rgba(20,88,240,.8); }
[class*="text-\[\#fc69ff\]"], [class*="text-customColor4"] { color:#7aa2ff !important; }
.shadow-purple-500\/25 { --tw-shadow-color:#1458f040 !important; }
.up-logo-slot { display:inline-flex; align-items:center; }

/* ---------- tela de entrada: o painel de depoimentos do Postiz vira o painel UP ---------- */
html.up-tem-entrada body > div > div > div:has([class*="max-w-[440px]"]) ~ div,
html.up-tem-entrada [class*="max-w-[440px]"] ~ * { }
html.up-tem-entrada body { background:#06111f !important; }
.up-entrada { position:fixed; top:0; right:0; bottom:0; left:max(520px, 38vw); overflow:hidden; z-index:300; background:#06111f; color:#fff; display:flex; align-items:center; padding:48px 6vw; }
.up-aurora { position:absolute; inset:-30%; filter:blur(60px); opacity:.8; pointer-events:none; }
.up-aurora i { position:absolute; border-radius:50%; mix-blend-mode:screen; animation:up-flutua 18s ease-in-out infinite alternate; }
.up-aurora i:nth-child(1) { width:44vw; height:44vw; left:40%; top:5%; background:radial-gradient(circle,#1458f0 0,transparent 65%); }
.up-aurora i:nth-child(2) { width:34vw; height:34vw; left:10%; top:45%; background:radial-gradient(circle,#2f6bff 0,transparent 65%); animation-duration:24s; animation-delay:-6s; }
.up-aurora i:nth-child(3) { width:26vw; height:26vw; left:55%; top:55%; background:radial-gradient(circle,#00a3ff 0,transparent 65%); opacity:.45; animation-duration:30s; animation-delay:-12s; }
@keyframes up-flutua { 0%{transform:translate3d(0,0,0) scale(1)} 50%{transform:translate3d(-6%,4%,0) scale(1.12)} 100%{transform:translate3d(5%,-5%,0) scale(.95)} }
.up-grade { position:absolute; inset:0; opacity:.25; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:44px 44px; -webkit-mask-image:radial-gradient(ellipse at 60% 30%,#000 10%,transparent 70%); mask-image:radial-gradient(ellipse at 60% 30%,#000 10%,transparent 70%); }
.up-entrada__txt { position:relative; max-width:560px; }
.up-entrada h2 { font:800 clamp(28px,3.2vw,44px)/1.12 Montserrat,Inter,sans-serif; letter-spacing:-.02em; margin:34px 0 14px; animation:up-sobe .8s cubic-bezier(.2,.8,.2,1) .5s both; }
.up-entrada p { color:#9fb3d1; font-size:16px; margin:0 0 28px; animation:up-sobe .8s cubic-bezier(.2,.8,.2,1) .65s both; }
.up-entrada ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.up-entrada li { display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(8px); font-weight:600; animation:up-sobe .7s cubic-bezier(.2,.8,.2,1) both; }
.up-entrada li:nth-child(1){animation-delay:.8s} .up-entrada li:nth-child(2){animation-delay:.92s} .up-entrada li:nth-child(3){animation-delay:1.04s}
.up-entrada li b { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#1458f0; font-size:13px; }
@keyframes up-sobe { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
@media (max-width:900px) { .up-entrada { display:none; } }

/* ---------- botão de apps da UP ---------- */
.up-apps { position:fixed; right:18px; bottom:18px; z-index:9999; }
.up-apps__btn { width:46px; height:46px; border-radius:50%; display:grid; place-items:center; color:#fff; background:#1458f0; border:0; cursor:pointer; box-shadow:0 12px 30px -10px rgba(20,88,240,.9); }
.up-apps__btn:hover { transform:translateY(-2px) scale(1.04); background:#2f6bff; }
.up-apps__menu { position:absolute; right:0; bottom:58px; width:290px; padding:8px; border-radius:16px; background:#0b1a2c; border:1px solid #15283e; box-shadow:0 30px 60px -20px rgba(0,0,0,.8); opacity:0; transform:translateY(10px) scale(.97); transform-origin:bottom right; pointer-events:none; transition:opacity .25s, transform .35s cubic-bezier(.2,.9,.25,1.05); }
.up-apps.aberto .up-apps__menu { opacity:1; transform:none; pointer-events:auto; }
.up-apps__menu small { display:block; padding:6px 10px 8px; color:#93a5bf; font:700 11px Inter,sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.up-apps__menu a { display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:11px; color:#e9f0fa; text-decoration:none; }
.up-apps__menu a:hover { background:#10243c; }
.up-apps__menu a span { width:36px; height:36px; flex:none; border-radius:10px; display:grid; place-items:center; background:rgba(47,107,255,.15); color:#7aa2ff; }
.up-apps__menu a.atual span { background:#1458f0; color:#fff; }
.up-apps__menu b { display:flex; flex-direction:column; font:600 14px Inter,sans-serif; }
.up-apps__menu em { font-style:normal; font-weight:400; font-size:12px; color:#93a5bf; }
@media (prefers-reduced-motion:reduce) { .up-aurora i, .up-entrada h2, .up-entrada p, .up-entrada li { animation:none !important; } }

/* classes de cor fixas do Postiz (roxo/cinza) → paleta UP */
.bg-forth { background-color:#1458f0 !important; }
.bg-forth:hover { background-color:#2f6bff !important; box-shadow:0 10px 24px -12px rgba(20,88,240,.8); }
.text-forth { color:#7aa2ff !important; } .border-forth { border-color:#1458f0 !important; }
.bg-\[\#1A1919\], .bg-\[\#1a1919\] { background-color:#0b1a2c !important; }
.bg-\[\#0E0E0E\], .bg-\[\#0e0e0e\] { background-color:#06111f !important; }
.bg-\[\#612BD3\], .bg-\[\#612bd3\] { background-color:#1458f0 !important; }
.text-\[\#612BD3\], .text-\[\#612bd3\], .text-\[\#FC69FF\], .text-\[\#fc69ff\] { color:#7aa2ff !important; }
input:focus-visible, textarea:focus-visible { outline:2px solid #2f6bff; outline-offset:2px; }

/* ícone de cada app no menu: logo da família em bloco — "UP!" oficial em cima, nome do produto embaixo */
.up-apps__menu a span.up-tile { width:48px; height:48px; border-radius:13px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  background:linear-gradient(150deg,#0e2a52 0%,#081a33 100%); border:1px solid rgba(91,140,255,.22); color:#fff; overflow:hidden; position:relative; }
.up-apps__menu a span.up-tile i { display:block; width:30px; height:12.3px; background:url(/up-marca/up-UP-branco.png) center/contain no-repeat; }
.up-apps__menu a span.up-tile small { display:block; padding:0; font:500 8.5px/1 Montserrat,Inter,sans-serif; letter-spacing:.01em; color:#fff; text-transform:none; }
.up-apps__menu a.atual span.up-tile { background:linear-gradient(150deg,#2f6bff 0%,#1458f0 100%); border-color:transparent; box-shadow:0 8px 20px -10px rgba(20,88,240,.9); }
.up-apps__menu a span.up-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%); background-size:250% 100%; background-position:120% 0; }
.up-apps__menu a:hover span.up-tile::after { animation:up-tile-brilho .9s cubic-bezier(.4,0,.2,1); }
@keyframes up-tile-brilho { from{background-position:120% 0} to{background-position:-20% 0} }
.up-tile--lateral { margin-top:8px; width:56px; height:56px; border-radius:15px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-decoration:none;
  background:linear-gradient(150deg,#0e2a52 0%,#081a33 100%); border:1px solid rgba(91,140,255,.22); box-shadow:0 10px 24px -14px rgba(6,17,31,.9); animation:up-sobe .6s cubic-bezier(.2,.8,.2,1) both; }
.up-tile--lateral i { display:block; width:36px; height:14.8px; background:url(/up-marca/up-UP-branco.png) center/contain no-repeat; }
.up-tile--lateral small { font:500 9.5px/1 Montserrat,Inter,sans-serif; color:#fff; }
.up-tile--lateral:hover { transform:translateY(-1px) scale(1.04); }

/* barra lateral: no Postiz a coluna fixa tem 64 px mas os botões 84 px (transbordam para a direita).
   A coluna passa a ocupar os 80 px do fundo e os botões ficam centralizados dentro dela. */
div.fixed.w-\[64px\].start-\[20px\] { width:80px !important; inset-inline-start:12px !important; padding:0 8px; box-sizing:border-box; }
div.fixed.w-\[64px\].start-\[20px\] a.group, div.fixed.w-\[64px\].start-\[20px\] .group { width:100% !important; max-width:64px; margin-inline:auto; padding-inline:2px !important; }
div.fixed.w-\[64px\].start-\[20px\] a.group span, div.fixed.w-\[64px\].start-\[20px\] .group div { text-align:center; font-size:10.5px; line-height:1.15; }
.up-tile--lateral { margin-inline:auto; }

/* hoje no calendário: rosa do Postiz → azul UP */
.text-\[\#fc69ff\], .text-\[\#FC69FF\], [class*="text-customColor"] .bg-\[\#fc69ff\] { color:#1458f0 !important; }
:root body.light, :root body .light { --new-table-text-focused:#1458f0 !important; }
:root body.dark, :root body .dark { --new-table-text-focused:#7aa2ff !important; }

/* ===================== APP NO CELULAR (PWA) ===================== */
/* app instalado: respeita o entalhe e a barra do iPhone */
html.up-app body { padding-top: env(safe-area-inset-top); }
html.up-app, html.up-app body { overscroll-behavior-y: none; -webkit-tap-highlight-color: transparent; }
@media (max-width: 767px) {
  html.up-tem-abas body { padding-bottom: calc(68px + env(safe-area-inset-bottom)) !important; }
  .up-apps { display: none !important; } /* no celular os apps ficam em "Mais" */
}
.up-abas { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998; display: grid; grid-template-columns: repeat(5, 1fr); align-items: end;
  padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); background: rgba(6,17,31,.92); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border-top: 1px solid rgba(91,140,255,.18); animation: up-sobe .45s cubic-bezier(.2,.8,.2,1) both; }
body.light .up-abas, .light .up-abas { background: rgba(255,255,255,.94); border-top-color: #e1e8f2; }
.up-abas a, .up-abas button { display: flex; flex-direction: column; align-items: center; gap: 3px; min-height: 50px; justify-content: center; border: 0; background: none;
  color: #93a5bf; font: 600 10.5px Inter, sans-serif; text-decoration: none; border-radius: 12px; transition: color .2s, transform .2s cubic-bezier(.2,.9,.25,1.05); }
body.light .up-abas a, body.light .up-abas button { color: #5b6b83; }
.up-abas a:active, .up-abas button:active { transform: scale(.92); }
.up-abas .on { color: #7aa2ff !important; }
body.light .up-abas .on { color: #1458f0 !important; }
.up-abas .on svg { filter: drop-shadow(0 4px 10px rgba(47,107,255,.55)); }
.up-abas__criar { align-self: center; justify-self: center; width: 54px; height: 54px; min-height: 54px !important; border-radius: 18px !important; margin-top: -18px;
  color: #fff !important; background: linear-gradient(150deg,#2f6bff,#1458f0) !important; box-shadow: 0 12px 26px -10px rgba(20,88,240,.95); }
.up-abas__criar svg { width: 26px; height: 26px; }
/* folha "Mais" */
.up-folha { position: fixed; inset: 0; z-index: 10000; pointer-events: none; }
.up-folha__veu { position: absolute; inset: 0; background: rgba(3,9,18,.55); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s; }
.up-folha__caixa { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 14px calc(18px + env(safe-area-inset-bottom)); background: #0b1a2c; color: #e9f0fa;
  border-radius: 22px 22px 0 0; transform: translateY(105%); transition: transform .45s cubic-bezier(.2,.9,.25,1.05); box-shadow: 0 -20px 60px -10px rgba(0,0,0,.6); }
.up-folha.aberta { pointer-events: auto; } .up-folha.aberta .up-folha__veu { opacity: 1; } .up-folha.aberta .up-folha__caixa { transform: none; }
.up-folha__alca { display: block; width: 42px; height: 5px; border-radius: 999px; background: rgba(255,255,255,.25); margin: 0 auto 12px; }
.up-folha__caixa > a, .up-folha__caixa > button { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 12px; border: 0; border-radius: 14px; background: none;
  color: inherit; text-decoration: none; font: 600 15px Inter, sans-serif; text-align: left; }
.up-folha__caixa > a:active, .up-folha__caixa > button:active { background: #10243c; }
.up-folha__caixa svg { color: #7aa2ff; flex: none; }
.up-folha__caixa b { flex: 1; font-weight: 600; }
.up-folha__caixa em { font-style: normal; font-size: 12px; color: #93a5bf; }
.up-folha__caixa > small { display: block; margin: 14px 12px 8px; font: 700 11px Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #93a5bf; }
.up-folha__apps { display: flex; gap: 12px; padding: 0 12px 4px; }
.up-folha__apps .up-tile { width: 58px; height: 58px; border-radius: 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  background: linear-gradient(150deg,#0e2a52 0%,#081a33 100%); border: 1px solid rgba(91,140,255,.22); }
.up-folha__apps .atual .up-tile { border-color: #2f6bff; box-shadow: 0 0 0 2px rgba(47,107,255,.35); }
.up-folha__apps .up-tile i { display: block; width: 36px; height: 14.8px; background: url(/up-marca/up-UP-branco.png) center/contain no-repeat; }
.up-folha__apps .up-tile small { font: 500 9.5px/1 Montserrat, Inter, sans-serif; color: #fff; }
/* banner "instale o app" */
.up-banner { position: fixed; left: 12px; right: 12px; bottom: calc(80px + env(safe-area-inset-bottom)); z-index: 9997; display: flex; align-items: center; gap: 12px; padding: 12px;
  border-radius: 18px; background: #0b1a2c; color: #e9f0fa; border: 1px solid rgba(91,140,255,.25); box-shadow: 0 20px 40px -18px rgba(0,0,0,.8); animation: up-sobe .5s cubic-bezier(.2,.8,.2,1) both; }
.up-banner img { width: 44px; height: 44px; border-radius: 11px; }
.up-banner div { flex: 1; display: flex; flex-direction: column; font: 13px/1.35 Inter, sans-serif; }
.up-banner div span { color: #93a5bf; font-size: 12px; }
.up-banner .ok { border: 0; border-radius: 11px; padding: 10px 14px; background: #1458f0; color: #fff; font: 600 13px Inter, sans-serif; }
.up-banner .x { border: 0; background: none; color: #93a5bf; font-size: 22px; line-height: 1; padding: 4px 6px; }
/* instruções do iPhone */
.up-ios { position: fixed; inset: 0; z-index: 10001; display: flex; align-items: flex-end; background: rgba(3,9,18,.6); backdrop-filter: blur(3px); }
.up-ios__caixa { width: 100%; padding: 22px 22px calc(26px + env(safe-area-inset-bottom)); background: #0b1a2c; color: #e9f0fa; border-radius: 22px 22px 0 0; text-align: center;
  animation: up-sobe .45s cubic-bezier(.2,.8,.2,1) both; }
.up-ios__caixa img { width: 72px; height: 72px; border-radius: 17px; }
.up-ios__caixa h3 { font: 800 19px Montserrat, Inter, sans-serif; margin: 12px 0 10px; }
.up-ios__caixa ol { text-align: left; margin: 0 auto 16px; padding-left: 22px; max-width: 320px; font: 14.5px/1.7 Inter, sans-serif; color: #c9d6ea; }
.up-ios__ic { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: #10243c; color: #7aa2ff; font-size: 13px; }
.up-ios__caixa button { width: 100%; max-width: 320px; border: 0; border-radius: 13px; padding: 14px; background: #1458f0; color: #fff; font: 600 15px Inter, sans-serif; }
/* aviso rápido */
.up-toast { position: fixed; left: 50%; bottom: calc(92px + env(safe-area-inset-bottom)); transform: translate(-50%, 20px); opacity: 0; z-index: 10002; max-width: calc(100vw - 32px);
  padding: 11px 16px; border-radius: 13px; background: #0b1b2e; color: #fff; font: 600 13.5px/1.4 Inter, sans-serif; box-shadow: 0 16px 40px -14px rgba(0,0,0,.7);
  transition: all .4s cubic-bezier(.2,.9,.25,1.05); pointer-events: none; }
.up-toast.on { opacity: 1; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) { .up-abas, .up-banner, .up-ios__caixa, .up-folha__caixa { animation: none !important; transition: none !important; } }
