.tm { text-align: center; }
.tm-visor { border-radius: 1.5rem; padding: 1.25rem 1rem; background: var(--em-rosa-claro); color: var(--em-vinho-noite); margin: 0 0 1rem; transition: background 0.25s; }
.tm[data-fase="trabalho"] .tm-visor { background: var(--em-vinho); color: #fff; }
.tm[data-fase="preparar"] .tm-visor { background: var(--em-ouro); color: var(--em-vinho-noite); }
.tm[data-fase="fim"] .tm-visor { background: var(--em-sucesso); color: #fff; }
.tm-fase { font: 700 1.5rem/1.2 var(--em-titulo); margin: 0; }
.tm-num { font: 700 clamp(5.5rem, 28vw, 9rem)/1 var(--em-texto); font-variant-numeric: tabular-nums; margin: 0.25rem 0; }
.tm-rodada { font-size: 1.0625rem; font-weight: 600; margin: 0 0 0.75rem; }
.tm progress { width: 100%; height: 0.75rem; border: 0; border-radius: 999px; overflow: hidden; display: block; appearance: none; -webkit-appearance: none; background: rgba(255, 255, 255, 0.45); }
.tm progress::-webkit-progress-bar { background: rgba(255, 255, 255, 0.45); }
.tm progress::-webkit-progress-value { background: var(--em-ouro); }
.tm progress::-moz-progress-bar { background: var(--em-ouro); }
.tm[data-fase="descanso"] progress, .tm[data-fase="parado"] progress { background: rgba(107, 29, 46, 0.2); }
.tm[data-fase="descanso"] progress::-webkit-progress-bar, .tm[data-fase="parado"] progress::-webkit-progress-bar { background: rgba(107, 29, 46, 0.2); }
.tm[data-fase="descanso"] progress::-webkit-progress-value, .tm[data-fase="parado"] progress::-webkit-progress-value { background: var(--em-vinho); }
.tm[data-fase="descanso"] progress::-moz-progress-bar, .tm[data-fase="parado"] progress::-moz-progress-bar { background: var(--em-vinho); }
.tm-ctrl { display: flex; flex-wrap: wrap; gap: 0.625rem; justify-content: center; margin: 0 0 1.25rem; }
.tm-ctrl .btn { min-width: 8rem; }
.tm-predef { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin: 0 0 1rem; padding: 0; border: 0; }
.tm-predef legend { font-weight: 700; font-size: 0.9375rem; margin: 0 auto 0.5rem; padding: 0; }
.tm-predef button { min-height: 44px; padding: 0.5rem 1rem; border-radius: 999px; border: 2px solid var(--em-rose); background: #fff; color: var(--em-vinho); font-weight: 700; font-size: 0.9375rem; cursor: pointer; }
.tm-predef button:hover { background: var(--em-rosa-claro); }
.tm-config { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; justify-content: center; text-align: left; }
.tm-config .ft-campo { margin: 0; }
.tm-musica { text-align: left; margin-top: 1rem; }
.tm-musica select { max-width: 100%; }
.tm-aviso { min-height: 1.5rem; font-size: 0.9375rem; color: var(--em-erro); font-weight: 600; margin: 0.5rem 0 0; }
