/* Trang khảo sát nhu cầu /NhuCau. Chỉ dùng token --lt-*. */
.lt-need-banner { margin: 0 0 1rem; padding: .75rem 1rem; border-radius: var(--lt-r-md); border: 1px solid var(--lt-fit); background: var(--lt-fit-soft); color: var(--lt-ink); }
.lt-need-banner.is-muted { border-color: var(--lt-line); background: var(--lt-bg-soft); }
.lt-need-presets { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.lt-need-layout { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; }
.lt-need-preview-panel { position: sticky; top: 6rem; }
/* Mỗi dòng: tên nhu cầu + 4 nút mức dùng; hàng Nhẹ/Vừa/Nặng và ví dụ chỉ hiện khi đang dùng. */
.lt-need-row { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: .5rem 1rem; align-items: center; margin: 0; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--lt-line); }
.lt-need-name { display: flex; align-items: center; gap: .55rem; font-weight: 700; color: var(--lt-ink-2); }
.lt-need-name i { width: 1.25rem; color: var(--lt-ink-2); text-align: center; }
.lt-need-row.is-on .lt-need-name { color: var(--lt-ink); }
.lt-need-row.is-on .lt-need-name i { color: var(--lt-ocean); }
.lt-need-freq, .lt-need-levels { display: flex; flex-wrap: wrap; gap: .35rem; }
.lt-need-detail { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; }
.lt-need-row:not(.is-on) .lt-need-detail { display: none; }
.lt-need-budget { display: flex; flex-wrap: wrap; gap: .35rem; }
.lt-need-level { position: relative; cursor: pointer; }
.lt-need-level input { position: absolute; opacity: 0; inset: 0; }
.lt-need-level span { display: inline-block; padding: .3rem .75rem; border-radius: 999px; border: 1px solid var(--lt-line); font-size: .82rem; font-weight: 600; color: var(--lt-ink-2); }
.lt-need-level input:checked + span { border-color: var(--lt-ocean); background: var(--lt-ocean-50); color: var(--lt-ocean); }
.lt-need-level input:focus-visible + span { outline: 2px solid var(--lt-ocean); outline-offset: 2px; }
.lt-need-example { color: var(--lt-ink-2); }
/* Thanh tỉ lệ máy sẽ được chấm (needs.js vẽ). Nền nhạt + chữ đậm cùng màu để đủ tương phản. */
.lt-need-mix { margin: 1rem 0 0; }
.lt-need-mix-title { margin: 0 0 .4rem; font-weight: 700; }
.lt-need-bar { display: flex; min-height: 2.25rem; overflow: hidden; border: 1px solid var(--lt-line); border-radius: 12px; background: var(--lt-bg-soft); }
/* display:block để text-overflow cắt bằng dấu … (flex căn giữa sẽ cắt mất chữ ở cả hai đầu). */
.lt-need-seg { display: block; min-width: 0; padding: 0 .4rem; overflow: hidden; font-size: .8rem; font-weight: 700; line-height: 2.25rem; text-align: center; white-space: nowrap; text-overflow: ellipsis; transition: width .25s var(--lt-ease); }
.lt-need-seg + .lt-need-seg { border-left: 2px solid var(--lt-bg); }
.lt-need-bar-empty { align-self: center; padding: 0 .75rem; color: var(--lt-ink-2); font-size: .85rem; }
.lt-need-seg.is-office { background: #e0ecff; color: #1e40af; }
.lt-need-seg.is-dev { background: #ede9fe; color: #5b21b6; }
.lt-need-seg.is-gaming { background: #ccfbf1; color: #115e59; }
.lt-need-seg.is-design { background: #fce7f3; color: #9d174d; }
.lt-need-seg.is-content { background: #fef3c7; color: #92400e; }
.lt-need-seg.is-mobility { background: #e0f2fe; color: #075985; }
[data-bs-theme="dark"] .lt-need-seg.is-office { background: rgba(59, 130, 246, .22); color: #bfdbfe; }
[data-bs-theme="dark"] .lt-need-seg.is-dev { background: rgba(139, 92, 246, .22); color: #ddd6fe; }
[data-bs-theme="dark"] .lt-need-seg.is-gaming { background: rgba(20, 184, 166, .2); color: #99f6e4; }
[data-bs-theme="dark"] .lt-need-seg.is-design { background: rgba(236, 72, 153, .2); color: #fbcfe8; }
[data-bs-theme="dark"] .lt-need-seg.is-content { background: rgba(245, 158, 11, .2); color: #fde68a; }
[data-bs-theme="dark"] .lt-need-seg.is-mobility { background: rgba(14, 165, 233, .2); color: #bae6fd; }
.lt-need-budget { margin: 1rem 0 0; padding: 0; border: 0; align-items: center; }
.lt-need-budget legend { width: 100%; margin-bottom: .4rem; font-size: 1rem; font-weight: 700; }
.lt-need-actions { margin-top: 1.25rem; }
.lt-need-top { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.lt-need-top-item { display: flex; align-items: center; gap: .75rem; color: var(--lt-ink); text-decoration: none; }
.lt-need-top-text { display: grid; min-width: 0; }
.lt-need-top-text small { color: var(--lt-ink-2); }
/* Khung gợi ý 3 nhóm. */
.lt-need-picks { display: grid; margin: 0; padding: 0; list-style: none; }
.lt-need-pick { display: grid; gap: .45rem; padding: .85rem 0; border-top: 1px solid var(--lt-line); }
.lt-need-pick:first-child { padding-top: 0; border-top: 0; }
.lt-need-pick-tag { justify-self: start; display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .65rem; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.lt-need-pick-tag.is-best { background: #e0ecff; color: #1e40af; }
.lt-need-pick-tag.is-value { background: #d1fae5; color: #065f46; }
.lt-need-pick-tag.is-saver { background: #fef3c7; color: #92400e; }
[data-bs-theme="dark"] .lt-need-pick-tag.is-best { background: rgba(59, 130, 246, .22); color: #bfdbfe; }
[data-bs-theme="dark"] .lt-need-pick-tag.is-value { background: rgba(16, 185, 129, .2); color: #a7f3d0; }
[data-bs-theme="dark"] .lt-need-pick-tag.is-saver { background: rgba(245, 158, 11, .2); color: #fde68a; }
.lt-need-pick-reason { margin: 0; font-size: .9rem; color: var(--lt-ink); }
.lt-need-pick-reason.is-empty { color: var(--lt-ink-2); }
.lt-need-pick-note { margin: 0; font-size: .82rem; color: var(--lt-warn); }
@media (max-width: 991.98px) {
  .lt-need-layout { grid-template-columns: 1fr; }
  .lt-need-preview-panel { position: static; }
  .lt-need-row { grid-template-columns: 1fr; }
  .lt-need-detail { grid-column: 1; }
}
/* Điện thoại: 4 nút mức dùng thành lưới 2×2 bằng nhau thay vì xuống dòng lẻ. */
@media (max-width: 575.98px) {
  .lt-need-freq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lt-need-freq .lt-need-level span { display: block; text-align: center; }
}
