/* Casca única: no computador, trilha de módulos e painel de seções; abaixo de 1024 px, topo e barra inferior. */
.casca-trilho{display:none}
.casca-tema{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink2);cursor:pointer}
.casca-tema .ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.casca-tema:hover{background:var(--sup)}
.casca-pular{position:absolute;left:8px;top:-60px;z-index:60;background:var(--card);color:var(--ink);border:0;border-radius:10px;padding:10px 14px;font:inherit;font-weight:600;white-space:nowrap}
.casca-pular:focus{top:8px}
nav.casca-secoes a,nav.casca-secoes button{display:flex;align-items:center;gap:9px;background:transparent;border:0;color:var(--muted);font:inherit;font-weight:600;text-decoration:none;box-shadow:none;cursor:pointer;transition:background .15s,color .15s}
nav.casca-secoes a .ic,nav.casca-secoes button .ic{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
nav.casca-secoes a:hover,nav.casca-secoes button:hover{background:var(--line2);color:var(--ink)}
nav.casca-secoes a.active,nav.casca-secoes button.active{background:var(--brand-50);color:var(--link-forte);box-shadow:none}
nav.casca-secoes a.active .ic,nav.casca-secoes button.active .ic{color:var(--link)}
.casca-nucleo[hidden]{display:none}
.casca-nucleo span{display:block;color:var(--muted);font-size:12px;font-weight:600}
.casca-nucleo select{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px}
.com-seletor #nucleus-filter,.com-seletor #fN,.com-seletor .field:has(#fltnucleo),.com-seletor .field:has(#fichanucleo),.com-seletor .field:has(#nucleoSel),.com-seletor .imc-f:has(#imc-nucleo){display:none}
@media(min-width:1024px){
 .casca-nucleo{position:fixed;left:76px;bottom:0;z-index:21;display:grid;gap:5px;width:196px;padding:12px 10px 16px;background:var(--card);border-right:1px solid var(--line);border-top:1px solid var(--line2)}
 .com-seletor nav.casca-secoes{padding-bottom:96px}
 .com-casca body{padding-left:272px}
 .com-casca .top{display:none}
 .casca-trilho{display:flex;flex-direction:column;gap:2px;position:fixed;inset:0 auto 0 0;width:76px;padding:12px 6px;background:var(--trilho);z-index:30;overflow-y:auto;scrollbar-width:none}
 .casca-marca{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 12px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff}
 .casca-marca svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .casca-trilho a{display:grid;justify-items:center;gap:3px;padding:9px 2px;border-radius:12px;color:#d5e2ee;font-size:12px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:background .15s,color .15s}
 .casca-trilho a .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .casca-trilho a:hover{background:rgba(255,255,255,.1);color:#fff}
 .casca-trilho a[aria-current]{background:rgba(255,255,255,.14);color:#fff}
 .casca-trilho a[aria-current] .ic{color:var(--energia)}
 .casca-trilho a:focus-visible,.casca-pe .casca-tema:focus-visible{outline:2px solid #fff;outline-offset:-2px}
 .casca-pe{display:grid;justify-items:center;margin-top:auto;padding-top:10px}
 .casca-pe .casca-tema{background:transparent;border-color:rgba(255,255,255,.22);color:#d5e2ee}
 .casca-pe .casca-tema:hover{background:rgba(255,255,255,.1);color:#fff}
 .com-casca .casca-tema-movel{display:none}
 nav.casca-secoes{position:fixed;left:76px;top:0;bottom:0;z-index:20;display:flex;flex-direction:column;flex-wrap:nowrap;gap:2px;width:196px;max-width:none;margin:0;padding:16px 10px;background:var(--card);border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;overflow:hidden auto}
 nav.casca-secoes::before{content:attr(data-titulo);padding:6px 10px 14px;color:var(--ink);font-size:15px;font-weight:700;letter-spacing:-.2px}
 nav.casca-secoes a,nav.casca-secoes button{flex:none;width:100%;min-height:40px;padding:8px 10px;border-radius:10px;text-align:left}
 nav.casca-secoes a span,nav.casca-secoes button span{min-width:0}
}
@media(max-width:1023px){
 .casca-nucleo{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--vidro);border-bottom:1px solid var(--line)}
 .casca-nucleo span{flex:none}
 .casca-nucleo select{flex:1;min-height:40px;font-size:16px}
 .com-casca{--casca-barra:calc(72px + env(safe-area-inset-bottom))}
 .com-casca body{padding-bottom:var(--casca-barra)}
 .com-casca .message,.com-casca .toast{bottom:calc(76px + env(safe-area-inset-bottom))}
 nav.casca-secoes{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;flex-wrap:nowrap;gap:0;width:auto;max-width:none;margin:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:var(--card);border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -4px 16px rgba(15,30,51,.06);overflow:auto hidden;scrollbar-width:none}
 nav.casca-secoes::-webkit-scrollbar{display:none}
 nav.casca-secoes a,nav.casca-secoes button{position:relative;flex:1 0 76px;flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:6px 4px;border-radius:10px;font-size:12px;line-height:1.2;text-align:center;white-space:nowrap}
 nav.casca-secoes .count{position:absolute;top:2px;right:calc(50% - 22px);min-width:18px;padding:0 4px;border-radius:9px;font-size:11px;line-height:18px}
 nav.casca-secoes.unica{display:none}
}
/* Celular: campo com menos de 16 px faz o iPhone dar zoom ao tocar; o IMC já usa campos maiores. */
@media(max-width:1023px){.com-casca :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea):not(.imc-in input){font-size:16px}}
/* Tela de toque: 44 px de alvo nos botões e campos. */
@media(pointer:coarse){.com-casca :is(.btn,.seg button,select,input:not([type=checkbox]):not([type=radio]):not([type=file]),.imc-chip){min-height:44px}.com-casca .casca-tema{width:44px;height:44px}}
.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}
@media(prefers-reduced-motion:reduce){.casca-trilho a,nav.casca-secoes a,nav.casca-secoes button{transition:none}}
