/* styles.css - ULTIMATE FIX: Forcing ALL Dimensions and Styles against Aggressive Theme CSS */

body {
    /* background-color: #222222; */
    /* margin: 0 !important; */
    /* padding: 0 !important; */
    font-family: Arial, sans-serif !important;
    /* font-size: 10pt; */
    /* font-weight: lighter !important; */
    /* color: #cccccc !important; */
    /* display: flex !important; */
    /* flex-direction: column !important; */
}

#icosmo-calculator-plugin-root font {
    font-size: 9pt !important;
    font-weight: lighter !important;
    color: #cccccc !important;
}

#icosmo-calculator-plugin-root PanelTitle {
    font-size: 11pt !important;
    font-weight: normal !important;
    color: #cccccc !important;
    vertical-align: center !important;
}

#icosmo-calculator-plugin-root label {
    color: #cccccc !important;
    font-weight: lighter !important;
    margin-bottom: 0px !important;
    font-size: 8pt !important;
}

#icosmo-calculator-plugin-root small {
    font-size: 7pt !important;
    color: #cccccc !important;
    vertical-align: center !important;
    margin-left: 0px !important;
    margin-right: 5px !important;
}

#icosmo-calculator-plugin-root middle {
    font-size: 8pt !important;
    color: #cccccc !important;
    vertical-align: center !important;
}

/* 🚨 FIX: Input Fields (Generic) - Forcing COLOR/SIZE */
#icosmo-calculator-plugin-root input {
    background-color: #222222 !important; 
    color: #cccccc !important; 
    margin-top: 0px !important;
    border: 1px solid #999999 !important; 
    font-weight: normal !important;
    width: auto !important;
    height: auto !important;
    padding: 1px 3px !important;
    font-family: Arial, sans-serif !important;
    font-size: 8pt !important;
    font-weight: lighter !important;
    display: inline-block !important;
}

/* 🚨 FIX: Input Fields (Specific Tempo) - Forcing COLOR/SIZE */
#icosmo-calculator-plugin-root .tempoInput {
    background-color: #222222 !important;
    color: #cccccc !important;
    margin-top: 5px !important;
    border: 1px solid #999999 !important;
    width: 40px !important;
    height: auto !important;
    padding: 1px 3px !important;
    font-weight: normal !important;
    font-family: Arial, sans-serif !important;
    font-size: 8pt !important;
    font-weight: lighter !important;
    display: inline-block !important;
}

/* 🚨 FIX: Select Boxes - Forcing COLOR/SIZE */
#icosmo-calculator-plugin-root select {
    background-color: #222222 !important;
    color: #cccccc !important;
    margin-top: 5px !important;
    border: 1px solid #999999 !important;
    width: auto !important;
    height: auto !important;
    padding: 1px 3px !important;
    font-family: Arial, sans-serif !important;
    font-size: 8pt !important;
    font-weight: lighter !important;
    display: inline-block !important;
}

#icosmo-calculator-plugin-root button {
    background-color: #cccccc !important;
    color: #222222;
    margin-top: 5px !important;
    border: 1px solid #222222;
    border-radius: 5px !important;
    text-align: center !important;
    text-decoration: none !important;
    display: inline-block !important;
    font-size: 8pt !important;
    font-weight: lighter !important;
    padding: 1px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
}

#icosmo-calculator-plugin-root .play-stop {
    background-color: #cccccc !important;
    color: #222222 !important;
    margin-top: 9px !important;
    border: 1px solid #222222 !important;
    border-radius: 5px !important;
    text-align: center !important;
    text-decoration: none !important;
    display: inline-block !important;
    font-size: 8pt !important;
    font-weight: bold !important;
    padding: 1px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 0px !important;
    width: 20px !important;
    height: 15px;
}

#icosmo-calculator-plugin-root .plusminus {
    background-color: #cccccc !important;
    color: #222222 !important;
    margin-top: 10px !important;
    border: 1px solid #222222 !important;
    border-radius: 5px !important;
    text-align: center !important;
    text-decoration: none !important;
    display: inline-block !important;
    font-size: 8pt !important;
    font-weight: bold !important;
    padding: 1px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 0px !important;
    width: 20px !important;
    height: 15px !important;
}

