/* 連假清運狀態（scripts/render-holiday-table.js 產生的 .ht-root）：先概觀，點縣市再展開。 */
.ht-summary { margin: .25rem 0 .5rem; font-size: .92rem; color: #334155; }
.ht-root ul.ht-countbar, .ht-root ul.ht-legend { padding-left: 0; }
.ht-root ul li { margin: 0; }
.ht-countbar { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: .5rem 0 .25rem; }
.ht-countbar li { padding: 4px 12px; border-radius: 999px; font-size: .88rem; font-weight: 700; }
.ht-countbar strong { font-size: 1.05rem; margin-left: .15em; }
.ht-countnote { margin: 0 0 .5rem; font-size: .78rem; color: #64748b; }
.ht-region { margin: 1.25rem 0 .5rem; font-size: 1rem; color: #0f172a; letter-spacing: .04em; }
.ht-folders { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .5rem; }
.ht-folder { border: 1px solid rgba(15,23,42,.1); border-radius: 12px; background: #fff; scroll-margin-top: 90px; }
.ht-folder[open] { grid-column: 1 / -1; border-color: rgba(15,23,42,.25); box-shadow: 0 6px 18px rgba(15,23,42,.08); }
.ht-folder summary { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; padding: .65rem 2rem .65rem .8rem; cursor: pointer; list-style: none; position: relative; min-height: 44px; }
.ht-folder summary::-webkit-details-marker { display: none; }
.ht-folder summary::after { content: ''; position: absolute; right: .9rem; top: 50%; width: 7px; height: 7px; border-right: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8; transform: translateY(-70%) rotate(45deg); transition: transform .15s; }
.ht-folder[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.ht-folder summary:focus-visible { outline: 2px solid #10b981; outline-offset: 2px; border-radius: 12px; }
.ht-county-name { font-size: 1rem; font-weight: 900; color: #0f172a; }
.ht-status { display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.ht-status--stop { background: #fee2e2; color: #b91c1c; }
.ht-status--part { background: #fef3c7; color: #92400e; }
.ht-status--ok { background: #dcfce7; color: #166534; }
.ht-status--pending { background: #e0f2fe; color: #075985; }
.ht-tag { padding: 1px 8px; border-radius: 999px; background: rgba(15,23,42,.06); color: #475569; font-size: .72rem; font-weight: 700; }
.ht-days { display: flex; flex-wrap: wrap; gap: .25rem; width: 100%; }
.ht-dd { display: inline-flex; align-items: center; gap: .2em; padding: 0 6px; border-radius: 6px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.ht-dd.ht-ok { background: #dcfce7; color: #166534; }
.ht-dd.ht-stop { background: #fee2e2; color: #b91c1c; }
.ht-dd.ht-part { background: #fef3c7; color: #92400e; }
.ht-dd.ht-rest { background: #f1f5f9; color: #475569; }
.ht-dd.ht-na { background: transparent; color: #94a3b8; font-weight: 600; }
.ht-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ht-body { padding: 0 .8rem .8rem; border-top: 1px solid rgba(15,23,42,.06); }
.ht-note { margin: .6rem 0 0; font-size: .88rem; line-height: 1.7; color: #334155; }
.ht-src { margin: .5rem 0 0; font-size: .8rem; line-height: 1.7; color: #64748b; }
.ht-src a { color: #475569; }
.ht-src-meta { margin-left: .3em; padding: 0 6px; border-radius: 6px; background: #f1f5f9; font-size: .72rem; color: #475569; }
.ht-checked { margin: .35rem 0 0; font-size: .75rem; color: #94a3b8; }
.ht-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: .5rem; }
.ht-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .9rem; }
.ht-table thead th { background: #fff7e6; color: #0f172a; font-weight: 700; font-size: .82rem; padding: .5rem .45rem; text-align: left; }
.ht-table thead th:first-child { width: 30%; }
.ht-dayname { display: block; font-weight: 500; color: #b45309; }
.ht-area { padding: .45rem; font-weight: 600; color: #334155; text-align: left; vertical-align: top; line-height: 1.55; border-bottom: 1px solid rgba(15,23,42,.06); }
.ht-cell { padding: .45rem; vertical-align: top; border-bottom: 1px solid rgba(15,23,42,.06); }
.ht-pill { display: inline-flex; align-items: center; gap: .3em; padding: 1px 8px; border-radius: 999px; font-size: .8rem; font-weight: 800; white-space: nowrap; }
.ht-detail { display: block; margin-top: .2rem; font-size: .76rem; line-height: 1.5; color: #64748b; }
.ht-ok .ht-pill { background: #dcfce7; color: #166534; }
.ht-stop .ht-pill { background: #fee2e2; color: #b91c1c; }
.ht-part .ht-pill { background: #fef3c7; color: #92400e; }
.ht-rest .ht-pill { background: #f1f5f9; color: #475569; }
.ht-na .ht-pill { background: transparent; color: #94a3b8; font-weight: 600; }
.ht-legend { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding: 0; margin: 1.25rem 0 0; font-size: .82rem; color: #64748b; }
/* 手機：地區獨立一行，各天並排，不需要左右滑。 */
@media (max-width: 600px) {
    .ht-folders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ht-folder summary { padding: .55rem 1.6rem .55rem .65rem; }
    .ht-folder summary::after { right: .65rem; }
    .ht-county-name { font-size: .95rem; }
    .ht-status { white-space: normal; }
    .ht-table { display: block; font-size: .85rem; }
    .ht-table thead, .ht-table tbody { display: block; }
    .ht-table thead tr, .ht-table tbody tr { display: grid; grid-template-columns: repeat(var(--ht-days, 3), minmax(0, 1fr)); column-gap: .25rem; }
    .ht-table thead th:first-child { display: none; }
    .ht-table thead th { padding: .45rem .3rem; font-size: .75rem; }
    .ht-area { grid-column: 1 / -1; padding: .5rem .3rem .15rem; border-bottom: 0; }
    .ht-cell { padding: .15rem .3rem .5rem; }
    .ht-pill { padding: 1px 6px; font-size: .75rem; white-space: normal; }
    .ht-body { padding: 0 .65rem .7rem; }
}
