/* Utilitários atômicos: substituem os atributos style= (a CSP não aceita estilo inline).
   Valem mais que as regras dos componentes, como o estilo inline valia; por isso !important. */
.u-ai-center{align-items:center!important}
.u-ai-flex-start{align-items:flex-start!important}
.u-ai-start{align-items:start!important}
.u-align-self-flex-start{align-self:flex-start!important}
.u-aspect-ratio-1{aspect-ratio:1!important}
.u-bg-4e3900{background:var(--primary)!important}
.u-bg-fff{background:#fff!important}
.u-bg-60a2ea{background:var(--primary)!important}
.u-bg-f4e9bb{background:var(--primary)!important}
.u-bg-rgba-255-255-255-0_08{background:rgba(255,255,255,0.08)!important}
.u-bg-rgba-255-255-255-0_15{background:rgba(255,255,255,0.15)!important}
.u-bg-rgba-255-255-255-0_2{background:rgba(255,255,255,0.2)!important}
.u-bg-card{background:var(--card)!important}
.u-bg-primary{background:var(--primary)!important}
.u-bg-primary-c{background:var(--primary-c)!important}
.u-bg-primary-soft{background:var(--primary-soft)!important}
.u-bg-s1{background:var(--s1)!important}
.u-bg-s2{background:var(--s2)!important}
.u-bg-secondary-container{background:var(--secondary-container)!important}
.u-bg-secondary-soft{background:var(--secondary-soft)!important}
.u-bg-tertiary-container{background:var(--tertiary-container)!important}
.u-border-346aaa{border:1px solid rgba(255,255,255,0.3)!important}
.u-border-1-solid-line{border:1px solid var(--line)!important}
.u-border-none{border:none!important}
.u-bb-1-solid-line{border-bottom:1px solid var(--line)!important}
.u-bb-2-solid-primary{border-bottom:2px solid var(--primary)!important}
.u-bl-3-solid-red{border-left:3px solid var(--red)!important}
.u-bl-4-solid-primary{border-left:4px solid var(--primary)!important}
.u-bl-4-solid-secondary{border-left:4px solid var(--secondary)!important}
.u-bl-4-solid-tertiary{border-left:4px solid var(--tertiary)!important}
.u-br-10{border-radius:10px!important}
.u-br-12{border-radius:12px!important}
.u-br-14{border-radius:14px!important}
.u-br-18{border-radius:18px!important}
.u-br-50pct{border-radius:50%!important}
.u-br-6{border-radius:6px!important}
.u-br-8{border-radius:8px!important}
.u-br-r{border-radius:var(--r)!important}
.u-br-r-lg{border-radius:var(--r-lg)!important}
.u-br-r-md{border-radius:var(--r-md)!important}
.u-br-r-sm{border-radius:var(--r-sm)!important}
.u-bt-1-dashed-line{border-top:1px dashed var(--line)!important}
.u-bt-1-solid-line{border-top:1px solid var(--line)!important}
.u-bottom-40{bottom:-40px!important}
.u-box-shadow-bbbad4{box-shadow:var(--md-sys-elevation-2)!important}
.u-box-shadow-0-4-14-rgba-0-0-0-0_2{box-shadow:0 4px 14px rgba(0,0,0,0.2)!important}
.u-c-00531b{color:#00531b!important}
.u-c-fff{color:#fff!important}
.u-c-inherit{color:inherit!important}
.u-c-error{color:var(--error)!important}
.u-c-gold{color:var(--gold)!important}
.u-c-green{color:var(--green)!important}
.u-c-muted{color:var(--muted)!important}
.u-c-on-primary-soft{color:var(--on-primary-soft)!important}
.u-c-on-secondary-soft{color:var(--on-secondary-soft)!important}
.u-c-primary{color:var(--primary)!important}
.u-c-red{color:var(--red)!important}
.u-c-secondary{color:var(--secondary)!important}
.u-c-tertiary{color:var(--tertiary)!important}
.u-c-text{color:var(--text)!important}
.u-cursor-pointer{cursor:pointer!important}
.u-d-block{display:block!important}
.u-d-flex{display:flex!important}
.u-d-grid{display:grid!important}
.u-d-inline-block{display:inline-block!important}
.u-d-inline-flex{display:inline-flex!important}
.u-d-none{display:none!important}
.u-flex-1{flex:1!important}
.u-flex-shrink-0{flex-shrink:0!important}
.u-fwrap-nowrap{flex-wrap:nowrap!important}
.u-fwrap-wrap{flex-wrap:wrap!important}
.u-fs-10{font-size:0.75rem!important}
.u-fs-10_5{font-size:0.75rem!important}
.u-fs-11{font-size:0.75rem!important}
.u-fs-11_5{font-size:0.75rem!important}
.u-fs-12{font-size:0.75rem!important}
.u-fs-12_5{font-size:0.78125rem!important}
.u-fs-13{font-size:0.8125rem!important}
.u-fs-13_5{font-size:0.84375rem!important}
.u-fs-14{font-size:0.875rem!important}
.u-fs-14_5{font-size:0.90625rem!important}
.u-fs-15{font-size:0.9375rem!important}
.u-fs-15_5{font-size:0.96875rem!important}
.u-fs-17{font-size:1.0625rem!important}
.u-fs-18{font-size:1.125rem!important}
.u-fs-20{font-size:1.25rem!important}
.u-fs-22{font-size:1.375rem!important}
.u-fs-24{font-size:1.5rem!important}
.u-fs-26{font-size:1.625rem!important}
.u-fs-28{font-size:1.75rem!important}
.u-fs-16{font-size:1rem!important}
.u-fs-32{font-size:2rem!important}
.u-font-style-italic{font-style:italic!important}
.u-fw-400{font-weight:400!important}
.u-fw-500{font-weight:500!important}
.u-fw-600{font-weight:600!important}
.u-fw-700{font-weight:700!important}
.u-fw-800{font-weight:800!important}
.u-gap-2{gap:0.125rem!important}
.u-gap-3{gap:0.1875rem!important}
.u-gap-4{gap:0.25rem!important}
.u-gap-6{gap:0.375rem!important}
.u-gap-8{gap:0.5rem!important}
.u-gap-10{gap:0.625rem!important}
.u-gap-12{gap:0.75rem!important}
.u-gap-14{gap:0.875rem!important}
.u-gap-18{gap:1.125rem!important}
.u-gap-20{gap:1.25rem!important}
.u-gap-24{gap:1.5rem!important}
.u-gap-16{gap:1rem!important}
.u-cols-1fr{grid-template-columns:1fr!important}
.u-cols-1fr-1fr{grid-template-columns:1fr 1fr!important}
.u-cols-f3095c{grid-template-columns:repeat(auto-fill, minmax(260px, 1fr))!important}
.u-cols-3760d4{grid-template-columns:repeat(auto-fit, minmax(180px, 1fr))!important}
.u-height-10{height:10px!important}
.u-height-24{height:24px!important}
.u-height-280{height:280px!important}
.u-height-36{height:36px!important}
.u-height-42{height:42px!important}
.u-height-44{height:44px!important}
.u-height-64{height:64px!important}
.u-height-6{height:6px!important}
.u-height-7{height:7px!important}
.u-height-8{height:8px!important}
.u-jc-center{justify-content:center!important}
.u-jc-flex-start{justify-content:flex-start!important}
.u-ls-0_5{letter-spacing:-0.5px!important}
.u-ls-0_3{letter-spacing:0.3px!important}
.u-ls-1{letter-spacing:1px!important}
.u-lh-1_2{line-height:1.2!important}
.u-lh-1_25{line-height:1.25!important}
.u-lh-1_3{line-height:1.3!important}
.u-lh-1_35{line-height:1.35!important}
.u-lh-1_4{line-height:1.4!important}
.u-lh-1_45{line-height:1.45!important}
.u-lh-1_5{line-height:1.5!important}
.u-lh-1_55{line-height:1.55!important}
.u-lh-1_6{line-height:1.6!important}
.u-m-0{margin:0!important}
.u-m-0-auto{margin:0 auto!important}
.u-m-2-0-0{margin:0.125rem 0 0!important}
.u-m-4-0{margin:0.25rem 0!important}
.u-m-4-0-8{margin:0.25rem 0 0.5rem!important}
.u-m-6-0{margin:0.375rem 0!important}
.u-m-8-0{margin:0.5rem 0!important}
.u-mb-4{margin-bottom:0.25rem!important}
.u-mb-6{margin-bottom:0.375rem!important}
.u-mb-8{margin-bottom:0.5rem!important}
.u-mb-12{margin-bottom:0.75rem!important}
.u-mb-18{margin-bottom:1.125rem!important}
.u-mb-20{margin-bottom:1.25rem!important}
.u-mb-24{margin-bottom:1.5rem!important}
.u-mb-16{margin-bottom:1rem!important}
.u-ml-4{margin-left:0.25rem!important}
.u-mt-2{margin-top:0.125rem!important}
.u-mt-4{margin-top:0.25rem!important}
.u-mt-6{margin-top:0.375rem!important}
.u-mt-8{margin-top:0.5rem!important}
.u-mt-10{margin-top:0.625rem!important}
.u-mt-12{margin-top:0.75rem!important}
.u-mt-14{margin-top:0.875rem!important}
.u-maxh-340{max-height:21.25rem!important}
.u-maxh-40vh{max-height:40vh!important}
.u-maxh-55vh{max-height:55vh!important}
.u-maxh-60vh{max-height:60vh!important}
.u-maxw-100pct{max-width:100%!important}
.u-maxw-1400{max-width:1400px!important}
.u-maxw-140{max-width:140px!important}
.u-maxw-240{max-width:240px!important}
.u-maxw-260{max-width:260px!important}
.u-maxw-320{max-width:320px!important}
.u-maxw-380{max-width:380px!important}
.u-maxw-440{max-width:440px!important}
.u-maxw-680{max-width:680px!important}
.u-minw-210{min-width:210px!important}
.u-opacity-0_95{opacity:0.95!important}
.u-overflow-hidden{overflow:hidden!important}
.u-ovx-auto{overflow-x:auto!important}
.u-ovy-auto{overflow-y:auto!important}
.u-p-0-4{padding:0 0.25rem!important}
.u-p-0-32{padding:0 2rem!important}
.u-p-2-8{padding:0.125rem 0.5rem!important}
.u-p-4{padding:0.25rem!important}
.u-p-4-6{padding:0.25rem 0.375rem!important}
.u-p-4-8{padding:0.25rem 0.5rem!important}
.u-p-6{padding:0.375rem!important}
.u-p-6-10{padding:0.375rem 0.625rem!important}
.u-p-6-12{padding:0.375rem 0.75rem!important}
.u-p-6-14{padding:0.375rem 0.875rem!important}
.u-p-8{padding:0.5rem!important}
.u-p-8-10{padding:0.5rem 0.625rem!important}
.u-p-8-12{padding:0.5rem 0.75rem!important}
.u-p-10{padding:0.625rem!important}
.u-p-10-12{padding:0.625rem 0.75rem!important}
.u-p-10-14{padding:0.625rem 0.875rem!important}
.u-p-12{padding:0.75rem!important}
.u-p-12-14{padding:0.75rem 0.875rem!important}
.u-p-12-24{padding:0.75rem 1.5rem!important}
.u-p-12-16{padding:0.75rem 1rem!important}
.u-p-14{padding:0.875rem!important}
.u-p-18{padding:1.125rem!important}
.u-p-20{padding:1.25rem!important}
.u-p-24{padding:1.5rem!important}
.u-p-28{padding:1.75rem!important}
.u-p-16{padding:1rem!important}
.u-p-36{padding:2.25rem!important}
.u-pb-6{padding-bottom:0.375rem!important}
.u-pb-8{padding-bottom:0.5rem!important}
.u-pb-12{padding-bottom:0.75rem!important}
.u-pr-4{padding-right:0.25rem!important}
.u-pt-12{padding-top:0.75rem!important}
.u-pt-14{padding-top:0.875rem!important}
.u-pt-16{padding-top:1rem!important}
.u-place-items-center{place-items:center!important}
.u-pointer-events-none{pointer-events:none!important}
.u-position-absolute{position:absolute!important}
.u-position-relative{position:relative!important}
.u-position-sticky{position:sticky!important}
.u-right-40{right:-40px!important}
.u-right-4{right:4px!important}
.u-ta-center{text-align:center!important}
.u-ta-left{text-align:left!important}
.u-ta-right{text-align:right!important}
.u-text-decoration-none{text-decoration:none!important}
.u-tt-none{text-transform:none!important}
.u-tt-uppercase{text-transform:uppercase!important}
.u-top-4{top:4px!important}
.u-top-80{top:80px!important}
.u-white-space-nowrap{white-space:nowrap!important}
.u-width-100pct{width:100%!important}
.u-width-24{width:24px!important}
.u-width-280{width:280px!important}
.u-width-36{width:36px!important}
.u-width-42{width:42px!important}
.u-width-44{width:44px!important}
.u-width-64{width:64px!important}
.u-width-8{width:8px!important}
.u-word-break-break-all{word-break:break-all!important}
.u-z-index-2{z-index:2!important}

/* --- Variantes condicionais (escritas à mão) --- */
.u-bl-3-solid-primary{border-left:3px solid var(--primary)!important}
.u-bl-3-solid-error{border-left:3px solid var(--error)!important}
.u-bl-3-solid-tertiary{border-left:3px solid var(--tertiary)!important}
.u-bl-none{border-left:none!important}

.card.cola-item{padding:.75rem .875rem;background:var(--s1);border:1px solid var(--line);border-left:4px solid var(--s3)}
.card.cola-item.matched{background:var(--card);border-color:var(--outline-variant);border-left-color:var(--primary)}

.step-dot{width:.5rem;height:.5rem;border-radius:var(--r-full);background:var(--s3);transition:all .25s ease}
.step-dot.on{width:1.375rem;background:var(--primary)}

.card.verdict{gap:.5rem;border:1px solid var(--green);background:rgba(16,185,129,.08)}
.card.verdict.bad{border-color:var(--red);background:rgba(239,68,68,.08)}
.card.verdict.faint{background:rgba(16,185,129,.06)}
.card.verdict.faint.bad{background:rgba(239,68,68,.06)}
@media (prefers-reduced-motion: reduce){.step-dot{transition:none}}