#icosmo-calculator-plugin-root .indicator {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    display: inline-block !important;
    border: 1px solid #222222 !important;
    background-color: #999999 !important;
    background: radial-gradient(circle, rgba(15,102,1,1) 0%, rgba(8,85,0,1) 45%, rgba(15,59,0,1) 100%) !important;
    margin-left: 10px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    vertical-align: center !important;
}

#icosmo-calculator-plugin-root .off {
    background-color: red !important;
    background: radial-gradient(circle, rgba(15,102,1,1) 0%, rgba(8,85,0,1) 45%, rgba(15,59,0,1) 100%) !important;
}

#icosmo-calculator-plugin-root .on {
    background-color: green !important;
    background: radial-gradient(circle, rgba(50,255,0,1) 0%, rgba(18,196,0,1) 45%, rgba(26,103,0,1) 100%) !important;
}

#icosmo-calculator-plugin-root p {
    margin-top: 0px !important;
    margin-bottom: 7px !important;
    color: #999999 !important;
}

#icosmo-calculator-plugin-root a:link { color: #999999; }
#icosmo-calculator-plugin-root a:visited { color: #999999; }
#icosmo-calculator-plugin-root a:visited:hover { color: #cccccc; }
#icosmo-calculator-plugin-root a:hover { color: #cccccc; }
#icosmo-calculator-plugin-root a:active { color: #cccccc; }

/* 🚨 FIX: Main Containers - Forcing Dimensions */
#icosmo-calculator-plugin-root .combined-container {
    border: 0px solid #999999 !important;
    margin: 0px !important;
    padding: 0px !important;
    border-radius: 8px !important;
    width: auto !important; /* Allow content to dictate width */
    height: auto !important;
    width: auto !important;
}

#icosmo-calculator-plugin-root .calculator-container {
    display: flex !important;
    justify-content: center !important;
    margin-top: 0px !important;
    padding: 0px !important;
    text-align: left !important;
    width: auto !important;
    height: auto !important;
    /* background-color: #ff0000; */ /* Background */
}

#icosmo-calculator-plugin-root .input-output-container {
    display: flex !important;
    flex-direction: row !important; 
    justify-content: space-between !important; 
    align-items: flex-start !important; 
    width: auto !important;
    height: auto !important;
    /* background-color: #ff0000; */ /* Background of the Calc */
    border-radius: 8px !important;
    margin: 0px !important;
    padding: 0px !important;
}

#icosmo-calculator-plugin-root .input-containers {
    display: flex !important;
    flex-direction: column !important; 
    align-items: center !important; 
    width: auto !important;
    height: auto !important;
}

/* 🚨 FIX: Specific Canvas-Holding Containers - Forcing Fixed Widths */
#icosmo-calculator-plugin-root .time-container {
    width: 230px !important;
    border: 1px solid #999999 !important;
    margin-right: 5px !important;
    margin-top: 1px !important;
    margin-bottom: 5px !important;
    padding-top: 0px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    border-radius: 8px !important;
    height: auto !important; /* Allow height to flex with content */
    display: flex !important;
	gap: 10px !important;
}

#icosmo-calculator-plugin-root .frequency-container {
    width: 230px !important;
    border: 1px solid #999999 !important;
    margin-right: 5px !important;
    margin-bottom: 5px !important;
    padding-top: 0px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    border-radius: 8px !important;
    height: auto !important;
    display: flex !important;
	gap: 10px !important;
}

#icosmo-calculator-plugin-root .colour-container {
    width: 230px !important;
    border: 1px solid #999999 !important;
    margin-right: 5px !important;
    margin-bottom: 5px !important;
    padding-top: 0px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    border-radius: 8px !important;
    height: auto !important !important;
    display: flex !important;
	gap: 10px !important;
}

