/* Bộ công cụ Tết Đinh Mùi 2027 (includes/tet-2027). Dựa trên .tpv-tv__* / .tpv-xnv-* / .tpv-tvc-year* sẵn có; chỉ thêm phần riêng. */
.tpv-tet-lv { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.tpv-tet-lv__i { padding: 14px 16px; border-radius: 14px; border: 1px solid var(--pg-line, rgba(255,255,255,.14)); background: var(--pg-card-2, rgba(255,255,255,.04)); }
.tpv-tet-lv__i.is-tot { border-left: 3px solid #7fd6b0; } .tpv-tet-lv__i.is-xau { border-left: 3px solid #f1c56b; } .tpv-tet-lv__i.is-binh { border-left: 3px solid #a9a3c9; }
.tpv-tet-lv__h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.tpv-tet-lv__i p { margin: 0; font-size: 14.5px; line-height: 1.7; }
.tpv-tet-months { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.tpv-tet-tbl-wrap { overflow-x: auto; margin: 10px 0; }
.tpv-tet-tbl { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.tpv-tet-tbl th, .tpv-tet-tbl td { padding: 9px 12px; text-align: left; border-bottom: 1px solid var(--pg-line-soft, rgba(255,255,255,.1)); }
.tpv-tet-tbl th { font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--pg-muted, #b8b2d8); font-weight: 700; }
.tpv-tet-tbl tr.is-tot td:first-child { box-shadow: inset 3px 0 #7fd6b0; } .tpv-tet-tbl tr.is-xau td:first-child { box-shadow: inset 3px 0 #f1c56b; }
.tpv-tet-list { margin: 8px 0 0 18px; line-height: 1.8; }
.tpv-tet-xd { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.tpv-tet-xd__i { padding: 14px 16px; border-radius: 14px; border: 1px solid var(--pg-line, rgba(255,255,255,.14)); background: var(--pg-card-2, rgba(255,255,255,.04)); }
.tpv-tet-xd__i.is-tot { border-top: 3px solid #7fd6b0; } .tpv-tet-xd__i.is-xau { border-top: 3px solid #f1c56b; }
.tpv-tet-xd__h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tpv-tet-xd__n { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 13px; font-weight: 700; background: var(--pg-gold, #c9a54a); color: #1a1030; }
.tpv-tet-xd__s { margin-left: auto; font-weight: 700; color: var(--pg-gold-2, #e8c872); }
.tpv-tet-xd__m { margin: 4px 0 6px; font-size: 13px; color: var(--pg-muted, #b8b2d8); }
.tpv-tet-chk { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 8px 0 14px; }
.tpv-tet-chk label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; } .tpv-tet-chk input[type=number] { max-width: 180px; }
.tpv-tet-hours { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.tpv-tet-hour { padding: 6px 12px; border-radius: 999px; font-size: 13.5px; border: 1px solid var(--pg-line, rgba(255,255,255,.18)); opacity: .62; }
.tpv-tet-hour.is-ok { opacity: 1; border-color: #7fd6b0; } .tpv-tet-hour.is-best { opacity: 1; background: #7fd6b0; color: #0f2d22; border-color: #7fd6b0; font-weight: 700; }
.tpv-tet-count { display: inline-block; margin: 6px 0 0; padding: 8px 16px; border-radius: 999px; font-size: 15px; background: var(--pg-card-2, rgba(255,255,255,.06)); border: 1px solid var(--pg-line, rgba(255,255,255,.14)); }
.tpv-tet-count span { font-size: 22px; font-weight: 800; color: var(--pg-gold-2, #e8c872); }
.tpv-tet-count--big { display: block; text-align: center; margin: 0 0 18px; }
.tpv-tet-tl { list-style: none; margin: 0; padding: 0; }
.tpv-tet-tl__i { display: grid; grid-template-columns: 92px 1fr; gap: 14px; padding: 14px 0; border-top: 1px dashed var(--pg-line-soft, rgba(255,255,255,.12)); }
.tpv-tet-tl__i:first-child { border-top: 0; }
.tpv-tet-tl__d { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 8px; border-radius: 12px; background: var(--pg-card-2, rgba(255,255,255,.05)); }
.tpv-tet-tl__d b { font-size: 24px; color: var(--pg-gold-2, #e8c872); line-height: 1.1; } .tpv-tet-tl__d span { font-size: 12.5px; } .tpv-tet-tl__d small { font-size: 11.5px; color: var(--pg-muted, #b8b2d8); }
.tpv-tet-tl__i.is-tot .tpv-tet-tl__d { box-shadow: inset 0 -3px #7fd6b0; } .tpv-tet-tl__i.is-xau .tpv-tet-tl__d { box-shadow: inset 0 -3px #f1c56b; }
.tpv-tet-tl__b h3 { margin: 0 0 2px; font-size: 18px; } .tpv-tet-tl__b p { margin: 4px 0; font-size: 14.5px; line-height: 1.7; } .tpv-tet-tl__m { color: var(--pg-muted, #b8b2d8); font-size: 13px !important; }
.tpv-tet-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-bottom: 8px; }
.tpv-tet-card { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 16px; text-decoration: none; border: 1px solid var(--pg-line, rgba(255,255,255,.16)); background: var(--pg-card-2, rgba(255,255,255,.05)); transition: transform .15s, border-color .15s; }
.tpv-tet-card:hover { transform: translateY(-2px); border-color: var(--pg-gold, #c9a54a); }
.tpv-tet-card b { font-size: 18px; color: var(--pg-gold-2, #e8c872); } .tpv-tet-card span { font-size: 14px; line-height: 1.6; color: var(--pg-text, #eee); } .tpv-tet-card em { font-style: normal; font-weight: 700; font-size: 14px; color: var(--pg-gold, #c9a54a); }
.tpv-tet-zodiac { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin: 10px 0 24px; }
.tpv-tet-zodiac a, .tpv-tet-zodiac span { padding: 10px; text-align: center; border-radius: 12px; border: 1px solid var(--pg-line, rgba(255,255,255,.14)); text-decoration: none; font-weight: 600; font-size: 14.5px; }
.tpv-tet-zodiac span { opacity: .55; } .tpv-tet-zodiac a:hover { border-color: var(--pg-gold, #c9a54a); background: var(--pg-card-2, rgba(255,255,255,.06)); }
.tpv-tet-h2 { font-size: 22px; margin: 26px 0 10px; }
@media (max-width: 640px) { .tpv-tet-lv { grid-template-columns: 1fr; } .tpv-tet-tl__i { grid-template-columns: 70px 1fr; gap: 10px; } .tpv-tet-tl__d b { font-size: 20px; } }

.tpv-tet .tpv-tv__info dd, .tpv-tet .tpv-tv__info dt, .tpv-tet .tpv-xnv-verdict__meta dd { text-transform: none; letter-spacing: normal; }
.tpv-tet .tpv-tv__info dt { text-transform: uppercase; letter-spacing: .1em; }
