/* componentes do design system (paridade com os componentes React) */
.lb-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--weight-bold);line-height:1;border-radius:var(--radius-control);text-decoration:none;cursor:pointer;transition:var(--transition-control),transform var(--duration-instant) var(--ease-standard);border:1px solid transparent}
.lb-btn:hover{text-decoration:none}
.lb-btn:active{transform:scale(.985)}
.lb-btn--sm{padding:8px 14px;font-size:var(--text-xs);min-height:34px;gap:6px}
.lb-btn--md{padding:12px 20px;font-size:var(--text-sm);min-height:44px;gap:8px}
.lb-btn--lg{padding:15px 28px;font-size:var(--text-base);min-height:52px;gap:10px}
.lb-btn--caps{letter-spacing:var(--tracking-wide);text-transform:uppercase}
.lb-btn--plain{letter-spacing:var(--tracking-normal);text-transform:none}
.lb-btn--full{display:flex;width:100%}
.lb-btn--primary{background:var(--action-primary);color:var(--text-inverse);border-color:var(--action-primary)}
.lb-btn--primary:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover);color:var(--text-inverse)}
.lb-btn--primary:active{background:var(--action-primary-active);border-color:var(--action-primary-active)}
.lb-btn--secondary{background:var(--action-secondary);color:var(--text-inverse);border-color:var(--action-secondary)}
.lb-btn--secondary:hover{background:var(--action-secondary-hover);border-color:var(--action-secondary-hover);color:var(--text-inverse)}
.lb-btn--secondary:active{background:var(--navy-950);border-color:var(--navy-950)}
.lb-btn--accent{background:var(--action-accent);color:var(--text-inverse);border-color:var(--action-accent)}
.lb-btn--accent:hover{background:var(--action-accent-hover);border-color:var(--action-accent-hover);color:var(--text-inverse)}
.lb-btn--outline{background:transparent;color:var(--text-brand);border-color:var(--border-strong)}
.lb-btn--outline:hover{background:var(--surface-brand-soft);border-color:var(--border-brand);color:var(--text-brand)}
.lb-btn--outline:active{background:var(--green-100);border-color:var(--green-900)}
.lb-btn--ghost{background:transparent;color:var(--text-brand)}
.lb-btn--ghost:hover{background:var(--surface-brand-soft);color:var(--text-brand)}
.lb-btn--inverse{background:var(--neutral-0);color:var(--text-brand);border-color:var(--neutral-0)}
.lb-btn--inverse:hover{background:var(--green-50);border-color:var(--green-50);color:var(--text-brand)}
.lb-eyebrow{margin:0;display:block;font:var(--type-eyebrow);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-brand)}
.lb-eyebrow--inverse{color:var(--green-300)}
.lb-eyebrow--navy{color:var(--navy-900)}
.lb-eyebrow--muted{color:var(--text-muted)}
.lb-eyebrow--accent{color:var(--text-accent)}
.lb-eyebrow--rule{display:flex;align-items:center;gap:var(--space-3)}
.lb-eyebrow--rule i{flex:1;height:3px;background:currentColor;opacity:.85;max-width:56px}
.lb-sh{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--space-6);text-align:left}
.lb-sh>.lb-sh-body{max-width:720px}
.lb-sh .lb-eyebrow{margin-bottom:var(--space-3)}
.lb-sh h2,.lb-sh h1,.lb-sh h3{font:var(--type-h2);letter-spacing:var(--tracking-tight);color:var(--text-strong);margin:0}
.lb-sh--h1 h1{font:var(--type-h1)}
.lb-sh p.lb-sh-desc{font:var(--type-lead);color:var(--text-body);margin:var(--space-4) 0 0}
.lb-sh--center{flex-direction:column;align-items:center;text-align:center;max-width:760px;margin-inline:auto}
.lb-sh--center .lb-eyebrow{justify-content:center}
.lb-sh--inverse h2,.lb-sh--inverse h1{color:var(--text-inverse)}
.lb-sh--inverse p.lb-sh-desc{color:rgba(255,255,255,.82)}
.lb-sh-action{flex:0 0 auto}
.lb-nrtag{display:inline-block;font-family:var(--font-mono);font-weight:var(--weight-semibold);letter-spacing:.02em;line-height:1;border-radius:var(--radius-xs);white-space:nowrap;padding:5px 8px;font-size:var(--text-xs);background:var(--green-800);color:var(--text-inverse)}
.lb-nrtag--sm{padding:3px 6px;font-size:var(--text-2xs)}
.lb-nrtag--lg{padding:7px 11px;font-size:var(--text-sm)}
.lb-nrtag--navy{background:var(--navy-900)}
.lb-nrtag--soft{background:var(--surface-brand-soft);color:var(--green-900)}
.lb-nrtag--outline{background:transparent;color:var(--text-brand);box-shadow:inset 0 0 0 1px var(--green-300)}
.lb-nrtag--accent{background:var(--orange-700)}
.lb-stat-v{font:var(--type-h1);font-family:var(--font-display);font-weight:var(--weight-black);letter-spacing:var(--tracking-tighter);color:var(--text-brand);line-height:1}
.lb-stat-v span{font-size:.5em;font-weight:var(--weight-bold);margin-left:4px}
.lb-stat-l{margin-top:var(--space-3);font:var(--type-body-sm);color:var(--text-muted);max-width:220px}
.lb-acc{border-top:1px solid var(--border-default)}
.lb-acc details{border-bottom:1px solid var(--border-default)}
.lb-acc summary{list-style:none;width:100%;display:flex;align-items:center;gap:var(--space-4);text-align:left;padding:var(--space-5) var(--space-4);background:transparent;border:none;cursor:pointer;transition:var(--transition-control);min-height:60px}
.lb-acc summary::-webkit-details-marker{display:none}
.lb-acc summary:hover,.lb-acc details[open] summary{background:var(--surface-brand-soft)}
.lb-acc summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.lb-acc .lb-acc-t{flex:1;font:var(--type-h5);font-size:var(--text-base);color:var(--text-strong)}
.lb-acc details[open] .lb-acc-t{color:var(--text-brand)}
.lb-acc .lb-acc-m{font:var(--type-caption);color:var(--text-muted);white-space:nowrap}
.lb-acc .lb-acc-i{flex:0 0 auto;width:9px;height:9px;border-right:2px solid var(--text-brand);border-bottom:2px solid var(--text-brand);transform:rotate(45deg);margin-bottom:4px;transition:transform var(--duration-base) var(--ease-standard)}
.lb-acc details[open] .lb-acc-i{transform:rotate(-135deg);margin-bottom:-4px}
.lb-acc .lb-acc-c{padding:var(--space-2) var(--space-4) var(--space-6);font:var(--type-body);color:var(--text-body);max-width:760px}
.lb-acc .lb-acc-c p+p{margin-top:var(--space-4)}
/* foco visível global */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
/* skip link */
.lb-skip{position:absolute;left:-9999px;top:0;z-index:200;background:#fff;color:var(--text-brand);padding:12px 20px;font:var(--type-body);font-weight:700}
.lb-skip:focus{left:8px;top:8px}
/* megamenu no servidor: painel fechado por padrão */
.nav>.mm-panel{display:none}
.nav>a[aria-expanded="true"]+.mm-panel,.nav>.mm-panel.is-open{display:block}
.drawer{display:none}
.menu-open .drawer{display:block}
@container (max-width:1000px){.drawer{display:none}.menu-open .drawer{display:block}}

/* formulários */
.lb-field{display:flex;flex-direction:column;gap:var(--space-2)}
.lb-label{font:var(--type-label);font-weight:var(--weight-semibold);color:var(--text-strong)}
.lb-req{color:var(--text-accent)}
.lb-input{width:100%;min-height:44px;padding:10px 12px;font:var(--type-body);color:var(--text-strong);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);transition:var(--transition-control)}
.lb-input::placeholder{color:var(--text-subtle)}
.lb-input:hover{border-color:var(--border-strong)}
.lb-input:focus{border-color:var(--border-brand);outline:2px solid var(--focus-ring);outline-offset:1px}
.lb-input.is-invalid{border-color:var(--orange-700)}
.lb-textarea{min-height:112px;resize:vertical}
.lb-error{font:var(--type-caption);color:var(--orange-700)}
.lb-check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-3);align-items:start;font:var(--type-body-sm);color:var(--text-body);cursor:pointer;min-height:44px;align-content:center}
.lb-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--action-primary)}
.lb-alert{border:1px solid var(--border-default);border-left:none;border-top:4px solid var(--green-700);border-radius:var(--radius-card);padding:var(--space-6);background:var(--surface-brand-soft)}
.lb-alert strong{display:block;font:var(--type-h5);color:var(--green-900)}
.lb-alert p{margin-top:var(--space-2);font:var(--type-body-sm);color:var(--text-body)}
.lf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* abas */
.lb-tabs{display:flex;flex-wrap:wrap;gap:var(--space-6);border-bottom:1px solid var(--border-default)}
.lb-tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;padding:12px 2px;min-height:44px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted);cursor:pointer;transition:var(--transition-control)}
.lb-tab:hover{color:var(--text-brand)}
.lb-tab.is-active{color:var(--text-brand);border-bottom-color:var(--green-700);font-weight:var(--weight-bold)}
