XML 72 R61.htm IDEA: XBRL DOCUMENT
v3.25.1

SHAREHOLDERS EQUITY (Details 1) | 12 Months Ended
--- | ---
Dec. 31, 2024 $ / shares shares
Number of outstanding shares | 805,042
Average Weighted Remaining Contractual Life in Years, Outstanding | 7 years 2 months 23 days
Number of Exercisable Options | 805,042
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 1.23
Range $0.71 |
Number of outstanding shares | 7,042
Average Weighted Remaining Contractual Life in Years, Outstanding | 3 years 18 days
Number of Exercisable Options | 7,042
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 0.71
Range $0.80 |
Number of outstanding shares | 21,250
Average Weighted Remaining Contractual Life in Years, Outstanding | 3 years 25 days
Number of Exercisable Options | 21,250
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 0.80
Range $0.85 |
Number of outstanding shares | 210,000
Average Weighted Remaining Contractual Life in Years, Outstanding | 8 years 29 days
Number of Exercisable Options | 210,000
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 0.85
Range $0.96 |
Number of outstanding shares | 12,500
Average Weighted Remaining Contractual Life in Years, Outstanding | 14 days
Number of Exercisable Options | 12,500
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 0.96
Range $1.12 |
Number of outstanding shares | 270,000
Average Weighted Remaining Contractual Life in Years, Outstanding | 7 years 18 days
Number of Exercisable Options | 270,000
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 1.12
Range $1.93 |
Number of outstanding shares | 10,500
Average Weighted Remaining Contractual Life in Years, Outstanding | 1 year 11 months 12 days
Number of Exercisable Options | 10,500
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 1.93
Range $2.16 |
Number of outstanding shares | 5,000
Average Weighted Remaining Contractual Life in Years, Outstanding | 14 days
Number of Exercisable Options | 5,000
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 2.16
Range $4.40 |
Number of outstanding shares | 12,500
Average Weighted Remaining Contractual Life in Years, Outstanding | 1 year 1 month 2 days
Number of Exercisable Options | 12,500
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 4.40
Range $7.06 |
Number of outstanding shares | 31,250
Average Weighted Remaining Contractual Life in Years, Outstanding | 9 months
Number of Exercisable Options | 31,250
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 7.06
Range $0.75 |
Number of outstanding shares | 225,000
Average Weighted Remaining Contractual Life in Years, Outstanding | 9 years 4 months 17 days
Number of Exercisable Options | 225,000
Weighted Average Exercise Price, Exercisable Options | $ / shares | $ 0.75

X
- Definition The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iii) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iii) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of options outstanding, including both vested and non-vested options. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(ii) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 718 -SubTopic 10 -Subparagraph (e)(1) -Name Accounting Standards Codification -Paragraph 2 -Section 50 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeZeroPointSevenOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeZeroPointEightZeroMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeZeroPointEightFiveMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeZeroPointNineSixMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeOnePointOneTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeOnePointNineThreeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeTwoPointOneSixMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeFourPointFourZeroMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeSevenPointZeroSixMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_OptionIndexedToIssuersEquityEquityAxis=tomz_RangeZeroPointSevenFiveMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |