.ans-guide { min-width: 0; }
.ans-section + .ans-section { margin-top: 1.5rem; }
.ans-guide .hint, .ans-guide small { overflow-wrap: anywhere; }
.ans-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; }
.ans-filters label { min-width: 0; max-width: 100%; }
.ans-filters select { display: block; max-width: 100%; }
.ans-filters .ans-check { display: flex; align-items: center; gap: .5rem; }
.ans-check input { width: auto; }
.ans-table-scroll { max-width: 100%; overflow-x: auto; }
.ans-table-scroll .calc-table { width: 100%; min-width: 640px; }
.ans-table-scroll th, .ans-table-scroll td { vertical-align: top; }
.ans-period small { display: block; max-width: 25rem; margin-top: .4rem; }
.ans-state { display: inline-block; padding: .15rem .5rem; border-radius: .3rem; white-space: nowrap; font-weight: 700; }
.ans-active { background: #dcfce7; color: #166534; }
.ans-upcoming { background: #dbeafe; color: #1e40af; }
.ans-ended { background: #f1f5f9; color: #475569; }
.ans-pending { background: #fef3c7; color: #854d0e; }
.ans-guide [hidden] { display: none !important; }
@media (max-width: 480px) { .ans-guide .pick-buttons .btn { white-space: normal; } }
