/* Reset e elementos base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topbar-h) + var(--space-6))}
html,body{margin:0}
body{min-height:100vh;background:var(--bg-app);color:var(--text-1);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
a{color:var(--text-1);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:text-decoration-color var(--dur-base) var(--ease-out)}
a:hover{text-decoration-color:currentColor}
a.jt-btn,a.jt-icbtn,a.nav,a.brand,a.sheet-btn,a.pop__item,a.li{text-decoration:none}
a:not(.jt-btn):not(.jt-icbtn):not(.nav):not(.li):not(.pop__item):not(.sheet-btn):not(.brand):focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,summary:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-app),0 0 0 4px var(--focus-ring);border-radius:var(--radius-xs)}
::selection{background:var(--lime-500);color:var(--ink-950)}
[hidden]{display:none!important}

.jt-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Pular para o conteúdo */
.skip{position:fixed;left:var(--space-6);top:-80px;z-index:300;padding:12px 18px;border-radius:var(--radius-pill);background:var(--surface-inverse);color:var(--text-inverse);font-weight:600;text-decoration:none;transition:top var(--dur-base) var(--ease-out)}
.skip:focus{top:var(--space-6);outline:none;box-shadow:0 0 0 2px var(--bg-app),0 0 0 4px var(--focus-ring)}

/* Diálogo nativo com a pele do design system */
dialog.jt-dialog{border:0;margin:auto;padding:28px;max-width:min(560px,calc(100vw - 32px));width:100%}
dialog.jt-dialog--wide{max-width:min(720px,calc(100vw - 32px))}
dialog.jt-dialog::backdrop{background:var(--overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:jt-fade var(--dur-base) var(--ease-out)}
dialog.jt-dialog[open]{display:block}
dialog.jt-dialog.is-closing{animation:jt-sink var(--dur-base) var(--ease-in) forwards}
@keyframes jt-sink{to{opacity:0;transform:translateY(8px) scale(.98)}}
@media (max-width:600px){
  dialog.jt-dialog,dialog.jt-dialog--wide{margin:auto 8px 8px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border-radius:28px;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}
}
textarea.jt-textarea{width:100%;min-height:96px;padding:12px 16px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid transparent;resize:vertical;font:500 14px/1.5 var(--font-body);transition:border-color var(--dur-base),background var(--dur-base)}
textarea.jt-textarea:hover{background:var(--surface-3)}
textarea.jt-textarea:focus{outline:none;background:var(--surface-1);border-color:var(--text-1);box-shadow:0 0 0 3px var(--hover-tint)}
.jt-control input[type="date"],.jt-control input[type="time"]{min-width:0}
.jt-control input[type="date"]::-webkit-calendar-picker-indicator,.jt-control input[type="time"]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}
[data-theme="dark"] .jt-control input[type="date"]::-webkit-calendar-picker-indicator,[data-theme="dark"] .jt-control input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(1)}
.jt-control select option{background:var(--surface-raised);color:var(--text-1)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
}
#main:focus,[id="page-title"]:focus{outline:none}
.brand:focus-visible,.top__brand:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-app),0 0 0 4px var(--focus-ring);border-radius:var(--radius-sm)}

/* Ícones Lucide: peso fixo, sem negrito sintético quando o texto ao lado é 600 */
[class^="icon-"],[class*=" icon-"]{font-weight:400;font-synthesis:none}
