.jt-skip { position:fixed; top:-80px; left:16px; z-index:1000000; padding:12px 20px; background:var(--jt-gold); color:var(--jt-on-accent); border-radius:var(--jt-radius-input); }
.jt-skip:focus { top:12px; }
.jt-shell { min-height:100dvh; }
.jt-shell-content { max-width:var(--jt-content); margin:auto; padding:0 var(--jt-gutter); }
.jt-admin .jt-shell-content { max-width:var(--jt-content-admin); }
.jt-topbar { position:relative; z-index:1001; display:flex; align-items:center; gap:var(--jt-space-6); min-height:94px; }
.jt-brand { display:inline-flex; align-items:center; gap:var(--jt-space-3); color:var(--jt-text); text-decoration:none; font-size:28px; font-weight:800; letter-spacing:-.04em; white-space:nowrap; }
.jt-brand img { width:46px; height:46px; border-radius:11px; }
.jt-topbar-actions { margin-left:auto; display:flex; align-items:center; gap:var(--jt-space-3); }
.jt-theme { display:inline-flex; padding:4px; background:var(--jt-surface); border:1px solid var(--jt-border); border-radius:var(--jt-radius-pill); }
.jt-theme button { display:grid; place-items:center; width:42px; height:42px; min-height:42px; border-radius:50%; border:0; background:transparent; color:var(--jt-muted); font-size:22px; }
.jt-theme button[aria-pressed=true] { background:var(--jt-soft); color:var(--jt-accent); }
.jt-account-wrap { position:relative; }
.jt-account-menu { position:absolute; right:0; top:56px; width:280px; max-width:calc(100vw - 32px); padding:var(--jt-space-3); border:1px solid var(--jt-border); border-radius:var(--jt-radius-card); background:var(--jt-elevated); box-shadow:var(--jt-shadow-raised); }
.jt-account-menu a { display:flex; align-items:center; gap:var(--jt-space-3); min-height:46px; padding:10px 12px; border-radius:var(--jt-radius-sm); color:var(--jt-text); font-size:var(--jt-small); text-decoration:none; }
.jt-account-menu a:hover { background:var(--jt-soft); color:var(--jt-accent); }
.jt-account-menu i { width:20px; color:var(--jt-accent); }
.jt-account-name { margin:0 12px 8px; padding:8px 0 12px; font-weight:600; border-bottom:1px solid var(--jt-border); overflow-wrap:anywhere; }
.jt-nav { display:flex; align-items:center; gap:var(--jt-space-2); margin-left:var(--jt-space-6); }
.jt-nav a { display:flex; align-items:center; justify-content:center; gap:var(--jt-space-2); min-height:44px; padding:10px 13px; border-radius:var(--jt-radius-pill); color:var(--jt-muted); text-decoration:none; font-size:var(--jt-small); font-weight:500; }
.jt-nav a[aria-current=page], .jt-nav a:hover { background:var(--jt-soft); color:var(--jt-accent); }
.jt-main { padding:var(--jt-space-6) 0 var(--jt-space-12); min-width:0; }
.jt-main-content { min-width:0; }
.jt-footer { color:var(--jt-muted); border-top:1px solid var(--jt-border); padding:var(--jt-space-6) 0; text-align:center; font-size:var(--jt-caption); }
.jt-main-content > .space-y-6 > * + * { margin-top:var(--jt-space-6); }
@media(max-width:1023px) {
  .jt-topbar { min-height:82px; }
  .jt-nav { display:none; }
  .jt-main { padding-top:var(--jt-space-4); }
  .jt-footer { padding-bottom:110px; }
}
@media(max-width:480px) {
  .jt-topbar { min-height:76px; gap:var(--jt-space-2); }
  .jt-brand { font-size:24px; gap:9px; }.jt-brand img { width:38px; height:38px; }
  .jt-theme button { width:36px; min-height:36px; height:36px; font-size:20px; }
  .jt-topbar-actions { gap:var(--jt-space-2); }
  .jt-main-content { overflow-wrap:break-word; }
}

/* Animação do Logo Juntô (Repetição a cada 3 segundos) */
@keyframes jt-logo-anim {
  0%, 100% {
    transform: scale(1) rotate(0deg);
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.15));
  }
  12% {
    transform: scale(1.08) rotate(-2.5deg) translateY(-2px);
    filter: drop-shadow(0 6px 16px rgba(255, 189, 57, 0.55));
  }
  22% {
    transform: scale(0.98) rotate(1.5deg) translateY(0);
    filter: drop-shadow(0 2px 6px rgba(255, 189, 57, 0.25));
  }
  32% {
    transform: scale(1.05) rotate(0deg) translateY(-1px);
    filter: drop-shadow(0 4px 12px rgba(255, 189, 57, 0.45));
  }
  44%, 100% {
    transform: scale(1) rotate(0deg) translateY(0);
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.15));
  }
}

.jh-brand img,
.jt-brand img,
.animated-login-logo,
.jt-auth-brand img {
  animation: jt-logo-anim 3s infinite ease-in-out;
  transform-origin: center center;
  will-change: transform, filter;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.jh-brand:hover img,
.jt-brand:hover img,
.animated-login-logo:hover,
.jt-auth-brand img:hover {
  animation-play-state: paused;
  transform: scale(1.1) translateY(-2px);
  filter: drop-shadow(0 6px 18px rgba(255, 189, 57, 0.65));
}

@media (prefers-reduced-motion: reduce) {
  .jh-brand img,
  .jt-brand img,
  .animated-login-logo,
  .jt-auth-brand img {
    animation: none !important;
  }
}
