/* Tokens */
:root {
  --nx-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --nx-head: "Lexend", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --nx-bg: #f5f7f6;
  --nx-surface: #ffffff;
  --nx-surface-2: #f5f7f6;
  --nx-surface-3: #eef1f0;
  --nx-border: #e3e8e6;
  --nx-border-soft: #eef1f0;
  --nx-border-strong: #cfd7d4;
  --nx-ink: #191c1d;
  --nx-text: #191c1d;
  --nx-text-2: #4b5552;
  --nx-text-3: #636d69;
  --nx-text-4: #7d8783;
  --nx-mint: #00e197;
  --nx-mint-hover: #00cf8b;
  --nx-mint-ink: #000000;
  --nx-mint-soft: #e3fbf1;
  --nx-mint-line: #b8ecd6;
  --nx-green: #006c46;
  --nx-green-hover: #00543a;
  --nx-warn: #8a4b00;
  --nx-warn-soft: #fff4e0;
  --nx-warn-line: #f3dcae;
  --nx-neg: #b3261e;
  --nx-neg-soft: #fdecea;
  --nx-neg-line: #f4c7c2;
  --nx-pass: #6b38d4;
  --nx-pass-ink: #5b2bc0;
  --nx-pass-soft: #f1ebfc;
  --nx-r-sm: 8px;
  --nx-r: 12px;
  --nx-r-lg: 16px;
  --nx-shadow: 0 1px 2px rgba(16, 24, 20, .05);
  --nx-ring: 0 0 0 1px var(--nx-border), 0 1px 2px rgba(16, 24, 20, .04);
  --nx-shadow-pop: 0 20px 48px -16px rgba(16, 24, 20, .28), 0 4px 12px -4px rgba(16, 24, 20, .08);
}
html.dark {
  --nx-bg: #0d1110;
  --nx-surface: #151a19;
  --nx-surface-2: #1b2120;
  --nx-surface-3: #212927;
  --nx-border: #27302e;
  --nx-border-soft: #212927;
  --nx-border-strong: #34403d;
  --nx-text: #eef2f0;
  --nx-text-2: #b8c2be;
  --nx-text-3: #93a09b;
  --nx-text-4: #7a8782;
  --nx-mint-soft: rgba(0, 225, 151, .12);
  --nx-mint-line: rgba(0, 225, 151, .3);
  --nx-green: #3fe0a8;
  --nx-green-hover: #6aeabd;
  --nx-warn: #f2b84b;
  --nx-warn-soft: rgba(242, 184, 75, .12);
  --nx-warn-line: rgba(242, 184, 75, .3);
  --nx-neg: #f28b82;
  --nx-neg-soft: rgba(242, 139, 130, .12);
  --nx-neg-line: rgba(242, 139, 130, .3);
  --nx-pass-ink: #b89cf2;
  --nx-pass-soft: rgba(107, 56, 212, .18);
  --nx-ring: 0 0 0 1px var(--nx-border);
}