#icosmo-calculator-plugin-root .audioplayer-container {
    width: 230px !important;
    border: 1px solid #999999 !important;
    margin-right: 5px !important;
    margin-bottom: 5px !important;
    padding-top: 0px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    border-radius: 8px !important;
    height: auto !important;
    display: flex !important;
	gap: 10px !important;
}

#icosmo-calculator-plugin-root .metronome-container {
    width: 230px !important;
    border: 1px solid #999999 !important;
    margin-right: 5px !important;
    padding-top: 0px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-bottom: 5px !important;
    border-radius: 8px !important;
    height: auto !important;
    display: flex !important;
	gap: 10px !important;
}

#icosmo-calculator-plugin-root .output-container {
    width: 100% !important; 
    height: 100% !important;
}

/* 🚨 FIX: Slider Track - Forcing COLOR/SIZE */
#icosmo-calculator-plugin-root .slider-width {
    -webkit-appearance: none !important;
    background: #999999 !important; 
    appearance: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    outline: none !important;
    height: 4px !important; 
    width: 158px !important; 
    margin-top: 14px !important;
    margin-bottom: 0px !important;
}

/* 🚨 FIX: Slider Thumb - Forcing COLOR/SIZE */
#icosmo-calculator-plugin-root .slider-width::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 16px !important; 
    height: 16px !important; 
    border-radius: 50% !important;
    border: 1px solid #222222 !important;
    background: radial-gradient(circle at 50% 50%, #f9f9f9, #d1d1d1, #ababab, #868686, #636363, #424242, #242424, #000000) !important;
    cursor: pointer !important;
}

#icosmo-calculator-plugin-root .slider-width::-moz-range-thumb {
    width: 24px !important; 
    height: 24px !important; 
    border-radius: 50% !important;
    cursor: pointer !important;
}

#icosmo-calculator-plugin-root form {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 5px !important;
    font-weight: lighter !important;
}

/* 🚨 FIX: Table - Forcing SIZING */
#icosmo-calculator-plugin-root table {
    table-layout: fixed !important;
    width: auto !important; 
    border-collapse: collapse !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    font-weight: lighter !important;
    font-size: 10pt !important;
}

/* 🚨 FIX: Table Cells - Forcing PADDING */
#icosmo-calculator-plugin-root th,
#icosmo-calculator-plugin-root td {
    padding: 2px !important;
    font-weight: lighter !important;
}

#icosmo-calculator-plugin-root td {
    border: 1px dotted #999999 !important;
}

#icosmo-calculator-plugin-root tr {
    border: 1px dotted #999999 !important;
}

#icosmo-calculator-plugin-root th {
    background-color: #222222 !important;
    color: #cccccc !important;
    text-align: center !important;
    font-weight: normal !important;
    font-size: 11pt !important;
    border: 1px dotted #999999 !important;
}

/* 🚨 FIX: Dark Row Background Color */
#icosmo-calculator-plugin-root tr:nth-child(even) {
    font-weight: lighter !important;
    background-color: #333333 !important; /* alternate row bg-colour */
}

/* 🚨 FIX: Specific Column Widths */
#icosmo-calculator-plugin-root td:nth-child(1) {
    text-align: right !important;
    width: 120px !important; 
    font-weight: lighter !important;
}

#icosmo-calculator-plugin-root td:nth-child(2) {
    text-align: right !important;
    width: 160px !important; 
    font-weight: lighter !important;
}

#icosmo-calculator-plugin-root td:nth-child(3) {
    text-align: left !important;
    width: 50px !important; 
    font-weight: lighter !important;
    font-size: 8pt !important;
}

#icosmo-calculator-plugin-root .output-row {
    margin-top: 5px !important;
    display: flex !important;
    justify-content: space-between !important;
    font-weight: lighter !important;
}

#icosmo-calculator-plugin-root #presetSelect {
    margin-top: 5px !important;
}

#icosmo-calculator-plugin-root #presetFrequencies {
    margin-top: 5px !important;
}