/* Base */
html, body, :host { font-family: var(--nx-font); }
body {
  color: var(--nx-text);
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html:not(.dark) body { background: var(--nx-bg); }
.font-headline, h1, h2, h3 { font-family: var(--nx-head); }
.font-body, .font-label { font-family: var(--nx-font); }
::placeholder { color: #8a938f; opacity: 1; font-weight: 400; }
html.dark ::placeholder { color: #6c7874; }

/* Escala de tamanhos */
:is(.text-\[6px\], .text-\[7px\], .text-\[8px\], .text-\[9px\], .text-\[10px\], .text-\[11px\], .text-xs, .text-\[12px\]):not(.material-symbols-outlined) { font-size: 12px; line-height: 16px; }
.text-\[13px\]:not(.material-symbols-outlined) { font-size: 13px; line-height: 18px; }
:is(.text-sm, .text-\[14px\], .text-\[15px\], .text-base):not(.material-symbols-outlined) { font-size: 14px; line-height: 20px; }
:is(.text-lg, .text-\[16px\], .text-\[18px\]):not(.material-symbols-outlined) { font-size: 16px; line-height: 24px; }
:is(.text-xl, .text-\[20px\], .text-\[22px\]):not(.material-symbols-outlined) { font-size: 18px; line-height: 26px; }
.text-2xl:not(.material-symbols-outlined) { font-size: 20px; line-height: 28px; }
.text-3xl:not(.material-symbols-outlined) { font-size: 24px; line-height: 32px; }
:is(.text-4xl, .text-5xl, .text-6xl):not(.material-symbols-outlined) { font-size: 28px; line-height: 36px; }
@media (min-width: 640px) {
  .sm\:text-\[9px\]:not(.material-symbols-outlined) { font-size: 12px; line-height: 16px; }
  .sm\:text-2xl:not(.material-symbols-outlined) { font-size: 20px; line-height: 28px; }
}
@media (min-width: 768px) {
  :is(.md\:text-\[9px\], .md\:text-\[10px\], .md\:text-xs):not(.material-symbols-outlined) { font-size: 12px; line-height: 16px; }
  :is(.md\:text-sm, .md\:text-\[14px\], .md\:text-base):not(.material-symbols-outlined) { font-size: 14px; line-height: 20px; }
  :is(.md\:text-lg, .md\:text-\[16px\], .md\:text-\[18px\]):not(.material-symbols-outlined) { font-size: 16px; line-height: 24px; }
  :is(.md\:text-xl, .md\:text-\[20px\]):not(.material-symbols-outlined) { font-size: 18px; line-height: 26px; }
  .md\:text-2xl:not(.material-symbols-outlined) { font-size: 20px; line-height: 28px; }
  .md\:text-3xl:not(.material-symbols-outlined) { font-size: 24px; line-height: 32px; }
  :is(.md\:text-4xl, .md\:text-5xl, .md\:text-6xl):not(.material-symbols-outlined) { font-size: 28px; line-height: 36px; }
}
h1:not(#nx):not(.material-symbols-outlined) { font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; }
@media (min-width: 768px) { h1:not(#nx):not(.material-symbols-outlined) { font-size: 24px; line-height: 32px; } }
h2:is(.text-3xl, .text-4xl, .text-5xl, .text-6xl, .md\:text-3xl, .md\:text-4xl, .md\:text-5xl, .md\:text-6xl):not(#nx) { font-size: 20px; line-height: 28px; }
@media (min-width: 768px) { h2:is(.md\:text-3xl, .md\:text-4xl, .md\:text-5xl, .md\:text-6xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl):not(#nx) { font-size: 24px; line-height: 32px; } }

/* Pesos */
.font-extrabold, .font-black { font-weight: 700; }
.font-bold { font-weight: 600; }
:is(.font-headline, h1, h2, h3):is(.font-black, .font-extrabold, .font-bold) { font-weight: 600; }
h1, h2, h3 { font-weight: 600; }

/* Caixa alta e espaçamento */
.uppercase { text-transform: none; }
.italic:not(blockquote):not(q) { font-style: normal; }
.tracking-tighter, .tracking-tight { letter-spacing: -0.01em; }
.tracking-wide, [class*=tracking-widest], [class*=tracking-wider], [class*=tracking-\[] { letter-spacing: normal !important; }
:is(p, span, label, th, dt, small).uppercase:is(.text-\[6px\], .text-\[7px\], .text-\[8px\], .text-\[9px\], .text-\[10px\], .text-\[11px\], .text-xs, .text-\[0\.65rem\], .text-\[0\.55rem\]) {
  text-transform: uppercase;
  letter-spacing: .06em !important;
  font-weight: 600;
}
label.uppercase, th.uppercase { text-transform: uppercase; letter-spacing: .06em !important; font-size: 12px; line-height: 16px; font-weight: 600; }
:is(h1, h2, h3, h4, h5).uppercase { text-transform: none; letter-spacing: -0.01em; }
:is(button, a):is(.text-\[6px\], .text-\[7px\], .text-\[8px\], .text-\[9px\], .text-\[10px\], .text-\[11px\], .text-xs):not(.material-symbols-outlined) { font-size: 13px; line-height: 18px; letter-spacing: normal; }
button, a, :is(button, a).uppercase, :is(button, a) .uppercase { text-transform: none; }
:is(button, a):is([class*=tracking-widest], [class*=tracking-wider], [class*=tracking-\[]) { letter-spacing: normal !important; }
:is(button, a) :is(span, p).uppercase:is(.text-\[6px\], .text-\[7px\], .text-\[8px\], .text-\[9px\], .text-\[10px\]):not(.rounded-full):not([class*="px-"]) { text-transform: none; letter-spacing: normal !important; }
.capitalize { text-transform: none; }

/* Cantos */
.rounded-md, .rounded-lg, .rounded-xl, .rounded-\[1\.2rem\], .rounded-\[1rem\] { border-radius: var(--nx-r-sm); }
.rounded-2xl, .rounded-\[16px\], .rounded-\[20px\], .rounded-\[1\.5rem\] { border-radius: var(--nx-r); }
.rounded-3xl, .rounded-\[24px\], .rounded-\[2rem\], .rounded-\[2\.5rem\], .rounded-\[30px\], .rounded-\[32px\], .rounded-\[3rem\], .rounded-\[40px\], .rounded-\[4rem\] { border-radius: var(--nx-r-lg); }
.rounded-t-\[30px\], .rounded-t-\[32px\], .rounded-t-\[3rem\] { border-top-left-radius: var(--nx-r-lg); border-top-right-radius: var(--nx-r-lg); }
:is(button, a).rounded-full:not(:is(.w-5, .w-6, .w-7, .w-8, .w-9, .w-10, .w-11, .w-12, .w-14, .w-16, .w-20, .aspect-square)) { border-radius: var(--nx-r-sm); }
div.rounded-full:has(> button + button) { border-radius: 10px; }
div.rounded-full:has(> button + button) > button.rounded-full { border-radius: var(--nx-r-sm); }

/* Sombras e bordas */
.shadow-sm, .shadow, .shadow-md, .shadow-lg, .shadow-xl, .shadow-inner, .shadow-card, [class*="shadow-\["] { --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; box-shadow: var(--nx-shadow); }
.shadow-2xl { box-shadow: var(--nx-shadow); }
.fixed .shadow-2xl, .fixed.shadow-2xl, .absolute.shadow-2xl, .profile-dropdown-container .shadow-2xl { box-shadow: var(--nx-shadow-pop); }
html:not(.dark) .bg-white:is(.rounded-xl, .rounded-2xl, .rounded-3xl, [class*="rounded-\["]):not(.border):not(button):not(input):not(select):not(textarea) { box-shadow: var(--nx-ring); }
html.dark :is(.dark\:bg-slate-900, .dark\:bg-slate-950):is(.rounded-xl, .rounded-2xl, .rounded-3xl, [class*="rounded-\["]):not(.border):not(button) { box-shadow: var(--nx-ring); }
.hover\:-translate-y-1:hover, .hover\:translate-y-\[-2px\]:hover, .hover\:translate-y-\[-4px\]:hover { transform: none; }
.hover\:scale-105:hover, .hover\:scale-\[1\.03\]:hover, .group:hover .group-hover\:scale-110, .group:hover .group-hover\:scale-105 { transform: none; }
.blur-3xl, .blur-\[120px\] { opacity: .5; }

/* Cores do modo claro */
html:not(.dark) :is(.bg-slate-50, .bg-gray-50, .bg-surface, .bg-\[\#f3f4f5\], .bg-\[\#f8f9fa\], .bg-\[\#f1f1f1\]) { background-color: var(--nx-surface-2); }
html:not(.dark) :is(.bg-slate-100, .bg-gray-100, .bg-surface-container-low, .bg-surface-container-high) { background-color: var(--nx-surface-3); }
html:not(.dark) :is(.bg-slate-50\/80, .bg-slate-50\/50) { background-color: rgba(245, 247, 246, .9); }
html:not(.dark) :is(.border-slate-50, .border-slate-100, .border-gray-50, .border-gray-100, .border-surface-container-low, .border-white\/40) { border-color: var(--nx-border); }
html:not(.dark) :is(.border-slate-200, .border-gray-200, .border-slate-300, .border-gray-300) { border-color: var(--nx-border-strong); }
html:not(.dark) :is(.text-slate-300, .text-gray-300, .text-gray-200, .text-slate-200):not(.material-symbols-outlined):not(svg) { color: var(--nx-text-4); }
html:not(.dark) :is(.text-slate-400, .text-gray-400):not(.material-symbols-outlined):not(svg) { color: var(--nx-text-3); }
html:not(.dark) :is(.text-slate-500, .text-gray-500, .text-on-surface-variant) { color: var(--nx-text-2); }
html:not(.dark) :is(.text-slate-600, .text-gray-600, .text-slate-700, .text-gray-700) { color: #3a4340; }
html:not(.dark) :is(.text-slate-800, .text-slate-900, .text-slate-950, .text-gray-800, .text-gray-900, .text-black, .text-on-surface, .text-\[\#191c1d\]) { color: var(--nx-ink); }
html:not(.dark) :is(.text-emerald-400, .text-emerald-500, .text-emerald-600, .text-emerald-700, .text-emerald-800, .text-green-500, .text-green-600, .text-green-700, .text-\[\#006c46\], .text-\[\#006d2f\], .text-\[\#005e3d\], .text-primary, .text-primary-container) { color: var(--nx-green); }
html:not(.dark) :is(.text-blue-400, .text-blue-500, .text-blue-600, .text-blue-700, .text-indigo-500, .text-indigo-600, .text-violet-500, .text-violet-600, .text-purple-500, .text-purple-600, .text-\[\#6b38d4\], .text-secondary) { color: var(--nx-green); }
html:not(.dark) :is(.bg-blue-50, .bg-blue-100, .bg-indigo-50, .bg-violet-50, .bg-purple-50, .bg-emerald-50, .bg-green-50, .bg-emerald-100, .bg-green-100, .bg-\[\#eafff2\]) { background-color: var(--nx-mint-soft); }
html:not(.dark) :is(.bg-emerald-50\/50) { background-color: var(--nx-mint-soft); }
html:not(.dark) :is(.border-blue-100, .border-blue-200, .border-emerald-100, .border-emerald-200, .border-green-100, .border-green-200) { border-color: var(--nx-mint-line); }
:is(.bg-blue-500, .bg-blue-600, .bg-indigo-500, .bg-indigo-600, .bg-emerald-500, .bg-emerald-600, .bg-green-500, .bg-green-600, .bg-\[\#006c46\], .bg-\[\#006d2f\]) { background-color: #006c46; }
:is(.hover\:bg-blue-600, .hover\:bg-blue-700, .hover\:bg-emerald-600, .hover\:bg-emerald-700):hover { background-color: #00543a; }
:is(.bg-\[\#6b38d4\], .bg-secondary, .bg-secondary-container, .bg-purple-500, .bg-purple-600, .bg-violet-500, .bg-violet-600) { background-color: var(--nx-ink); }
html.dark :is(.bg-\[\#6b38d4\], .bg-secondary, .bg-secondary-container, .bg-purple-500, .bg-purple-600) { background-color: #26302d; }
.bg-black, .bg-\[\#191c1d\], .bg-\[\#0d0d0d\] { background-color: var(--nx-ink); }
.bg-\[\#00e197\], .bg-primary-container { background-color: var(--nx-mint); }
.bg-\[\#00e197\]:is(.text-white, .text-black, .text-\[\#006c46\]), .bg-primary-container:is(.text-white, .text-black) { color: var(--nx-mint-ink); }
html.dark .bg-\[\#00e197\].dark\:text-white { color: var(--nx-mint-ink); }
.hover\:brightness-105:hover, .hover\:brightness-110:hover { filter: none; }
html:not(.dark) :is(.text-amber-400, .text-amber-500, .text-amber-600, .text-amber-700, .text-amber-800, .text-orange-400, .text-orange-500, .text-orange-600, .text-yellow-600) { color: var(--nx-warn); }
html:not(.dark) :is(.bg-amber-50, .bg-orange-50, .bg-yellow-50) { background-color: #fff8eb; }
html:not(.dark) :is(.bg-amber-100, .bg-orange-100, .bg-yellow-100) { background-color: var(--nx-warn-soft); }
html:not(.dark) :is(.border-amber-100, .border-amber-200, .border-orange-100, .border-orange-200) { border-color: var(--nx-warn-line); }
:is(.bg-amber-500, .bg-orange-500).text-white { color: #2b1c00; }
html:not(.dark) :is(.text-red-400, .text-red-500, .text-red-600, .text-red-700, .text-rose-500, .text-rose-600) { color: var(--nx-neg); }
html:not(.dark) :is(.bg-red-50, .bg-rose-50, .bg-red-100, .bg-rose-100) { background-color: var(--nx-neg-soft); }
html:not(.dark) :is(.border-red-100, .border-red-200, .border-rose-100, .border-rose-200) { border-color: var(--nx-neg-line); }
:is(.bg-red-500, .bg-red-600, .bg-rose-500) { background-color: #c0362c; }
.bg-gradient-to-r.from-red-50, .bg-gradient-to-l, .bg-gradient-to-t.from-black, .bg-gradient-to-br { --tw-gradient-stops: transparent, transparent; }

/* Cards coloridos viram brancos */
:is(div, section).bg-\[\#00e197\]:is(.rounded-2xl, .rounded-3xl, [class*="rounded-\["]):is([class~="p-4"], [class~="p-5"], [class~="p-6"], [class~="p-8"], [class~="p-10"], [class~="md:p-6"], [class~="md:p-8"]):not(.w-full),
:is(div, section).bg-\[\#006c46\]:is(.rounded-2xl, .rounded-3xl, [class*="rounded-\["]):is([class~="p-4"], [class~="p-5"], [class~="p-6"], [class~="p-8"], [class~="p-10"], [class~="md:p-6"], [class~="md:p-8"]),
:is(div, section).bg-gradient-to-br:is(.rounded-2xl, .rounded-3xl, [class*="rounded-\["]):is([class~="p-4"], [class~="p-5"], [class~="p-6"], [class~="p-8"], [class~="md:p-6"], [class~="md:p-8"]) {
  background: var(--nx-surface) !important; color: var(--nx-text); box-shadow: var(--nx-ring);
}
.bg-\[\#006c46\]:is(.rounded-2xl, .rounded-3xl, [class*="rounded-\["]):is([class~="p-4"], [class~="p-5"], [class~="p-6"], [class~="p-8"], [class~="md:p-6"], [class~="md:p-8"]) :is(.text-white, .text-white\/90, .text-white\/80) { color: var(--nx-text); }
.bg-\[\#006c46\]:is(.rounded-2xl, .rounded-3xl, [class*="rounded-\["]):is([class~="p-4"], [class~="p-5"], [class~="p-6"], [class~="p-8"], [class~="md:p-6"], [class~="md:p-8"]) :is(.text-white\/70, .text-white\/60, .text-white\/50, .text-white\/40) { color: var(--nx-text-3); }
.bg-\[\#006c46\]:is(.rounded-2xl, .rounded-3xl, [class*="rounded-\["]):is([class~="p-4"], [class~="p-5"], [class~="p-6"], [class~="p-8"], [class~="md:p-6"], [class~="md:p-8"]) :is(.bg-white\/10, .bg-white\/20, .bg-white\/5) { background: var(--nx-surface-3); border-color: var(--nx-border); color: var(--nx-text-2); }
.bg-\[\#006c46\]:is(.rounded-2xl, .rounded-3xl, [class*="rounded-\["]):is([class~="p-4"], [class~="p-5"], [class~="p-6"], [class~="p-8"], [class~="md:p-6"], [class~="md:p-8"]) :is(.text-white\/10, .text-white\/20, .opacity-10, .opacity-20) { color: var(--nx-mint-soft); }

/* Textos sobre fundo escuro */
:is(.bg-black, .bg-slate-900, .bg-slate-800, .bg-gray-900, .bg-\[\#191c1d\], .bg-\[\#2e3132\], .bg-\[\#0d0d0d\], .bg-\[\#6b38d4\], .bg-secondary, .bg-\[\#002112\]) :is(.text-slate-300, .text-slate-400, .text-gray-300, .text-gray-400, .text-slate-500, .text-gray-500):not(.material-symbols-outlined) { color: #aab4b0; }
:is(.bg-black, .bg-slate-900, .bg-slate-800, .bg-gray-900, .bg-\[\#191c1d\], .bg-\[\#2e3132\], .bg-\[\#0d0d0d\], .bg-\[\#6b38d4\], .bg-secondary) :is(.text-emerald-400, .text-emerald-500, .text-emerald-600, .text-\[\#006c46\], .text-green-500, .text-blue-500, .text-blue-400) { color: var(--nx-mint); }
:is(.bg-black, .bg-slate-900, .bg-\[\#191c1d\], .bg-\[\#2e3132\], .bg-\[\#0d0d0d\]) :is(.text-black, .text-slate-900, .text-slate-800):not(.bg-white):not(.bg-\[\#00e197\]) { color: #fff; }

/* Personal Pass mantém o roxo */
.nx-pass :is(.text-\[\#6b38d4\], .text-secondary) { color: var(--nx-pass-ink); }
.nx-pass :is(.bg-\[\#6b38d4\], .bg-secondary) { background-color: var(--nx-pass); }

/* Campos */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]), select, textarea {
  font-family: var(--nx-font);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: normal;
}
@media (max-width: 767px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]), select, textarea { font-size: 16px; }
}
html:not(.dark) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea):is(.border, [class*="border-"]) { border-color: var(--nx-border-strong); }
html:not(.dark) :is(input, select, textarea):is(.bg-slate-50, .bg-gray-50, .bg-surface-container-low) { background-color: #fff; }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--nx-green) !important;
  box-shadow: 0 0 0 3px rgba(0, 225, 151, .22) !important;
}
:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; }
input.text-center.font-black { letter-spacing: .08em; }

/* Botões */
button, a { -webkit-tap-highlight-color: transparent; }
button.font-black, a.font-black { font-weight: 700; }
button.bg-\[\#00e197\].font-black { font-weight: 700; }

/* Barra lateral */
aside.fixed { background: var(--nx-surface); border-right: 1px solid var(--nx-border); backdrop-filter: none; }
html:not(.dark) aside.fixed { background: #fff; }
aside nav { padding-left: 12px !important; padding-right: 12px !important; }
aside nav > * + * { margin-top: 2px !important; }
aside nav button { height: 40px; padding: 0 12px; border-radius: var(--nx-r-sm); gap: 12px; font-size: 14px; font-weight: 500; }
html:not(.dark) aside nav button { color: var(--nx-text-2); }
aside nav button .text-sm { font-size: 14px; line-height: 20px; }
aside nav button .material-symbols-outlined { font-size: 20px; }
html:not(.dark) aside nav button .material-symbols-outlined { color: var(--nx-text-4); }
html:not(.dark) aside nav button:not(.sidebar-active):hover { background: var(--nx-surface-3); color: var(--nx-ink); }
aside nav button.sidebar-active { background: var(--nx-mint-soft); color: var(--nx-green); font-weight: 600; }
html:not(.dark) aside nav button.sidebar-active .material-symbols-outlined, aside nav button.sidebar-active .material-symbols-outlined { color: var(--nx-green); font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24; }
.sidebar-active:after { display: none; }
aside nav button > span.absolute.rounded-full { position: static; margin-left: auto; min-width: 20px; height: 20px; font-size: 12px; font-weight: 700; background: var(--nx-neg); }
aside.w-\[72px\] nav button > span.absolute.rounded-full { position: absolute; top: 4px; right: 6px; min-width: 16px; height: 16px; font-size: 10px; }
.nx-nav-sec { padding: 16px 12px 6px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nx-text-3); }
aside nav > .nx-nav-sec:first-child { padding-top: 4px; }

/* Barra superior */
main > header.h-16 { background: var(--nx-surface); border-bottom: 1px solid var(--nx-border); backdrop-filter: none; padding-left: 32px; padding-right: 24px; }
html:not(.dark) main > header.h-16 { background: #fff; }
main > header.h-16 > .bg-emerald-50, main > header.md\:hidden > .bg-emerald-50 { background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); gap: 0; }
main > header.h-16 > .bg-emerald-50 { height: 40px; padding: 0 2px; }
main > header :is(.bg-emerald-50) button { color: var(--nx-text-2); border-radius: 6px; }
main > header.h-16 > .bg-emerald-50 button { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
main > header :is(.bg-emerald-50) button:hover { background: var(--nx-surface-3); box-shadow: none; }
main > header.h-16 > .bg-emerald-50 > div { min-width: 132px; }
main > header :is(.bg-emerald-50) span:not(.material-symbols-outlined) { color: var(--nx-text); font-weight: 600; }
main > header.h-16 > .bg-emerald-50 span:not(.material-symbols-outlined) { font-size: 14px; }
.nx-hoje { height: 40px; padding: 0 12px; border-radius: var(--nx-r-sm); font-size: 14px; font-weight: 600; color: var(--nx-text-2); }
.nx-hoje:hover { background: var(--nx-surface-3); color: var(--nx-text); }
.nx-contexto { font-size: 14px; font-weight: 600; color: var(--nx-text-2); }
main > header.h-16 > div:last-child { gap: 4px; }
main > header.h-16 > div:last-child > button { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--nx-r-sm); }
main > header.h-16 > div:last-child > button:hover { background: var(--nx-surface-3); }
main > header.h-16 > div:last-child > button .material-symbols-outlined { font-size: 22px; }
html:not(.dark) main > header.h-16 > div:last-child > button .text-slate-500 { color: var(--nx-text-2); }
main > header.h-16 > div:last-child > div.h-8 { height: 28px; margin: 0 8px; background: var(--nx-border); }
.profile-dropdown-container > button { flex-direction: row-reverse; gap: 10px; padding: 4px 8px; border-radius: var(--nx-r-sm); }
.profile-dropdown-container > button:hover { background: var(--nx-surface-3); }
.profile-dropdown-container > button > div { text-align: left; gap: 2px; }
.profile-dropdown-container > button > div > p:first-child { font-size: 14px; line-height: 18px; font-weight: 600; }
.profile-dropdown-container > button > div > p:last-child { font-size: 12px; line-height: 16px; font-weight: 400; }
html:not(.dark) .profile-dropdown-container > button > div > p:last-child { color: var(--nx-text-3); }
.profile-dropdown-container > button > :is(img, span) { width: 32px !important; height: 32px !important; min-width: 32px !important; font-size: 13px !important; box-shadow: none !important; --tw-ring-shadow: 0 0 #0000; }
.profile-dropdown-container > div { border-radius: var(--nx-r); padding: 6px; border-color: var(--nx-border); }
.profile-dropdown-container > div button { padding: 10px 12px; border-radius: var(--nx-r-sm); font-size: 14px; font-weight: 500; }
main > header.md\:hidden { background: var(--nx-surface); border-bottom: 1px solid var(--nx-border); backdrop-filter: none; }
html:not(.dark) main > header.md\:hidden { background: #fff; }
main > header.md\:hidden img { border-radius: 8px; box-shadow: none; }
main > header.md\:hidden span.font-black { font-family: var(--nx-head); font-weight: 700; letter-spacing: -0.01em; }
main > header.md\:hidden > .bg-emerald-50 { padding: 2px 4px; }
main > header.md\:hidden > .bg-emerald-50 span:not(.material-symbols-outlined) { font-size: 13px; }

/* Navegação do celular */
.nx-barra { background: var(--nx-surface) !important; border-top: 1px solid var(--nx-border); box-shadow: 0 -4px 16px rgba(16, 24, 20, .06) !important; }
html:not(.dark) .nx-barra { background: #fff !important; }
.nx-barra button { gap: 2px; padding-top: 8px; padding-bottom: 8px; }
.nx-barra button > span.material-symbols-outlined { width: 56px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 22px; }
.nx-barra button.nx-ativo > span.material-symbols-outlined { background: var(--nx-mint-soft); }
.nx-barra button > span:not(.material-symbols-outlined):not(.absolute) { font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: normal; }
.nx-barra button > span.absolute { top: 4px; right: 22%; min-width: 16px; height: 16px; font-size: 10px; }
.nx-mais { border-radius: var(--nx-r-lg) !important; box-shadow: var(--nx-shadow-pop) !important; }
.nx-mais button span:not(.material-symbols-outlined) { font-size: 12px; line-height: 16px; font-weight: 600; }

/* Janelas */
.fixed.inset-0.bg-black\/60, .fixed.inset-0.bg-black\/40, .fixed.inset-0.bg-black\/50 { background-color: rgba(13, 17, 16, .5); }
.fixed.inset-0 > .rounded-\[32px\], .fixed.inset-0 > .rounded-\[2\.5rem\], .fixed.inset-0 > .rounded-\[2rem\], .fixed.inset-0 > .rounded-3xl, .fixed.inset-0 > .rounded-2xl { border-radius: var(--nx-r-lg); }

/* Componentes das telas reescritas */
.nx-pagina { display: flex; flex-direction: column; gap: 20px; max-width: 1600px; margin: 0 auto; padding-bottom: 32px; }
.nx-cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; }
.nx-cab-tit { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.nx-cab-tit h1 { margin: 0; color: var(--nx-text); }
.nx-cab-tit p { margin: 0; font-size: 14px; line-height: 20px; color: var(--nx-text-3); }
.nx-cab-acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.nx-card { background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r); box-shadow: var(--nx-shadow); padding: 20px; min-width: 0; }
@media (min-width: 768px) { .nx-card { padding: 24px; } }
.nx-card-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.nx-card-cab h2, .nx-card-tit { margin: 0; font-family: var(--nx-head); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); letter-spacing: 0; }
.nx-card-sub { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-link { background: none; border: 0; padding: 0; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--nx-green); cursor: pointer; text-decoration: none; white-space: nowrap; }
.nx-link:hover { color: var(--nx-green-hover); }
.nx-rotulo { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nx-text-3); }
.nx-num { font-family: var(--nx-head); font-weight: 600; letter-spacing: -0.02em; color: var(--nx-text); font-variant-numeric: tabular-nums; }
.nx-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 1280px) { .nx-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }
.nx-kpi { display: flex; flex-direction: column; gap: 10px; text-align: left; background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r); box-shadow: var(--nx-shadow); padding: 16px; min-width: 0; font: inherit; color: inherit; }
@media (min-width: 768px) { .nx-kpi { padding: 20px; gap: 12px; } }
button.nx-kpi { cursor: pointer; transition: border-color .15s; }
button.nx-kpi:hover { border-color: var(--nx-border-strong); }
.nx-kpi-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nx-kpi-ico { width: 32px; height: 32px; flex-shrink: 0; border-radius: var(--nx-r-sm); background: var(--nx-mint-soft); color: var(--nx-green); display: inline-flex; align-items: center; justify-content: center; }
.nx-kpi-ico .material-symbols-outlined { font-size: 18px; }
.nx-kpi-valor { font-family: var(--nx-head); font-weight: 600; font-size: 22px; line-height: 30px; letter-spacing: -0.02em; color: var(--nx-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 768px) { .nx-kpi-valor { font-size: 28px; line-height: 36px; } }
.nx-kpi-nota { font-size: 13px; line-height: 18px; color: var(--nx-text-3); display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.nx-pos { color: var(--nx-green); font-weight: 600; }
.nx-neg { color: var(--nx-neg); font-weight: 600; }
.nx-grade { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 1180px) {
  .nx-grade-21 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .nx-grade-11 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-grade-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nx-grade-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
}
@media (min-width: 768px) and (max-width: 1179px) { .nx-grade-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nx-coluna { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.nx-estica { align-items: stretch; }
.nx-estica > .nx-card { display: flex; flex-direction: column; }
.nx-estica > .nx-card > .nx-vazio { flex: 1; }
.nx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: var(--nx-r-sm); border: 1px solid transparent; font-family: var(--nx-font); font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; cursor: pointer; text-decoration: none; transition: background-color .15s, border-color .15s, color .15s; }
.nx-btn .material-symbols-outlined { font-size: 18px; }
.nx-btn:disabled { opacity: .55; cursor: not-allowed; }
.nx-btn-pri { background: var(--nx-mint); color: var(--nx-mint-ink); font-weight: 700; }
.nx-btn-pri:hover:not(:disabled) { background: var(--nx-mint-hover); color: var(--nx-mint-ink); }
.nx-btn-sec { background: var(--nx-surface); color: var(--nx-text); border-color: var(--nx-border-strong); }
.nx-btn-sec:hover:not(:disabled) { background: var(--nx-surface-2); color: var(--nx-text); }
.nx-btn-esc { background: var(--nx-ink); color: #fff; }
html.dark .nx-btn-esc { background: #eef2f0; color: #191c1d; }
.nx-btn-esc:hover:not(:disabled) { background: #2a2f30; color: #fff; }
.nx-btn-dis { background: transparent; color: var(--nx-text-2); }
.nx-btn-dis:hover:not(:disabled) { background: var(--nx-surface-3); color: var(--nx-text); }
.nx-btn-sm { height: 36px; padding: 0 12px; font-size: 13px; }
.nx-btn-lg { height: 44px; }
.nx-btn-bloco { width: 100%; }
.nx-btn-ico { width: 40px; padding: 0; }
.nx-selo { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 10px; border-radius: 999px; font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; background: var(--nx-surface-3); color: var(--nx-text-2); }
.nx-selo .material-symbols-outlined { font-size: 14px; }
.nx-selo-ok { background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-selo-aviso { background: var(--nx-warn-soft); color: var(--nx-warn); }
.nx-selo-erro { background: var(--nx-neg-soft); color: var(--nx-neg); }
.nx-selo-pass { background: var(--nx-pass-soft); color: var(--nx-pass-ink); }
.nx-contador { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; padding: 0 8px; box-sizing: border-box; border-radius: 999px; background: var(--nx-surface-3); color: var(--nx-text-2); font-size: 12px; font-weight: 700; }
.nx-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nx-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--nx-border-soft); min-width: 0; }
.nx-item:last-child { border-bottom: 0; padding-bottom: 0; }
.nx-item:first-child { padding-top: 0; }
.nx-item-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nx-item-tit { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nx-item-sub { font-size: 13px; line-height: 18px; color: var(--nx-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nx-item-lado { font-size: 12px; line-height: 16px; color: var(--nx-text-3); white-space: nowrap; }
.nx-ico-q { width: 32px; height: 32px; flex-shrink: 0; border-radius: var(--nx-r-sm); background: var(--nx-surface-3); color: var(--nx-text-2); display: inline-flex; align-items: center; justify-content: center; }
.nx-ico-q .material-symbols-outlined { font-size: 18px; }
.nx-ico-q.ok { background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-ico-q.aviso { background: var(--nx-warn-soft); color: var(--nx-warn); }
.nx-ico-q.erro { background: var(--nx-neg-soft); color: var(--nx-neg); }
.nx-ico-q.pass { background: var(--nx-pass-soft); color: var(--nx-pass-ink); }
.nx-ico-q.g { width: 40px; height: 40px; }
.nx-vazio { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 28px 12px; text-align: center; color: var(--nx-text-3); font-size: 14px; }
.nx-vazio .material-symbols-outlined { font-size: 32px; color: var(--nx-text-4); }
.nx-carregando { display: flex; align-items: center; justify-content: center; height: 256px; }
.nx-carregando span { width: 28px; height: 28px; border-radius: 999px; border: 3px solid var(--nx-mint-soft); border-top-color: var(--nx-mint); animation: nx-gira .8s linear infinite; }
@keyframes nx-gira { to { transform: rotate(360deg); } }
.nx-barra-prog { height: 6px; border-radius: 999px; background: var(--nx-surface-3); overflow: hidden; flex: 1 1 auto; }
.nx-barra-prog > div { height: 100%; border-radius: 999px; background: #00c986; }
.nx-tabela { width: 100%; border-collapse: collapse; font-size: 14px; }
.nx-tabela th { text-align: left; padding: 8px 12px 8px 0; border-bottom: 1px solid var(--nx-border); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nx-text-3); white-space: nowrap; }
.nx-tabela td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--nx-border-soft); color: var(--nx-text); vertical-align: middle; }
.nx-tabela tr:last-child td { border-bottom: 0; }
.nx-tabela .dir { text-align: right; }
.nx-tabela .fraco { color: var(--nx-text-2); }
.nx-quem { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nx-quem b { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nx-rolagem-x { overflow-x: auto; margin: 0 -4px; padding: 0 4px; }
.nx-escuro { position: relative; overflow: hidden; background: var(--nx-ink); color: #fff; border-radius: var(--nx-r-lg); padding: 24px; }
@media (min-width: 768px) { .nx-escuro { padding: 28px; } }
html.dark .nx-escuro { background: #0a0d0c; border: 1px solid var(--nx-border); }
.nx-escuro .nx-rotulo { color: var(--nx-mint); }
.nx-aneis::before, .nx-aneis::after { content: ""; position: absolute; border-radius: 999px; pointer-events: none; }
.nx-aneis::before { width: 360px; height: 360px; right: -130px; top: -160px; border: 1px solid rgba(0, 225, 151, .18); }
.nx-aneis::after { width: 240px; height: 240px; right: -70px; top: -100px; border: 1px solid rgba(0, 225, 151, .24); }
.nx-btn-fantasma { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .22); }
.nx-btn-fantasma:hover:not(:disabled) { background: rgba(255, 255, 255, .08); color: #fff; }
.nx-pend-grade { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 900px) { .nx-pend-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .nx-pend-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nx-pend { display: flex; flex-direction: column; gap: 12px; padding: 14px 16px; border: 1px solid var(--nx-border-soft); border-radius: 10px; background: var(--nx-surface-2); min-width: 0; }
.nx-pend-topo { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nx-pend-acoes { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.nx-convite { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 56px; padding: 0 8px 0 16px; border: 1px dashed var(--nx-border-strong); border-radius: 10px; background: var(--nx-surface-2); }
.nx-convite b { font-family: var(--nx-head); font-weight: 600; font-size: 22px; letter-spacing: .08em; color: var(--nx-green); }
.nx-citacao { margin: 0; padding: 12px 14px; border-radius: 10px; background: var(--nx-surface-2); border: 1px solid var(--nx-border-soft); font-size: 14px; line-height: 20px; color: var(--nx-text); }
.nx-citacao small { display: block; margin-top: 4px; font-size: 12px; color: var(--nx-text-3); }
.nx-estrelas { display: inline-flex; color: #e39a00; }
.nx-estrelas .material-symbols-outlined { font-size: 18px; font-variation-settings: "FILL" 1; }
.nx-data { width: 48px; height: 48px; flex-shrink: 0; border-radius: 10px; background: var(--nx-surface-3); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; }
.nx-data b { font-family: var(--nx-head); font-weight: 600; font-size: 18px; line-height: 20px; color: var(--nx-text); }
.nx-data span { font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nx-text-3); }
.nx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nx-segmento { display: inline-flex; padding: 3px; gap: 2px; border-radius: var(--nx-r-sm); background: var(--nx-surface-3); }
.nx-segmento button { height: 30px; padding: 0 12px; border: 0; border-radius: 6px; background: transparent; color: var(--nx-text-2); font-size: 13px; font-weight: 500; cursor: pointer; }
.nx-segmento button[aria-pressed="true"] { background: var(--nx-surface); color: var(--nx-text); font-weight: 600; box-shadow: 0 1px 2px rgba(16, 24, 20, .08); }
.nx-grafico { display: flex; gap: 12px; }
.nx-grafico-eixo { width: 48px; flex-shrink: 0; height: 200px; display: flex; flex-direction: column; justify-content: space-between; font-size: 12px; color: var(--nx-text-3); text-align: right; margin-top: -8px; }
.nx-grafico-area { flex: 1 1 auto; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.nx-grafico-plot { position: relative; height: 200px; }
.nx-grafico-plot .linha { position: absolute; left: 0; right: 0; border-top: 1px dashed var(--nx-border); }
.nx-grafico-plot .base { position: absolute; left: 0; right: 0; bottom: 0; border-top: 1px solid var(--nx-border-strong); }
.nx-grafico-barras { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: space-around; }
.nx-barra-col { width: 56px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 100%; }
.nx-barra-col span { font-size: 12px; color: var(--nx-text-2); white-space: nowrap; }
.nx-barra-col div { width: 40px; max-width: 70%; border-radius: 6px 6px 0 0; background: #9eebcd; min-height: 2px; }
.nx-barra-col.atual span { font-weight: 700; color: var(--nx-text); }
.nx-barra-col.atual div { background: #00c986; }
.nx-barra-col.zero div { background: var(--nx-border); border-radius: 2px; }
.nx-grafico-meses { display: flex; justify-content: space-around; font-size: 12px; color: var(--nx-text-3); }
.nx-grafico-meses span { width: 56px; text-align: center; }
.nx-grafico-meses span.atual { font-weight: 700; color: var(--nx-text); }
html.dark .nx-barra-col div { background: rgba(0, 225, 151, .35); }
html.dark .nx-barra-col.atual div { background: var(--nx-mint); }
.nx-empilhada { display: flex; gap: 2px; height: 10px; border-radius: 999px; overflow: hidden; background: var(--nx-surface-3); }
.nx-legenda { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.nx-legenda li { display: flex; align-items: center; gap: 10px; }
.nx-legenda i { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.nx-legenda span { flex: 1 1 auto; color: var(--nx-text); }
.nx-legenda b { font-weight: 600; color: var(--nx-text); }
.nx-rodape-card { display: flex; gap: 12px; padding-top: 12px; margin-top: 4px; border-top: 1px solid var(--nx-border-soft); font-size: 13px; color: var(--nx-text-3); }
.nx-rodape-card b { color: var(--nx-text); font-weight: 600; }
.nx-modal { position: fixed; inset: 0; z-index: 130; background: rgba(13, 17, 16, .5); display: flex; align-items: flex-end; justify-content: center; padding: 16px; }
@media (min-width: 768px) { .nx-modal { align-items: center; } }
.nx-modal-caixa { width: 100%; max-width: 448px; height: 80vh; display: flex; flex-direction: column; overflow: hidden; background: var(--nx-surface); border-radius: var(--nx-r-lg); box-shadow: var(--nx-shadow-pop); }
.nx-modal-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--nx-border); }
.nx-modal-cab h3 { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-texto { font-size: 14px; line-height: 22px; color: var(--nx-text-2); margin: 0; }
.nx-area { width: 100%; box-sizing: border-box; min-height: 88px; padding: 12px 14px; border: 1px solid var(--nx-border-strong); border-radius: var(--nx-r-sm); background: var(--nx-surface); color: var(--nx-text); resize: vertical; }
.nx-campo { width: 100%; box-sizing: border-box; height: 44px; padding: 0 14px; border: 1px solid var(--nx-border-strong); border-radius: var(--nx-r-sm); background: var(--nx-surface); color: var(--nx-text); }
.nx-campo-ico { position: relative; display: flex; align-items: center; }
.nx-campo-ico > .material-symbols-outlined { position: absolute; left: 12px; font-size: 20px; color: var(--nx-text-3); pointer-events: none; }
.nx-campo-ico > .nx-campo { padding-left: 42px; }
.nx-campo-ico > .nx-olho { position: absolute; right: 4px; width: 36px; height: 36px; border: 0; border-radius: 6px; background: transparent; color: var(--nx-text-3); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.nx-campo-ico > .nx-olho .material-symbols-outlined { font-size: 20px; }
.nx-campo-ico > .nx-campo.com-olho { padding-right: 44px; }
select.nx-campo { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.nx-rotulo-campo { display: block; margin-bottom: 6px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--nx-text); }
.nx-cabecalho-login { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.nx-oculto { display: none !important; }

/* Login */
.nx-login { min-height: 100vh; min-height: 100dvh; display: flex; background: var(--nx-bg); color: var(--nx-text); }
.nx-login-marca { display: none; }
@media (min-width: 1024px) {
  .nx-login-marca { position: relative; overflow: hidden; width: 42%; max-width: 600px; flex-shrink: 0; box-sizing: border-box; padding: 48px 56px; background: var(--nx-ink); color: #fff; display: flex; flex-direction: column; justify-content: space-between; }
}
.nx-login-marca::before, .nx-login-marca::after { content: ""; position: absolute; border-radius: 999px; pointer-events: none; }
.nx-login-marca::before { width: 620px; height: 620px; right: -260px; bottom: -240px; border: 1px solid rgba(0, 225, 151, .16); }
.nx-login-marca::after { width: 420px; height: 420px; right: -160px; bottom: -140px; border: 1px solid rgba(0, 225, 151, .22); }
.nx-login-marca > * { position: relative; }
.nx-logo { display: flex; align-items: center; gap: 12px; }
.nx-logo img { width: 40px; height: 40px; border-radius: 10px; }
.nx-logo span { font-family: var(--nx-head); font-weight: 700; font-size: 20px; letter-spacing: -0.01em; }
.nx-logo span em { font-style: normal; color: var(--nx-mint); }
.nx-login-meio { display: flex; flex-direction: column; gap: 20px; max-width: 460px; }
.nx-login-meio h1:not(#nx) { margin: 0; font-size: 40px; line-height: 48px; letter-spacing: -0.02em; color: #fff; }
.nx-login-meio p { margin: 0; font-size: 16px; line-height: 26px; color: #b3bdb9; }
.nx-login-meio ul { margin: 8px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.nx-login-meio li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: #e4e9e7; }
.nx-login-meio li .material-symbols-outlined { color: var(--nx-mint); font-size: 20px; }
.nx-login-pe { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.nx-versao { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.nx-versao i { width: 6px; height: 6px; border-radius: 999px; background: var(--nx-mint); }
.nx-login-marca .nx-versao { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); color: #b3bdb9; }
.nx-legais { display: flex; gap: 20px; font-size: 13px; }
.nx-login-marca .nx-legais a { color: #8e9894; text-decoration: none; }
.nx-login-marca .nx-legais a:hover { color: #fff; }
.nx-login-area { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: 32px 16px; }
.nx-login-topo { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.nx-login-topo .nx-logo { flex-direction: column; gap: 10px; }
.nx-login-topo .nx-logo img { width: 56px; height: 56px; border-radius: 14px; }
.nx-login-topo .nx-logo span { font-size: 24px; color: var(--nx-text); }
.nx-login-topo p { margin: 0; font-size: 13px; color: var(--nx-text-3); }
@media (min-width: 1024px) { .nx-login-topo { display: none; } }
.nx-login-caixa { width: 100%; max-width: 420px; box-sizing: border-box; padding: 28px 24px; background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r-lg); box-shadow: 0 1px 2px rgba(16, 24, 20, .04), 0 16px 40px -20px rgba(16, 24, 20, .18); display: flex; flex-direction: column; gap: 20px; }
@media (min-width: 640px) { .nx-login-caixa { padding: 40px; } }
.nx-login-caixa.larga { max-width: 640px; }
.nx-login-caixa h2:not(#nx) { margin: 0; font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -0.01em; color: var(--nx-text); }
.nx-login-caixa .nx-login-intro { display: flex; flex-direction: column; gap: 6px; }
.nx-login-caixa .nx-login-intro p { margin: 0; font-size: 14px; line-height: 20px; color: var(--nx-text-2); }
.nx-login-divisor { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--nx-text-3); }
.nx-login-divisor::before, .nx-login-divisor::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--nx-border); }
.nx-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nx-campos { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 640px) { .nx-campos.duas { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nx-campos .inteira { grid-column: 1 / -1; } }
.nx-erro { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border-radius: var(--nx-r-sm); background: var(--nx-neg-soft); border: 1px solid var(--nx-neg-line); color: var(--nx-neg); font-size: 13px; line-height: 18px; font-weight: 500; }
.nx-erro .material-symbols-outlined { font-size: 18px; }
.nx-destaque-campo { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: var(--nx-r); background: var(--nx-surface-2); border: 1px dashed var(--nx-border-strong); }
.nx-codigo { text-align: center; letter-spacing: .12em; font-weight: 700 !important; text-transform: uppercase; }
.nx-forca { display: flex; flex-direction: column; gap: 6px; }
.nx-forca-barras { display: flex; gap: 4px; height: 6px; }
.nx-forca-barras i { flex: 1 1 auto; border-radius: 999px; background: var(--nx-surface-3); }
.nx-forca p { margin: 0; font-size: 12px; color: var(--nx-text-3); }
.nx-forca p b { color: var(--nx-green); font-weight: 600; }
.nx-voltar { align-self: center; display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 4px 8px; font-size: 13px; font-weight: 600; color: var(--nx-text-2); cursor: pointer; border-radius: 6px; }
.nx-voltar:hover { color: var(--nx-text); background: var(--nx-surface-3); }
.nx-voltar .material-symbols-outlined { font-size: 18px; }
.nx-login-rodape { display: flex; flex-direction: column; align-items: center; gap: 12px; }
@media (min-width: 1024px) { .nx-login-rodape { display: none; } }
.nx-login-rodape .nx-legais a { color: var(--nx-text-3); text-decoration: none; }
.nx-login-rodape .nx-versao { background: var(--nx-surface); border: 1px solid var(--nx-border); color: var(--nx-text-3); }
.nx-selo-marca { align-self: flex-start; }

/* Próximas sessões */
.nx-sessoes { display: flex; flex-direction: column; }
.nx-sessao { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: "data quem status" "data hora treino"; align-items: center; column-gap: 12px; row-gap: 2px; width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid var(--nx-border-soft); background: transparent; color: var(--nx-text); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.nx-sessao:last-child { border-bottom: 0; }
.nx-sessao:hover .nx-quem b { color: var(--nx-green); }
.nx-sessao-cab { display: none; }
.nx-sessao-data { grid-area: data; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: var(--nx-surface-3); }
.nx-sessao-data b { font-size: 11px; line-height: 14px; font-weight: 600; color: var(--nx-text-2); max-width: 42px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-sessao-data small { font-family: var(--nx-head); font-size: 13px; line-height: 16px; font-weight: 600; color: var(--nx-text); }
.nx-sessao .nx-quem { grid-area: quem; }
.nx-sessao-hora { grid-area: hora; font-size: 13px; color: var(--nx-text-3); }
.nx-sessao-treino { grid-area: treino; justify-self: end; font-size: 13px; color: var(--nx-text-2); max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-sessao-status { grid-area: status; justify-self: end; }
@media (min-width: 1024px) {
  .nx-sessao { grid-template-columns: 92px 104px minmax(0, 1.2fr) minmax(0, 1fr) 96px; grid-template-areas: none; padding: 0; height: 52px; column-gap: 16px; }
  .nx-sessao > * { min-width: 0; overflow: hidden; }
  .nx-sessao-treino { white-space: nowrap; text-overflow: ellipsis; }
  .nx-sessao > * { grid-area: auto !important; justify-self: start !important; }
  .nx-sessao-cab { display: grid; height: auto; padding: 0 0 8px; border-bottom: 1px solid var(--nx-border); cursor: default; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--nx-text-3); }
  .nx-sessao-data { flex-direction: column; align-items: flex-start; width: auto; height: auto; background: none; border-radius: 0; }
  .nx-sessao-data b { font-size: 14px; line-height: 20px; color: var(--nx-text); max-width: none; }
  .nx-sessao-data small { font-family: var(--nx-font); font-size: 12px; font-weight: 400; color: var(--nx-text-3); }
  .nx-sessao-hora { font-size: 14px; color: var(--nx-text-2); }
  .nx-sessao-treino { font-size: 14px; max-width: 100%; }
}

@media (max-width: 479px) {
  .nx-kpi .nx-kpi-ico { display: none; }
  .nx-kpi .nx-rotulo { letter-spacing: .04em; }
}

/* Gráfico e tabelas no celular */
.nx-grafico-barras { gap: 6px; padding: 0 4px; }
.nx-barra-col { flex: 1 1 0; width: auto; min-width: 0; }
.nx-grafico-meses { gap: 6px; padding: 0 4px; }
.nx-grafico-meses span { flex: 1 1 0; width: auto; }
@media (min-width: 1180px) { .nx-grafico-plot, .nx-grafico-eixo { height: 260px; } }
@media (max-width: 639px) {
  .nx-grafico { gap: 8px; }
  .nx-grafico-eixo { width: 40px; font-size: 11px; }
  .nx-barra-col span { font-size: 11px; }
  .nx-barra-col:not(.atual) span { visibility: hidden; }
  .nx-some-mob { display: none; }
}

/* Ajustes finos */
:is(button, a) :is(span, p).uppercase:is(.text-\[11px\], .text-xs):not(.rounded-full):not([class*="px-"]) { text-transform: none; letter-spacing: normal !important; }
:is(button, a) p.uppercase.font-black:is(.text-\[10px\], .text-\[11px\]) { font-size: 14px; line-height: 20px; }
html:not(.dark) div:is(.bg-amber-50, .bg-emerald-50, .bg-green-50, .bg-blue-50):is(.rounded-2xl, .rounded-3xl):is([class~="p-5"], [class~="p-6"], [class~="p-8"]):not(:has(button)) { background-color: #fff; border-color: var(--nx-border); box-shadow: var(--nx-shadow); }

/* Modo escuro */
html.dark aside nav button:not(.sidebar-active) { background: transparent; color: var(--nx-text-2); }
html.dark aside nav button:not(.sidebar-active):hover { background: var(--nx-surface-3); color: var(--nx-text); }
html.dark aside nav button .material-symbols-outlined { color: var(--nx-text-3); }
html.dark :is(.text-\[\#006c46\], .text-\[\#006d2f\], .text-\[\#005e3d\], .text-emerald-700, .text-emerald-800) { color: var(--nx-green); }
html.dark main > header.h-16, html.dark main > header.md\:hidden, html.dark .nx-barra { background: var(--nx-surface) !important; }
html.dark .bg-\[\#00e197\]:is(.text-white, .text-black, .text-\[\#006c46\], .dark\:text-white) { color: var(--nx-mint-ink); }

/* Largura padrão das abas */
main > div.overflow-y-auto > div { max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; margin-top: 0 !important; padding-left: 0 !important; padding-right: 0 !important; padding-top: 0 !important; }
main > div.overflow-y-auto > div > :is(.max-w-7xl, .max-w-6xl, .max-w-5xl, .max-w-4xl, .max-w-3xl, .max-w-2xl).mx-auto { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
main > div.overflow-y-auto > div > :is(header, div, section).px-8 { padding-left: 0 !important; padding-right: 0 !important; }
main > div.overflow-y-auto > div > header.px-8 { padding-top: 0 !important; }

/* Celular */
@media (max-width: 767px) {
  header.fixed.top-0 button { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
  header.fixed.top-0:has(.bg-emerald-50) span.min-\[380px\]\:inline { display: none; }
  header.fixed.top-0 .bg-emerald-50 > span { font-size: 12px; }
  .nx-link { padding-top: 11px; padding-bottom: 11px; margin-top: -11px; margin-bottom: -11px; }
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea { font-size: 16px !important; }
  button.border-b-2.pb-1\.5 { min-height: 40px; font-size: 12px; }
  .rounded-full.uppercase { white-space: nowrap; }
  button.rounded-xl.uppercase { white-space: nowrap; }
  .nx-data span { font-size: 12px; letter-spacing: .04em; }
  .nx-sessao { grid-template-columns: 52px minmax(0, 1fr) auto; }
  .nx-sessao-data { width: 52px; }
  .nx-sessao-data b { font-size: 12px; max-width: 50px; }
}

/* Exercícios no painel do aluno */
.nx-ex-num { width: 24px; flex-shrink: 0; font-family: var(--nx-head); font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-green); }

/* Barra inferior verde */
.nx-barra, html:not(.dark) .nx-barra, html.dark .nx-barra { background: #00e197 !important; border-top: 0; box-shadow: 0 -4px 20px rgba(0, 108, 70, .18) !important; }
.nx-barra button > span:not(.absolute) { color: #000000 !important; }
.nx-barra button.nx-ativo > span.material-symbols-outlined { background: #fff; color: #006c46 !important; }
.nx-barra button.nx-ativo > span:not(.material-symbols-outlined):not(.absolute) { font-weight: 700; }

/* Listas clicáveis */
.nx-item-botao { width: 100%; background: none; border: 0; border-bottom: 1px solid var(--nx-border-soft); font: inherit; color: inherit; text-align: left; cursor: pointer; }
.nx-item-botao:last-child { border-bottom: 0; }
.nx-item-botao:hover .nx-item-tit { color: var(--nx-green); }
.nx-item-fim { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex-shrink: 0; }
.nx-item-fim .nx-num { font-size: 14px; line-height: 20px; white-space: nowrap; }
.nx-item-seta { color: var(--nx-text-4); flex-shrink: 0; }
.nx-filtro { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.nx-campo.nx-campo-sm { height: 36px; width: auto; padding-left: 12px; font-size: 13px; }

/* Cobranças do aluno */
.nx-fatura .nx-kpi-valor { margin: 4px 0 0; }
.nx-fatura .nx-card-sub { margin-top: 4px; }
.nx-fatura-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.nx-fatura-ok { display: flex; align-items: center; gap: 12px; padding: 8px 0; }
@media (max-width: 479px) { .nx-fatura-acoes { flex-direction: column; } .nx-fatura-acoes .nx-btn { width: 100%; } }

/* Alunos do personal */
.nx-barra-busca { display: flex; align-items: center; gap: 12px; }
.nx-busca { flex: 1 1 auto; min-width: 0; max-width: 440px; }
.nx-segmento button { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; }
.nx-grade-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
@media (max-width: 767px) { .nx-grade-cards { grid-template-columns: minmax(0, 1fr); gap: 12px; } }
.nx-aluno-card { display: flex; flex-direction: column; gap: 16px; padding: 16px; }
@media (min-width: 768px) { .nx-aluno-card { padding: 20px; } }
.nx-aluno-topo { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nx-aluno-topo h3 { margin: 0; }
.nx-aluno-acoes { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.nx-aluno-perfil { flex: 1 1 auto; margin-right: 4px; }
.nx-aluno-abrir { display: flex; align-items: center; gap: 12px; flex: 1 1 auto; min-width: 0; background: none; border: 0; padding: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.nx-aluno-abrir:hover .nx-item-tit { color: var(--nx-green); }
.nx-btn-perigo:hover:not(:disabled) { color: var(--nx-neg); background: var(--nx-neg-soft); }
.nx-card-novo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 132px; border: 1.5px dashed var(--nx-border-strong); border-radius: var(--nx-r); background: transparent; color: var(--nx-text-3); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.nx-card-novo:hover { border-color: var(--nx-green); color: var(--nx-green); background: var(--nx-mint-soft); }
.nx-centro { display: flex; justify-content: center; margin-top: 4px; }
.nx-tom-ok { color: var(--nx-green); font-weight: 600; }
.nx-tom-aviso { color: var(--nx-warn); font-weight: 600; }
.nx-tom-erro { color: var(--nx-neg); font-weight: 600; }
.nx-tom-neutro { color: var(--nx-text-2); font-weight: 600; }
.nx-barra-busca .nx-segmento button { height: 38px; min-width: 40px; }

/* Financeiro */
.nx-kpi-meta .nx-meta-nota { flex-wrap: nowrap; gap: 10px; }
.nx-kpi-meta .nx-meta-nota span { white-space: nowrap; }
.nx-fin-filtros .nx-segmento button { height: 38px; padding: 0 14px; }
.nx-fin-filtros > .nx-btn { height: 44px; }
@media (max-width: 767px) {
  .nx-fin-filtros { flex-wrap: wrap; }
  .nx-fin-filtros .nx-busca { flex: 1 1 100%; max-width: none; }
  .nx-fin-filtros .nx-segmento { flex: 1 1 auto; }
  .nx-fin-filtros .nx-segmento button { flex: 1 1 0; height: 38px; padding: 0 8px; }
}
.nx-grupo + .nx-grupo { margin-top: 16px; }
.nx-grupo-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; margin: 0 -10px 8px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); font-size: 12px; line-height: 16px; font-weight: 600; color: var(--nx-text-3); }
.nx-grupo-data { color: var(--nx-text-2); }
.nx-lanc-valor { font-size: 14px; line-height: 20px; white-space: nowrap; flex-shrink: 0; }
.nx-lanc-acoes { display: flex; align-items: center; gap: 2px; flex-shrink: 0; margin-left: 8px; }
.nx-lanc-acoes .nx-btn-ico svg { width: 18px; height: 18px; }
.nx-selo-mini { height: 20px; padding: 0 8px; margin-left: 8px; vertical-align: 1px; }
.nx-btn.nx-ouvindo { color: var(--nx-neg); background: var(--nx-neg-soft); }

/* Carteira */
.nx-abas { align-self: flex-start; padding: 4px; }
.nx-abas button { height: 36px; padding: 0 14px; gap: 6px; }
@media (max-width: 767px) { .nx-abas { align-self: stretch; } .nx-abas button { flex: 1 1 0; padding: 0 8px; height: 40px; } }
.nx-saldo { display: flex; flex-direction: column; gap: 8px; }
.nx-saldo-valor { margin: 0; font-family: var(--nx-head); font-weight: 600; font-size: 32px; line-height: 40px; letter-spacing: -0.02em; color: #fff; position: relative; }
@media (min-width: 768px) { .nx-saldo-valor { font-size: 40px; line-height: 48px; } }
.nx-saldo-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 16px; position: relative; }
.nx-saldo-nota { font-size: 13px; line-height: 18px; color: #aab4b0; }
.nx-pix-chave { font-size: 15px; line-height: 22px; font-weight: 600; color: var(--nx-text); word-break: break-all; }

/* Chave liga e desliga */
.nx-chave { position: relative; display: inline-flex; flex-shrink: 0; width: 44px; height: 26px; padding: 3px; border: 0; border-radius: 999px; background: var(--nx-border-strong); cursor: pointer; transition: background-color .2s; }
.nx-chave::after { content: ""; position: absolute; inset: -8px -4px; }
.nx-chave span { width: 20px; height: 20px; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: transform .2s; }
.nx-chave.ligada { background: var(--nx-green); }
.nx-chave.ligada span { transform: translateX(18px); }

/* Personal Pass */
.nx-pass-vis { align-items: center; }
.nx-pass-status { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--nx-text-2); }
.nx-pass .nx-chave.ligada { background: var(--nx-pass); }
.nx-pass-abas { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 2px; }
.nx-pass-abas::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .nx-pass-abas { flex-wrap: wrap; margin: 0; padding: 0; overflow: visible; } }
.nx-pass-abas button { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; flex-shrink: 0; border: 1px solid var(--nx-border); border-radius: 999px; background: var(--nx-surface); color: var(--nx-text-2); font: inherit; font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.nx-pass-abas button svg { width: 18px; height: 18px; }
.nx-pass-abas button[aria-pressed="true"] { background: var(--nx-pass-soft); border-color: transparent; color: var(--nx-pass-ink); }
.nx-contador-alerta { background: var(--nx-neg); color: #fff; }
.nx-pass-pagina > main { min-width: 0; }

/* Ajustes */
.nx-ajustes-lista .nx-item { padding-top: 14px; padding-bottom: 14px; }
.nx-ajustes-lista .nx-item:first-child { padding-top: 0; }
.nx-ajustes-lista .nx-item:last-child { padding-bottom: 0; }
@media (min-width: 1180px) { .nx-saldo-acoes { margin-top: auto; } }
.nx-ajustes { max-width: 760px; margin-left: 0; }
.nx-ajustes-sub { max-width: 1100px; margin-left: 0; }
@media (min-width: 1024px) { .nx-ajustes-sub { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: start; gap: 20px; } }
.nx-aj-lado { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.nx-aj-lado > div:first-child { margin: 0; padding: 0; }
.nx-aj-voltar { align-self: flex-start; margin-left: -8px; }
.nx-aj-menu { display: none; }
@media (min-width: 1024px) { .nx-aj-menu { display: flex; flex-direction: column; gap: 2px; } }
.nx-aj-menu-item { display: flex; align-items: center; width: 100%; height: 44px; padding: 0 12px; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: var(--nx-text-2); font: inherit; text-align: left; cursor: pointer; }
.nx-aj-menu-item > div { gap: 12px !important; }
.nx-aj-menu-item:hover { background: var(--nx-surface-3); }
.nx-aj-menu-item.ativo { background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-aj-menu-rot { font-size: 14px; line-height: 20px; font-weight: 600; }
.nx-aj-conteudo { min-width: 0; display: flex; flex-direction: column; }
.nx-aj-conteudo > div:first-child { margin-bottom: 20px; }

/* Campos sem borda */
html:not(.dark) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea):is(.border-none, .border-0):is(.bg-slate-50, .bg-gray-50, .bg-surface-container-low) { border: 1px solid var(--nx-border-strong); border-radius: var(--nx-r-sm); }
html.dark :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea):is(.border-none, .border-0):is(.dark\:bg-slate-800) { border: 1px solid var(--nx-border-strong); border-radius: var(--nx-r-sm); }

/* Academias */
@media (min-width: 768px) { .nx-kpis.nx-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nx-kpis.nx-kpis-3 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 768px) { .nx-kpis.nx-kpis-3 > :last-child:nth-child(odd) { grid-column: auto; } }
.nx-academia { display: flex; flex-direction: column; gap: 16px; padding: 16px; }
@media (min-width: 768px) { .nx-academia { padding: 20px; } }
.nx-academia-foto { width: 40px; height: 40px; flex-shrink: 0; border-radius: var(--nx-r-sm); object-fit: cover; }
.nx-academia-pe { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--nx-border-soft); }
.nx-academias .nx-busca { max-width: 440px; }

/* Loja */
.nx-produtos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
@media (max-width: 767px) { .nx-produtos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.nx-produto { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r); box-shadow: var(--nx-shadow); }
.nx-produto-foto { position: relative; aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; background: var(--nx-surface-2); color: var(--nx-text-4); }
.nx-produto-foto img { width: 100%; height: 100%; object-fit: cover; }
.nx-produto-selo { position: absolute; top: 8px; left: 8px; }
.nx-produto-admin { position: absolute; top: 8px; right: 8px; display: flex; gap: 4px; }
.nx-produto-info { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; padding: 12px; }
@media (min-width: 768px) { .nx-produto-info { padding: 16px; } }
.nx-produto-nome { margin: 0; font-family: var(--nx-font); font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nx-produto-desc { margin: 6px 0 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nx-produto-pe { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 12px; }
.nx-produto-preco { font-size: 15px; line-height: 22px; color: var(--nx-green); }
@media (max-width: 767px) { .nx-produto-pe .nx-btn { width: 100%; } }
.nx-abas button { white-space: nowrap; }
@media (max-width: 767px) { .nx-loja .nx-abas .material-symbols-outlined { display: none; } }

/* Admin */
.nx-adm-cab { margin-bottom: 20px; }
.nx-adm-busca { padding-left: 40px !important; }
.nx-chip { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; flex-shrink: 0; border: 1px solid var(--nx-border); border-radius: 999px; background: var(--nx-surface); color: var(--nx-text-2); font: inherit; font-size: 13px; line-height: 18px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.nx-chip .material-symbols-outlined { font-size: 18px; }
.nx-chip:hover { border-color: var(--nx-border-strong); }
.nx-chip.ativo { background: var(--nx-mint-soft); border-color: transparent; color: var(--nx-green); }
@media (max-width: 767px) {
  .nx-so-desktop { display: none; }
  .nx-adm-razao :is(th, td) { padding-left: 12px !important; padding-right: 12px !important; }
}
.nx-adm-pct { color: var(--nx-text); }
.nx-adm-acoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 8px; margin-top: 8px; }
.nx-adm-acoes > button { min-height: 36px; padding: 0 8px; white-space: nowrap; }

/* Campos de data e hora */
input:is([type=date], [type=time], [type=datetime-local], [type=month]) { -webkit-appearance: none; appearance: none; min-width: 0; max-width: 100%; box-sizing: border-box; }
input:is([type=date], [type=time], [type=datetime-local], [type=month])::-webkit-date-and-time-value { min-height: 1.5em; margin: 0; text-align: left; }

/* Treinos do aluno */
.nx-treino-atual { display: flex; flex-direction: column; gap: 14px; }
.nx-treino-topo { display: flex; align-items: flex-start; gap: 12px; }
.nx-treino-tit { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nx-treino-tit h3 { margin: 0; font-family: var(--nx-head); font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-treino-tit p { margin: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-treino-lista .nx-item { padding: 8px 0; }
.nx-treino-lista .nx-item:first-child { padding-top: 0; }
.nx-treino-lista .nx-item:last-child { padding-bottom: 0; }
.nx-treino-iniciar { width: 100%; height: 44px; }
@media (min-width: 1180px) { .nx-treino-iniciar { width: auto; min-width: 220px; align-self: flex-start; } }
.nx-treino-lado { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.nx-treino-outra { padding: 10px 0; }
.nx-treino-outra:first-child { padding-top: 0; }
.nx-treino-outra:last-child { padding-bottom: 0; }
.nx-treino-hist .nx-item { padding: 10px 0; }
.nx-treino-hist .nx-item:first-child { padding-top: 0; }
.nx-treino-feitos { flex-shrink: 0; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--nx-green); white-space: nowrap; }
.nx-treino-feitos.parcial { color: var(--nx-text-3); }
.nx-treino-vazio { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 40px 20px; text-align: center; }
.nx-treino-vazio h3 { margin: 6px 0 0; font-family: var(--nx-head); font-size: 18px; line-height: 26px; font-weight: 600; color: var(--nx-text); }
.nx-treino-vazio p { margin: 0; font-size: 14px; line-height: 20px; color: var(--nx-text-3); }

/* Ficha em execução */
.nx-ficha-fundo { position: fixed; inset: 0; z-index: 130; background: rgba(13, 17, 16, .5); display: flex; align-items: flex-end; justify-content: center; }
@media (min-width: 768px) { .nx-ficha-fundo { align-items: center; padding: 24px; } }
.nx-ficha { width: 100%; max-height: calc(100dvh - 24px); display: flex; flex-direction: column; overflow: hidden; background: var(--nx-surface); border-radius: var(--nx-r-lg) var(--nx-r-lg) 0 0; box-shadow: var(--nx-shadow-pop); }
@media (min-width: 768px) { .nx-ficha { max-width: 560px; max-height: min(760px, calc(100vh - 48px)); border-radius: var(--nx-r-lg); } }
.nx-ficha-cab { display: flex; align-items: flex-start; gap: 8px; padding: 16px 12px 12px 20px; }
.nx-ficha-tit { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nx-ficha-tit .nx-rotulo { color: var(--nx-green); }
.nx-ficha-tit h3 { margin: 2px 0 0; font-family: var(--nx-head); font-size: 20px; line-height: 26px; font-weight: 600; letter-spacing: -0.01em; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-ficha-tit p { margin: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-ficha-prog { display: flex; flex-direction: column; gap: 8px; padding: 0 20px 14px; border-bottom: 1px solid var(--nx-border); }
.nx-ficha-prog-txt { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-ficha-conta { font-weight: 600; color: var(--nx-text); }
.nx-ficha-prog .nx-barra-prog > div { transition: width .25s; }
.nx-ficha-lista { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 4px; padding: 8px 12px; }
.nx-ficha-item { display: flex; align-items: center; gap: 12px; padding: 10px 8px; border-radius: var(--nx-r); cursor: pointer; transition: background-color .15s; }
.nx-ficha-item:hover { background: var(--nx-surface-2); }
.nx-ficha-item.feito { background: var(--nx-mint-soft); }
.nx-ficha-nome { font-size: 15px; line-height: 20px; font-weight: 600; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-ficha-item.feito .nx-ficha-nome { text-decoration: line-through; color: var(--nx-text-3); }
.nx-ficha-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-ficha-desc { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
.nx-ficha-desc .material-symbols-outlined { color: var(--nx-green); }
.nx-ficha-nota { font-size: 12px; line-height: 16px; color: var(--nx-text-3); overflow-wrap: anywhere; }
.nx-item-nota { display: block; margin-top: 2px; font-size: 13px; line-height: 18px; color: var(--nx-text-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.nx-ficha-check { width: 40px; height: 40px; flex-shrink: 0; padding: 0; border-radius: 999px; border: 2px solid var(--nx-border-strong); background: var(--nx-surface); color: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.nx-ficha-check:hover { border-color: var(--nx-mint); color: var(--nx-text-4); }
.nx-ficha-check[aria-pressed=true] { background: var(--nx-mint); border-color: var(--nx-mint); color: var(--nx-mint-ink); }
.nx-ficha-vazia { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; padding: 32px 12px; text-align: center; font-size: 14px; line-height: 20px; color: var(--nx-text-3); }
.nx-ficha-vazia .nx-carregando { height: auto; }
.nx-ficha-vazia p { margin: 0; }
.nx-ficha-pe { display: flex; gap: 12px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--nx-border); }
.nx-ficha-pe .nx-btn { flex: 1 1 0; height: 44px; }

/* Calendário do aluno */
.nx-cal-nav { display: flex; gap: 6px; }
.nx-cal-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-bottom: 6px; }
.nx-cal-semana span { text-align: center; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--nx-text-3); }
.nx-cal-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.nx-cal-dia, .nx-cal-vazio { aspect-ratio: 1 / 1; min-height: 40px; }
@media (min-width: 768px) { .nx-cal-dia, .nx-cal-vazio { aspect-ratio: auto; height: 46px; min-height: 0; } }
.nx-cal-dia { position: relative; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); color: var(--nx-text-2); font-family: var(--nx-head); font-size: 14px; line-height: 20px; font-weight: 600; cursor: pointer; transition: background-color .15s, border-color .15s; }
.nx-cal-dia:hover { border-color: var(--nx-border-strong); }
.nx-cal-dia.hoje { border-color: var(--nx-mint); color: var(--nx-green); }
.nx-cal-dia.sel { background: var(--nx-mint); border-color: var(--nx-mint); color: var(--nx-mint-ink); }
.nx-cal-pontos { position: absolute; left: 0; right: 0; bottom: 4px; display: flex; justify-content: center; gap: 3px; }
.nx-cal-pontos i { width: 5px; height: 5px; border-radius: 999px; background: #00c986; }
.nx-cal-dia.sel .nx-cal-pontos i { background: rgba(0, 33, 18, .6); }
.nx-cal-resumo { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--nx-border-soft); }
.nx-cal-resumo > .nx-texto { flex: 1 1 240px; font-weight: 600; color: var(--nx-text); }
.nx-cal-feitas { display: flex; align-items: baseline; gap: 6px; }
.nx-cal-feitas p { margin: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-cal-feitas p.nx-num { font-size: 20px; line-height: 26px; color: var(--nx-text); }
.nx-cal-lado { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.nx-cal-aula { display: flex; flex-direction: column; gap: 4px; }
.nx-cal-aula-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nx-cal-aula h3, .nx-cal-sem h3 { margin: 0; font-family: var(--nx-head); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-cal-aula .nx-lista { margin: 6px 0 10px; }
.nx-cal-aula .nx-item { padding: 6px 0; }
@media (min-width: 768px) { .nx-cal-lado .nx-card { padding: 20px; } }
.nx-cal-aula .nx-item-tit { white-space: normal; }
.nx-cal-sem { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.nx-cal-sem p { margin: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-cal-prox .nx-lista { margin-bottom: 12px; }
.nx-cal-prox .nx-vazio { padding: 16px 12px; }

/* Visão geral do aluno */
.nx-o1 { order: 1; } .nx-o2 { order: 2; } .nx-o3 { order: 3; } .nx-o4 { order: 4; } .nx-o5 { order: 5; } .nx-o6 { order: 6; } .nx-o7 { order: 7; } .nx-o8 { order: 8; } .nx-o9 { order: 9; }
.nx-painel, .nx-painel-col, .nx-painel-pe { display: contents; }
@media (min-width: 768px) {
  .nx-painel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
  .nx-painel-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
  .nx-painel-col:nth-child(3) { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .nx-painel-pe { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
  .nx-painel .nx-card, .nx-painel .nx-escuro, .nx-painel-pe .nx-card { padding: 20px; }
  .nx-painel .nx-card-cab { margin-bottom: 10px; }
  .nx-painel .nx-frase { display: none; }
  .nx-painel .nx-lista .nx-item { padding: 8px 0; }
  .nx-painel .nx-lista .nx-item:first-child { padding-top: 0; }
  .nx-painel .nx-lista .nx-item:last-child { padding-bottom: 0; }
  .nx-painel-pe .nx-area { min-height: 64px; }
  .nx-painel .nx-personal { gap: 16px !important; }
  .nx-painel .nx-personal .nx-chips { flex-wrap: nowrap; gap: 8px !important; }
  .nx-painel .nx-personal .nx-chips > .nx-btn:first-child { flex: 1 1 auto; min-width: 0; }
  .nx-painel .nx-pass-btn { width: 40px; padding: 0; flex: 0 0 auto; }
  .nx-painel .nx-pass-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .nx-docs { display: flex; align-items: center; gap: 24px; padding: 20px; }
  .nx-docs > .nx-card-cab { flex: 0 0 auto; margin: 0; justify-content: flex-start; }
  .nx-docs > .nx-lista { flex: 1 1 auto; min-width: 0; }
}
@media (min-width: 1180px) {
  .nx-painel { grid-template-columns: minmax(0, .95fr) minmax(0, 1.2fr) minmax(0, 1.1fr); }
  .nx-painel-col:nth-child(3) { grid-column: auto; display: flex; align-items: stretch; }
}

/* Notificações */
.nx-aviso-txt { overflow-wrap: anywhere; }
.nx-aviso-acao { display: block; margin-top: 12px; }
.nx-aviso-txt .nx-link { padding: 0; margin: 0; }
.nx-aviso-acao:has(> .nx-link) { margin-top: 4px; }

/* Loja do admin */
.nx-adm-loja > .nx-card { margin-bottom: 16px; }
.nx-adm-check { display: flex; align-items: center; gap: 10px; align-self: end; min-height: 42px; font-size: 14px; line-height: 20px; color: var(--nx-text); cursor: pointer; }
.nx-adm-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--nx-green); }
.nx-adm-form-pe { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
@media (max-width: 639px) { .nx-adm-form-pe .nx-btn { flex: 1 1 0; } }

/* Calendário do personal */
.nx-agenda-aula { padding: 12px 0; border-bottom: 1px solid var(--nx-border-soft); }
.nx-agenda-aula:first-child { padding-top: 0; }
.nx-agenda-aula:last-child { padding-bottom: 0; border-bottom: 0; }
.nx-agenda-aula .nx-item { padding: 0; border-bottom: 0; }
.nx-agenda-aula .nx-item-sub { white-space: normal; }
.nx-agenda-acoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto; align-items: center; gap: 6px; margin-top: 10px; }
.nx-agenda-acoes .nx-btn-sm { min-width: 0; padding-left: 8px; padding-right: 8px; }
.nx-agenda-foto { width: 40px; height: 40px; flex-shrink: 0; border-radius: var(--nx-r-sm); object-fit: cover; }
.nx-ico-q b { font-family: var(--nx-head); font-size: 15px; font-weight: 600; }

/* Cobranças do personal */
.nx-cob-acoes { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.nx-cob-acoes:empty { display: none; }
@media (max-width: 767px) {
  .nx-cob { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; grid-template-areas: "ico txt fim" "ico txt acoes"; align-items: start; column-gap: 12px; row-gap: 2px; }
  .nx-cob > .nx-ico-q { grid-area: ico; }
  .nx-cob > .nx-item-txt { grid-area: txt; }
  .nx-cob > .nx-item-fim { grid-area: fim; }
  .nx-cob > .nx-cob-acoes { grid-area: acoes; justify-content: flex-end; margin-right: -8px; }
  .nx-cob .nx-item-sub { white-space: normal; }
}

/* Treinos do personal */
.nx-treino-card { display: flex; flex-direction: column; gap: 14px; }
.nx-treino-card.aberta { grid-column: 1 / -1; }
.nx-treino-card.oculta { background: var(--nx-surface-2); }
.nx-treino-card .nx-treino-tit h3 { font-size: 17px; line-height: 24px; }
.nx-treino-card .nx-treino-tit p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nx-treino-card.aberta .nx-treino-tit p { display: block; }
.nx-treino-abrir { margin-top: auto; width: 100%; }
@media (min-width: 1024px) { .nx-treino-card.aberta .nx-treino-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; } .nx-treino-card.aberta .nx-treino-lista .nx-item:first-child, .nx-treino-card.aberta .nx-treino-lista .nx-item:nth-child(2) { padding-top: 0; } .nx-treino-card.aberta .nx-treino-abrir { width: auto; align-self: flex-start; } }
.nx-treino-menu { position: relative; flex-shrink: 0; margin: -6px -6px 0 0; }
.nx-menu-fundo { position: fixed; inset: 0; z-index: 40; }
.nx-menu { position: absolute; right: 0; top: 44px; z-index: 50; min-width: 200px; padding: 6px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); box-shadow: 0 12px 32px rgba(16, 24, 20, .14); }
.nx-menu button { display: flex; align-items: center; gap: 10px; width: 100%; height: 40px; padding: 0 12px; border: 0; border-radius: var(--nx-r-sm); background: none; color: var(--nx-text); font: inherit; font-size: 14px; line-height: 20px; text-align: left; cursor: pointer; }
.nx-menu button:hover, .nx-menu button:focus-visible { background: var(--nx-surface-3); }
.nx-menu button.perigo { color: var(--nx-neg); }

/* Campos de texto longo */
textarea.nx-campo { height: auto; min-height: 88px; padding-top: 10px; padding-bottom: 10px; line-height: 20px; resize: vertical; }

/* Painel do sino */
.nx-sino-fundo { background: transparent; }
.nx-sino-painel { position: fixed; display: flex; flex-direction: column; overflow: hidden; background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r); box-shadow: var(--nx-shadow-pop); animation: nx-sino-abre .14s ease-out; }
@keyframes nx-sino-abre { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.nx-sino-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 8px 8px 16px; border-bottom: 1px solid var(--nx-border); }
.nx-sino-tit { margin: 0; font-family: var(--nx-head); font-size: 15px; line-height: 22px; font-weight: 600; color: var(--nx-text); }
.nx-sino-lista { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 8px; padding: 12px; }
.nx-sino-chat { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface); font: inherit; color: inherit; text-align: left; cursor: pointer; transition: border-color .15s; }
.nx-sino-chat:hover { border-color: var(--nx-mint); }

/* Menu de Ajustes */
@media (min-width: 1024px) {
  .nx-ajustes-sub { grid-template-columns: 280px minmax(0, 1fr); }
  .nx-aj-menu { background: var(--nx-surface); border: 1px solid var(--nx-border); border-radius: var(--nx-r); box-shadow: var(--nx-shadow); padding: 12px 8px; }
}
.nx-aj-menu-tit { margin: 4px 12px 10px; font-family: var(--nx-head); font-size: 15px; line-height: 22px; font-weight: 600; color: var(--nx-text); }
.nx-aj-menu-item { position: relative; height: auto; min-height: 52px; padding: 8px 12px 8px 14px; }
.nx-aj-menu-item.ativo::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--nx-green); }
.nx-aj-menu-linha { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.nx-aj-menu-ico { flex-shrink: 0; margin-top: 1px; color: var(--nx-text-3); }
.nx-aj-menu-item.ativo .nx-aj-menu-ico { color: var(--nx-green); }
.nx-aj-menu-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.nx-aj-menu-rot { color: var(--nx-text); }
.nx-aj-menu-item.ativo .nx-aj-menu-rot { color: var(--nx-green); }
.nx-aj-menu-desc { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-aj-senha { display: flex; flex-direction: column; gap: 12px; max-width: 480px; }
.nx-aj-sub-tit { margin: 0; font-family: var(--nx-head); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-aj-senha .nx-btn { align-self: flex-start; }
.nx-aj-cadastros > div { max-width: none !important; margin: 0 !important; padding: 0 !important; }

/* Cabeçalho */
.nx-cab-icones { display: flex; align-items: center; gap: 4px; }
main > header.h-16 > .nx-cab-icones > button { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: var(--nx-text-2); cursor: pointer; transition: background-color .15s, color .15s; }
main > header.h-16 > .nx-cab-icones > button:hover { background: var(--nx-surface-3); color: var(--nx-green); }
main > header.h-16 > .nx-cab-icones > button .material-symbols-outlined { font-size: 22px; color: inherit; }
main > header.h-16 > .nx-cab-icones > button.nx-cab-sair:hover { color: var(--nx-neg); }
main > header.h-16 > .nx-cab-icones > button.nx-cab-usuario { width: auto; gap: 10px; padding: 0 6px 0 10px; margin-right: 4px; color: var(--nx-text); font: inherit; font-size: 14px; line-height: 20px; font-weight: 600; }
.nx-cab-nome { max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nx-cab-avatar { display: inline-flex; }
.nx-cab-avatar > :is(img, span) { width: 32px !important; height: 32px !important; min-width: 32px !important; font-size: 13px !important; box-shadow: none !important; }

/* Rodapé */
.nx-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; max-width: 1600px; margin: 48px auto 0; padding-top: 20px; border-top: 1px solid var(--nx-border); color: var(--nx-text-3); font-size: 13px; line-height: 20px; }
.nx-rodape p { margin: 0; }
.nx-rodape-txt { display: flex; flex-direction: column; gap: 2px; }
.nx-rodape-links a { color: var(--nx-text-2); text-decoration: none; }
.nx-rodape-links a:hover { color: var(--nx-green); text-decoration: underline; }
.nx-rodape-redes { display: flex; gap: 8px; }
.nx-rodape-redes a { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--nx-green); color: #fff; text-decoration: none; transition: background-color .15s; }
.nx-rodape-redes a:hover { background: var(--nx-green-hover); }
.nx-rodape-redes .material-symbols-outlined { font-size: 20px; }
@media (max-width: 767px) { .nx-rodape { flex-direction: column; align-items: flex-start; margin-top: 32px; } }

/* Cabeçalho de largura total */
main > header.h-16.nx-topo { padding-left: 16px; padding-right: 16px; }
html:not(.dark) main > header.nx-topo { background: var(--nx-mint); border-bottom: 0; color: var(--nx-mint-ink); }
html.dark main > header.nx-topo { color: var(--nx-text); }
.nx-topo-marca { display: flex; align-items: center; gap: 10px; width: calc(16rem - 16px); flex-shrink: 0; min-width: 0; }
.nx-topo-menu { width: 40px; height: 40px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: inherit; cursor: pointer; }
.nx-topo-menu .material-symbols-outlined { font-size: 24px; color: inherit; }
.nx-topo-logo { width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; object-fit: cover; }
.nx-topo-nome { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.nx-topo-nome b { font-family: var(--nx-head); font-size: 17px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; }
.nx-topo-nome small { font-size: 12px; font-weight: 500; opacity: .8; }
html:not(.dark) .nx-topo-menu:hover, html:not(.dark) main > header.nx-topo > .nx-cab-icones > button:hover { background: rgba(0, 48, 31, .1); color: var(--nx-mint-ink); }
html:not(.dark) main > header.nx-topo > .nx-cab-icones > button, html:not(.dark) main > header.nx-topo > .nx-cab-icones > button.nx-cab-usuario { color: var(--nx-mint-ink); }
html:not(.dark) main > header.nx-topo .material-symbols-outlined { color: var(--nx-mint-ink) !important; }
main > header.nx-topo .animate-pulse { animation: none; }
html:not(.dark) main > header.nx-topo button > span.absolute.rounded-full.bg-red-500 { border-color: var(--nx-mint); }
html:not(.dark) main > header.nx-topo > .nx-cab-icones > button.nx-cab-sair:hover { color: var(--nx-neg); }
html:not(.dark) main > header.nx-topo > .nx-cab-icones > button.nx-cab-sair:hover .material-symbols-outlined { color: var(--nx-neg) !important; }
html:not(.dark) main > header.nx-topo .nx-cab-avatar > span { background: #fff !important; color: var(--nx-mint-ink) !important; }
html:not(.dark) main > header.nx-topo .nx-cab-avatar > img { box-shadow: 0 0 0 2px rgba(255, 255, 255, .9) !important; }
html:not(.dark) main > header.nx-topo > .bg-emerald-50 { background: #fff; border-color: transparent; }
html:not(.dark) main > header.nx-topo .nx-hoje { background: rgba(255, 255, 255, .55); color: var(--nx-mint-ink); }
html:not(.dark) main > header.nx-topo .nx-hoje:hover { background: #fff; }
html:not(.dark) main > header.nx-topo .nx-contexto { color: var(--nx-mint-ink); }
html:not(.dark) main > header.md\:hidden.nx-topo span.font-black { color: var(--nx-mint-ink); }
html:not(.dark) main > header.md\:hidden.nx-topo .bg-emerald-50 { background: #fff; }

/* Barra lateral abaixo do cabeçalho */
aside.nx-lateral { top: 64px; bottom: 0; height: auto !important; }
aside.nx-lateral > nav { padding-top: 16px; }
aside.nx-lateral nav button.sidebar-active::before { content: ""; position: absolute; left: -12px; top: 6px; bottom: 6px; width: 3px; border-radius: 0 3px 3px 0; background: var(--nx-green); }
.nx-lateral-rodape { padding: 12px; border-top: 1px solid var(--nx-border); }
.nx-lateral-cartao { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 14px; border-radius: var(--nx-r); background: var(--nx-mint-soft); }
.nx-lateral-marca { margin: 0; display: flex; align-items: center; gap: 8px; font-family: var(--nx-head); font-size: 15px; line-height: 22px; font-weight: 700; color: var(--nx-text); }
.nx-lateral-selo { padding: 0 8px; border-radius: 999px; background: var(--nx-green); color: #fff; font-family: var(--nx-font); font-size: 11px; line-height: 18px; font-weight: 700; }
html.dark .nx-lateral-selo { color: var(--nx-mint-ink); }
.nx-lateral-link { padding: 0; border: 0; background: none; color: var(--nx-text-2); font: inherit; font-size: 13px; line-height: 20px; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.nx-lateral-link:hover { color: var(--nx-green); }
.nx-lateral-versao { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; line-height: 16px; letter-spacing: .04em; color: var(--nx-text-3); }
.nx-lateral-ajuda-ico { width: 40px; height: 40px; margin: 0 auto; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: var(--nx-text-3); cursor: pointer; }
.nx-lateral-ajuda-ico:hover { background: var(--nx-surface-3); color: var(--nx-green); }
.nx-lateral-ajuda-ico .material-symbols-outlined { font-size: 22px; }
@media (min-width: 380px) { main > header.md\:hidden.nx-topo span.font-black { display: inline; } }

/* Texto sobre fundo menta */
:is(.bg-\[\#00e197\], .bg-primary-container, .nx-btn-pri, .nx-barra) { color: var(--nx-mint-ink) !important; }
:is(.bg-\[\#00e197\], .bg-primary-container, .nx-btn-pri) :is(span, p, b, strong, small, i, svg):not(.absolute):not([class*="bg-"]) { color: inherit !important; }
html:not(.dark) .nx-topo-nome b, html:not(.dark) .nx-topo-nome small { color: var(--nx-mint-ink); opacity: 1; }

/* Ícones antes da fonte carregar */
.material-symbols-outlined { width: 1em; overflow: hidden; }
html:not(.nx-icones) .material-symbols-outlined { opacity: 0 !important; }

/* Rodapé perto do conteúdo */
.nx-rodape { margin-top: 16px; padding-top: 16px; }
@media (max-width: 767px) { .nx-rodape { margin-top: 16px; } }
div:has(+ footer.nx-rodape) { padding-bottom: 0; min-height: 0; }

/* Central de Ajuda em Ajustes */
.nx-aj-livre { background: transparent; border: 0; box-shadow: none; padding: 0; }
@media (min-width: 768px) { .nx-aj-livre { padding: 0; } }
.nx-aj-livre:has(.nx-ajuda-det) > div:first-child { display: none; }
.nx-ajuda { display: flex; flex-direction: column; gap: 24px; }
.nx-ajuda-busca { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 8px 0 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); box-shadow: var(--nx-shadow); color: var(--nx-text-3); }
.nx-ajuda-busca:focus-within { border-color: var(--nx-green); box-shadow: 0 0 0 3px var(--nx-mint-soft); }
.nx-ajuda-busca input, .nx-ajuda-busca input:focus { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0 !important; border-radius: 0; outline: 0; background: transparent; box-shadow: none !important; color: var(--nx-text); }
.nx-ajuda-busca input::placeholder { color: var(--nx-text-4); }
.nx-ajuda-limpar { flex-shrink: 0; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: var(--nx-text-3); cursor: pointer; }
.nx-ajuda-limpar:hover { background: var(--nx-surface-3); color: var(--nx-text); }
.nx-ajuda-limpar .material-symbols-outlined { font-size: 18px; }
.nx-ajuda-grupo { display: flex; flex-direction: column; gap: 10px; }
.nx-ajuda-cat { margin: 0; font-family: var(--nx-head); font-size: 15px; line-height: 22px; font-weight: 600; color: var(--nx-text); }
.nx-ajuda-lista { border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); box-shadow: var(--nx-shadow); overflow: hidden; }
.nx-ajuda-q { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--nx-border-soft); background: transparent; color: var(--nx-text); font: inherit; font-size: 14px; line-height: 20px; font-weight: 500; text-align: left; cursor: pointer; }
.nx-ajuda-q:last-child { border-bottom: 0; }
.nx-ajuda-q:hover { background: var(--nx-surface-2); }
.nx-ajuda-q:focus-visible { outline-offset: -2px; }
.nx-ajuda-q .material-symbols-outlined { flex-shrink: 0; font-size: 20px; color: var(--nx-text-3); }
.nx-ajuda-q:hover .material-symbols-outlined { color: var(--nx-green); }
.nx-ajuda-vazio { margin: 0; padding: 32px 0; text-align: center; font-size: 14px; color: var(--nx-text-3); }
.nx-ajuda-mais { display: flex; flex-direction: column; align-items: center; gap: 4px; padding-top: 4px; text-align: center; }
.nx-ajuda-mais p { margin: 0; font-size: 14px; line-height: 20px; color: var(--nx-text-3); }
.nx-ajuda-link { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 8px; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: var(--nx-green); font: inherit; font-size: 14px; line-height: 20px; font-weight: 600; cursor: pointer; }
.nx-ajuda-link:hover { background: var(--nx-mint-soft); }
.nx-ajuda-link .material-symbols-outlined { font-size: 18px; }
.nx-ajuda-det { gap: 8px; }
.nx-ajuda-voltar { align-self: flex-start; display: inline-flex; align-items: center; gap: 2px; height: 32px; margin-left: -6px; padding: 0 10px 0 4px; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: var(--nx-text-2); font: inherit; font-size: 13px; line-height: 18px; font-weight: 600; cursor: pointer; }
.nx-ajuda-voltar:hover { background: var(--nx-surface-3); color: var(--nx-text); }
.nx-ajuda-voltar .material-symbols-outlined { font-size: 20px; }
.nx-ajuda-card { border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); box-shadow: var(--nx-shadow); overflow: hidden; }
.nx-ajuda-corpo { display: flex; align-items: flex-start; gap: 14px; padding: 20px; }
@media (min-width: 768px) { .nx-ajuda-corpo { padding: 24px; } }
.nx-ajuda-ico { flex-shrink: 0; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--nx-r-sm); background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-ajuda-ico .material-symbols-outlined { font-size: 20px; }
.nx-ajuda-texto { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.nx-ajuda-tit { margin: 5px 0 0; font-family: var(--nx-head); font-size: 18px; line-height: 26px; font-weight: 600; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-ajuda-a { margin: 0; font-size: 14px; line-height: 22px; color: var(--nx-text-2); white-space: pre-line; overflow-wrap: anywhere; }
.nx-ajuda-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 12px 20px; border-top: 1px solid var(--nx-border); background: var(--nx-surface-2); }
@media (min-width: 768px) { .nx-ajuda-rodape { padding: 12px 24px; } }
.nx-ajuda-util { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nx-ajuda-util-rot { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--nx-text-3); }
.nx-ajuda-voto { width: 40px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface); color: var(--nx-text-2); cursor: pointer; }
.nx-ajuda-voto:hover { border-color: var(--nx-mint-line); color: var(--nx-green); }
.nx-ajuda-voto[aria-pressed="true"] { border-color: var(--nx-green); background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-ajuda-voto .material-symbols-outlined { font-size: 18px; }
.nx-ajuda-voto[aria-pressed="true"] .material-symbols-outlined { font-variation-settings: "FILL" 1; }
.nx-ajuda-obrigado { font-size: 13px; line-height: 18px; color: var(--nx-green); }
.nx-ajuda-obrigado:empty { display: none; }
.nx-ajuda-rodape .nx-ajuda-link { margin: 0 -8px; }
@media (max-width: 1023px) { .nx-ajustes-sub:has(.nx-ajuda-det) > .nx-aj-lado { display: none; } }

/* Grupos de corrida */
.nx-grupos { gap: 16px; }
@media (min-width: 768px) { .nx-grupos { gap: 20px; } }
.nx-g-voltar { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 4px; border: 0; background: none; color: var(--nx-text-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.nx-g-voltar:hover { color: var(--nx-green); }
.nx-g-coluna { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.nx-g-duas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 1024px) { .nx-g-duas { grid-template-columns: minmax(0, 1fr) 360px; } }
.nx-g-corta { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-g-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .nx-g-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nx-g-secao { display: flex; flex-direction: column; gap: 12px; }
.nx-g-secao-tit { margin: 0; font-family: var(--nx-head); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); }

.nx-g-capa { position: relative; overflow: hidden; background: #191c1d; }
.nx-g-capa svg, .nx-g-capa img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nx-g-ico { width: 52px; height: 52px; flex-shrink: 0; border-radius: 14px; border: 3px solid var(--nx-surface); background: var(--nx-mint); color: var(--nx-mint-ink); display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.nx-g-ico.grande { width: 72px; height: 72px; border-radius: 18px; }
.nx-g-meta { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; line-height: 18px; color: var(--nx-text-3); min-width: 0; }
.nx-g-meta .material-symbols-outlined { flex-shrink: 0; }
.nx-g-metas { display: flex; flex-direction: column; gap: 4px; }
.nx-g-metas.linha { flex-direction: row; flex-wrap: wrap; gap: 4px 16px; }
.nx-g-stats { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.nx-g-stats > div { display: flex; flex-direction: column; min-width: 0; }
.nx-g-stats b { font-family: var(--nx-head); font-size: 17px; line-height: 24px; font-weight: 600; color: var(--nx-text); white-space: nowrap; }
.nx-g-stats span { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-g-stats.linha > div { flex-direction: row; align-items: baseline; gap: 6px; }
.nx-g-stats.linha span { font-size: 13px; }

.nx-g-cartoes { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
@media (max-width: 767px) { .nx-g-cartoes { grid-template-columns: minmax(0, 1fr); } }
.nx-g-cartao { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.nx-g-cartao-corpo { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 0 20px 20px; margin-top: -28px; flex: 1 1 auto; }
.nx-g-cartao-topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.nx-g-cartao-nome { margin: 0; font-family: var(--nx-head); font-size: 18px; line-height: 26px; font-weight: 600; color: var(--nx-text); }
.nx-g-cartao-prox { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--nx-border-soft); margin-top: auto; }
.nx-g-cartao-prox > div { display: flex; flex-direction: column; }
.nx-g-pilha { display: inline-flex; align-items: center; flex-shrink: 0; }
.nx-g-pilha-item { display: inline-flex; margin-left: -8px; border-radius: 999px; box-shadow: 0 0 0 2px var(--nx-surface); }
.nx-g-pilha-item:first-child { margin-left: 0; }
.nx-g-vazio-grande { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 40px 24px; }
.nx-g-vazio-grande h2 { margin: 0; font-family: var(--nx-head); font-size: 18px; font-weight: 600; color: var(--nx-text); }
.nx-g-vazio-grande .nx-texto { max-width: 420px; margin: 0; }

.nx-g-alerta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px 16px; border-radius: var(--nx-r); background: var(--nx-warn-soft); border: 1px solid var(--nx-warn-line); color: var(--nx-warn); }
.nx-g-alerta-txt { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nx-g-alerta-txt b { font-size: 14px; line-height: 20px; }
.nx-g-alerta-txt span { font-size: 13px; line-height: 18px; color: var(--nx-text-2); }
.nx-g-pedidos { display: flex; flex-direction: column; gap: 10px; }
.nx-g-pedidos.grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.nx-g-pedido { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: var(--nx-r); background: var(--nx-surface-2); }
.nx-g-pedido .nx-item { padding: 0; border: 0; }
.nx-g-duas-btn { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nx-g-duas-btn > .nx-btn { flex: 1 1 0; min-width: 0; }
.nx-g-dica-card { display: flex; gap: 12px; align-items: flex-start; }
.nx-g-dica-card b { font-size: 14px; color: var(--nx-text); }

.nx-g-clube { padding: 0; overflow: hidden; }
.nx-g-clube-corpo { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 20px; padding: 0 16px 16px; }
.nx-g-clube-corpo > .nx-g-ico { margin-top: -30px; }
@media (min-width: 768px) { .nx-g-clube-corpo { padding: 0 24px 20px; flex-wrap: nowrap; align-items: flex-end; } .nx-g-clube-corpo > .nx-g-ico { margin-top: -36px; align-self: flex-start; } }
.nx-g-clube-txt { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding-top: 12px; }
@media (max-width: 767px) { .nx-g-clube-txt { flex-basis: 100%; padding-top: 0; } }
.nx-g-clube-nome { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; }
.nx-g-clube-nome h1 { margin: 0; font-family: var(--nx-head); font-size: 20px !important; line-height: 28px !important; font-weight: 600; color: var(--nx-text); }
@media (min-width: 768px) { .nx-g-clube-nome h1 { font-size: 24px !important; line-height: 32px !important; } }
.nx-g-clube-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 767px) { .nx-g-clube-acoes { width: 100%; } .nx-g-clube-acoes .nx-btn:not(.nx-btn-ico) { flex: 1 1 auto; } }
.nx-btn-ico.ativo { background: var(--nx-mint-soft); color: var(--nx-green); border-color: var(--nx-mint-line); }
.nx-g-abas { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 2px; }
.nx-g-abas::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .nx-g-abas { flex-wrap: wrap; margin: 0; padding: 0; overflow: visible; } }
.nx-g-abas button { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; flex-shrink: 0; border: 1px solid var(--nx-border); border-radius: 999px; background: var(--nx-surface); color: var(--nx-text-2); font: inherit; font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.nx-g-abas button:hover { border-color: var(--nx-border-strong); color: var(--nx-text); }
.nx-g-abas button[aria-pressed="true"] { background: var(--nx-mint-soft); border-color: var(--nx-mint-line); color: var(--nx-green); }
.nx-g-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--nx-neg); color: #fff; font-size: 12px; line-height: 20px; font-weight: 700; text-align: center; box-sizing: border-box; }
.nx-g-barra-acoes { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.nx-g-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
@media (max-width: 767px) { .nx-g-barra-acoes > .nx-segmento, .nx-g-filtros, .nx-g-filtros .nx-segmento { width: 100%; } .nx-g-barra-acoes .nx-segmento button, .nx-g-filtros .nx-segmento button { flex: 1 1 0; padding: 0 6px; } }
.nx-g-sobre-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }

.nx-g-feed { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 1024px) { .nx-g-feed { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; } }
.nx-g-composer { display: flex; flex-direction: column; gap: 12px; padding: 16px; }
.nx-g-composer-linha { display: flex; align-items: flex-start; gap: 12px; }
.nx-g-composer textarea.nx-campo { min-height: 44px; height: auto; padding: 11px 14px; resize: vertical; border-radius: 22px; }
.nx-g-composer-pe { display: flex; justify-content: flex-end; gap: 8px; }
.nx-g-composer-pe.so-foto { display: none; }
.nx-g-previa { position: relative; display: inline-flex; align-self: flex-start; }
.nx-g-previa img { max-height: 180px; max-width: 100%; border-radius: var(--nx-r-sm); display: block; }
.nx-g-previa.pequena img { max-height: 72px; }
.nx-g-previa .nx-btn { position: absolute; top: 6px; right: 6px; width: 32px; height: 32px; }
.nx-g-registrar { display: flex; align-items: center; gap: 12px; padding: 14px 16px; text-align: left; font: inherit; color: var(--nx-text); cursor: pointer; }
.nx-g-registrar:hover { border-color: var(--nx-mint-line); background: var(--nx-mint-soft); }
.nx-g-item { display: flex; flex-direction: column; gap: 12px; padding: 16px; }
@media (min-width: 768px) { .nx-g-item { padding: 20px; } }
.nx-g-item.fixado { border-color: var(--nx-mint-line); }
.nx-g-item-cab { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nx-g-item-cab .nx-item-txt { flex: 1 1 auto; }
.nx-g-nome { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nx-g-selo-escuro { height: 20px; padding: 0 8px; margin-left: 6px; background: var(--nx-text); color: var(--nx-surface); font-size: 11px; vertical-align: 1px; }
.nx-g-selo-btn { align-self: flex-start; border: 0; cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; }
.nx-g-post-txt { margin: 0; font-size: 14px; line-height: 22px; color: var(--nx-text); white-space: pre-line; overflow-wrap: anywhere; }
.nx-g-ativ-tit { margin: 0; font-family: var(--nx-head); font-size: 17px; line-height: 24px; font-weight: 600; color: var(--nx-text); overflow-wrap: anywhere; }
@media (min-width: 768px) { .nx-g-ativ-tit { font-size: 18px; line-height: 26px; } }
.nx-g-ativ-stats { display: flex; gap: 16px; }
.nx-g-ativ-stats > div { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding-right: 16px; border-right: 1px solid var(--nx-border); }
.nx-g-ativ-stats > div:last-child { border-right: 0; padding-right: 0; }
.nx-g-ativ-stats span { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-g-ativ-stats b { font-family: var(--nx-head); font-size: 16px; line-height: 22px; font-weight: 600; color: var(--nx-text); white-space: nowrap; }
@media (min-width: 768px) { .nx-g-ativ-stats b { font-size: 18px; line-height: 26px; } }
.nx-g-foto { display: block; width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--nx-r-sm); }
.nx-g-item-pe { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.nx-g-item-btns { display: flex; gap: 6px; flex-shrink: 0; }
.nx-g-kudos-on { background: var(--nx-mint-soft); border-color: var(--nx-mint-line); color: var(--nx-green); }
.nx-g-coment-previa { text-align: left; border: 0; background: var(--nx-surface-2); border-radius: var(--nx-r-sm); padding: 10px 12px; font: inherit; font-size: 13px; line-height: 19px; color: var(--nx-text-2); cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-g-coment-previa b { color: var(--nx-text); }
.nx-g-coments { display: flex; flex-direction: column; gap: 10px; padding-top: 12px; border-top: 1px solid var(--nx-border-soft); }
.nx-g-coment { display: flex; align-items: flex-start; gap: 10px; }
.nx-g-coment-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 12px; background: var(--nx-surface-2); font-size: 13px; line-height: 19px; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-g-coment-txt small { font-size: 11px; color: var(--nx-text-3); }
.nx-g-coment-form { display: flex; gap: 8px; }
.nx-g-sistema { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); }
.nx-g-sistema-txt { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-2); }
.nx-g-sistema-txt b { color: var(--nx-text); }
.nx-g-sistema small { font-size: 12px; color: var(--nx-text-3); white-space: nowrap; }

.nx-g-data { width: 52px; height: 56px; flex-shrink: 0; border-radius: 12px; background: var(--nx-mint-soft); color: var(--nx-green); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; }
.nx-g-data b { font-size: 11px; line-height: 14px; font-weight: 700; letter-spacing: .04em; }
.nx-g-data span { font-family: var(--nx-head); font-size: 20px; line-height: 24px; font-weight: 600; }
.nx-g-data.escuro { background: #191c1d; color: #fff; }
.nx-g-data.escuro b { color: var(--nx-mint); }
.nx-g-prox { display: flex; flex-direction: column; gap: 12px; }
.nx-g-prox-cab { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.nx-g-prox-topo { display: flex; gap: 12px; align-items: center; }
.nx-g-prox-topo > div { display: flex; flex-direction: column; gap: 2px; }
.nx-g-prox-tit { margin: 0; font-family: var(--nx-head); font-size: 17px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-g-prox-conf { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nx-g-faixas { display: flex; gap: 6px; }
.nx-g-faixas.col { flex-direction: column; }
.nx-g-faixa { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border: 1px solid var(--nx-border); border-radius: 10px; background: var(--nx-surface); font: inherit; text-align: left; color: var(--nx-text); }
button.nx-g-faixa { cursor: pointer; }
.nx-g-faixas.col .nx-g-faixa { flex-direction: row; justify-content: space-between; align-items: center; padding: 12px 14px; }
.nx-g-faixa b { font-size: 12px; line-height: 16px; color: var(--nx-green); }
.nx-g-faixa span { font-size: 13px; line-height: 18px; font-weight: 600; }
.nx-g-faixa.sel { border: 2px solid var(--nx-mint); background: var(--nx-mint-soft); padding: 7px 9px; }
.nx-g-faixas.col .nx-g-faixa.sel { padding: 11px 13px; }
.nx-g-barra { height: 8px; border-radius: 999px; background: var(--nx-surface-3); overflow: hidden; }
.nx-g-barra i { display: block; height: 100%; border-radius: 999px; background: var(--nx-mint); }
.nx-g-barra.pass i { background: var(--nx-pass); }
.nx-g-barras { display: flex; gap: 8px; height: 104px; }
.nx-g-barra-dia { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.nx-g-barra-area { flex: 1 1 auto; width: 100%; display: flex; align-items: flex-end; }
.nx-g-barra-area i { display: block; width: 100%; border-radius: 6px; background: var(--nx-mint-line); }
.nx-g-barra-area i.zero { background: var(--nx-surface-3); }
.nx-g-barra-dia.hoje .nx-g-barra-area i:not(.zero) { background: var(--nx-mint); }
.nx-g-barra-dia span { font-size: 12px; color: var(--nx-text-3); }
.nx-g-barra-dia.hoje span { color: var(--nx-green); font-weight: 700; }
.nx-g-mini-rank { display: flex; flex-direction: column; gap: 2px; }
.nx-g-mini-linha { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--nx-text); }
.nx-g-mini-linha > .nx-g-corta { flex: 1 1 auto; }
.nx-g-mini-linha b { font-family: var(--nx-head); font-weight: 600; white-space: nowrap; }
.nx-g-mini-linha.eu, .nx-g-rank-lista .nx-item.eu { background: var(--nx-mint-soft); border-radius: 10px; }
.nx-g-rank-lista .nx-item.eu { padding-left: 8px; padding-right: 8px; }
.nx-g-pos { width: 24px; height: 24px; flex-shrink: 0; border-radius: 999px; background: var(--nx-surface-3); color: var(--nx-text); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }
.nx-g-pos.p1 { background: var(--nx-mint); color: var(--nx-mint-ink); }
.nx-g-pos.p2 { background: #dfe5e3; color: #191c1d; }
.nx-g-pos.p3 { background: #f6e3c2; color: #5c3a00; }
.nx-g-desafio-mini { display: flex; flex-direction: column; gap: 10px; cursor: pointer; }
.nx-g-desafio-num { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.nx-g-desafio-num b { font-family: var(--nx-head); font-size: 22px; line-height: 28px; font-weight: 600; color: var(--nx-text); }
.nx-g-desafio-num span { font-size: 13px; color: var(--nx-text-3); }

.nx-g-treinos { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 1024px) { .nx-g-treinos { grid-template-columns: minmax(0, 1fr) 420px; gap: 24px; } .nx-g-treinos > .nx-g-coluna:last-child { position: sticky; top: 88px; } }
.nx-g-semana { margin-top: 4px; }
.nx-g-linha { display: flex; align-items: center; gap: 16px; padding: 14px 16px; text-align: left; font: inherit; color: var(--nx-text); cursor: pointer; width: 100%; }
.nx-g-linha:hover { border-color: var(--nx-border-strong); }
.nx-g-linha.sel { border: 2px solid var(--nx-mint); padding: 13px 15px; }
.nx-g-linha.cancelado { opacity: .7; }
.nx-g-linha-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.nx-g-linha-tit { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.nx-g-linha-tit b { font-size: 15px; line-height: 20px; }
.nx-g-linha-conf { width: 150px; flex-shrink: 0; display: flex; flex-direction: column; gap: 6px; }
.nx-g-linha-conf b { font-family: var(--nx-head); font-size: 16px; font-weight: 600; }
@media (max-width: 767px) { .nx-g-linha { flex-wrap: wrap; gap: 12px; } .nx-g-linha-txt { flex-basis: calc(100% - 64px); } .nx-g-linha-conf { width: 100%; flex-direction: row; align-items: center; gap: 10px; } .nx-g-linha-conf .nx-g-barra { flex: 1 1 auto; } }
.nx-g-detalhe { display: flex; flex-direction: column; gap: 16px; }
.nx-g-detalhe-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nx-g-detalhe-tit { margin: 8px 0 0; font-family: var(--nx-head); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--nx-text); }
.nx-g-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; }
.nx-g-info dt { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-g-info dd { margin: 2px 0 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-g-nota { margin: 0; padding: 12px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); font-size: 13px; line-height: 20px; color: var(--nx-text-2); white-space: pre-line; }
.nx-g-link-mapa { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; }
.nx-g-rsvp { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: var(--nx-r); background: var(--nx-surface-2); }
.nx-g-detalhe-conf .nx-card-cab { flex-wrap: wrap; margin-bottom: 4px; }
.nx-g-detalhe-conf { display: flex; flex-direction: column; gap: 8px; }
.nx-g-presenca { display: flex; flex-direction: column; gap: 8px; }
.nx-g-presenca-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nx-g-chave { position: relative; width: 44px; height: 26px; flex-shrink: 0; border: 0; border-radius: 999px; background: var(--nx-border-strong); cursor: pointer; padding: 0; transition: background-color .15s; }
.nx-g-chave span { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: transform .15s; }
.nx-g-chave.on { background: var(--nx-mint); }
.nx-g-chave.on span { transform: translateX(18px); }
.nx-g-chave:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; }
.nx-g-chave-linha { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; }
.nx-g-chaves { display: flex; flex-direction: column; }
.nx-g-chaves .nx-g-chave-linha + .nx-g-chave-linha { border-top: 1px solid var(--nx-border-soft); }

.nx-g-mapa { position: relative; width: 100%; border-radius: var(--nx-r-sm); overflow: hidden; border: 1px solid var(--nx-border); background: var(--nx-surface-2); z-index: 0; }
.nx-g-mapa.desenhando .leaflet-container { cursor: crosshair; }
.nx-g-mapa-erro { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--nx-text-3); }
.nx-g-mapa-barra { display: flex; flex-wrap: wrap; gap: 8px; }
.nx-g-rotas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 1024px) { .nx-g-rotas { grid-template-columns: 320px minmax(0, 1fr); gap: 24px; } }
.nx-g-rota { display: flex; align-items: center; gap: 12px; padding: 12px 14px; text-align: left; font: inherit; color: var(--nx-text); cursor: pointer; width: 100%; }
.nx-g-rota.sel { border: 2px solid var(--nx-mint); padding: 11px 13px; }
.nx-g-rota-editor { display: flex; flex-direction: column; gap: 14px; }
.nx-g-rota-stats { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.nx-g-rota-stats > div { display: flex; flex-direction: column; }
.nx-g-rota-stats span { font-size: 12px; color: var(--nx-text-3); }
.nx-g-rota-stats b { font-family: var(--nx-head); font-size: 18px; font-weight: 600; color: var(--nx-text); }
.nx-g-rota-stats .nx-btn { margin-left: auto; }

.nx-g-ranking { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 1024px) { .nx-g-ranking { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; } }
.nx-g-periodo { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--nx-text); }
.nx-g-podio-card { padding-bottom: 0 !important; }
.nx-g-podio { display: flex; align-items: flex-end; gap: 12px; }
.nx-g-degrau { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.nx-g-degrau-nome { font-size: 13px; font-weight: 700; color: var(--nx-text); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-g-degrau b { font-family: var(--nx-head); font-size: 16px; font-weight: 600; color: var(--nx-text); }
.nx-g-degrau-bloco { width: 100%; border-radius: 12px 12px 0 0; display: flex; justify-content: center; padding-top: 10px; box-sizing: border-box; font-family: var(--nx-head); font-size: 24px; font-weight: 600; color: #191c1d; }
.nx-g-degrau.d1 .nx-g-degrau-bloco { height: 104px; background: var(--nx-mint); }
.nx-g-degrau.d2 .nx-g-degrau-bloco { height: 80px; background: #dfe5e3; }
.nx-g-degrau.d3 .nx-g-degrau-bloco { height: 64px; background: #f6e3c2; }
@media (min-width: 768px) { .nx-g-degrau.d1 .nx-g-degrau-bloco { height: 128px; } .nx-g-degrau.d2 .nx-g-degrau-bloco { height: 100px; } .nx-g-degrau.d3 .nx-g-degrau-bloco { height: 84px; } }
.nx-g-var { font-size: 12px; font-weight: 700; }
.nx-g-var.sobe { color: var(--nx-green); }
.nx-g-var.desce { color: var(--nx-neg); }
.nx-g-minha { display: flex; align-items: center; gap: 14px; }
.nx-g-minha-pos { width: 64px; height: 64px; flex-shrink: 0; border-radius: 16px; background: #191c1d; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.nx-g-minha-pos b { font-family: var(--nx-head); font-size: 24px; line-height: 28px; font-weight: 600; }
.nx-g-minha-pos span { font-size: 11px; font-weight: 700; color: var(--nx-mint); }
.nx-g-minha-valor { font-family: var(--nx-head); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--nx-text); }
.nx-g-sobe { font-size: 13px; font-weight: 600; color: var(--nx-green); }
.nx-g-regras { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 20px; color: var(--nx-text-2); }

.nx-g-desafios { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
@media (max-width: 767px) { .nx-g-desafios { grid-template-columns: minmax(0, 1fr); } }
.nx-g-desafio { display: flex; flex-direction: column; gap: 10px; }
.nx-g-desafio h3 { margin: 4px 0 0; font-family: var(--nx-head); font-size: 17px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-g-desafio-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.nx-g-desafio-pe { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.nx-g-top3 { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.nx-g-top3 li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--nx-text); }
.nx-g-top3 li > span:first-child { width: 16px; font-weight: 700; }
.nx-g-top3 li .nx-g-corta { flex: 1 1 auto; }

.nx-g-membro { flex-wrap: wrap; }
.nx-g-membro .nx-item-tit { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nx-g-membro-dados { display: flex; align-items: center; gap: 20px; }
.nx-g-membro-dados > span { display: flex; flex-direction: column; min-width: 64px; }
.nx-g-membro-dados small { font-size: 12px; color: var(--nx-text-3); }
.nx-g-membro-dados b { font-size: 14px; color: var(--nx-text); white-space: nowrap; }
@media (max-width: 767px) { .nx-g-membro .nx-item-txt { flex-basis: calc(100% - 100px); } .nx-g-membro-dados { width: 100%; padding-left: 52px; gap: 16px; } }
.nx-g-busca { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border: 1px solid var(--nx-border-strong); border-radius: var(--nx-r-sm); background: var(--nx-surface); color: var(--nx-text-3); min-width: 0; }
.nx-g-busca input { border: 0; outline: 0; background: none; font: inherit; font-size: 14px; color: var(--nx-text); width: 200px; min-width: 0; }
@media (max-width: 767px) { .nx-g-busca { width: 100%; } .nx-g-busca input { width: 100%; } }
.nx-g-sair { margin-top: 10px; display: flex; justify-content: flex-end; }

.nx-g-chat { display: flex; flex-direction: column; gap: 12px; }
.nx-g-chat-lista { display: flex; flex-direction: column; gap: 12px; min-height: 280px; max-height: 60vh; overflow-y: auto; padding: 4px 2px; }
.nx-g-chat-dia { display: flex; justify-content: center; }
.nx-g-chat-dia span { font-size: 12px; font-weight: 600; color: var(--nx-text-3); background: var(--nx-surface-2); border-radius: 999px; padding: 4px 10px; }
.nx-g-msg { display: flex; align-items: flex-end; gap: 8px; max-width: 82%; }
.nx-g-msg.meu { align-self: flex-end; flex-direction: row-reverse; }
.nx-g-msg-corpo { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nx-g-msg.meu .nx-g-msg-corpo { align-items: flex-end; }
.nx-g-msg-nome { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--nx-text-2); }
.nx-g-msg-txt { padding: 10px 14px; border-radius: 16px 16px 16px 4px; background: var(--nx-surface-3); font-size: 14px; line-height: 20px; color: var(--nx-text); white-space: pre-line; overflow-wrap: anywhere; }
.nx-g-msg.meu .nx-g-msg-txt { border-radius: 16px 16px 4px 16px; background: var(--nx-mint); color: var(--nx-mint-ink); }
.nx-g-msg-hora { font-size: 11px; color: var(--nx-text-3); }
.nx-g-chat-form { display: flex; gap: 8px; padding-top: 12px; border-top: 1px solid var(--nx-border-soft); }

.nx-g-config-cab { margin: 4px 0 0; font-family: var(--nx-head); font-size: 18px; line-height: 26px; font-weight: 600; color: var(--nx-text); }
.nx-g-config { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 1024px) { .nx-g-config { grid-template-columns: 240px minmax(0, 1fr); gap: 32px; } }
.nx-g-config-tit h2 { margin: 0; font-family: var(--nx-head); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-g-config-corpo { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.nx-g-capa-edit { position: relative; border-radius: var(--nx-r-sm); overflow: hidden; }
.nx-g-capa-btns { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 8px; }
.nx-g-radios { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
@media (min-width: 768px) { .nx-g-radios { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nx-g-radio { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); font: inherit; text-align: left; color: var(--nx-text); cursor: pointer; }
.nx-g-radio > span { display: flex; flex-direction: column; gap: 2px; }
.nx-g-radio b { font-size: 14px; }
.nx-g-radio small { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-g-radio.sel { border: 2px solid var(--nx-mint); background: var(--nx-mint-soft); padding: 13px; }
.nx-g-radio.sel .material-symbols-outlined { color: var(--nx-green); }
.nx-g-embreve { display: flex; flex-direction: column; gap: 4px; padding: 14px; border: 1px dashed var(--nx-border-strong); border-radius: var(--nx-r-sm); }
.nx-g-embreve b { font-size: 14px; color: var(--nx-text); }
.nx-g-config-pe { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }

.nx-g-modal { z-index: 140; }
.nx-g-modal-caixa { width: 100%; max-width: 560px; max-height: 92vh; display: flex; flex-direction: column; overflow: hidden; background: var(--nx-surface); border-radius: var(--nx-r-lg); box-shadow: var(--nx-shadow-pop); }
.nx-g-modal-caixa.largo { max-width: 680px; }
@media (max-width: 767px) { .nx-g-modal { padding: 0; } .nx-g-modal-caixa { max-height: 94vh; border-radius: 20px 20px 0 0; } }
.nx-g-modal-corpo { flex: 1 1 auto; overflow-y: auto; padding: 16px 20px; }
.nx-g-modal-pe { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px 16px; border-top: 1px solid var(--nx-border); }
@media (max-width: 767px) { .nx-g-modal-pe { padding-bottom: calc(16px + env(safe-area-inset-bottom)); } .nx-g-modal-pe .nx-btn { flex: 1 1 0; } }
.nx-g-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.nx-g-form > .inteira, .nx-g-form > .nx-g-erro, .nx-g-form > .nx-g-ritmo, .nx-g-form > .nx-g-strava { grid-column: 1 / -1; }
@media (max-width: 479px) { .nx-g-form > .nx-g-campo { grid-column: 1 / -1; } }
.nx-g-form-par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nx-g-form-par.inteira { grid-column: 1 / -1; }
.nx-g-campo { display: flex; flex-direction: column; min-width: 0; }
.nx-g-campo .nx-rotulo-campo { margin-bottom: 6px; }
.nx-g-campo-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.nx-g-campo-cab .nx-rotulo-campo { margin: 0; }
.nx-g-dica { margin-top: 4px; font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-g-pilulas { display: flex; flex-wrap: wrap; gap: 8px; }
.nx-g-pilulas button { height: 36px; padding: 0 14px; border: 1px solid var(--nx-border); border-radius: 999px; background: var(--nx-surface); color: var(--nx-text-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.nx-g-pilulas button[aria-pressed="true"] { background: var(--nx-mint-soft); border-color: var(--nx-mint-line); color: var(--nx-green); }
.nx-g-faixa-form { display: grid; grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1fr) 40px; gap: 8px; align-items: center; margin-top: 8px; }

/* Estrutura do treino de grupo */
.nx-g-bloco { margin-top: 8px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface); }
.nx-g-bloco > summary { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; color: var(--nx-text); }
.nx-g-bloco > summary::-webkit-details-marker { display: none; }
.nx-g-bloco > summary:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; border-radius: var(--nx-r-sm); }
.nx-g-bloco-tit { flex: 1 1 auto; }
.nx-g-bloco-resumo { font-size: 12px; font-weight: 500; color: var(--nx-text-3); }
.nx-g-bloco > summary .material-symbols-outlined { color: var(--nx-text-3); transition: transform .2s; }
.nx-g-bloco[open] > summary .material-symbols-outlined { transform: rotate(180deg); }
.nx-g-bloco-corpo { display: flex; flex-direction: column; gap: 10px; padding: 0 14px 14px; }
.nx-g-bloco-corpo > .nx-link { align-self: flex-start; }
.nx-g-passo-form { display: grid; grid-template-columns: 96px minmax(0, 1fr) 40px; gap: 8px; align-items: center; }
.nx-g-item-form { display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 8px; align-items: center; }
.nx-g-nivel-form { display: flex; flex-direction: column; gap: 10px; min-width: 0; margin: 0; padding: 8px 12px 12px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-g-nivel-form legend { padding: 0 4px; font-size: 13px; font-weight: 700; color: var(--nx-text); }
.nx-g-nivel-cab { display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 8px; align-items: end; }
.nx-g-plano { display: flex; flex-direction: column; gap: 10px; }
.nx-g-plano-sec { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); }
.nx-g-plano-sec h3 { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; font-family: var(--nx-head); font-size: 15px; line-height: 22px; font-weight: 600; color: var(--nx-text); }
.nx-g-plano-sec h3 span { padding: 2px 8px; border-radius: 999px; background: var(--nx-mint-soft); color: var(--nx-green); font-family: inherit; font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.nx-g-plano-passos, .nx-g-plano-itens { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.nx-g-plano-passos li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 8px; font-size: 13px; line-height: 19px; color: var(--nx-text-2); }
.nx-g-plano-passos li b { font-weight: 600; color: var(--nx-text); }
.nx-g-plano-itens li { position: relative; padding-left: 16px; font-size: 13px; line-height: 19px; color: var(--nx-text-2); }
.nx-g-plano-itens li::before { content: ''; position: absolute; left: 4px; top: 7px; width: 5px; height: 5px; border-radius: 50%; background: var(--nx-green); }
.nx-g-plano-nota { margin: 0; font-size: 12px; line-height: 17px; color: var(--nx-text-3); white-space: pre-line; }
.nx-g-plano-niveis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; }
.nx-g-plano-nivel { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-left: 3px solid var(--nx-mint); border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-g-plano-nivel b { font-size: 13px; color: var(--nx-text); }
.nx-g-plano-nivel p { margin: 0; font-size: 13px; line-height: 19px; color: var(--nx-text-2); white-space: pre-line; }
.nx-g-plano-nivel p.nx-g-plano-int { font-size: 12px; color: var(--nx-text-3); }
.nx-g-plano-rot { font-weight: 600; color: var(--nx-text); }
.nx-g-ritmo { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-radius: var(--nx-r-sm); background: var(--nx-mint-soft); color: var(--nx-green); font-size: 13px; font-weight: 600; }
.nx-g-ritmo b { font-family: var(--nx-head); font-size: 18px; }
.nx-g-esforco { display: block; padding: 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); }
.nx-g-esforco .nx-esf-tit { font-size: 15px; line-height: 21px; }
.nx-g-ativ-esf b { display: inline-flex; align-items: center; gap: 6px; }
.nx-g-linha-btn { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; }
.nx-g-strava { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px dashed var(--nx-border-strong); border-radius: var(--nx-r-sm); font-size: 12px; color: var(--nx-text-3); }
.nx-g-erro { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border-radius: var(--nx-r-sm); background: var(--nx-neg-soft); border: 1px solid var(--nx-neg-line); color: var(--nx-neg); font-size: 13px; line-height: 18px; font-weight: 500; }
.nx-g-check { cursor: pointer; }
.nx-g-check input { width: 18px; height: 18px; accent-color: var(--nx-green); flex-shrink: 0; }

.nx-cal-ponto-grupo { position: absolute; top: 4px; right: 4px; width: 7px; height: 7px; border-radius: 3px; background: var(--nx-pass); }
.nx-cal-dia.sel .nx-cal-ponto-grupo { background: var(--nx-mint-ink); }
.nx-cal-lado > .nx-cal-grupo { order: 5; }
html.dark .nx-g-data.escuro, html.dark .nx-g-minha-pos { background: var(--nx-surface-3); }
html.dark .nx-g-degrau-bloco, html.dark .nx-g-pos.p2, html.dark .nx-g-pos.p3 { color: #191c1d; }
.nx-card > .nx-g-barra-acoes { margin-bottom: 12px; }
.nx-g-faixa span { white-space: nowrap; font-size: 12px; }
.nx-g-faixas.col .nx-g-faixa span { font-size: 13px; }
.nx-g-ranking b.nx-num, .nx-g-ranking .nx-item-fim b { white-space: nowrap; }
.nx-g-resumo { display: flex; flex-direction: row; align-items: center; gap: 16px; flex-wrap: wrap; }
.nx-g-resumo > .nx-ico-q { width: 48px; height: 48px; flex: none; }
.nx-g-resumo-txt { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nx-g-resumo-txt .nx-rotulo { margin-bottom: 2px; }
.nx-g-resumo-txt .nx-texto, .nx-g-resumo-txt .nx-item-sub { margin: 0; }
.nx-g-resumo-selo { flex: none; }
@media (max-width: 767px) {
  .nx-g-resumo > .nx-btn { flex: 1 1 100%; justify-content: center; }
}

/* Foto ampliada do feed */
.nx-g-foto-btn { position: relative; display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: var(--nx-r-sm); overflow: hidden; }
.nx-g-foto-btn .nx-g-foto { max-height: 360px; }
.nx-g-foto-zoom { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px; background: rgba(17, 24, 22, .72); color: #fff; }
.nx-g-foto-btn:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; }
.nx-g-foto-cheia { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; padding: 56px 16px 16px; background: rgba(10, 14, 13, .92); }
.nx-g-foto-cheia img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: var(--nx-r-sm); box-shadow: 0 12px 40px rgba(0, 0, 0, .4); }
.nx-g-foto-cheia-acoes { position: absolute; top: 12px; right: 12px; display: flex; gap: 8px; }
@media (max-width: 767px) {
  .nx-g-foto-btn .nx-g-foto { max-height: 260px; }
}

/* Modalidade e capa do grupo */
.nx-g-modalidades { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.nx-g-modalidades.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nx-g-modalidade { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 68px; padding: 10px 6px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); color: var(--nx-text-2); font: inherit; font-size: 13px; font-weight: 600; line-height: 16px; text-align: center; cursor: pointer; }
.nx-g-modalidade .material-symbols-outlined { color: var(--nx-text-3); }
.nx-g-modalidade.sel { border: 2px solid var(--nx-mint); background: var(--nx-mint-soft); color: var(--nx-green); padding: 9px 5px; }
.nx-g-modalidade.sel .material-symbols-outlined { color: var(--nx-green); }
.nx-g-modalidade:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; }
.nx-g-capa-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nx-g-capa-campo .nx-g-dica { margin-top: 0; }
@media (max-width: 479px) {
  .nx-g-modalidades { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nx-g-capa-btns { left: 10px; right: 10px; flex-wrap: wrap; justify-content: flex-end; }
}
.nx-g-pilulas button { display: inline-flex; align-items: center; gap: 6px; }

/* Prazo da ficha */
.nx-prazo-ficha { display: flex; flex-direction: column; min-width: 0; }
.nx-prazo-ficha .nx-segmento { display: grid; grid-template-columns: repeat(4, auto); max-width: 100%; }
.nx-prazo-ficha .nx-segmento button { height: 36px; padding: 0 10px; }
.nx-prazo-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 4px; }
.nx-prazo-campos label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nx-prazo-dica { margin: 0; font-size: 12px; line-height: 17px; color: var(--nx-text-3); }
.nx-dossie-prazo { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 6px; font-size: 12px; line-height: 17px; color: var(--nx-text-3); }
.nx-dossie-prazo .aviso { color: var(--nx-warn, #b45309); font-weight: 600; }
.nx-dossie-prazo .nx-link { font-size: 12px; }
.nx-treino-feito { color: var(--nx-green); font-weight: 600; }
.nx-ficha-fim { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 32px 24px 28px; text-align: center; overflow-y: auto; }
.nx-ficha-fim-ico { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin-bottom: 6px; border-radius: 999px; background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-ficha-fim h4 { margin: 0; font-family: var(--nx-head); font-size: 22px; line-height: 30px; font-weight: 600; color: var(--nx-text); }
.nx-ficha-fim p { margin: 0; max-width: 360px; }
.nx-ficha-fim-resumo { font-size: 15px; line-height: 22px; color: var(--nx-text); }
.nx-ficha-fim-meta { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-green); }
.nx-ficha-fim-nota { margin-top: 6px !important; font-size: 13px; line-height: 19px; color: var(--nx-text-3); }
@media (max-width: 479px) {
  .nx-prazo-ficha .nx-segmento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Observações e metas do aluno */
.nx-aluno-obs, .nx-aluno-metas { display: flex; flex-direction: column; gap: 12px; }
.nx-aluno-obs { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--nx-border); }
.nx-aluno-cab { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nx-aluno-cab h3 { margin: 0; font-family: var(--nx-head); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-aluno-cab p { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
textarea.nx-campo.nx-aluno-obs-texto { min-height: 150px; line-height: 21px; }
.nx-aluno-obs-leitura { padding: 12px 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface-2); font-size: 14px; line-height: 21px; color: var(--nx-text); white-space: pre-wrap; overflow-wrap: anywhere; }
.nx-aluno-obs-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.nx-aluno-obs .nx-aluno-cab { flex-wrap: nowrap; }
.nx-aluno-obs .nx-aluno-cab > div { flex: 1 1 auto; min-width: 0; }
.nx-aluno-obs .nx-aluno-cab > .nx-btn { flex: none; }
.nx-aluno-obs-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.nx-aluno-status { margin: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-metas-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.nx-metas-form { display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface-2); }
.nx-metas-form h4, .nx-metas-sec { margin: 0; font-family: var(--nx-head); font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); }
.nx-metas-sec { margin-top: 8px; }
.nx-metas-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nx-metas-largo { grid-column: 1 / -1; }
@media (max-width: 639px) { .nx-metas-grade { grid-template-columns: minmax(0, 1fr); } }
.nx-metas-atalhos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.nx-metas-atalhos .nx-chip { height: 30px; padding: 0 10px; font-size: 12px; }
.nx-metas-vazio { margin: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-metas-mais { align-self: flex-start; }
.nx-marca { flex-wrap: wrap; }
.nx-marca .nx-item-txt { flex: 1 1 200px; }
.nx-marca .nx-item-tit, .nx-marca .nx-item-sub { white-space: normal; }
.nx-marca .nx-item-fim { display: flex; flex-direction: row; align-items: center; gap: 8px; flex-wrap: nowrap; justify-content: flex-end; margin-left: auto; }

/* Comentário e conversa do treino */
.nx-ficha-coment-btn { width: 40px; height: 40px; flex-shrink: 0; padding: 0; border-radius: 999px; border: 1px solid var(--nx-border); background: var(--nx-surface); color: var(--nx-text-3); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.nx-ficha-coment-btn:hover { border-color: var(--nx-border-strong); color: var(--nx-text-2); }
.nx-ficha-coment-btn[aria-expanded="true"], .nx-ficha-coment-btn.com { background: var(--nx-mint-soft); border-color: var(--nx-mint-line); color: var(--nx-green); }
.nx-ficha-coment-btn:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; }
.nx-ficha-coment { display: flex; flex-direction: column; gap: 6px; margin: -2px 8px 8px 48px; padding: 10px 12px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-ficha-coment .nx-rotulo-campo { margin: 0; }
.nx-ficha-coment textarea { min-height: 64px; resize: vertical; font-size: 14px; line-height: 20px; }
.nx-ficha-coment-dica { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
@media (max-width: 479px) { .nx-ficha-coment { margin-left: 8px; } }
.nx-ficha-fim-conv { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 14px; padding: 12px 14px; border-radius: var(--nx-r-sm); background: var(--nx-mint-soft); }
.nx-ficha-fim-conv p { margin: 0; font-size: 13px; line-height: 19px; color: var(--nx-green); text-align: center; }
.nx-conv-btn .nx-contador { min-width: 20px; height: 18px; padding: 0 6px; margin-left: 2px; background: var(--nx-neg); color: #fff; font-size: 11px; }
.nx-treino-hist .nx-conv-btn { flex-shrink: 0; }
.nx-log-coment { margin: 4px 0 0; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--nx-green); }
.nx-conv { display: flex; flex-direction: column; }
.nx-conv-corpo { display: flex; flex-direction: column; gap: 12px; }
.nx-conv-treino { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-conv-treino h4 { margin: 0; font-size: 13px; line-height: 18px; font-weight: 700; color: var(--nx-text); }
.nx-conv-coments { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.nx-conv-coments li { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 19px; color: var(--nx-text-2); }
.nx-conv-coments li b { font-weight: 600; color: var(--nx-text); }
.nx-conv-resumo { margin: 0; font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-conv-lista { min-height: 160px; max-height: 45vh; }
.nx-conv-vazio { margin: auto 0; text-align: center; }
.nx-conv-form { padding: 12px 20px 16px; border-top: 1px solid var(--nx-border); }
.nx-conv-erro { margin: 0 20px 12px; }
.nx-treino-hist .nx-item { flex-wrap: wrap; }
.nx-treino-hist .nx-item-txt { flex: 1 1 160px; }
.nx-treino-hist .nx-conv-btn { margin-left: auto; }

/* Rota automática */
.nx-g-tracado { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-g-tracado-cab { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--nx-text); }
.nx-g-tracado-cab .material-symbols-outlined { color: var(--nx-green); }
.nx-g-tracado-cab .nx-g-dica { margin: 0 0 0 auto; }
.nx-g-tracado .nx-g-form-par { align-items: start; }
@media (max-width: 479px) { .nx-g-tracado .nx-g-form-par { grid-template-columns: minmax(0, 1fr); } }
.nx-g-sugere { position: relative; }
.nx-g-sugere-linha { display: flex; gap: 6px; align-items: center; }
.nx-g-sugere-linha .nx-campo { flex: 1 1 auto; min-width: 0; }
.nx-g-sugere-lista { position: absolute; z-index: 1200; top: calc(100% - 2px); left: 0; right: 0; margin: 0; padding: 4px; list-style: none; max-height: 240px; overflow-y: auto; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface); box-shadow: var(--nx-sombra, 0 8px 24px rgba(0, 0, 0, .12)); }
.nx-g-sugere-lista li { padding: 10px 12px; border-radius: 8px; font-size: 14px; line-height: 19px; color: var(--nx-text); cursor: pointer; }
.nx-g-sugere-lista li:hover, .nx-g-sugere-lista li.ativo { background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-g-marcar { flex-shrink: 0; gap: 4px; }
.nx-g-marcar.ativo { background: var(--nx-mint-soft); border-color: var(--nx-mint-line); color: var(--nx-green); }
@media (max-width: 479px) { .nx-g-marcar-txt { display: none; } .nx-g-marcar { width: 40px; padding: 0; justify-content: center; } }
.nx-g-tracado-aviso { margin: 0; padding: 8px 10px; border-radius: 8px; background: var(--nx-mint-soft); color: var(--nx-green); font-size: 13px; font-weight: 600; }
.nx-g-mapa-barra-rot { margin: 0; align-self: center; }
.nx-g-mapa .escolhendo, .nx-g-mapa .escolhendo .leaflet-interactive { cursor: crosshair; }
.nx-g-guia { display: flex !important; align-items: center; justify-content: center; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); font: 700 11px/1 var(--nx-font, system-ui, sans-serif); color: #fff; background: #191c1d; }
.nx-g-guia.inicio { background: #00a86b; }
.nx-g-guia.via { background: #fff; color: #006c46; border-color: #006c46; cursor: pointer; }

/* Profundidade dos popups no tema escuro */
html.dark :is(.nx-ficha-fundo, .nx-modal) { background: rgba(0, 0, 0, .72); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
html.dark :is(.nx-ficha, .nx-modal-caixa, .nx-g-modal-caixa) { box-shadow: 0 0 0 1px var(--nx-border-strong), 0 -18px 48px rgba(0, 0, 0, .6), 0 24px 64px rgba(0, 0, 0, .65); }
@media (max-width: 767px) {
  .nx-ficha::before { content: ""; flex: none; width: 40px; height: 4px; margin: 8px auto 0; border-radius: 2px; background: var(--nx-border-strong); }
  html.dark .nx-ficha { border-top: 1px solid var(--nx-border-strong); }
}
.nx-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Tempo do treino */
.nx-ficha-tempo { display: flex; align-items: center; gap: 6px; margin-top: 6px !important; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-ficha-tempo .material-symbols-outlined { color: var(--nx-green); }
.nx-ficha-tempo b { font-family: var(--nx-head); font-size: 15px; font-weight: 600; color: var(--nx-text); font-variant-numeric: tabular-nums; }
.nx-ficha-fim-tempo { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); font-variant-numeric: tabular-nums; }
.nx-ficha-fim-tempo .material-symbols-outlined { color: var(--nx-green); }
.nx-treino-resumo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 768px) { .nx-treino-resumo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nx-treino-num { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 14px; border: 1px solid var(--nx-border); border-radius: var(--nx-r-sm); background: var(--nx-surface); }
.nx-treino-num .nx-ico-q { width: 34px; height: 34px; flex-shrink: 0; }
.nx-treino-num-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nx-treino-num-rot { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-treino-num b { font-family: var(--nx-head); font-size: 20px; line-height: 26px; font-weight: 600; letter-spacing: -0.01em; color: var(--nx-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nx-treino-num-sub { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }

/* Cronômetro, temporizador e Tabata */
.nx-crono-cartao { display: flex; flex-direction: row; align-items: center; gap: 16px; flex-wrap: wrap; }
.nx-crono-cartao-ico { width: 48px; height: 48px; }
.nx-crono-cartao-txt { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nx-crono-cartao-txt p { margin: 0; }
.nx-crono-andamento { color: var(--nx-green) !important; font-weight: 600; font-variant-numeric: tabular-nums; }
.nx-crono-cartao-btns { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 479px) { .nx-crono-cartao-btns { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } .nx-crono-cartao-btns .nx-btn { flex-direction: column; height: auto; min-height: 64px; padding: 10px 4px; gap: 4px; font-size: 13px; line-height: 16px; white-space: nowrap; } }
.nx-crono .nx-modal-cab { align-items: flex-start; }
.nx-crono-cab-btns { display: flex; gap: 4px; flex-shrink: 0; }
.nx-crono-abas { display: flex; gap: 4px; margin: 12px 20px 0; padding: 4px; border-radius: 999px; background: var(--nx-surface-2); }
.nx-crono-abas button { position: relative; flex: 1 1 0; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 40px; padding: 0 10px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--nx-text-3); cursor: pointer; }
.nx-crono-abas button span:not(.material-symbols-outlined) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-crono-abas button[aria-selected="true"] { background: var(--nx-surface); color: var(--nx-text); box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
html.dark .nx-crono-abas button[aria-selected="true"] { background: var(--nx-surface-3); }
@media (max-width: 400px) { .nx-crono-abas { margin-left: 16px; margin-right: 16px; } .nx-crono-abas button { padding: 0 4px; font-size: 13px; } .nx-crono-abas button .material-symbols-outlined { display: none; } }
.nx-crono-ponto { position: absolute; top: 7px; right: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--nx-mint); }
.nx-crono-corpo { padding-top: 20px; padding-bottom: 24px; }
.nx-crono-painel { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.nx-crono-visor { font-family: var(--nx-head); font-size: 48px; line-height: 56px; font-weight: 600; letter-spacing: -0.02em; color: var(--nx-text); font-variant-numeric: tabular-nums; text-align: center; }
.nx-crono-visor.grande { font-size: 64px; line-height: 72px; }
@media (max-width: 400px) { .nx-crono-visor.grande { font-size: 54px; line-height: 64px; } }
.nx-crono-visor.rodando { color: var(--nx-green); }
.nx-crono-botoes { display: flex; gap: 10px; width: 100%; max-width: 360px; }
.nx-crono-botoes .nx-btn { flex: 1 1 0; min-width: 0; height: 48px; }
.nx-crono-voltas { width: 100%; max-width: 360px; margin: 0; padding: 0; list-style: none; max-height: 220px; overflow-y: auto; border-top: 1px solid var(--nx-border); }
.nx-crono-voltas li { display: grid; grid-template-columns: 1fr auto auto; gap: 16px; padding: 10px 2px; border-bottom: 1px solid var(--nx-border); font-size: 14px; line-height: 20px; color: var(--nx-text-3); font-variant-numeric: tabular-nums; }
.nx-crono-voltas b { color: var(--nx-text); font-weight: 600; }
.nx-crono-anel { position: relative; width: 220px; height: 220px; display: flex; align-items: center; justify-content: center; }
.nx-crono-anel svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.nx-crono-anel circle { fill: none; stroke-width: 8; }
.nx-crono-anel-fundo { stroke: var(--nx-surface-3); }
.nx-crono-anel-barra { stroke: var(--nx-mint); stroke-linecap: round; transition: stroke-dashoffset .1s linear; }
.nx-crono-anel.acabou .nx-crono-anel-barra { stroke: var(--nx-warn); }
.nx-crono-anel.rodando .nx-crono-visor { color: var(--nx-green); }
.nx-crono-aviso { display: inline-flex; align-items: center; gap: 6px; margin: -6px 0 0; padding: 6px 12px; border-radius: 999px; background: var(--nx-warn-soft); color: var(--nx-warn); font-size: 14px; font-weight: 600; }
.nx-crono-ajuste { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 100%; }
.nx-crono-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.nx-crono-chip { height: 36px; padding: 0 14px; border: 1px solid var(--nx-border-strong); border-radius: 999px; background: var(--nx-surface); font: inherit; font-size: 14px; font-weight: 600; color: var(--nx-text); cursor: pointer; font-variant-numeric: tabular-nums; }
.nx-crono-chip.ativo { background: var(--nx-mint-soft); border-color: transparent; color: var(--nx-green); }
.nx-crono-campos { display: flex; align-items: flex-end; gap: 8px; }
.nx-crono-campo { display: flex; flex-direction: column; gap: 4px; font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-crono-campo .nx-campo { width: 84px; text-align: center; font-size: 18px; font-variant-numeric: tabular-nums; }
.nx-crono-sep { padding-bottom: 10px; font-size: 20px; font-weight: 600; color: var(--nx-text-3); }
.nx-tabata-intro { margin: -4px 0 0; text-align: center; max-width: 380px; }
.nx-tabata-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; width: 100%; max-width: 400px; }
.nx-tabata-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nx-tabata-campo label { font-size: 12px; line-height: 16px; font-weight: 600; color: var(--nx-text-2, var(--nx-text)); }
.nx-tabata-campo label span { font-weight: 400; color: var(--nx-text-3); }
.nx-tabata-passo { display: flex; align-items: center; gap: 6px; }
.nx-tabata-passo .nx-campo { flex: 1 1 auto; min-width: 0; width: 100%; text-align: center; font-size: 16px; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.nx-tabata-passo .nx-campo::-webkit-outer-spin-button, .nx-tabata-passo .nx-campo::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.nx-tabata-passo .nx-btn-ico { flex-shrink: 0; }
.nx-tabata-total { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; margin: 0; font-size: 14px; color: var(--nx-text-3); font-variant-numeric: tabular-nums; }
.nx-tabata-visor { --tb-fundo: var(--nx-surface-2); --tb-cor: var(--nx-text); display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; max-width: 400px; padding: 20px 16px; border-radius: var(--nx-r-lg); background: var(--tb-fundo); transition: background-color .25s; }
.nx-tabata-visor.esforco { --tb-fundo: var(--nx-mint-soft); --tb-cor: var(--nx-green); }
.nx-tabata-visor.descanso { --tb-fundo: #e8f0fe; --tb-cor: #1a56c4; }
.nx-tabata-visor.prep { --tb-fundo: var(--nx-warn-soft); --tb-cor: var(--nx-warn); }
html.dark .nx-tabata-visor.descanso { --tb-fundo: rgba(96, 165, 250, .14); --tb-cor: #93c5fd; }
.nx-tabata-visor .nx-crono-visor { color: var(--tb-cor); }
.nx-tabata-fase { font-family: var(--nx-head); font-size: 22px; line-height: 28px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--tb-cor); }
.nx-tabata-rodada { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text-3); }
.nx-tabata-prog { display: flex; flex-direction: column; gap: 6px; width: 100%; max-width: 400px; font-size: 13px; color: var(--nx-text-3); text-align: center; font-variant-numeric: tabular-nums; }
.nx-tabata-prog .nx-barra-prog { flex: none; }

/* Perfil do aluno (dossiê) */
.nx-dossie-fundo { z-index: 120; padding: 24px; align-items: center; }
.nx-dossie { position: relative; width: 100%; max-width: 760px; height: min(800px, calc(100dvh - 48px)); display: flex; flex-direction: column; overflow: hidden; border-radius: var(--nx-r-lg); background: var(--nx-surface); box-shadow: var(--nx-shadow-pop); }
html.dark .nx-dossie { box-shadow: 0 0 0 1px var(--nx-border-strong), 0 24px 64px rgba(0, 0, 0, .65); }
.nx-dossie-cab { flex-shrink: 0; display: flex; align-items: flex-start; gap: 16px; padding: 24px 20px 16px 28px; }
.nx-dossie-foto { position: relative; flex-shrink: 0; }
.nx-dossie-selo { position: absolute; right: -6px; bottom: -6px; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--nx-surface); border-radius: 50%; background: var(--nx-green); color: #fff; }
html.dark .nx-dossie-selo { color: var(--nx-mint-ink); }
.nx-dossie-selo.inativo { background: var(--nx-text-3); }
.nx-dossie-id { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 2px; }
.nx-dossie-id h2 { margin: 0; font-family: var(--nx-head); font-size: 22px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-dossie-id p { margin: 0; font-size: 14px; line-height: 20px; color: var(--nx-text-3); }
.nx-dossie-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 6px; }
.nx-dossie-nota { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--nx-text-2); }
.nx-dossie-nota .material-symbols-outlined { color: #f2b233; }
.nx-dossie-fechar { flex-shrink: 0; margin: -4px -4px 0 0; }
.nx-dossie-abas { flex-shrink: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 4px 28px 14px; scroll-padding: 0 28px; border-bottom: 1px solid var(--nx-border); }
.nx-dossie-abas::-webkit-scrollbar { display: none; }
.nx-dossie-abas button { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; height: 38px; padding: 0 14px; border: 1px solid var(--nx-border); border-radius: 999px; background: var(--nx-surface); font: inherit; font-size: 14px; font-weight: 600; color: var(--nx-text-2); cursor: pointer; white-space: nowrap; }
.nx-dossie-abas button:hover { border-color: var(--nx-border-strong); color: var(--nx-text); }
.nx-dossie-abas button[aria-selected="true"] { background: var(--nx-mint-soft); border-color: var(--nx-mint-line, transparent); color: var(--nx-green); }
.nx-dossie-abas button:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; }
.nx-dossie-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px 28px 32px; }
.nx-dossie-sec { padding: 20px 0; border-bottom: 1px solid var(--nx-border); }
.nx-dossie-sec:last-child { border-bottom: 0; padding-bottom: 4px; }
.nx-dossie-sec-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.nx-dossie-sec-cab h3 { margin: 0; font-family: var(--nx-head); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-dossie-dados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; margin: 0; }
.nx-dossie-dado { min-width: 0; }
.nx-dossie-dado dt { margin: 0 0 2px; font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-dossie-dado dd { margin: 0; font-size: 15px; line-height: 22px; font-weight: 500; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-dossie .nx-aluno-obs { margin-top: 0; padding-top: 0; border-top: 0; }
.nx-dossie-texto { margin: 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-dossie-estrelas { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 10px; }
.nx-dossie-lista .nx-item:last-child { border-bottom: 0; }
.nx-dossie-lista .nx-item-tit { white-space: normal; }
.nx-dossie-ficha, .nx-dossie-log { align-items: flex-start; }
.nx-dossie-ficha .nx-ico-q, .nx-dossie-log .nx-ico-q { margin-top: 2px; }
.nx-dossie-remover { flex-shrink: 0; color: var(--nx-text-3); }
.nx-dossie-remover:hover { color: var(--nx-neg); }
.nx-dossie-log { flex-wrap: wrap; }
.nx-dossie-log .nx-item-txt { flex: 1 1 220px; }
.nx-dossie-log-fim { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.nx-dossie-vincular { margin-bottom: 12px; padding: 14px; border: 1px dashed var(--nx-mint-line, var(--nx-border-strong)); border-radius: var(--nx-r-sm); background: var(--nx-mint-soft); }
.nx-dossie .nx-erro { margin: 0 0 12px; }
.nx-dossie-docs:empty { min-height: 80px; }
@media (max-width: 767px) {
  .nx-dossie-fundo { padding: 0; align-items: flex-end; }
  .nx-dossie { max-width: none; height: 92dvh; border-radius: 20px 20px 0 0; }
  .nx-dossie::before { content: ""; position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: var(--nx-border-strong); }
  .nx-dossie-cab { gap: 14px; padding: 24px 12px 14px 16px; }
  .nx-dossie-id h2 { font-size: 20px; line-height: 26px; }
  .nx-dossie-abas { padding: 2px 16px 12px; scroll-padding: 0 16px; }
  .nx-dossie-corpo { padding: 0 16px calc(24px + env(safe-area-inset-bottom)); }
}
@media (max-width: 479px) {
  .nx-dossie-dados { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .nx-dossie-dado { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--nx-border-soft); }
  .nx-dossie-dado:last-child { border-bottom: 0; }
  .nx-dossie-dado dt { flex-shrink: 0; margin: 0; font-size: 14px; line-height: 20px; }
  .nx-dossie-dado dd { min-width: 0; text-align: right; font-size: 14px; line-height: 20px; }
  .nx-dossie-sec-cab { margin-bottom: 4px; }
}

/* Escala de esforço */
.nx-esf { display: flex; flex-direction: column; gap: 10px; min-width: 0; text-align: left; }
.nx-esf-cab { display: flex; align-items: center; justify-content: space-between; gap: 6px 12px; flex-wrap: wrap; }
.nx-esf-tit { font-family: var(--nx-head); font-size: 16px; line-height: 22px; font-weight: 600; color: var(--nx-text); }
.nx-esf-acoes { display: inline-flex; align-items: center; gap: 16px; }
.nx-esf-ver { display: inline-flex; align-items: center; gap: 4px; }
.nx-esf-dica { margin: -6px 0 0; font-size: 12px; line-height: 17px; color: var(--nx-text-3); }
.nx-esf-barra { display: flex; flex-direction: column; gap: 12px; padding: 4px 2px 2px; border-radius: var(--nx-r-sm); cursor: pointer; touch-action: pan-y; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; outline: none; }
.nx-esf-barra:focus-visible { box-shadow: 0 0 0 2px var(--nx-surface), 0 0 0 4px var(--nx-green); }
.nx-esf-rostos, .nx-esf-nums { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; }
.nx-esf-rosto { display: flex; align-items: flex-end; justify-content: center; height: 34px; transition: opacity .15s, filter .15s, transform .15s; transform-origin: 50% 100%; }
.nx-esf-rosto svg { width: 28px; height: 28px; }
.nx-esf-barra.com .nx-esf-rosto { opacity: .35; filter: grayscale(.7); }
.nx-esf-barra.com .nx-esf-rosto.sel { opacity: 1; filter: none; transform: scale(1.2); }
.nx-esf-trilho { position: relative; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; height: 12px; }
.nx-esf-passo { border-radius: 3px; background: var(--c); opacity: .28; transition: opacity .15s; }
.nx-esf-passo.on { opacity: 1; }
html.dark .nx-esf-passo:not(.on) { opacity: .4; }
.nx-esf-passo:first-child { border-radius: 999px 3px 3px 999px; }
.nx-esf-passo:last-child { border-radius: 3px 999px 999px 3px; }
.nx-esf-pino { position: absolute; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; display: flex; align-items: center; justify-content: center; border: 3px solid var(--c); border-radius: 999px; background: var(--nx-surface); color: var(--nx-text); font-size: 13px; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); transition: left .12s ease-out; pointer-events: none; }
.nx-esf-nums span { text-align: center; font-size: 12px; line-height: 16px; color: var(--nx-text-3); font-variant-numeric: tabular-nums; }
.nx-esf-nums span.sel { color: var(--nx-text); font-weight: 700; }
.nx-esf-res { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 12px; border-left: 4px solid var(--c); border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-esf-res.vazio { justify-content: center; border-left-color: var(--nx-border); font-size: 13px; line-height: 19px; color: var(--nx-text-3); text-align: center; }
.nx-esf-res svg { flex-shrink: 0; }
.nx-esf-res-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nx-esf-res-txt b { font-size: 15px; line-height: 21px; font-weight: 600; color: var(--nx-text); }
.nx-esf-res-txt span { font-size: 13px; line-height: 19px; color: var(--nx-text-2); }
.nx-esf-treino { flex-shrink: 0; padding: 14px 20px 8px; border-top: 1px solid var(--nx-border); }
.nx-esf-estado { min-height: 18px; margin: 6px 0 0; font-size: 12px; line-height: 18px; font-weight: 500; color: var(--nx-green); }
.nx-esf-estado.erro { color: var(--nx-neg); }
.nx-esf-selo { display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px 0 3px; border: 1px solid var(--nx-border); border-radius: 999px; background: var(--nx-surface-2); font-size: 12px; line-height: 1; font-weight: 600; color: var(--nx-text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.nx-treino-esf, .nx-dossie-log-esf { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; }
.nx-esf-modal { z-index: 150; }
.nx-esf-tab { width: 100%; max-width: 480px; max-height: min(720px, calc(100dvh - 32px)); display: flex; flex-direction: column; overflow: hidden; background: var(--nx-surface); border-radius: var(--nx-r-lg); box-shadow: var(--nx-shadow-pop); }
.nx-esf-tab-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 12px; }
.nx-esf-tab-tit h3 { margin: 0; font-family: var(--nx-head); font-size: 18px; line-height: 24px; font-weight: 600; color: var(--nx-text); }
.nx-esf-tab-tit p { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-esf-tab-lista { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0 16px; list-style: none; overflow-y: auto; overscroll-behavior: contain; }
.nx-esf-tab-lista li { display: grid; grid-template-columns: 40px 36px minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 12px 10px 0; border-left: 5px solid var(--c); border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-esf-tab-num { text-align: center; font-family: var(--nx-head); font-size: 17px; line-height: 22px; font-weight: 700; color: var(--nx-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.nx-esf-tab-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nx-esf-tab-txt b { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); }
.nx-esf-tab-txt span { font-size: 13px; line-height: 18px; color: var(--nx-text-2); }
.nx-esf-tab-nota { flex-shrink: 0; margin: 0; padding: 12px 20px calc(16px + env(safe-area-inset-bottom)); font-size: 12px; line-height: 18px; color: var(--nx-text-3); }
@media (max-width: 767px) { .nx-esf-modal { padding: 0; } .nx-esf-tab { max-width: none; max-height: 92dvh; border-radius: 20px 20px 0 0; } }
html.dark .nx-esf-tab { box-shadow: 0 0 0 1px var(--nx-border-strong), 0 -18px 48px rgba(0, 0, 0, .6), 0 24px 64px rgba(0, 0, 0, .65); }
.nx-dossie-esf { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 12px; padding: 12px 14px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-dossie-esf-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nx-dossie-esf-txt span { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-dossie-esf-txt b { font-size: 15px; line-height: 21px; font-weight: 600; color: var(--nx-text); }

/* Pendências em destaque */
.nx-card.nx-pend-card { position: relative; overflow: hidden; border-color: var(--nx-warn-line); background: var(--nx-warn-soft); padding-left: 24px; }
.nx-card.nx-pend-card::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 4px; background: #f0a030; }
html.dark .nx-card.nx-pend-card::before { background: var(--nx-warn); }
.nx-pend-tit { display: inline-flex; align-items: center; gap: 8px; }
.nx-pend-tit .material-symbols-outlined { color: var(--nx-warn); }
.nx-pend-card .nx-contador { background: var(--nx-warn); color: #fff; }
html.dark .nx-pend-card .nx-contador { color: #1f1603; }
.nx-pend-card .nx-card-sub { color: var(--nx-warn); }
.nx-pend-card .nx-pend { border-color: var(--nx-warn-line); background: var(--nx-surface); box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.nx-rodape-redes a { position: relative; z-index: 1; }
.nx-rodape-redes svg { display: block; pointer-events: none; }

/* Central de Ajuda por perfil */
.nx-ajuda-temas { display: flex; gap: 8px; margin: -8px 0 -4px; padding: 2px 0 6px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nx-ajuda-temas::-webkit-scrollbar { display: none; }
.nx-ajuda-temas button { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 1px solid var(--nx-border); border-radius: 999px; background: var(--nx-surface); color: var(--nx-text-2); font: inherit; font-size: 13px; line-height: 18px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.nx-ajuda-temas button:hover { border-color: var(--nx-mint-line); color: var(--nx-text); }
.nx-ajuda-temas button[aria-pressed="true"] { border-color: var(--nx-green); background: var(--nx-mint-soft); color: var(--nx-green); }
.nx-ajuda-temas .material-symbols-outlined { font-size: 16px; }
@media (min-width: 1024px) { .nx-ajuda-temas { flex-wrap: wrap; overflow: visible; } }
.nx-ajuda-conta { margin: -12px 0 -8px; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-ajuda-cat { display: flex; align-items: center; gap: 8px; }
.nx-ajuda-cat .material-symbols-outlined { font-size: 18px; color: var(--nx-green); }
.nx-ajuda-sobre { margin: 6px 0 -6px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .02em; color: var(--nx-green); }
.nx-ajuda-sobre + .nx-ajuda-tit { margin-top: 0; }
.nx-ajuda-passos { margin: 0; padding: 0; list-style: none; counter-reset: nx-passo; display: flex; flex-direction: column; gap: 10px; }
.nx-ajuda-passos li { position: relative; padding-left: 34px; font-size: 14px; line-height: 22px; color: var(--nx-text-2); counter-increment: nx-passo; overflow-wrap: anywhere; }
.nx-ajuda-passos li::before { content: counter(nx-passo); position: absolute; left: 0; top: 0; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--nx-mint-soft); color: var(--nx-green); font-size: 12px; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.nx-ajuda-dica { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 0; padding: 12px 14px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); border: 1px solid var(--nx-border-soft); font-size: 13px; line-height: 20px; color: var(--nx-text-2); }
.nx-ajuda-dica .material-symbols-outlined { flex-shrink: 0; font-size: 18px; color: var(--nx-warn); }
.nx-ajuda-ir { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; margin-top: 4px; padding: 0 16px; border: 0; border-radius: var(--nx-r-sm); background: var(--nx-mint); color: #000000; font: inherit; font-size: 14px; line-height: 20px; font-weight: 600; cursor: pointer; }
.nx-ajuda-ir:hover { background: var(--nx-mint-hover); }
.nx-ajuda-ir .material-symbols-outlined { font-size: 18px; }
.nx-ajuda-rel { margin-top: 16px; }
.nx-ajuda-rq { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--nx-border-soft); background: transparent; color: var(--nx-text); font: inherit; font-size: 14px; line-height: 20px; font-weight: 500; text-align: left; cursor: pointer; }
.nx-ajuda-rq:last-child { border-bottom: 0; }
.nx-ajuda-rq:hover { background: var(--nx-surface-2); }
.nx-ajuda-rq:focus-visible { outline-offset: -2px; }
.nx-ajuda-rq .material-symbols-outlined { flex-shrink: 0; font-size: 20px; color: var(--nx-text-3); }
.nx-ajuda-rq:hover .material-symbols-outlined { color: var(--nx-green); }
.nx-ajuda-fundo { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(13, 17, 16, .5); }
html.dark .nx-ajuda-fundo { background: rgba(0, 0, 0, .72); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.nx-ajuda-janela { width: 100%; max-width: 720px; max-height: min(860px, calc(100dvh - 32px)); display: flex; flex-direction: column; overflow: hidden; background: var(--nx-bg); border-radius: var(--nx-r-lg); box-shadow: var(--nx-shadow-pop); }
html.dark .nx-ajuda-janela { box-shadow: 0 0 0 1px var(--nx-border-strong), 0 -18px 48px rgba(0, 0, 0, .6), 0 24px 64px rgba(0, 0, 0, .65); }
.nx-ajuda-janela-cab { flex-shrink: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 24px 16px; border-bottom: 1px solid var(--nx-border); background: var(--nx-surface); }
.nx-ajuda-janela-cab h2 { margin: 0; font-family: var(--nx-head); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--nx-text); }
.nx-ajuda-janela-cab p { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--nx-text-3); }
.nx-ajuda-fechar { flex-shrink: 0; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; margin: -4px -8px 0 0; padding: 0; border: 0; border-radius: var(--nx-r-sm); background: transparent; color: var(--nx-text-2); cursor: pointer; }
.nx-ajuda-fechar:hover { background: var(--nx-surface-3); color: var(--nx-text); }
.nx-ajuda-janela-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 24px 24px; }
@media (max-width: 767px) {
  .nx-ajuda-fundo { align-items: flex-end; padding: 0; }
  .nx-ajuda-janela { max-width: none; max-height: 92dvh; border-radius: 20px 20px 0 0; }
  .nx-ajuda-janela-cab { padding: 16px 16px 12px; }
  .nx-ajuda-janela-corpo { padding: 16px 16px calc(20px + env(safe-area-inset-bottom)); }
  .nx-ajuda-passos li { font-size: 14px; }
}
.nx-ajuda-q-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nx-ajuda-q-txt small { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--nx-text-3); }

/* Mês das aulas no dossiê */
.nx-dossie-meses { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.nx-dossie-meses .nx-link { font-size: 13px; padding: 0 4px; }

/* Rota criada dentro do treino */
.nx-g-rota-confirmar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--nx-warn-soft); border: 1px solid var(--nx-warn-line); color: var(--nx-warn); font-size: 14px; }
.nx-g-rota-confirmar > span { flex: 1 1 220px; }
.nx-g-rota-confirmar .nx-g-linha-btn { margin: 0; }

/* Ficha e registro de treino no dossiê */
.nx-dossie-ficha { flex-wrap: wrap; }
.nx-dossie-ficha .nx-item-txt { flex: 1 1 200px; }
.nx-dossie-ficha-acoes { display: flex; align-items: center; gap: 6px; margin-left: auto; flex-shrink: 0; }
.nx-dossie-registro, .nx-dossie-log-det { flex-basis: 100%; width: 100%; margin-top: 10px; padding: 12px 14px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-dossie-log-abrir { display: flex; align-items: center; gap: 2px; padding: 0; border: 0; background: none; color: var(--nx-text-3); cursor: pointer; flex-shrink: 0; }
.nx-dossie-log-abrir .nx-ico-q { margin-top: 0; }
.nx-dossie-log-abrir:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; border-radius: 8px; }
.nx-dossie-exs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nx-dossie-ex { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.nx-dossie-ex .nx-ico-q { width: 26px; height: 26px; flex-shrink: 0; }
.nx-dossie-ex.nao .nx-item-tit { color: var(--nx-text-3); }
.nx-dossie-ex-obs { display: block; margin-top: 2px; font-size: 12px; line-height: 16px; color: var(--nx-text-2); }
.nx-dossie-ex-coment { display: inline-flex; align-items: flex-start; gap: 6px; margin-top: 4px; padding: 6px 10px; border-radius: 10px; background: var(--nx-mint-soft); font-size: 12px; line-height: 16px; color: var(--nx-text); }
.nx-dossie-aviso { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-dossie .nx-centro { margin-top: 12px; }

/* Evolução do aluno */
.nx-evo { display: flex; flex-direction: column; gap: 28px; }
.nx-evo-sec { padding-bottom: 4px; }
.nx-evo-bloco { display: flex; flex-direction: column; gap: 12px; }
.nx-evo-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.nx-evo-kpi { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); min-width: 0; }
.nx-evo-kpi span { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-evo-kpi b { font-family: var(--nx-head); font-size: 20px; line-height: 26px; font-weight: 600; color: var(--nx-text); }
.nx-evo-kpi small { font-size: 12px; line-height: 16px; color: var(--nx-text-3); }
.nx-evo-grafico { display: block; width: 100%; height: auto; max-height: 220px; overflow: visible; }
.nx-evo-grade { stroke: var(--nx-border-soft); stroke-width: 1; }
.nx-evo-eixo { fill: var(--nx-text-3); font-size: 11px; font-family: var(--nx-font, inherit); }
.nx-evo-area { fill: var(--nx-green); opacity: .12; }
.nx-evo-linha { fill: none; stroke: var(--nx-green); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.nx-evo-ponto { fill: var(--nx-surface); stroke: var(--nx-green); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.nx-evo-barra { fill: var(--nx-green); opacity: .85; }
.nx-evo-barra.vazia { fill: var(--nx-border-strong); opacity: .6; }
.nx-evo-grafico-vazio { margin: 0; padding: 20px 12px; text-align: center; font-size: 13px; line-height: 18px; color: var(--nx-text-3); border: 1px dashed var(--nx-border); border-radius: var(--nx-r-sm); }
.nx-evo-tabela-caixa { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.nx-evo-tabela { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 18px; }
.nx-evo-tabela th { text-align: left; padding: 6px 8px; font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--nx-text-3); border-bottom: 1px solid var(--nx-border-soft); white-space: nowrap; }
.nx-evo-tabela td { padding: 8px; border-bottom: 1px solid var(--nx-border-soft); color: var(--nx-text); white-space: nowrap; vertical-align: middle; }
.nx-evo-tabela td small { display: block; font-size: 11px; line-height: 14px; color: var(--nx-text-3); white-space: normal; }
.nx-evo-tabela tr:last-child td { border-bottom: 0; }
.nx-evo-acoes { text-align: right; }
.nx-evo-acoes .nx-btn { width: 32px; height: 32px; }
.nx-evo-cartao { display: flex; flex-direction: column; gap: 12px; }
.nx-evo-cartao .nx-card-cab { margin-bottom: 0; }
@media (max-width: 639px) {
  .nx-evo-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-evo-kpi b { font-size: 18px; }
}

/* Ficha de corrida */
.nx-cor-tipos { display: flex; flex-direction: column; gap: 10px; }
.nx-cor-tipo { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px; border: 1px solid var(--nx-border); border-radius: var(--nx-r); background: var(--nx-surface); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, background-color .15s; }
.nx-cor-tipo:hover { border-color: var(--nx-mint-line); background: var(--nx-mint-soft); }
.nx-cor-tipo:focus-visible { outline: 2px solid var(--nx-green); outline-offset: 2px; }
.nx-cor-tipo .nx-ico-q { width: 48px; height: 48px; flex-shrink: 0; }
.nx-cor-tipo .nx-item-tit { font-size: 16px; }
.nx-cor-tipo .nx-item-sub { white-space: normal; }
.nx-cor-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nx-cor-sessao { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border: 1px solid var(--nx-border-soft); border-radius: var(--nx-r-sm); background: var(--nx-surface); }
.nx-cor-sessao-cab { display: flex; align-items: center; gap: 12px; min-width: 0; flex-wrap: wrap; }
.nx-cor-sessao-cab .nx-item-txt { flex: 1 1 180px; min-width: 0; }
.nx-cor-sessao-cab .nx-item-tit, .nx-cor-sessao-cab .nx-item-sub { white-space: normal; }
.nx-cor-dia { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 32px; padding: 0 8px; border-radius: 999px; background: var(--nx-mint-soft); color: var(--nx-green); font-size: 12px; font-weight: 700; flex-shrink: 0; }
.nx-cor-sessao-acao { display: flex; align-items: center; gap: 6px; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.nx-cor-plano { margin: 0; display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); }
.nx-cor-plano > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 8px; font-size: 13px; line-height: 18px; }
.nx-cor-plano dt { color: var(--nx-text-3); font-weight: 600; }
.nx-cor-plano dd { margin: 0; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-cor-sessoes { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.nx-cor-sessoes h4, .nx-cor-form-sessao h4, .nx-cor-sub { margin: 0; font-family: var(--nx-head); font-size: 15px; line-height: 22px; font-weight: 600; color: var(--nx-text); }
.nx-cor-sub { margin-top: 18px; margin-bottom: 10px; }
.nx-cor-form-sessao { display: flex; flex-direction: column; gap: 12px; padding: 14px; border: 1px solid var(--nx-mint-line); border-radius: var(--nx-r); background: var(--nx-surface-2); }
.nx-cor-bloco { display: grid; grid-template-columns: 52px 14px 112px minmax(0, 1fr) minmax(0, 1fr) 40px; gap: 8px; align-items: center; margin-top: 8px; }
.nx-cor-bloco .nx-cor-rec { grid-column: 4 / 6; grid-row: 2; }
.nx-cor-x { text-align: center; color: var(--nx-text-3); font-weight: 700; }
.nx-cor-registro { display: flex; flex-direction: column; gap: 8px; }
.nx-treino-filtro { margin-left: 0; }
@media (max-width: 559px) {
  .nx-cor-bloco { grid-template-columns: 52px 14px minmax(0, 1fr) 40px; }
  .nx-cor-bloco > :nth-child(3) { grid-column: 3; }
  .nx-cor-bloco > :nth-child(4) { grid-column: 1 / 4; grid-row: 2; }
  .nx-cor-bloco > :nth-child(5) { grid-column: 1 / 4; grid-row: 3; }
  .nx-cor-bloco .nx-cor-rec { grid-column: 1 / 4; grid-row: 4; }
  .nx-cor-bloco > :nth-child(7) { grid-column: 4; grid-row: 1; }
  .nx-cor-plano > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
.nx-cor-form-sessao .nx-g-linha-btn { display: flex; justify-content: flex-end; }

/* Cobranças no Financeiro */
.nx-fin { display: flex; flex-direction: column; gap: 16px; width: 100%; max-width: 1600px; margin: 0 auto; }
.nx-fin-abas { align-self: flex-start; }
.nx-fin > .nx-pagina { width: 100%; margin: 0; }
.nx-fin-abas button { height: 34px; padding: 0 16px; }
.nx-cobrancas .nx-card-cab { flex-wrap: wrap; }
.nx-fin-filtro { width: auto; height: 36px; padding: 0 10px; font-size: 13px; }
.nx-fin-lista .nx-item { align-items: center; }
.nx-fin-item-acoes { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.nx-fin-menu { position: relative; margin: 0; }
.nx-fin-lista .nx-item-sub { white-space: normal; }
.nx-fin-dispensado .nx-item-tit, .nx-fin-cancelado .nx-item-tit, .nx-fin-estornado .nx-item-tit { color: var(--nx-text-3); }
.nx-fin-aviso { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 12px; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); color: var(--nx-text-2); font-size: 13px; line-height: 18px; }
.nx-fin-aviso .material-symbols-outlined { color: var(--nx-text-3); }
.nx-fin-ok { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border-radius: var(--nx-r-sm); background: var(--nx-mint-soft); color: var(--nx-green); font-size: 13px; line-height: 18px; font-weight: 500; }
.nx-fin-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.nx-fin-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--nx-green); flex-shrink: 0; }
.nx-fin-check span { display: flex; flex-direction: column; gap: 4px; }
.nx-fin-check strong { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); }
.nx-fin-check small { font-size: 12px; line-height: 17px; color: var(--nx-text-3); }
.nx-fin-texto { height: auto; min-height: 84px; padding: 10px 14px; line-height: 20px; resize: vertical; font: inherit; }
.nx-fin-aluno { display: flex; flex-direction: column; gap: 16px; }
.nx-fin-cab-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.nx-fin-resumo { margin: 0 0 4px; }
.nx-fin-registro .nx-item { align-items: flex-start; }
.nx-btn-neg { background: var(--nx-neg); color: #fff; border-color: transparent; }
.nx-btn-neg:hover:not(:disabled) { background: #8f1e18; color: #fff; }
@media (max-width: 640px) {
  .nx-fin-lista .nx-item { flex-wrap: wrap; }
  .nx-fin-lista .nx-item-txt { flex: 1 1 calc(100% - 56px); }
  .nx-fin-item-acoes { width: 100%; justify-content: flex-end; }
  .nx-fin-abas { align-self: stretch; }
  .nx-fin-abas button { flex: 1 1 0; }
}

/* Sugestão IA da ficha de corrida */
.nx-cor-cab-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.nx-cor-ia { display: flex; flex-direction: column; gap: 14px; margin: 4px 0 12px; padding: 16px; border: 1px solid var(--nx-mint-line); border-radius: var(--nx-r); background: var(--nx-surface-2); }
.nx-cor-ia-cab { display: flex; align-items: flex-start; gap: 10px; }
.nx-cor-ia-cab > .material-symbols-outlined { color: var(--nx-green); margin-top: 2px; }
.nx-cor-ia-cab h4 { margin: 0 0 2px; font-size: 15px; line-height: 20px; font-weight: 600; color: var(--nx-text); }
.nx-cor-ia-cab p { margin: 0; }
.nx-cor-ia-aviso { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: var(--nx-r-sm); background: var(--nx-mint-soft); color: var(--nx-green); font-size: 13px; line-height: 18px; }
.nx-cor-ia-aviso .material-symbols-outlined { flex-shrink: 0; }

/* Migrations no painel do admin */
.nx-migracoes-ajuda { margin: 0 0 12px; font-size: 13px; line-height: 18px; color: var(--nx-text-2); }
.nx-migracao { align-items: center; flex-wrap: wrap; }
.nx-migracao .nx-item-tit { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
.nx-migracao-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.nx-migracao > input[type="checkbox"] { width: 18px; height: 18px; flex: none; accent-color: var(--nx-green); }
.nx-migracao .nx-item-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 260px; }
.nx-migracao-situacao { font-size: 12px; line-height: 16px; color: var(--nx-text-2); }
.nx-migracao-ok .nx-migracao-situacao { color: var(--nx-green); }
.nx-migracao-falta .nx-migracao-situacao { color: var(--nx-neg); }
.nx-migracoes-rodape { display: flex; justify-content: flex-end; margin-top: 12px; }
.nx-migracao-sql { margin: 0 0 12px; padding: 12px; max-height: 320px; overflow: auto; border-radius: var(--nx-r-sm); background: var(--nx-surface-2); color: var(--nx-text); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; line-height: 17px; white-space: pre-wrap; word-break: break-word; }

/* Cronômetro dentro do treino */
.nx-ficha-cab-btns { display: flex; align-items: center; gap: 6px; flex: none; margin-left: auto; }
.nx-crono-btn { gap: 6px; font-variant-numeric: tabular-nums; }
.nx-crono-btn-txt { white-space: nowrap; }
@media (max-width: 380px) { .nx-crono-btn:not(.nx-btn-pri) .nx-crono-btn-txt { display: none; } .nx-crono-btn { padding: 0 10px; } }

/* Ordem das planilhas */
.nx-dossie-sec-acoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.nx-dossie-ordem-dica { margin: 0 0 12px; font-size: 13px; line-height: 18px; color: var(--nx-text-2); }
.nx-dossie-ordem-lista { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.nx-dossie-ordem-item { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 12px; border-radius: var(--nx-r-sm); background: var(--nx-surface); border: 1px solid var(--nx-border); }
.nx-dossie-ordem-num { flex: none; min-width: 28px; font-family: var(--nx-head); font-weight: 600; font-size: 15px; color: var(--nx-green); font-variant-numeric: tabular-nums; }
.nx-dossie-ordem-nome { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; font-size: 14px; font-weight: 500; color: var(--nx-text); overflow-wrap: anywhere; }
.nx-dossie-ordem-nome small { font-size: 12px; font-weight: 400; color: var(--nx-text-3); }
.nx-dossie-ordem-setas { flex: none; display: flex; gap: 2px; }
.nx-dossie-ordem-setas .nx-btn:disabled { opacity: .35; }
.nx-dossie-seq { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 2px; }
.nx-treino-ordem { color: var(--nx-green); font-weight: 500; }

/* Gráfico da evolução na Visão Geral do aluno */
.nx-evo-cartao-graf { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.nx-evo-cartao-gtit { margin: 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nx-text); }
